Opinionated multi-model delegation for very large repos.
Use to save or restore a work session in a portable format when a harness nears full context or you pause: save writes .thunderkit/HANDOFF.md (stage, lanes, resume ids, decisions, next action); restore reads north star plus handoff and resumes at the named stage.
Install: npx skills add thunderock/thunderkit -s tk-handoff -g
A big-repo run outlives one context window. tk-handoff makes a session survive a context reset, a pause, or a switch to a different harness by writing the state to a fixed file any thunderkit-aware agent can read — not a harness-private session blob, but the same committed format the rest of the pack uses.
Two verbs: save (checkpoint now) and restore (resume from the last checkpoint).
degrades. The router watches for this; tk-handoff save is the action.
restore away from recovery..thunderkit/HANDOFF.md (fixed schema)# Handoff
saved_at: YYYY-MM-DD HH:MM · head: <git short sha> · context_at_save: ~NN%
north_star: .thunderkit/NORTH_STAR.md # the why, read this first
current_stage: <lifecycle stage # + name> # where the run is
active_artifact: .thunderkit/<PLAN.md|…> # the file in play
lanes_in_flight: # resumable dispatch, per lane
- id: L1-… model: opus48 resume: claude -p --resume <sid> status: running|blocked
decisions_this_session: # what was settled (mirror to DECISIONS.md)
- …
next_action: <the single next step>
open_unknowns: <what's unresolved / none>
The schema is fixed so restore (or a different agent) can parse it. saved_at + head let restore detect staleness.
NORTH_STAR.md first (the why), then config.json (the model classes), then HANDOFF.md.HANDOFF.head ≠ current HEAD, warn: the tree moved since the save;confirm before resuming, don't blindly continue.
resume commands (claude --resume, codex resume, hermes --resume).
current_stage / next_action — don't restart the lifecycle from the top.tk-router runs restore as stage 0: if a HANDOFF.md exists, offer to resume from it before starting fresh.
on one harness can be resumed on another — the whole point of a heterogeneous fleet.
degraded model — save at ~80%.
(not resumable)`, honestly, so restore knows it must re-dispatch that lane.