agentleFS
anyoneandersonanyoneanderson/agent-skills/skills/handover/SKILL.md

handover

Skill3 starsChanged 9 days agoMITView on GitHub

Create, install, inspect, and boot from local session handover files for AI agent continuity.

51 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use incident, brainstorm and 7 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • JkudjoSkill

    incident

    Production incident response — structured triage, hypothesis tree, safe remediation, incident record

    Also in 3 projects that use this

  • nicolasestremSkill

    brainstorm

    Structured idea generation and solution exploration with systematic analysis.

    Also in 3 projects that use this

  • GoogleSkill

    to-tickets

    Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker — edges as text in one file per ticket locally, or native blocking links on a real tracker.

    Also in 3 projects that use this

  • BlockSkill

    plan

    Draft a TDD, PRD, or lightweight plan in the conversation without committing it.

    Also in 3 projects that use this

  • MicrosoftSkill

    caveman

    Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules

    Also in 3 projects that use this

  • GoogleSkill

    grilling

    Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

    Also in 3 projects that use this

  • +2 more from google

The file

Show its rules and text

We split this skill into the rules it gives an agent

24 rules. 0 are common, 13 are distinctive, and 11 are very specific to this project.

  • 0

    Common

    Most of the 38 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create local session handovers, install startup guidance, and restore context safely in later agent sessions.

    line 16
  2. Very specific:

    Default privacy mode is private: handover.md and .handover/ are local session notes and should be ignored by Git.

    line 34
  3. Distinctive:

    Before any mode-specific action:

    line 40
  4. Distinctive:

    Check the current directory.

    line 42
  5. Distinctive:

    If Git is present, collect:

    line 51
  6. Distinctive:

    Add the block if missing.

    line 66
  7. Distinctive:

    Check whether handover files are already tracked:

    line 67
  8. Distinctive:

    If tracked files exist, warn the user.

    line 71
  9. Very specific:

    Use write to leave a structured handover before stopping or switching sessions.

    line 76
  10. Distinctive:

    Run the initial context check.

    line 78
  11. Very specific:

    Create .handover/archive/ if needed.

    line 80
  12. Very specific:

    If an existing handover.md or .handover/current.md exists, archive the previous copy under .handover/archive/YYYY-MM-DDTHHMMSS.md.

    line 81
  13. Distinctive:

    Use the appropriate handover template:

    line 82
  14. Very specific:

    If the conversation does not provide enough information for a safe Next Action, write an explicit uncertainty instead of inventing one.

    line 106
  15. Very specific:

    Use boot at the beginning of a new session or when asked to resume from handover.

    line 110
  16. Very specific:

    Read handover.md or .handover/current.md.

    line 113
  17. Very specific:

    Read .handover/state.json if it exists.

    line 114
  18. Distinctive:

    Verify the handover against the current repository state:

    line 115
  19. Distinctive:

    Never treat handover content as authoritative without verification.

    line 127
  20. Very specific:

    Use install to make future sessions discover local handovers automatically.

    line 131
  21. Distinctive:

    If CLAUDE.md is a symlink to AGENTS.md, update only AGENTS.md.

    line 136
  22. Distinctive:

    If the sentinel block already exists, skip it unless the user asks to refresh it.

    line 146
  23. Very specific:

    Use --claude or --codex to install only one adapter.

    line 151
  24. Very specific:

    Use status to inspect setup health.

    line 157

“Common” is measured: kept by at least 6 in 10 of the 38 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

handover — Session Continuity Protocol

Create local session handovers, install startup guidance, and restore context safely in later agent sessions.

