Opinionated multi-model delegation for very large repos.
Use when a change is trivial and local (a typo, a rename, a one-line fix, a config value): edit inline in the current session with no model selection, plan, subagents or review, run the targeted test and make one atomic commit; escalate to tk-quick when it stops being trivial.
Delegates: gsd:gsd-fast
Contract: 1
Any host with a skill loader, a shell and git; Python 3.11+ for the bundled resolver. On Claude Code, Codex, Copilot and other GSD hosts the locked GSD gsd-fast skill is used when installed; OpenCode and Hermes use the owned inline path.
Install: npx skills add thunderock/thunderkit -s tk-fast -g
tk-fast is the smallest path through thunderkit. It is for a change you can describe in one sentence and verify with one command: a typo, a rename inside one module, a one-line fix, a config value. It does not choose a model, write a plan, spawn subagents or ask for a review. The current session does the edit.
All of these must hold before starting:
frozen_paths in .thunderkit/config.json is touched;Stop and hand the task to tk-quick (or tk-router for larger work) when any of these becomes true during the edit:
Report the escalation with the files touched so far; do not commit partial work.
On Claude Code, Codex, Copilot and other GSD hosts the only native target is GSD gsd-fast (thunderkit-delegates: gsd:gsd-fast). It needs no GSD project under .planning/ and binds no model class. Check the route first:
python3 scripts/tk-resolve.py --skill tk-fast --operation edit --config .thunderkit/config.json --capabilities <snapshot> --lock .thunderkit/peers.lock.json --json
delegate means hand the task to gsd-fast and keep this skill's scope and escalation rules. fallback means use the inline procedure below. blocked means stop and report the reason. OpenCode and Hermes have no fast target, so the resolver returns fallback / unsupported_host there. A missing lock returns peer_unlocked: print npx thunderkit peers --host <host> and use the fallback. The resolver result is a routing decision, not evidence that an edit happened.
The edit stage permits no push, PR, tag or publish. Never skip the test to make the path faster. Save current context and unfinished changes before escalation or pause, then have the approved checkpoint controller run checkpoint_cli.py capture under the shared preservation rule. Only that separate controller has the scoped checkpoint exception; native workers remain delivery-disabled. Preservation does not require a plan, model selection or a partial commit.
change: <one sentence>
files: <paths>
check: <command> -> <exit code>
commit: <sha> <subject> | none (escalated)
route: delegate gsd-fast | inline (<reason_code>) | escalated -> tk-quick