Skip to content
Development
Skill

/unit-lane

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".

From plugin
agentic-workflow
2228 skills

Claude Code

$ npx -y skills add gtrabanco/agentic-workflow --skill unit-lane --agent claude-code

SKILL.md

unit-lane.SKILL.md
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".

Unit Lane — Adaptive Conductor

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.

Turn contract

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

When to use

  • A known unit slug: `unit-lane <NN-slug>`
  • A raw idea (no slug yet): `unit-lane "<idea description>"`
  • A tracked fix issue (no fix folder yet): `unit-lane --fix <issue-number>`
  • A tracked roadmap feature issue (no feature folder yet): `unit-lane --from-issue <issue-number>`
  • Force re-triage: `unit-lane <NN-slug> --retriage`

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.

Inputs — never inferred, never defaulted

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.

Step 0 — Discover the project

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.

Process

1. Resolve or create the unit doc

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

Read more
@gtrabanco
Ships withagentic-workflow

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.

Stars on GitHub

Momentum

stars in total
22
Star history of gtrabanco/agentic-workflow on GitHub, a chart by star-history.com

Other skills on agentic-workflow.

audit-docs

audit-docs

Audit cross-document coherence: docs ↔ roadmap ↔ code ↔ fix index ↔ issues. Finds drift — features in docs/ not in the roadmap…

audit-pr

audit-pr

Audit a whole PR against the delivery contract and return MERGE-READY or evidenced blockers with the full URL. Consumes the…

fold-findings

fold-findings

Repair persisted fix-now findings in compatible atomic batches: root-cause fixes, green gate, commit/push, and per-row `folded:…

init-workspace

init-workspace

Adapt the workflow scaffold to a new repository or add only missing substrate blocks to an existing install. Every install, hook,…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about unit-lane.

Which coding agents can use unit-lane?
unit-lane installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.