Create structured handoff documents for session transfer, capturing current workflow context in under 200 lines. Use when ending a session, switching tasks, or at major phase completion (context exceeds 60%). Creates timestamped documents in .claude/handoffs/[slug]/YYYY-MM-DD_HH-MM-SS_[description].md with task status, git state, critical references, learnings, and next steps.
Limited to specific tools
Additional assets for this skill
This skill is limited to using the following tools:
references/handoff-template.mdname: epic-handoff description: Create structured handoff documents for session transfer, capturing current workflow context in under 200 lines. Use when ending a session, switching tasks, or at major phase completion (context exceeds 60%). Creates timestamped documents in .claude/handoffs/[slug]/YYYY-MM-DD_HH-MM-SS_[description].md with task status, git state, critical references, learnings, and next steps. allowed-tools:
Creates handoff documents that compact current session context into structured, concise format for efficient session resumption. Captures essential state, uses file references instead of full content, and maintains workflow continuity without context bloat.
Search for current workflow state:
# Find workflow directory
ls .claude/workflows/*/state.md
Read state.md to extract:
If no workflow found: Create general handoff without workflow context. Prompt user for description.
git rev-parse HEAD # Current commit hash
git branch --show-current # Current branch
git status --short # Working tree status
From feature directory (.claude/workflows/NNN-slug/), read available artifacts:
state.md - Current phase and task progressplan.md - Implementation plan with phasescodebase-research.md - Internal codebase findingsdocs-research.md - External documentation researchvalidation.md - Test/lint/build resultsExtract:
Create timestamped path:
.claude/handoffs/[feature-slug]/YYYY-MM-DD_HH-MM-SS_[description].md
Components:
YYYY-MM-DD: Current dateHH-MM-SS: Current time (24-hour)[feature-slug]: From state.md or "general"[description]: From command argument or derived from featureExample: .claude/handoffs/003-add-auth/2025-01-15_14-30-22_phase2-complete.md
Use template structure (see references/handoff-template.md):
Frontmatter:
---
date: [ISO 8601 timestamp with timezone]
git_commit: [commit hash]
branch: [branch name]
feature: [feature slug]
topic: "[Feature description]"
tags: [handoff, current-phase]
status: complete
---
Content Sections:
file:line format, focus on session changesPresent handoff summary:
Ask: "Create this handoff?"
After confirmation:
mkdir -p .claude/handoffs/[feature-slug]/✓ Handoff Created
Path: .claude/handoffs/[slug]/[filename].md
Feature: [description]
Phase: [current phase]
Next session can resume with:
/epic:resume .claude/handoffs/[slug]/[filename].md
See references/handoff-template.md for complete template with placeholders.
Key principles:
file:line references, not full contentWhen to create handoff:
How handoffs save context:
Resume efficiency:
✓ Handoff Created
Path: .claude/handoffs/[slug]/[filename].md
Feature: [description]
Phase: [current phase]
Next session can resume with:
/epic:resume .claude/handoffs/[slug]/[filename].md
⚠️ Cannot Create Handoff
Reason: [specific issue]
Resolution: [specific action]
Complete handoff document template with all sections, placeholders, and formatting guidance.