implement-unitlisted
Install: claude install-skill natb1/commons.systems
# Implement Unit
Shared procedure for building **one** logical unit of work: launch an
implementation subagent constrained to working-tree edits, then fork
`/commit-merge-push` to land the commit. Handles merge-conflict, pre-commit-hook,
and push-rejection recovery.
This skill runs in the **caller's thread** — it has no `context:` key — so it can
launch subagents via the Agent tool and fork `/commit-merge-push`. Callers (e.g.
`/implement`, `/fix-checks`) invoke it once per unit.
This skill is the **single canonical home** of the model-selection heuristic. Other
skills choosing a model reference this section rather than restating it.
## Parameters
The caller supplies:
| Parameter | Meaning |
|---|---|
| `model` | `opus` or `sonnet` — chosen per the heuristic below. |
| `scope` | What files/behavior this unit changes, and what is explicitly out of scope. |
| `context` | The surrounding plan / issue context the subagent needs to do the work. |
| `commit_intent` | The "why" of the change, so `/commit-merge-push` can write a focused commit message. |
## Model-selection heuristic
- **`sonnet`** for well-specified, mechanical work: small refactors with a clear diff
shape, rote wiring (adding a script to a hook, renaming across files, boilerplate
additions), unit-test writing with explicit cases.
- **`opus`** for judgment-heavy work: cross-cutting design changes, tricky concurrency
/ ordering, unfamiliar subsystems, units where the plan itself leaves decisions for
imp