handoff

A document generator that creates HANDOFF.md, a file describing the current development session for someone continuing later. It gathers repository history, changes, branch details, and unfinished work.

In plain words
What is it for?
Recording recent commits, uncommitted changes, branch status, modified files, TODOs, and the inferred project progress for handoff.
Why use it?
It reduces the context another developer or agent must reconstruct when work moves to a new session.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/billbuchanan-code/claude-code-power-setup/handoff
Any agent
npx skills add billbuchanan-code/claude-code-power-setup --skill handoff
Clone the repo
git clone --depth 1 https://github.com/billbuchanan-code/claude-code-power-setup

Made for: Claude Code, Codex.

Per session 15 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 955 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00015 $0.00955
Opus 5 $0.00008 $0.00477
Sonnet 5 $0.00003 $0.00191
Haiku 4.5 $0.00002 $0.00096

Measured 2d ago against content hash 0bc7a26001ff, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

handoff scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/handoff/SKILL.md · 103 lines

How it starts

The opening of the file, as written. The whole thing — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Handoff Document Generator

Generate a comprehensive HANDOFF.md that captures the full session state so a new Claude Code session can pick up exactly where this one left off.

Process

Step 1: Gather Session State

Run the following in parallel to collect information:

  1. Recent git history: Run git log --oneline -20 and git log --stat -5 to see what was committed recently.
  2. Uncommitted work: Run git status and git diff --stat to find uncommitted changes. If there are staged changes, also run git diff --cached --stat.
  3. Branch info: Run git branch --show-current and git log --oneline origin/main..HEAD 2>/dev/null || git log --oneline main..HEAD 2>/dev/null to understand branch state relative to main.
  4. TODOs in changed files: For each file shown in git diff --name-only and git diff --cached --name-only, search for TODO, FIXME, HACK, and XXX comments using Grep.
  5. Recent file modifications: Run git diff --name-only HEAD~5..HEAD 2>/dev/null to get files changed in recent commits.

Step 2: Infer Session Context

From the gathered data, determine:

  • What the user was working on: Infer the goal from commit messages, changed files, and branch name.
  • What was completed: Identify finished work from commits and their messages.
  • What is in progress: Identify from uncommitted changes and TODOs.
  • What patterns/decisions are visible: Look at the nature of changes (new files vs edits, test files, config changes) to infer architectural decisions.

Step 3: Write HANDOFF.md

Write a file called HANDOFF.md in the current working directory with this structure:

# Session Handoff

_Generated: [current date/time]_
_Branch: [branch name]_
_Repository: [repo root directory name]_

## Goal

[One or two sentences describing what the user was trying to accomplish, inferred from commits, branch name, and changes.]

## Progress

[Bulleted list of what was completed, with file paths. Group by logical unit of work.]

- Completed [description] (`path/to/file`)
- Completed [description] (`path/to/file`)

## Current State

- **Branch**: `[branch]` ([N commits ahead of main / or state])
- **Uncommitted changes**: [Yes/No - if yes, list files]
- **Staged changes**: [Yes/No - if yes, list files]
- **Build/test status**: [If inferable from recent commits or files]

## Attempted Solutions

[If visible from git history - reverts, multiple commits touching the same file, or FIXME comments suggesting something was tried. If nothing is apparent, write "No failed attempts visible in git history."]

## Next Steps

[Inferred from TODOs, FIXMEs, uncommitted work, and incomplete patterns. Be specific.]

1. [Next step with file path if applicable]
2. [Next step]

## Key Decisions

[Architectural or design decisions visible from the changes - new dependencies added, patterns chosen, file structure decisions, etc. If not clearly visible, note "Review commits for context."]

## Files Changed

### Recent Commits

[List from git log --stat, grouped by commit]

### Uncommitted

[List from git status]

## Open Questions

[Any ambiguities: TODO comments without resolution, inconsistent patterns, half-finished migrations, etc. If none, write "None identified."]

---

_To continue this work, paste this file's contents at the start of a new Claude Code session._

Read the full file on GitHub · 103 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 103 lines · 15 tokens per session scan A 0bc7a26001ff

Subscribe to this mod's changes

handoff is a skill published in the GitHub repository billbuchanan-code/claude-code-power-setup (2 stars, last pushed 1mo ago), licensed MIT. It adds 15 tokens to every session and 955 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

obra/superpowers · 37 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

agent-host-chat-contributions

Build and review cross-cutting agent-host chat behavior through lifecycle contributions. Use when adding turn lifecycle side effects, prompt or context injection, restored-history transformation, protocol-action observation, or when reviewing changes that add code to AgentSideEffects or AgentService.

microsoft/vscode · 56 tokens

auto-perf-optimize

Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.

microsoft/vscode · 62 tokens