Skip to main content
ClaudeWave
Skill70 repo starsupdated 2mo ago

task-handoff

Task Handoff preserves progress when pausing incomplete work across agent restarts by creating structured handoff documents and maintaining state in YAML. Use this skill when stopping mid-task to ensure the next session knows exactly what's done, what remains, current blockers, and critical context without redoing completed steps or losing important decisions.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/ArchieIndian/openclaw-superpowers /tmp/task-handoff && cp -r /tmp/task-handoff/skills/openclaw-native/task-handoff ~/.claude/skills/task-handoff
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Task Handoff

State file: `~/.openclaw/skill-state/task-handoff/state.yaml`

## Pre-Handoff Checklist

- [ ] Current state is stable (no half-written files, no broken tests)
- [ ] All changed files are saved
- [ ] Tests have been run
- [ ] Handoff document is written
- [ ] State file is updated
- [ ] Memory is updated

## Writing a Handoff

Save to tasks/handoff-[task-name]-[timestamp].md:

```
# Handoff: [task name]
Written: YYYY-MM-DD HH:MM
Reason: [why stopping]

## Current State
[1-3 sentences: exactly where things are]

## What's Done
- [step] done

## What's Next
- [next step] - specific instructions

## Important Context
- [anything non-obvious from the code]
- [decisions made and why]

## Files Modified
- path/to/file - [what changed]

## Tests
- Last run: YYYY-MM-DD HH:MM
- Status: PASSING / FAILING

## Blockers
- [anything blocking]
```

Then update state: `active_handoff_path` (full path to the file), `task_name`, `reason`, `status: written`, `written_at`, `files_modified`.

## Picking Up a Handoff

1. Read state file to get `active_handoff_path`
2. Read the handoff document completely before touching any code
3. Run the tests to confirm current state
4. Start from 'What's Next' — do not redo completed steps
5. When complete: delete handoff file, update state `status: picked_up`, clear `active_handoff_path`