Create `.continue-here.md` handoff file to preserve complete work state across sessions. Enables seamless resumption with full context restoration.
read all files referenced by the invoking prompt's execution_context before starting.
Find current phase directory from most recently modified files:
```bash
# Find most recent phase directory with work
ls -lt .planning/phases/*/PLAN.md 2>/dev/null | head -1 | grep -oP 'phases/\K[^/]+'
```
If no active phase detected, ask user which phase they're pausing work on.
**Collect complete state for handoff:**
1. **Current position**: Which phase, which plan, which task
2. **Work completed**: What got done this session
3. **Work remaining**: What's left in current plan/phase
4. **Decisions made**: Key decisions and rationale
5. **Blockers/issues**: Anything stuck
6. **Mental context**: The approach, next steps, "vibe"
7. **Files modified**: What's changed but not committed
Ask user for clarifications if needed via conversational questions.
**write handoff to `.planning/phases/XX-name/.continue-here.md`:**
```markdown
---
phase: XX-name
task: 3
total_tasks: 7
status: in_progress
last_updated: [timestamp from current-timestamp]
---
[Where exactly are we? Immediate context]
- task 1: [name] - Done
- task 2: [name] - Done
- task 3: [name] - In progress, [what's done]
- task 3: [what's left]
- task 4: Not started
- task 5: Not started
- Decided to use [X] because [reason]
- Chose [approach] over [alternative] because [reason]
- [Blocker 1]: [status/workaround]
[Mental state, what were you thinking, the plan]
Start with: [specific first action when resuming]
```
Be specific enough for a fresh OpenCode to understand immediately.
Use `current-timestamp` for last_updated field. You can use init todos (which provides timestamps) or call directly:
```bash
timestamp=$(node "./.opencode/get-shit-done/bin/gsd-tools.cjs" current-timestamp full --raw)
```
```bash
node "./.opencode/get-shit-done/bin/gsd-tools.cjs" commit "wip: [phase-name] paused at task [X]/[Y]" --files .planning/phases/*/.continue-here.md
```
```
✓ Handoff created: .planning/phases/[XX-name]/.continue-here.md
Current state:
- Phase: [XX-name]
- task: [X] of [Y]
- Status: [in_progress/blocked]
- Committed as WIP
To resume: /gsd-resume-work
```
- [ ] .continue-here.md created in correct phase directory
- [ ] All sections filled with specific content
- [ ] Committed as WIP
- [ ] User knows location and how to resume