Safely finalize the current Harnery agent session with an authoritative V3 session-ended event. Use when the operator says /harn-end, asks to end or close the current session, or when all work is complete and the session should stop counting as live.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add ryanjkelly/harnery --skill harn-end --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Harn End?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ryanjkelly-harn-end)More formats (shields.io, HTML) on the badges page.
---
name: harn-end
description: "Safely finalize the current Harnery agent session with an authoritative V3 session-ended event. Use when the operator says /harn-end, asks to end or close the current session, or when all work is complete and the session should stop counting as live."
---
<!-- harnery:generated harn-end v=93ad5d54; machine-owned; regenerated by `harn init`, removed by `harn deinit`. Edit the harnery template, not this file. -->
Finalize only after the work is genuinely complete. This is the deliberate,
high-confidence escape hatch for adapters that do not provide a trustworthy
native session-end callback.
## Workflow
1. Finish all in-scope work, tests, documentation, commits, pushes, and
user-facing reporting first.
2. Confirm no tool call, open turn, delegated child, file claim, or uncommitted
session write remains. Do not fabricate completion or use this skill to hide
unfinished work.
3. Run the closing status and end request as the final tool action:
```bash
harn agents status --end-turn --end-session
```
When automatic identity resolution is unavailable, pass the current native
adapter session ID with `--session-id <id>`. The command durably queues the
authoritative end while it is still running. The adapter's stop hook records
`session.ended` only after this command, its tool span, and the current turn
have closed.
4. Do not run another tool after a successful request. Reproduce the status
output, tell the operator the end is queued, and yield. The terminal event ID
becomes available after the response completes and can be verified from a
later session or the web UI.
## Refusals and recovery
- If the command reports delegated work, finish or explicitly cancel those
children, then try again.
- If Git finalization fails, complete the repository's required commit and push
workflow before retrying.
- If the V3 ledger is unavailable or unsafe, do not fall back to deleting a
projection or writing a synthetic ledger row. Report the failure.
- Starting a new turn or tool after the request cancels the pending end. Run the
workflow again when the session is actually finished.
- On a manual `harn agents end` call, use `--outcome failed`, `cancelled`,
`interrupted`, or `unknown` only when that describes the completed session
honestly.
Never use this skill to end another operator's session unless the operator
explicitly identifies it. Use the web control or `harn agents end --instance-id
<id>` for that operator action; it records immediately for an idle session or
durably queues the end for its current turn.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!