home/common/programs/ai/pi-coding-agent/skills/handoff/SKILL.md
Save session state for later pickup. Use /handoff when context is degrading, /pickup to resume in a new session.
npx skillsauth add megalithic/dotfiles handoffInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Save and restore session context across pi sessions. Use when context window is full and model quality is degrading.
Script location: ~/.dotfiles/home/common/programs/ai/pi-coding-agent/skills/handoff/scripts/
When the user says /handoff:
--file# Write content to temp file, then save handoff
cat > /tmp/handoff-content.md << 'HANDOFF'
## What I was working on
{Clear description of the task/goal}
## Current state
{Where things stand - what's done, what's in progress}
## Key files
- `path/to/file.ts` - Description of changes
- `path/to/other.ts` - What was done here
## Decisions made
- Decision 1 and why
- Decision 2 and reasoning
## Next steps
1. [ ] First thing to do next
2. [ ] Second thing
3. [ ] Third thing
## Blockers / Concerns
- Any issues or things to watch out for
## Context for pickup
{Any additional context that would help understand the situation}
HANDOFF
~/.dotfiles/home/common/programs/ai/pi-coding-agent/skills/handoff/scripts/handoff.sh --file /tmp/handoff-content.md --title "Brief title"
rm /tmp/handoff-content.md
The script auto-captures:
When the user says /pickup:
# Get the latest handoff for current session
~/.dotfiles/home/common/programs/ai/pi-coding-agent/skills/handoff/scripts/pickup.sh
# Or specify a session
~/.dotfiles/home/common/programs/ai/pi-coding-agent/skills/handoff/scripts/pickup.sh mega
~/.dotfiles/home/common/programs/ai/pi-coding-agent/skills/handoff/scripts/pickup.sh rx
After retrieving the handoff:
Check bookmark verification section (at end of output)
Handle bookmark mismatch before doing anything else:
⚠️ Bookmark mismatch detected:
- Handoff was on: `feature-branch`
- Currently on: `main`
Options:
1. Switch to `feature-branch` to continue where we left off
2. Stay on `main` and start fresh
3. Create a new bookmark for this work
Which would you like?
Once bookmark is confirmed:
IMPORTANT: Never proceed with work until bookmark situation is resolved. The user must explicitly confirm which bookmark to use.
List available handoffs:
~/.dotfiles/home/common/programs/ai/pi-coding-agent/skills/handoff/scripts/pickup.sh --list
~/.dotfiles/home/common/programs/ai/pi-coding-agent/skills/handoff/scripts/pickup.sh --list mega
~/.local/share/pi/handoffs/
├── mega/
│ ├── 2026-02-19T14-30-00.md
│ └── 2026-02-19T16-45-00.md
├── rx/
│ └── 2026-02-18T09-00-00.md
└── canonize/
└── 2026-02-17T11-20-00.md
# Handoff: {brief title}
**Session:** mega
**Time:** 2026-02-19 14:30:00 EST
**Working Directory:** /Users/seth/projects/myapp
**Bookmark:** feature-auth-refactor
## What I was working on
{Clear description of the task/goal}
## Current state
{Where things stand - what's done, what's in progress}
## Key files
- `src/auth/login.ts` - Modified authentication flow
- `tests/auth.test.ts` - Added new test cases
- `docs/api.md` - Updated API documentation
## Recent changes
{Summary of uncommitted changes or recent commits}
## Decisions made
- Decided to use JWT instead of sessions because...
- Chose to split the module into two files for...
## Next steps
1. [ ] Finish implementing the refresh token logic
2. [ ] Add error handling for expired tokens
3. [ ] Update the client SDK
## Blockers / Concerns
- Need to verify the token expiry edge case
- Performance concern with the database query in `getUser()`
## Context for pickup
{Any additional context that would help the next session understand the situation}
/pickup to retrieve the handoffjj status, check key files existtesting
Apply Strunk's timeless writing rules to ANY prose humans will read - documentation, commit messages, error messages, explanations, reports, or UI text. Makes your writing clearer, stronger, and more professional.
tools
Web search using DuckDuckGo (free, unlimited). Falls back to pi-web-access extension for content extraction.
tools
Interact with web pages using agent-browser CLI. MUST run 'browser connect 9222' FIRST to use existing browser with authenticated sessions.
tools
Remote control tmux sessions for interactive CLIs (python, gdb, etc.) by sending keystrokes and scraping pane output.