design

Installation
SKILL.md

MANDATORY: design: Rust owns lifecycle start/finish (skills/shared/run-lifecycle-ownership.tsv). Never run the generic lifecycle (${CLAUDE_PLUGIN_ROOT}/skills/shared/run-lifecycle.md). Send --lifecycle-parent-context only to Step 0.

Design Skill

Design an implementation plan and review it with the mechanical plan-review panel. skills/design/references/plan-review-runtime.md owns Step 3 topology, slots, adjudication, and voting; plan-review.md is editing-only authority. Flow: Step 2a sentinel prep is folded into the Step 2b drafter wrapper, Step 2b drafts from direct codebase inspection, Step 3 runs review, Step 5b files accepted non-security OOS via /larch:issue, and Step 5c writes larch:plan with scripts/larch.sh named-block write --marker plan. No design manifest export. Flags: Step 0-pre is authoritative: scripts/larch.sh design parse-flags emits parsed KVs; do not re-parse $ARGUMENTS. Nested --lifecycle-parent-context <absolute-context-path> is internal: the parser removes it and forwards it to lifecycle start. Public argv allows only -p, --partition, --brainstorm, --per-round-approval, --skip-approve, -s, --no-dedup, --run-id, and --difficulty. Boolean flags default to false; other leading public -- flags, including --hard, error before Step 0 and are not positional. The parser owns validation and error rendering. The table below is a user-facing index.

Flag Default Purpose
-p / --partition false Route directly to the unified inline Split-path on every plan write when no hard threshold tripped (persisted as partition_requested in run-params.json; see references/flags.md only for background)
--brainstorm false Request Step 1d.5 brainstorm ideation before Step 1d.7 outline-approval (Gate A re-entry only post-plan) (persisted as brainstorm_requested in run-params.json; see references/flags.md and references/brainstorm.md only for background)
--difficulty <TRIVIAL|MODERATE|HARD> empty Sets the starting plan-review tier, beats rating and floors, and logs override_source=operator; the 1:30 audit can still upgrade a below-HARD run and logs both fields.
--per-round-approval false Restore the explicit per-round Gate B apply prompt (Apply all / Go through each / Switch to discussion mode); default auto-applies accepted in-scope findings (persisted as approve_requested in run-params.json; see references/flags.md only for background)
--skip-approve / -s false Auto-approve Step 1d.7 outline-approval and Step 4b Gate C final-plan without an AskUserQuestion, except Gate C still runs architectural invariant/guideline present-note + persist-design-assessment and the accepted-findings audit; strong dissent forces the prompt; does not skip any other prompt (persisted as skip_approve_requested in run-params.json; see references/flags.md only for background)
--no-dedup false Forward to /larch:issue when the verbal path creates a tracking issue
--run-id <ID> empty Optional run identifier

Mutual exclusion: at most one --per-round-approval and at most one --skip-approve / -s may appear on argv; duplicates are hard errors before Step 0. --per-round-approval and --skip-approve are not mutually exclusive: both may appear together. Any other unrecognized or disallowed leading public -- flag (including retired --approve and --hard) is a hard error before Step 0 (never swallowed as positional/verbal feature text). Positional tail: Step 0-pre binds this as POSITIONAL_KIND=issue|verbal|none and POSITIONAL_VALUE=<value>; see crates/larch-cli/src/design_commands.rs for classification details. POSITIONAL_KIND=verbal triggers /larch:issue first (forward --no-dedup when set), then binds ISSUE_NUMBER to the created issue and continues as the issue path. Anti-halt continuation reminder. Follow the step-boundary continuation core in ${CLAUDE_PLUGIN_ROOT}/skills/shared/subskill-invocation.md#anti-halt, plus these /design deltas: after every visible output (plans, voting tallies, skip breadcrumbs), IMMEDIATELY continue; never end the turn on a Bash result, status line, deliverable-looking output, summary, handoff, status recap, or "returning to parent" message. This applies from Step 0 through Step 6 and across sub-step transitions (1c→1d→1d.5→1d.7→2a(folded)→2b→2b.5→3→3.5→3b→4→4b→5→5b→5b.5→5c.1→5c.5→5c.7→5c.8→6). Reach Step 1e Gate A only by re-entry from Gate B(c) or Gate C(b) (each → Step 1e, Shape 2); first-time entry skips Step 1e because Step 1d.7 outline-approval replaces Shape 1. After Step 5c scripts/larch.sh design step5c returns with _publish_rc 0, 1, or 3, or after any cancellation outcome's Final summary block has written a non-empty summary file, NEVER write a free-form natural-language recap summary: no "Design complete." line, no artifact bullet list, no parenthetical cost paraphrase such as ~$10.46, and no replacement for the structured ## /design run ... block. The /design Read-always readiness profile in ${CLAUDE_PLUGIN_ROOT}/skills/shared/final-summary-emit.md reads/caches when _publish_rc is 0, 1, or 3, including _publish_rc=1 after plan-block-write failure; terminal emit follows warning replay, operator lines, footer, and Step 6 cleanup. No tool call, cleanup fence, footer, warning replay, operator line, or recap may follow the terminal summary emit. Not gated on scripts/larch.sh design render-final-summary exit 0. Narrow exception: Step 1d.5 and Step 1d.7 only: after the brainstorm synthesis digest, the free-form discussion loop may yield between operator messages per references/brainstorm.md; after the Step 1d.7 design outline, the Refine loop may yield between operator messages per references/design-outline.md; never use ScheduleWakeup, scripted sleep-polling loops, or Monitor polling on either lane. Gate re-entry and Gate C Approve are explicit non-halt control flow; after Gate C Approve, enter Step 5 immediately with no further user message. Critical: the implementation plan (Step 2b) is an intermediate deliverable, NOT the end of the design. Plan review (Step 3), Gate B (Step 3.5), Gate C (Step 4b), finalize (Step 5), post-approval diagram (Step 5b.5), and cleanup (Step 6) must still execute. Architecture diagram work runs only at Step 5b.5 after Gate C Approve or --skip-approve auto-approve. Step 3 MUST NOT start until Step 2b.5 completes (including any AskUserQuestion branches there). This rule is strictly subordinate to any explicit non-sequential control-flow directive in THIS file (e.g., skip to Step N, bail to cleanup, jump back, proceed to Step N); a normal sequential proceed to Step N+1 is the default continuation it reinforces, NOT an exception.

Installs
1
GitHub Stars
4
First Seen
Sep 15, 2026