t1k:handoff
Save and resume session context for handoffs between sessions or developers. Use for 'save session', 'hand off to', 'resume context', 'where did I leave off', 'context transfer'.
SKILL.md.claude/skills/t1k-handoff/SKILL.md
GitHubTheOneKit Handoff — Session Context Transfer
Capture structured session context for handoff between sessions or developers. Extends the session state system with a human-readable markdown export.
Usage
/t1k:handoff save # Save current session state as handoff doc
/t1k:handoff resume # Load latest handoff into context
/t1k:handoff list # Show available handoffs with timestamps
/t1k:handoff resume 260325-auth # Load specific handoff by date-slug
Subcommands
| Subcommand | Action |
|---|---|
save |
Capture current state to .claude/handoffs/{date}-{slug}.md |
resume |
Load latest handoff file, inject content as context |
list |
Show all handoffs with timestamps, sorted newest first |
resume {date-slug} |
Load a specific handoff by its date-slug identifier |
Handoff Document Structure
Saved to .claude/handoffs/{date}-{slug}.md:
# Handoff — {date} {time}
Generated by: t1k:handoff save
## Active Plan
- Path: plans/{timestamp}-{slug}/
- Current phase: Phase N — {phase name}
- Phase status: {in_progress|blocked|pending}
## Progress
### Completed Tasks
- [x] Task description
- [x] Task description
### In Progress
- [ ] Task description (owner: {agent})
### Blocked
- [ ] Task description
- Blocker: {reason}
## Key Decisions Made
- {architectural or design decision with context}
- {why X was chosen over Y}
## Blockers
- {blocker description} — context: {why it's blocked, what's needed to unblock}
## Next Steps
1. {highest priority action}
2. {second priority}
3. {third priority}
## Git State
- Branch: {branch name}
- Last commit: {hash} {message}
- Dirty files: {list or "none"}
- Uncommitted changes: {summary or "none"}
## Session Notes
{any freeform notes from the session worth preserving}
save Workflow
- Read
.claude/hooks/session-state-manager.cjsfor current session state (if available) - Call
TaskListto get current task statuses - Run
git status --shortandgit log --oneline -3for git state - Read active plan directory (most recent in
plans/) and find in-progress phase - Synthesize key decisions from recent conversation (last N exchanges mentioning architecture, choice, decided, rejected)
- Write to
.claude/handoffs/{YYMMDD}-{slug}.md - Report: saved to
{path}, summary of what was captured
Slug is auto-generated from the active plan name or current task, lowercased, max 30 chars.
resume Workflow
- If no date-slug given: read
.claude/handoffs/directory, pick newest file by filename - Read the handoff markdown file
- Output the full content as a context block prefixed with:
[Handoff loaded: {filename}] Resuming session from {date}. Context: - Suggest the next step from "Next Steps" section
- Check if the listed active plan still exists — warn if not found
list Workflow
Output newest-first table:
Available handoffs:
260325-auth-implementation.md (2 days ago) Phase 3 — Auth API
260323-database-schema.md (4 days ago) Phase 2 — DB Models
260320-project-kickoff.md (7 days ago) Phase 1 — Setup
Use: /t1k:handoff resume 260325-auth-implementation
Auto-Cleanup
On each save, check for handoffs older than 30 days:
- Move them to
.claude/handoffs/archive/ - Log:
Archived N handoffs older than 30 days → .claude/handoffs/archive/
Do NOT delete — archive only.
.gitignore Note
.claude/handoffs/ is local state and should NOT be committed. Ensure .gitignore contains:
.claude/handoffs/
If not present, add it when save is first called.
Gotchas
- Session state dependency:
saveworks best with the session-state-manager hook active (Phase 2 #8). Without it, git state and task list are still captured but session history context is shallower. - Slug collisions: If two saves happen on the same day with the same plan, the second appends
-2suffix - Large conversation history: Only synthesize decisions from last 20 AI turns — don't dump full history
- resume doesn't restore tool state: It provides context text only — the AI must re-read relevant files
Auto-Activation Keywords
Triggers on: handoff, hand off, transition, context transfer, session save, session resume, save progress, resume session, where did I leave off, switch sessions