Skill: Generate Handover
What This Skill Does
This documentation shall serve Agents and Humans when working in consecutive sessions with the project.
Creates a session handover document (plans/<name>/handovers/session-<date>.md) that captures everything a new session needs to continue work seamlessly:
- •What was accomplished in this session
- •What is in progress (interrupted work)
- •Key decisions made and their rationale
- •Current state of modified files
- •Blockers and issues discovered
- •Concrete next steps
- •Context that would be lost without the handover
When to Use
- •When the user asks to "create a handover" or "save session state"
- •When ending a work session on a multi-phase plan
- •When work is interrupted and will be continued later
- •When switching between team members or agents
Do NOT generate handovers automatically. This skill is invoked manually by the user.
Execution Model (Recommended)
- •Preferred: the primary agent runs this skill and writes the handover under
plans/<name>/handovers/. - •Rationale: a handover is a distilled session narrative (decisions, rationale, state). It should be authored where the session context lives.
- •Optional: delegate
git status/git diff --statinterpretation or bulk file listing todoc-explorer, but keep narrative/decisions in the primary.
Workflow
Step 1: Identify the Context
Determine what to capture:
- •Which plan is being worked on? Check
plans/directory - •What phase is active? Read
plan.mdandtodo.md - •If no formal plan exists, create a standalone handover (see below)
Step 2: Gather Session Information
Collect from the current session context:
Progress:
- •What tasks were completed? (from todo list changes, commits, conversation)
- •What is currently in progress? (incomplete work, partial implementations)
- •What was planned but not started? (remaining todo items)
Decisions:
- •What technical decisions were made? (architecture, library choices, approach)
- •What alternatives were considered? (and why they were rejected)
- •What trade-offs were accepted?
Implementation State:
- •Which files were modified? Use
git diff --statorgit status - •Are there uncommitted changes?
- •What tests are pending?
Issues:
- •Are there blockers? (dependencies, unclear requirements, technical issues)
- •Were workarounds applied that need revisiting?
Step 3: Write the Handover Document
Create plans/<name>/handovers/session-<YYYY-MM-DD>.md:
If multiple handovers on the same day, append a counter: session-2025-02-14-2.md.
Fill in all sections from the template:
- •Session Summary: 2-3 sentences describing what this session was about
- •Progress: Organized by completed / in-progress / not-started
- •Key Decisions: Table with decision, alternatives considered, and rationale
- •Current State: Modified files with what changed, pending tests
- •Blockers & Issues: What prevents progress, with potential solutions if known
- •Next Steps: Ordered list of what the next session should do first
- •Context for Next Session: Free-form section for anything that would be lost - partial reasoning, important constraints discovered, "watch out for" notes
Step 4: Update the Todo List
After creating the handover:
- •Ensure
todo.mdreflects the actual current state - •Mark completed items
- •Add any newly discovered items
- •Note blockers
Step 5: Confirm with User
Use the question tool to ask:
- •Is anything missing from the handover?
- •Are the next steps correctly prioritized?
Standalone Handovers (No Plan)
If there is no formal plan but a handover is needed:
- •Create
docs/handovers/session-<date>.md(in the docs directory instead of plans) - •Omit plan/phase references from the frontmatter
- •Focus on the general session context, decisions, and next steps
Rules
- •Accuracy over completeness: Only document what actually happened. Don't invent or assume progress.
- •Concrete next steps: "Continue working on auth" is useless. "Implement the JWT refresh token rotation in
src/auth/refresh.ts, starting from therotateTokenfunction stub" is actionable. - •Decision rationale matters: Capture why decisions were made, not just what was decided. The next session needs the reasoning to avoid re-evaluating the same options.
- •File-based interface: The handover document is the interface. All context goes into the file, not into chat messages.
- •Don't duplicate the todo list: Reference
todo.mdfor task status. The handover captures session context (decisions, state, blockers), not a repeat of the task list. - •Use git for file state: Use
git statusandgit diff --statto identify modified files rather than relying on memory. - •Multiple handovers are normal: Each session can produce its own handover. They are additive, not replacements.
- •Keep it scannable: The next session's agent will read this to bootstrap context. Use clear headings, short bullet points, and tables where appropriate.
- •Todo updates stay lightweight: When updating
todo.mdin Step 4, make simple status changes directly. For complex plan restructuring, theupdate-planskill should be used instead.
Templates
This skill includes a normative template as a bundled file. Only read the templates when processing them. Output MUST follow the template headings and frontmatter keys:
- •
tpl-session-handover.md- Structure for handover documents