Generate a smart bootstrap prompt to continue the current conversation in a fresh session. Use when (1) approaching context limits, (2) user says "handoff", "bootstrap", "continue later", "save session", or similar, (3) before closing a session with unfinished work, (4) user wants to resume in a different environment. Outputs a clipboard-ready prompt capturing essential context while minimizing tokens.
Scanned 2/12/2026
Install via CLI
openskills install petekp/claude-code-setup---
name: handoff
description: >
Generate a smart bootstrap prompt to continue the current conversation in a fresh session.
Use when (1) approaching context limits, (2) user says "handoff", "bootstrap", "continue later",
"save session", or similar, (3) before closing a session with unfinished work, (4) user wants
to resume in a different environment. Outputs a clipboard-ready prompt capturing essential
context while minimizing tokens.
---
# Handoff
Generate a bootstrap prompt that enables seamless conversation continuity in a new session.
## Process
### 1. Analyze Current Session
Identify and categorize:
- **Goal state**: What is the user trying to accomplish? What's the end state?
- **Current progress**: What's been done? What's working?
- **Blockers/open questions**: What's unresolved? What decisions are pending?
- **Key artifacts**: Files modified, commands run, errors encountered
- **Critical context**: Domain knowledge, constraints, or preferences established
### 2. Apply Token Efficiency Heuristics
**Include:**
- Specific file paths, function names, error messages (hard to rediscover)
- Decisions made and their rationale (prevents re-discussion)
- Current hypothesis or approach being tested
- Exact reproduction steps for bugs
**Exclude:**
- General knowledge Claude already has
- Verbose explanations of standard concepts
- Full file contents (use paths + line numbers instead)
- Conversation pleasantries or meta-discussion
**Compress:**
- Use bullet points over prose
- Reference files by path, not content
- Summarize long error traces to key lines
- Use "established: X" for agreed-upon decisions
### 3. Structure the Bootstrap Prompt
```markdown
## Context
[1-2 sentence goal statement]
## Progress
- [Completed item with outcome]
- [Completed item with outcome]
## Current State
[What's happening right now - the exact point to resume from]
## Key Files
- `path/to/file.ext` - [role/status]
## Open Items
- [ ] [Next immediate action]
- [ ] [Subsequent action]
## Constraints/Decisions
- [Established constraint or decision]
```
### 4. Output
Copy the bootstrap prompt to clipboard using:
```bash
echo "PROMPT_CONTENT" | pbcopy # macOS
```
Confirm with: "Bootstrap prompt copied to clipboard. Paste it to start a new session."
## Adaptive Sizing
**Simple tasks** (bug fix, small feature): 100-200 tokens
- Goal, current file, error/behavior, next step
**Medium tasks** (feature implementation, refactor): 200-400 tokens
- Goal, progress list, current state, key files, next steps
**Complex tasks** (architecture, multi-system): 400-800 tokens
- Full structure above, plus constraints and decision rationale
## Example Output
```markdown
## Context
Adding OAuth login to the Express app, Google provider first.
## Progress
- Installed passport, passport-google-oauth20
- Created `src/auth/google.ts` with strategy config
- Added `/auth/google` and `/auth/google/callback` routes
## Current State
Callback route returns "Failed to serialize user into session" - need to implement serializeUser/deserializeUser in passport config.
## Key Files
- `src/auth/google.ts` - strategy setup (working)
- `src/routes/auth.ts:45` - callback handler (error here)
- `src/app.ts` - passport.initialize() added, missing session serialize
## Open Items
- [ ] Add serialize/deserialize to passport config
- [ ] Test full OAuth flow
- [ ] Add session persistence (currently memory store)
## Constraints
- Using express-session with default memory store for now
- Google OAuth credentials in .env (GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET)
```
No comments yet. Be the first to comment!