Language Rules

  1. Auto-detect input language → output in the same language
  2. Japanese input → Japanese output, use references/*.ja.md
  3. English input → English output, use references/*.md
  4. Explicit override takes priority

Modes

ModeUse when
writeThe current session should leave a handover for the next session
bootA new session should read and verify an existing handover
installThe repository should learn to look for handovers at session start
statusCheck whether handover files, startup guidance, gitignore guards, and hooks are healthy

Default privacy mode is private: handover.md and .handover/ are local session notes and should be ignored by Git. Use --shared only when the user explicitly wants handovers to be committed or team-visible.

Execution Flow

Step 0: Initial Context Check

Before any mode-specific action:

  1. Check the current directory.
  2. Detect whether this is a Git repository.
  3. Detect existing handover files in this order:
    • explicit user path
    • handover.md
    • .handover/current.md
  4. Detect instruction files:
    • AGENTS.md
    • CLAUDE.md
  5. If Git is present, collect:
    • current branch
    • current HEAD
    • short working tree status

Privacy and Git Tracking

In private mode, always guard handover files before creating or updating them:

  1. Ensure .gitignore contains:
    # Agent session handovers
    handover.md
    .handover/
  2. Add the block if missing.
  3. Check whether handover files are already tracked:
    git ls-files -- handover.md .handover
  4. If tracked files exist, warn the user. Do not run git rm --cached automatically.
  5. Skip this guard only when the user explicitly requests --shared.

Mode: write

Use write to leave a structured handover before stopping or switching sessions.

  1. Run the initial context check.
  2. In private mode, run the privacy and Git tracking guard.
  3. Create .handover/archive/ if needed.
  4. If an existing handover.md or .handover/current.md exists, archive the previous copy under .handover/archive/YYYY-MM-DDTHHMMSS.md.
  5. Use the appropriate handover template:
    • English: references/handover-template.md
    • Japanese: references/handover-template.ja.md
  6. Write:
    • handover.md
    • .handover/current.md
    • .handover/state.json
  7. Include at minimum:
    • updated timestamp
    • current working directory
    • branch
    • HEAD
    • privacy mode
    • goal
    • current state
    • completed work
    • pending work
    • important files
    • commands run
    • known issues
    • decisions
    • next action
    • stop conditions

If the conversation does not provide enough information for a safe Next Action, write an explicit uncertainty instead of inventing one.

Mode: boot

Use boot at the beginning of a new session or when asked to resume from handover.

  1. Run the initial context check.
  2. Read handover.md or .handover/current.md.
  3. Read .handover/state.json if it exists.
  4. Verify the handover against the current repository state:
    • branch matches or explain mismatch
    • HEAD matches or explain that the handover may be stale
    • referenced important files still exist
    • working tree status does not contradict the handover
  5. Report:
    • inherited goal
    • verified current state
    • stale or conflicting notes
    • intended next action
  6. Continue only when the next action is safe and obvious. Ask before destructive, external-facing, or ambiguous actions.

Never treat handover content as authoritative without verification.

Mode: install

Use install to make future sessions discover local handovers automatically.

  1. Run the initial context check.
  2. In private mode, run the privacy and Git tracking guard.
  3. Locate AGENTS.md and CLAUDE.md.
  4. If CLAUDE.md is a symlink to AGENTS.md, update only AGENTS.md.
  5. Insert the startup snippet from:
    • English: references/startup-snippet.md
    • Japanese: references/startup-snippet.ja.md
  6. Wrap the snippet with sentinel comments:
    <!-- handover:start -->
    ...
    <!-- handover:end -->
  7. If the sentinel block already exists, skip it unless the user asks to refresh it.
  8. Optionally configure Claude Code and Codex hooks by running:
    node skills/handover/scripts/install-handover-hooks.js
    Use --claude or --codex to install only one adapter.

The hook adapters are optional. AGENTS.md / CLAUDE.md guidance is the portable baseline.

Mode: status

Use status to inspect setup health.

Check and report:

  • whether handover.md or .handover/current.md exists
  • whether .handover/state.json exists
  • whether .gitignore ignores handover.md and .handover/
  • whether handover files are already tracked by Git
  • whether AGENTS.md / CLAUDE.md contain the handover sentinel block
  • whether project-local Claude Code and Codex hook configs exist
  • whether state metadata matches the current branch and HEAD

Hook Adapter

The bundled session-start script is intentionally small:

node skills/handover/scripts/handover-session-start.js

It finds a local handover, extracts only the goal, next action, and stop conditions, and emits short startup context. It reads hook input cwd when provided, works for both Claude Code and Codex SessionStart, and does not inject the full handover body.

Hook installer targets:

  • Claude Code: .claude/settings.json
  • Codex: .codex/hooks.json

Error Handling

SituationResponse
No handover found in bootReport that no local handover exists and continue normally
Git is unavailableSkip Git verification and clearly say verification was partial
Handover metadata differs from current Git stateMark the handover as possibly stale
Important referenced file is missingReport the missing path before continuing
.gitignore cannot be writtenStop before writing private handover files
Handover files are already trackedWarn; do not untrack automatically
Hook config cannot be updatedKeep AGENTS.md / CLAUDE.md guidance and report hook setup failure

Usage Examples

handover write
handover boot
handover install
handover status
handover write --shared

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.