Ensure work continuity when switching between coding sessions.
Install
mkdir -p .claude/skills/handoff-elliothux && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12552" && unzip -o skill.zip -d .claude/skills/handoff-elliothux && rm skill.zipInstalls to .claude/skills/handoff-elliothux
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when the user sends /handoff, asks to hand off the current task, or wants a resumable session record that preserves the active conversation goal. Capture the latest user intent, important user messages, decisions, constraints, progress, risks, blockers, current branch, changed files, commands, and next steps to repository-root HANDOFF.md. Use when the user sends /handoff resume to read HANDOFF.md first and continue the previous work from that saved state.Key capabilities
- →Capture the user's current goal in concrete terms.
- →Record important user messages and constraints.
- →Document decisions already made and assistant commitments.
- →Identify the repository root and current branch.
- →Gather current git state including status, diff, and recent commits.
- →Write or replace `HANDOFF.md` at the repository root.
How it works
The skill captures the active conversation state, identifies the repository root and current branch, gathers current git state, reads relevant working artifacts, and then writes or replaces `HANDOFF.md` with a structured template.
Inputs & outputs
When to use handoff
- →Handing off work to a teammate
- →Resuming work after a long break
- →Transferring context between sessions
About this skill
Handoff
Use this skill to make the current repository work resumable across Codex sessions.
HANDOFF.md at the repository root is the single handoff artifact.
The active conversation goal is the highest-priority state. Git diff is supporting evidence, not the source of truth for what the next session should do.
Trigger Modes
/handoff,$handoff,handoff,交接, or a request to hand off current work: capture the current work state intoHANDOFF.md./handoff resume,$handoff resume,handoff resume,恢复交接, or a request to continue previous handoff work: readHANDOFF.mdand continue from it.
Capture Workflow
When capturing a handoff:
- Capture the active conversation state first:
- the user's current goal in concrete terms
- the latest explicit user request
- important user messages or constraints that shaped the work
- decisions already made in the conversation
- commitments made by the assistant that remain relevant
- assumptions, open questions, and scope boundaries
- Identify the repository root and current branch.
- Gather current git state with:
git rev-parse --show-toplevelgit branch --show-currentgit status --shortgit diff --name-statusgit diff --statgit log -5 --oneline --decorate
- Use local artifacts to cross-check completed work, in-progress work, decisions, blockers, and next step.
- Read relevant working artifacts if they exist, such as
PLAN.md,PROGRESS.md,OUTPUT.md, orLINEAR.md. - Write or replace
HANDOFF.mdat the repository root with the template below. - Keep the content concise and factual. Preserve the task goal and user intent even if the diff is small, incomplete, or unrelated.
- Do not include large raw diffs. Summarize changed files and cite paths.
- Do not run verification only for handoff capture. Record verification that already ran and any verification still needed.
Use apply_patch for manual edits to HANDOFF.md when available.
HANDOFF.md Template
# Handoff
## Snapshot
- Updated: <YYYY-MM-DD HH:mm:ss TZ>
- Repository: <absolute repo path>
- Branch: <current branch>
- Head: <short commit hash and subject if useful>
## Current Goal
<The active user goal in one or two concrete sentences.>
## Conversation Context
- Latest user request: <the newest explicit instruction from the user>
- Important user messages:
- <short factual summary or short quote when wording matters>
- Constraints and preferences:
- <task-specific constraints from the user or repository>
- Decisions already made:
- <decision and reason>
- Assistant commitments:
- <work promised or implied that still matters>
## Progress
- Completed:
- <facts about work already done>
- In progress:
- <current incomplete step>
- Next:
- <the next concrete action another session should take>
## Changed Files
- `<path>`: <purpose/status>
## Commands And Verification
- `<command>`: <status/result>
## Risks And Blockers
- <risk, blocker, open decision, failing command, or branch concern>
## Git State
```text
<git status --short>
```
## Diff Summary
```text
<git diff --stat>
```
## Recent Commits
```text
<git log -5 --oneline --decorate>
```
## Resume Instructions
1. Read this file first.
2. Treat `Current Goal` and `Conversation Context` as the primary source of task intent.
3. Confirm the current branch matches `Branch`.
4. Inspect the changed files named above before editing them.
5. Continue with the `Next` item from `Progress`.
6. Preserve raw error messages from failed commands while debugging.
If a section has no data, write None known instead of leaving it empty.
Resume Workflow
When resuming:
- Read repository-root
HANDOFF.mdbefore planning or editing. - Restate the loaded
Current Goal, latest user request, and next action in a short update before changing files. - Run:
git branch --show-currentgit status --short
- Compare the current branch with the saved
Branch. - If the branch differs, state the saved branch and current branch. Avoid editing until the branch decision is clear unless the user's message explicitly permits continuing on the current branch.
- Read the changed files and any task artifacts named in
HANDOFF.md. - Continue the work from the saved
Nextitem, validating against the current repository state and the saved conversation intent.
If HANDOFF.md is missing, say that no handoff file exists and ask for the current goal or a source artifact to resume from.
Quality Bar
- The handoff must be useful to a fresh session without conversation history.
- Losing the user goal is the main failure mode. The handoff must make the goal, latest request, and next action unmistakable.
- Include task-specific constraints that affect the next action.
- Include unresolved risks and failed commands with enough raw detail to debug.
- Keep repository rules and user instructions in force; do not duplicate the full
AGENTS.md. - Update
HANDOFF.mdagain before ending if the resumed session makes meaningful progress and the user asks for another handoff.
When not to use it
- →When the user wants to run verification only for handoff capture.
- →When the user wants to include large raw diffs.
- →When the user wants to duplicate the full `AGENTS.md`.
Limitations
- →It does not include large raw diffs.
- →It does not run verification only for handoff capture.
- →It does not duplicate the full `AGENTS.md`.
How it compares
This skill creates a structured, resumable record of work in `HANDOFF.md`, ensuring that a new session can pick up exactly where the previous one left off, unlike relying on fragmented conversation history.
Compared to similar skills
handoff side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| handoff (this skill) | 0 | 3mo | No flags | Beginner |
| github-manage | 6 | 9mo | Review | Beginner |
| jira | 11 | 6mo | No flags | Beginner |
| github-issues | 5 | 3mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
github-manage
matteocervelli
Manage operations concerning GitHub on behalf of user
jira
davila7
Use when the user mentions Jira issues (e.g., "PROJ-123"), asks about tickets, wants to create/view/update issues, check sprint status, or manage their Jira workflow. Triggers on keywords like "jira", "issue", "ticket", "sprint", "backlog", or issue key patterns.
github-issues
github
Create, update, and manage GitHub issues using MCP tools. Use this skill when users want to create bug reports, feature requests, or task issues, update existing issues, add labels/assignees/milestones, or manage issue workflows. Triggers on requests like "create an issue", "file a bug", "request a feature", "update issue X", or any GitHub issue management task.
triaging-issues
pytorch
Triages GitHub issues by routing to oncall teams, applying labels, and closing questions. Use when processing new PyTorch issues or when asked to triage an issue.
summarize-activity
alpinejs
Summarize recent GitHub activity — discussions, PRs, issues, events, traffic — into an actionable report so you can stay on top of the project without reading everything.
agent-swarm-issue
ruvnet
Agent skill for swarm-issue - invoke with $agent-swarm-issue