skills/handoff/SKILL.md
Produces and refreshes `.docs/handoff.md`, a 200-line session-continuity runbook for coding agents. Captures git state, working-tree changes, last validation commands, session decisions, blockers, resume checklist, references, and greenfield scaffolds. Triggers on: "update handoff", "session handoff", "refresh handoff", "/handoff", "/handoff init", "resume checklist", "cold-start primer". Use this skill when ending, pausing, resuming, or transferring in-flight project work across agent sessions.
npx skillsauth add mathews-tom/armory handoffInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Maintains .docs/handoff.md as the project-local cold-start primer for the next coding agent or human developer. The file captures transient session state only: what changed, what was decided, what is blocked, and exactly how to resume.
| File | Contents | Load When |
| --- | --- | --- |
| references/schema.md | Verbatim handoff schema and line-budget rules | Always before writing |
| references/authority-boundaries.md | Boundary between handoff, memory, CLAUDE.md, plans, and git | Always before writing |
| Use handoff | Use another surface |
| --- | --- |
| In-flight work, uncommitted edits, current branch, blockers, resume steps | git log for committed history |
| Session-scoped decisions and failed approaches | Memory or ADRs for durable project facts |
| Immediate validation state and exact next command | CLAUDE.md for stable setup instructions |
| Current roadmap cursor | Plan files for strategic roadmap content |
/handoff, /handoff init.docs/handoff.md already existsgit available in the project root..docs/handoff.md..docs/handoff.last-validation containing the last verification command and result..docs/handoff.session containing extra bullets for changes, decisions, blockers, or refs./handoff init or invocation from an initialization workflow writes a greenfield stub when .docs/handoff.md is absent./handoff, refresh phrases, and Stop-hook invocation rewrite the full file.references/schema.md and preserve the schema headings exactly.references/authority-boundaries.md and include the authority boundary line in every generated handoff.git rev-parse --show-toplevel, git branch --show-current, git rev-parse --short HEAD, and git status --porcelain..docs/handoff.last-validation..docs/handoff.md atomically; do not append..docs/ if absent..docs/handoff.md.## What changed this session oldest-first.<!-- WARNING: handoff exceeded 200 lines; oldest session changes were truncated. -->.| Operation | Command | Behavior |
| --- | --- | --- |
| Refresh | /handoff | Rewrites .docs/handoff.md from current repo and session state |
| Scaffold | /handoff init | Creates an empty schema stub when no handoff exists |
| Stop refresh | Stop hook | Refreshes only when .docs/handoff.md already exists |
| Dry run | uv run skills/handoff/scripts/handoff.py --dry-run | Prints generated content without writing |
The bundled script is the deterministic baseline used by the command and hook:
uv run skills/handoff/scripts/handoff.py --project-root "$PWD"
uv run skills/handoff/scripts/handoff.py --project-root "$PWD" --init
Agents may improve populated bullets from live session context before writing, but must preserve:
When invoked as /handoff init or under a project initialization flow and .docs/handoff.md does not exist, write the schema with empty placeholders and real git metadata. This documents the /init integration point without modifying any init script.
Write exactly one file: .docs/handoff.md.
Required first lines:
# Handoff — <project name>
**Last touched:** <ISO 8601 timestamp with timezone> · **branch:** `<branch>` · **HEAD:** `<short-sha>` · **session:** <model id>
| Problem | Resolution |
| --- | --- |
| Not in a git repository | Fail clearly for refresh; scaffold may use branch — and HEAD — only during /handoff init |
| .docs/ missing | Create it before writing |
| Validation state unavailable | Write "not recorded this session"; do not claim tests passed |
| Generated file exceeds 200 lines | Truncate oldest What changed bullets and add the warning comment |
| Existing handoff uses old casing or root path | Do not migrate automatically; future refreshes converge only when invoked in that project |
uv run python scripts/validate_evals.pyuv run scripts/evaluate_package.py skills/handoffuv run skills/handoff/scripts/handoff.py --project-root <repo> --dry-runuv run skills/handoff/scripts/handoff.py --project-root <repo> --init --output <tmp-file>testing
Manages dependent branch stacks and stacked pull requests using safe Git topology rules. Triggers on: "create stacked PRs", "publish this stack", "sync my PR stack", "rebase this stack", "merge the stack", "retarget child PRs", "split this branch into stacked PRs", "validate this stack", "cleanup stacked branches". Use when local branches or one source branch need to become a dependency-ordered PR stack with correct parent bases, validation, synchronization, merge order, and cleanup.
development
Scaffolds per-repository agent context so coding agents share the same issue tracker rules, triage label vocabulary, domain glossary, ADR layout, and handoff conventions. Triggers on: "set up project context", "configure agent docs", "create CONTEXT.md", "setup agent workflow", "agent issue tracker setup", "triage labels", "domain glossary for agents". Use when a repo needs durable context files before planning, triage, debugging, TDD, architecture review, or multi-agent implementation.
testing
Produces phased task boards from feature requests: dependency-mapped work items, parallelization flags, risk flags, edge cases, test matrices. Triggers on: "decompose this feature", "task breakdown with dependencies", "phased implementation plan", "work breakdown structure". NOT for effort estimates, use estimate-calibrator.
development
Hypothesis-driven debugging with ranked hypotheses, git bisect strategy, instrumentation planning, and minimal reproduction design. Triggers on: "debug this systematically", "root cause analysis", "bisect this bug", "rank hypotheses", "isolate this issue", "minimal reproduction". NOT for general reasoning.