audit-docs
Audit cross-document coherence: docs ↔ roadmap ↔ code ↔ fix index ↔ issues. Finds drift — features in docs/ not in the roadmap…
One-shot lane conductor for a delivery unit: triage, implement, evidence, and close in a single document. Triggers: "unit-lane", "run the lane", "work on this feature/fix", "build this unit".
Claude Code
$ npx -y skills add gtrabanco/agentic-workflow --skill unit-lane --agent claude-code
Codex
$ npx skills add gtrabanco/agentic-workflow --skill unit-lane -a codex -y
Cursor
$ npx skills add gtrabanco/agentic-workflow --skill unit-lane -a cursor -y
Gemini CLI
$ npx skills add gtrabanco/agentic-workflow --skill unit-lane -a gemini-cli -y
GitHub Copilot
$ npx skills add gtrabanco/agentic-workflow --skill unit-lane -a github-copilot -y
OpenCode
$ npx skills add gtrabanco/agentic-workflow --skill unit-lane -a opencode -y
Windsurf
$ npx skills add gtrabanco/agentic-workflow --skill unit-lane -a windsurf -y
name: unit-lane user-invocable: true version: 4.10.0 argument-hint: <NN-slug | "<idea>"> [--retriage] | --fix <issue-number> | --from-issue <issue-number> description: > One-shot lane conductor for a delivery unit: triage, implement, evidence, and close in a single document. Triggers: "unit-lane", "run the lane", "work on this feature/fix", "build this unit".
One document, adaptive steps. The lane reads a closed catalog, triages which steps a unit needs, executes them in order, and commits at each gate. Replaces: design-feature, plan-feature, review-spec, review-plan.
Load and verify the **canonical** [Turn contract](../orchestration-envelope/references/TURN_CONTRACT.md) (11 boxes) before ending every turn. Skill-specific additions (the `→ Next:` box is canonical-owned and not restated here):
✓ Required user inputs were answered concretely (not defaulted). Nothing here is inferred: a gap re-enters provenance → research, and a gap surviving both runs `bun scripts/needs-input.mjs <unit-dir>` (node fallback if bun is not installed) and stops with the `open-questions@1` block routed back to the owning stage. ✓ Tool choice re-made this turn — `bun` before `node` on manual invocation, `rg` before `grep` on search; availability checked once with `node scripts/setup-env.mjs --check` (node and grep stay the documented fallback) ✓ Every claim the SPEC or the plan asserts (objective, why, ACs, tasks) cites its source — `path:line`, a doc, or an owner answer in the unit folder's `sources.md`. A claim with none is a question, never a default. ✓ Every question asked is recorded with its resolution (owner answer, "Decide for me" + reason, or the explicit `none — no questions` line) in `decisions.md`; no question the user already answered is asked twice. ✓ Triage ran (bun scripts/unit-route.mjs --triage <slug>) and its block pasted verbatim into the unit doc's Evidence section as the authoritative step list ✓ Unit doc exists at docs/features/<NN>-<slug>/SPEC.md (created from template if new, with all mandatory sections filled or n/a) ✓ Guard ran (bun scripts/diff-guard.mjs --base <ref>) after each implement step; on BREACH: re-triage or record exception, never shrink the diff ✓ The unit's evidence carrier updated (Evidence rows, or `## Log` `E` lines for a re-cut unit — command → exit/digest → output → verified-by) and its progress recorded (dated Progress entry, or a `## Log` `P` line) before every commit ✓ Memory boundaries ran — probe verdict once, saves at unit start / each phase transition / close under `unit/<NN-slug>/doc`, degradation recorded as pending
Both `--fix <n>` and `--from-issue <n>` are the exact forms `scripts/unit-route.mjs` prints for a tracked issue with no unit folder (`route: plan-from-issue`) — never invent a different spelling.
The unit identifier, a mode's issue number, the unit kind, and the objective/why/user-outcome the SPEC carries are **never inferred**: no silent `feature` default, no acceptance criterion invented from a vague request. A gap is resolved in one fixed order — **(0) provenance** (search the repo's own docs and append an `open-question` row to the unit's `decisions.md` recording where) → **(1) research** (2–3 concrete options with trade-offs; asking for more research is a legitimate answer) → **(2) halt**: run `bun scripts/needs-input.mjs <unit-dir>`, paste the `open-questions@1` block verbatim, stop. The block routes each question back to the stage that owns the fact — `design` for scope/architecture, `unit-lane` for plan-owned facts. Grammar and exit codes: `orchestration-envelope`'s `references/TURN_CONTRACT.md` §Open questions.
The conversation lives in the unit folder's `decisions.md` (append-only `open-questions@1`; its two entry types are published in the template agent guide's question protocol). A resumed session re-reads the pending rows and continues from the first one still open — never re-asks them.
Per the agent guide's **Workflow conventions** + **documentation map**, then read `docs/features/_TEMPLATE/SPEC.md` (the unit doc template). If the unit folder exists, read its current `SPEC.md` to avoid overwriting. If this work returns to an area other unit docs already touch, scan their `## Future` sections and surface each open row as plan-now / keep-deferred / discard before continuing.
If the unit folder already exists, read its `SPEC.md` and continue. Otherwise create it from the tree the unit belongs to:
| Invocation | Folder | Template | Index to register | |---|---|---|---| | `<NN-slug>` / `"<idea>"` | `docs/features/<NN>-<slug>/` | `docs/features/_TEMPLATE/SPEC.md` | `docs/ROADMAP.md` § Features | | `--fix <issue-number>` | `docs/fix/<issue-number>-<topic>/` | `docs/fix/_TEMPLATE/SPEC.md` | `docs/ROADMAP.md` § Fixes | | `--from-issue <issue-number>` | `docs/features/<NN>-<slug>/` | `docs/features/_TEMPLATE/SPEC.md` | `docs/ROADMAP.md` § Features (row links `#<issue-number>`) |
For `--fix`/`--from-issue`, read the tracked issue in the forge first and keep its number; the folder name carries it (`fix/<issue-number>-<topic>`). Fill objective, why, user outcome, and non-goals from the invocation (or the issue). Acceptance criteria are induced from user scenarios — **ask-don't-infer** (owner: `references/DESIGN.md`, block `ask-dont-infer@1`); if the request is too vague, STOP and ask the user with concrete options. Open decisions that are not acceptance criteria
A reusable set of agent skills that run a disciplined, doc-driven workflow for building software with agents — from idea/issue to a reviewed, classified, merge-ready change.
Audit cross-document coherence: docs ↔ roadmap ↔ code ↔ fix index ↔ issues. Finds drift — features in docs/ not in the roadmap…
Audit a whole PR against the delivery contract and return MERGE-READY or evidenced blockers with the full URL. Consumes the…
Discover repository evidence and write a frozen Normalized Repository State. Produces verified repository evidence and keeps…
Step executor for units whose triage (unit-lane) decided which steps the unit needs. Implements one triaged step (or all…
Repair persisted fix-now findings in compatible atomic batches: root-cause fixes, green gate, commit/push, and per-row `folded:…
Adapt the workflow scaffold to a new repository or add only missing substrate blocks to an existing install. Every install, hook,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.