The Constitution
The build-constitution reference — the design-first, agent-orchestrated method your team builds by, from scratch to deployment.
The Constitution is the standing law for how we conceive, design, build, and ship large enterprise systems with Claude, Claude Design, and Claude Code. It is design-first, agent-orchestrated, and runs scratch → deployment.
It describes a method, not one product. Every <…> placeholder is rebound per project from that project’s CLAUDE.md at read time.
“Fidelity and quality are produced by architecture, not by vigilance.”
We make drift and defects either mechanically impossible or automatically detected — so neither a human nor an agent can quietly diverge. That is what lets agents do the heavy lifting while human attention stays bounded.
Non-negotiable. Every phase, agent, and gate is in service of them. A project’s CLAUDE.md may add laws; it may not weaken these.
The rendered design is the contract.
The single source of truth for a screen is the rendered prototype, then the live UI. Precedence: prototype > reconciled spec > screenshot > draft. A prototype-vs-spec conflict is a STOP-and-surface.
Decouple through contracts.
A module never references another module. Cross-module needs are met only by a published event or a public query DTO from Contracts. A broken contract is a compile error, not a 2 a.m. surprise.
Single-writer orchestration.
Exactly one actor — the orchestrator — writes shared trackers and closes seams. Workers touch only their own files plus append-only shared files, and return a structured report.
Stateless agents; context passed explicitly.
A subagent starts with a fresh context window; the only channel in is the prompt. Every delegation hands over spec paths, design references, prior output, and the path to CLAUDE.md.
Isolated, bounded parallelism.
Workers run in parallel only when isolated: own output dir, own browser-port, append-only to the shared stylesheet. A semaphore caps concurrency; a seed gate orders shared declarations.
Gates before “Done.”
No agent self-attests completion. “Done” means passing the phase gate: clean build, visual assertions, value-not-literal checks, tests, contract tests, a11y, and a reviewer PASS.
Blast-radius limits.
An agent may freely change its own slice and the contracts it emits. Touching the shared kernel, the Contracts surface, or another module needs a foundation-level gate.
Append-only / self-registration.
Modules self-register via Add<Module>(); nav and routes come from a registry; the shared stylesheet is appended to, never rewritten. No merge contention, no forced serial work.
Just-in-time spec reconciliation.
Specs are reconciled to the current design at the moment a slice is built, not perfected up front. Draft md files are inputs, not truth. Each slice carries a provenance header; the registries’ Sync state tracks fresh/stale.
Progressive completeness.
Build design-first and add capability as development reaches it. Parity research informs the spec but never overrides the design; only the Must-haves a slice needs now are adopted.
Capped autonomy with escalation.
Self-correction loops retry at most twice, then stop and file the case in an approval inbox. Never an infinite loop. Human supervision is on the loop, not in it.
Institutional memory is mandatory.
Durable facts go to INSIGHTS; corrections to LESSONS as Mistake/Trigger/Rule; status to PROGRESS. Read PROGRESS + LESSONS at session start. Stable lessons graduate into CLAUDE.md.
Learning
New to the method? Read Start here, then scroll the lifecycle phase by phase.
Referencing
Mid-build? Jump to a phase or agent and copy the exact command or file. ⌘K opens search anywhere.
Sharing
Every heading is a deep link. Send a teammate to the precise section, not the whole document.
The session ledger — multi-session coordination + the story that survives
Concurrent chat sessions now see each other's write-claims before they collide on a board, every session's plan / done / pending / decisions is captured in a dated journal, and a derived docs/STATUS.md stays in sync with the codebase at every turn — one cross-platform Node implementation behind six Claude Code hooks, opt-in and feature-detected.
Recent releases also landed: the (two lanes, contract sidecars, the three-altitude audit stack) · (versioned, self-gating, manifest-verified installs) · · . Full history in CHANGELOG.md.
The full kit
Constitution, prompt templates, sixteen subagents, sixteen commands, the eight-skill expertise layer, bootstrap + preflight + governance tooling, the cross-platform session ledger, and the memory templates — one versioned, manifest-verified bundle.
Day-zero bootstrap
Unzip, point the installer at your repo. Non-destructive — existing files are skipped, re-runs are idempotent.
cd constitution ./bootstrap.sh /path/to/your-repo
The lifecycle
Seven phases from scratch to deployment. Each has one goal, one engine, and one gate to advance.
Scratch to deployment. Click a phase to jump to it.
Phase 0 · Conceive
Turn an idea into a product spec — the PRD that seeds everything downstream.
Phase 0 turns an idea into a product spec — a PRD that covers, per module: entities, functional requirements, workflows described step by step, business rules, domain and integration events, permissions, integration points, and cross-cutting compliance.
The PRD is the input to Design. It is a point-in-time draft, not the eternal source of truth (Law 9) — the rendered prototype that follows becomes the contract.
Use the naming grammar
FR-<X>-NNN · BR-<X>-NNN · EVT-<X>-Name · PERM-<X>-Entity.Action · WF-<X>-NN. Consistent identifiers let every later phase cross-reference cleanly.
Mark the priority journeys
Name the journeys to build first — they become the continuity proof in Design and the golden workflow in Build.
Flag every assumption
Each open question is written as “ASSUMPTION — confirm”, never silently resolved.
Phase 1 · Design
Turn the PRD into a clickable, high-fidelity prototype — the contract for everything that follows.
Phase 1 turns the PRD into a clickable, high-fidelity prototype built entirely on the pre-built design system. This is where Claude Design operates.
The rendered prototype becomes the contract (Law 1): the single source of truth for what each screen looks like and what information it carries. Precedence is rendered prototype > reconciled spec > screenshot > draft.
Design-system only
Every screen uses only design-system components and tokens — no off-system colours, no hand-rolled controls where a component exists.
Continuity is built in
Priority journeys are designed end-to-end first; every screen satisfies the continuity invariants — one primary CTA, guarded CTAs disabled-with-reason, no dead-ends.
Match the voice
Sentence case, verb-led CTAs, numbers and units in status lines.
Phase 2 · Reconstruct
Reproduce the prototype 1:1 as the UI layer — the same machine as Build, pointed at screens.
Phase 2 reproduces the prototype 1:1 as the UI layer — the same screens, now as real components using the design-system classes. It is the same orchestration machine as Build, pointed at screens instead of workflows.
screen-reconstructor agents run under the reconstruct-sweep with single-writer integration: isolated parallel workers, a per-module seed gate, append-only CSS, and a fidelity gate per screen.
The fidelity gate
0-error build; the captured screen is the rendered screen; the design-system CSS actually applied; computed-style assertions match the prototype; every bound value renders its value, not the literal.
Single writer integrates
Workers return structured reports; the orchestrator gate-reviews them, dedups design-system classes, graduates primitives, and closes seams.
Phase 3 · Specify
Capture the behaviour, rules, and seams the design cannot express.
Phase 3 captures the behaviour, rules, and seams the design cannot express. From the rendered prototype and the reconstructed screens, you author the module, workflow, and schema specs plus the project CLAUDE.md.
Specs are reconciled to the current design, carry a provenance header, and feed the UI-driven contract extraction the build agents rely on.
Provenance + Sync state
Every spec records the design source it was derived from, a last_synced timestamp, and a hash; the registries’ Sync chip tracks fresh/stale. A hash mismatch marks it stale.
UI-driven extraction
The built UI is the most reliable spec of the contract surface — lift the mock-data shapes into the first draft of DTOs and read models (the UIMAP).
Generate the boards
Generate docs/SCREEN_REGISTRY.md and docs/WORKFLOW_REGISTRY.md from CLAUDE.md following the contract at the top of each.
Phase 4 · Found
Build the foundation by hand — the shared kernel, contracts, infra, and design-system extraction.
Phase 4 builds the shared kernel, the contract surface, the infrastructure behaviours, and the design-system extraction — human-in-the-loop. This is the foundation every later workflow sweeps over; you build it by hand, not as a sweep.
Get this right and every delivery afterward is a workflow sweep.
SharedKernel + Contracts
Freeze the primitives; establish the append-only integration-event and public-DTO surface.
Infrastructure behaviours once
Validation, fail-closed authorization, audit, caching, telemetry, plus the compliance hooks — applied uniformly through the pipeline.
Host + architecture tests
Composition root with a module-discovery loop; NetArchTest boundary rules green before any feature module.
Phase 5 · Build
Wire real backend and processes behind the reconstructed UI, workflow by workflow — one agent per step, gated by a Definition of Done.
After the foundation is built by hand, all delivery is a sweep: one pass of the build pipeline over a single workflow that may span many interdependent modules. You wire real backend behind the reconstructed UI — without touching a pixel.
A module is a unit of ownership; a workflow is a unit of delivery. A module becomes complete as a side effect of every workflow that sweeps through it.
The orchestrator runs the /build-workflow sweep over the build pipeline. It is a thin router and the single writer — it sequences agents, hands each explicit context, enforces the gates, and writes no production code itself.
A workflow is shippable — the Definition of Done — when every line below is true.
# Sweep the full build pipeline over ONE workflow /build-workflow PatientIntake # The sweep may span many interdependent modules; # the main thread stays the single writer.
One pass of the pipeline. The two amber checkpoints are the only places human attention is required — both front-loaded.
A sweep wires a workflow's path; a screen accumulates affordances from many paths and from visual-only reconstruction — so off-path buttons, links, CTAs, and shortcuts can pass every per-path gate as silent stubs. The interaction-auditor closes that gap at screen scope: it enumerates every affordance on the touched screens, classifies each disposition, reconciles them against the UIMAP's action→effect, and risk-tags every gap onto the INTERACTION_REGISTRY board.
The orchestrator is the single writer of the board: it auto-remediates low-risk, trivially-constructable rows, and asks the human on medium- / high-risk ones. The sweep cannot advance to review until the ledger is complete — zero unmarked stubs, zero mis-wired seams; every deferral ticketed. It also runs standalone as a backlog sweep over already-built screens.
Phase 6 · Harden & deploy
Performance, security, observability, and release — behind the same gates that governed the build.
Phase 6 takes the built system to production: performance, security, observability, and release. Plan for Blazor Server reality from the start — here the mitigations become first-class.
The wiring gate runs in CI; merges gate on reviewer PASS plus a green suite and boundary tests; releases are promoted environment-to-environment behind the same gates.
Scale-out
Redis backplane + sticky sessions (or a managed SignalR service); right-size circuit memory; load-test the SignalR path, not just request throughput; ship the reconnection UX.
Observability
OpenTelemetry through Aspire ServiceDefaults — traces (including Blazor circuit activities), metrics, structured logs with no sensitive data; health checks on every backing service.
Security & CI/CD
Fail-closed authz, RBAC, immutable audit, break-the-glass, TLS 1.3, encryption at rest; visual-regression and a11y run on every PR.
Architecture
A vertical-slice modular monolith composed by a Host. Boundaries are enforced by architecture tests, not discipline.
No module-to-module references
A module references only SharedKernel, Contracts, and DesignSystem. Need another module’s data? Subscribe to its event or call its public query DTO.
Self-registration
Each module exposes one Add<Module>() that registers handlers, EF, validators, nav item, and permissions. The Host calls them in a loop — no hand-edited menu.
Per-module EF
A separate DbContext and schema per module (reg.*, clin.*, …) so migrations never collide — which is what lets migration work parallelize.
Which store owns what — decide per entity, not per module.
src/ <App>.SharedKernel/ Frozen primitives: Entity, AggregateRoot, ValueObject, Result, IDomainEvent, Permission, NavItem, IModule. No app logic. <App>.Contracts/ Append-only integration events + public DTOs across modules. <App>.DesignSystem/ RCL: ported design system — Components, Styles, wwwroot. <App>.Infrastructure/ MediatR behaviours (validation, authz, audit), EF, integration. <App>.Host/ Composition root: App/MainLayout/Sidebar, the module loop. Modules/ <App>.<Module>/ ONE per module: Domain/ Application/ Infrastructure/ UI/ tests/ <App>.ArchitectureTests/ NetArchTest boundary rules. <App>.<Module>.Tests/ xUnit units + Playwright e2e. docs/ modules/, SCREEN_REGISTRY.md, PROGRESS/INSIGHTS/LESSONS.
The agents
Sixteen single-purpose specialists: a reconstruction agent, an in-repo design author, two prototype auditors, a drift-triage agent, the build agents, the judgment agents — a reviewer, two spec agents, an affordance auditor, and a cross-sweep auditor — and, above them, the orchestrator. Each owns a phase and a single concern.
Single-purpose specialists with scoped tools and a routed model. Stateless, reporting in a structured shape. Agents marked graph(read) additionally hold the read tools of the optional code-discovery graph — see Graph-first discovery below. Download any definition for .claude/agents/.
Model routing. Opus for the judgment agents — spec-architect, spec-researcher, reviewer, design-sync, design-builder, and the four read-only auditors (interaction-auditor, wave-reviewer, journey-auditor, edge-auditor) — and for backend-builder (the domain/application layer); Sonnet for the other builders — migration-engineer, seed-builder, crosscutting-weaver, module-wirer, and test-engineer; Haiku / Explore for fast read-only search.
The domain/application layer is where modeling judgment compounds, so it earns Opus while the more mechanical builders stay on Sonnet to keep a sweep affordable.
Reproduce ONE screen 1:1 as the design-system Blazor classes. Also runs in re-sync mode — applying a design-sync delta to an existing screen while preserving its wiring, instead of rebuilding it.
The in-repo design lane: authors ONE net-new prototype screen from its design-prompts brief — closed vocabulary (grep-verified against the prototype), sandbox render + sign-off screenshot, contract sidecar + provenance hash at birth, and a self-critique → revise pass against an excellence rubric. Never wires or flips boards.
Read-only journey-continuity auditor over the PROTOTYPE: traces ONE end-to-end journey, builds the mechanical route/edge ledgers (OK / DEAD-END / LEGACY / WRONG), walks each role's day, and returns severity-ranked gap rows. The phase-1 gate: zero S1 gaps on the golden journeys.
Read-only dead-edge auditor over ONE module's prototype screens: finds affordances that lie — toast-only lifecycle CTAs, no-handler buttons, placeholders, phantom-prefilled create forms — classifies each on two axes, and re-verifies the accepted-toast exceptions ledger.
Detect + triage prototype drift; emit a routed re-sync plan. Advisory — reads code, specs, and the updated prototype and writes ONLY its plan; never edits screens, specs, or trackers. The /design-sync command executes the plan. Pipeline-born and graduated screens are out of scope.
Reconcile the spec to the current design; write the UIMAP and the delta report. Lifts each screen's contract sidecar as the UIMAP's first draft.
Feature-parity vs the domain's market leader and its interop standards. Advisory only. Also dispatched in triage mode by /design-help and /design-full-sweep for retrospective design-gap discovery.
Domain + application layer: MediatR records, validators, value objects, events. Durable IDs from SQL sequences behind an allocator port — never a process-static counter.
Per-module EF migration; gated on any destructive change.
Idempotent reference data plus domain-plausible demo data.
Pipeline behaviours, compliance hooks, events, SignalR, and jobs.
Wire the reconstructed UI to handlers, add states, preserve the design.
xUnit, Playwright e2e, NetArchTest, and visual regression — including the persistence-invariant negative path (every unique index / sequence / constraint made to FIRE against real SQL) and restart-simulation tests for anything minting durable state.
Read-only affordance auditor: enumerates EVERY button, link, CTA, shortcut, and form submit on the touched screens, classifies each (wired / stub / mis-wired / dead-end / design-gap), reconciles against the UIMAP, and returns a risk-gated remediation worklist.
Read-only audit against the Constitution and CLAUDE.md. PASS / FAIL.
Read-only cross-sweep auditor for a parallel wave: audits the combined union diff across all surviving worktree branches for failure modes no per-sweep reviewer can see — design-system duplication, Contracts collisions, repeated cross-cutting behaviour, seam interference.
/build-workflow. It routes, gates, and is the single writer of trackers and seams. When the project indexes its code in a code-discovery graph MCP (codebase-memory-mcp is the reference), the audit/spec agents and the build agents get its read tools for structural questions a grep sweep answers expensively — who calls X, what a module exposes, which modules emit or consume an event, the cross-module contract surface, UI-affordance→handler matching, and Law-2 boundary checks. It is an optional capability, not a kit dependency: with no graph configured, the tools are simply absent and every agent falls back to Grep/Glob with no loss of behaviour.
Orient → locate → read
get_architecture to surface the de-facto module seams → search_graph for exact qualified names → get_code_snippet for source. Trace with trace_path (direction both — outbound-only misses cross-module callers); detect_changes maps a diff to its blast radius before a seam edit.
Who may query
The ten graph(read) agents in the roster. Builders use the graph to find code, never to edit outside their slice. migration-engineer, seed-builder, and screen-reconstructor are deliberately excluded — narrow scope and visual fidelity need no code discovery. No subagent gets the index-mutating tools.
Freshness is single-writer
The index can go stale as sessions advance main — only the orchestrator re-indexes, after a wave fold-in or a large branch sync (Law 3). Subagents treat the graph as possibly-stale and confirm any load-bearing finding against the file.
<graph-project-id> in CLAUDE.md §0 (keeping the graph-first bullet), and tune the seeded .cbmignore — it scopes the graph to src/ + tests/ and excludes the prototype tree, so searches stay on real source. Graph tools are read-only discovery: they never replace the rendered-prototype fidelity check (Law 1) or the build gates.When the prototype is updated after screens are built or specified — new screens, new designs, or nudges to existing ones — the rendered prototype is the new contract, so the built screens and their specs are now stale. design-sync diffs the updated prototype against each screen's recorded provenance (last_synced + source hash) and classifies every screen NEW / MODIFIED / REMOVED / UNCHANGED, judging each change's blast radius.
It emits a routed re-sync plan the orchestrator executes: new screens via reconstruct-sweep, nudges via the reconstructor's re-sync mode, contract changes via spec-architect; removed screens are surfaced for a human decision, never auto-deleted.
Triggers. Manual — after a prototype re-export, over a chosen scope. In-process — the sweep's Enrich stage escalates a hash mismatch, or a periodic full-registry drift sweep.
@code, injected services, handlers, and bindings from phases 4–5 stay intact. design-sync never rebuilds from scratch and never deletes a removed screen's code.Each agent ships as a drop-in markdown file: YAML frontmatter (name, tools, model) over a role brief. Here is backend-builder.md in full.
--- name: backend-builder tools: Read, Write, Edit, Grep, Glob, Bash model: opus --- You build the domain and application layer for ONE module slice. Read CLAUDE.md, the reconciled <X>_MODULE.md, the module's <X>_DB_SCHEMA.md, and the <screen>_UIMAP FIRST. You touch ONLY your module's project files. ## What you produce - Domain/ — entities, value objects, enums; every BR-* rule enforced HERE, not in the UI. - Application/ — MediatR command/query records, one FluentValidation validator per command, query DTOs matching the UIMAP's lifted mock-data shapes, and handlers. - Events — published through the notification wrapper; new contracts append-only to <App>.Contracts. - Self-registration — handlers, EF context, validators, nav item, permissions in Add<Module>(). ## Hard rules - Every command/query carries [Permission("<Module>.<Entity>.<Action>")] or [NoPermission]. Authz is fail-closed. - Mutations emit audit (SQL header + Mongo diff); per-module DbContext only. - Do NOT generate migrations. Do NOT wire the UI. Do NOT invent rules beyond the reconciled spec. ## Gate before reporting Done - dotnet build of your module: 0 errors (isolated output dir). - Every command has a paired validator and a [Permission]/[NoPermission]. - Every BR-* in the reconciled spec is enforced in the domain.
Orchestration
How the orchestrator routes work across agents — the sweep pipeline, its two checkpoints, and the FAIL-routing table.
All delivery is a sweep. The orchestrator is a thin router — it sequences, hands over context, enforces gates, and is the single writer of trackers and seams.
Human supervision is on the loop, not in it. Attention is spent at two checkpoints per workflow, both front-loaded; everything mechanical runs unattended behind hooks and the reviewer agent.
Each connection between the shared stores is two-way on purpose — that is how the agents self-manage. No agent needs to know what another is doing; it needs only the spec, the design, and the feedback aimed at it.
Requirements refine upward
Builders conform to the approved spec; spec-researcher and spec-architect propose changes upward — an advisory loop gated behind a human. Requirements sharpen each sweep, never silently.
Design is policed, not trusted
module-wirer preserves the design pixel-for-pixel; test-engineer’s visual-regression baseline enforces it. A new state is composed from existing primitives and flagged for review, never invented.
Feedback circles to the owner
A failing contract test → backend-builder; a visual diff → module-wirer; a missing criterion → spec-architect. Capped at two attempts, then the case lands in the approval inbox.
On a reviewer or test FAIL, the orchestrator hands the finding to the one agent that owns it — capped at two retries, then the approval inbox.
One sweep delivers one workflow. To deliver several at once, /build-wave runs a wave — a cohort of sweeps that touch disjoint module sets — concurrently, each in its own git worktree, then integrates the branches into main serially. Two sweeps may run together only when they share no module, no Contracts type, and no kernel touch (Law 5).
Span
One record per workflow sweep — the modules it traverses, the contracts and SharedKernel it touches, and its dependencies. Mined from the workflow registry into spans.json.
Wave
A set of spans that share no module, contract type, or kernel touch — so they can run in parallel, each in its own git worktree. The scheduler caps wave width.
Disjointness gate
Verify-WaveDisjoint.ps1 re-checks the plan before fan-out under the same conflict rule. Exit 0 = disjoint, proceed; 1 = a conflict, re-plan; 2 = bad args.
Spans are mined from the workflow registry into spans.json; Compute-WaveSchedule.ps1 graph-colours them into WAVE_PLAN.md; and Verify-WaveDisjoint.ps1 re-checks the plan as a hard Phase-0 gate before fan-out. After every per-sweep reviewer passes, the wave-reviewer audits the combined union diff across all branches for failures no single sweep can see — duplicated design-system classes, colliding Contracts appends, repeated cross-cutting behaviour, and seam interference.
# Verify the wave is disjoint (exit 0), then fan out pwsh .claude/tools/Verify-WaveDisjoint.ps1 # 0 = disjoint · 1 = conflict · 2 = bad args /build-wave 1
During a long /build-workflow sweep, run the progress watcher in a second terminal to see every dispatched subagent — live, done, or idle, by task — alongside the per-workflow dispatched and finished counts and the registry roll-up. This is how the human supervises on the loop without sitting in it.
pwsh .claude/tools/progress.ps1 -Watch
Useful flags: -Watch (live refresh), -Interval <s>, -Agent <text> (filter), -Window <min>, -AllSessions, and -ProjectDir / -Title (overrides).
For unattended runs, the opt-in notify.ps1 hook sends a fail-silent, one-way ping when the orchestrator hits a milestone or needs you — so you can leave a sweep running and step away. It is off until you wire it.
Copy templates/notify.ps1 to .claude/hooks/, set the channel secrets, and wire it under hooks.Notification — full steps in NOTIFY_SETUP.md. An opt-in redaction guard scrubs configured patterns before anything leaves the machine.
Concurrent chat sessions on one checkout are the single-writer law's blind spot: each believes it is the only writer, and a session's plan, purpose, pending work, and open decisions die with its conversation. The opt-in session ledger closes both — one zero-dependency Node implementation (session-ledger.js) behind Claude Code hooks, identical on Windows, macOS, and Linux; guard launchers exit silently if node is absent.
Every session is visible
Each session gets a RUN_STATE shard (asks, mode, declared write-claims, heartbeat, stage times). At session start you see who else is active and what they claim; a new foreign claim is injected mid-session exactly once. A stale heartbeat expires the claim — a crashed session never blocks the checkout.
The story survives
When real work exists with no journal entry, the turn-end gate demands the session story once (Law 11): purpose · plan · done-with-evidence · pending · decisions-to-give, via progress-reporting --kind session. Session end always appends a mechanical envelope — asks, diff, boards touched — so the skeleton survives even a storyless close.
STATUS, always in sync
docs/STATUS.md is regenerated at every turn end — derived from board rows, the corpus, and git, stamped with the HEAD it was derived at, never hand-edited. /construct-help reads it, cross-checks the stamp, and flags it stale if behind.
Six hook events (SessionStart · UserPromptSubmit · PostToolUse · Stop · PreCompact · SessionEnd), wired via settings.session.example.json — full per-OS steps in SESSION_SETUP.md. Self-test: node session-ledger.js selftest or the kit-gate suite SessionLedger.Tests.ps1.
Each agent's frontmatter model is a default, not a hard binding — override it for a slice instead of editing the file.
model parameter on the Agent / Task call so just that invocation runs on a different model — bump a gnarly slice (backend-builder, spec-architect) to opus, or drop a mechanical one (seed-builder, a trivial migration) to sonnet / haiku. The override applies only to that call; a blocked or unavailable model falls back to the agent's default rather than failing.claude --model opus); agents set to model: inherit follow it, and CLAUDE_CODE_SUBAGENT_MODEL sets the default for all inherit agents at once.effort: (or the /model effort slider) tunes thinking depth independently of the model — a cheaper lever than a full model bump.--- name: build-workflow description: Sweep all build-phase agents over ONE workflow. Usage: /build-workflow <WorkflowName> --- You are the orchestrator for a workflow sweep. You are a thin router and the single writer (Law 3): you sequence the agents, hand each one explicit context (Law 4), enforce the gates, and are the ONLY actor that writes shared trackers and closes cross-module seams. You write no production code yourself. ## The sweep (run in order) 1. Understand & enrich — spec-architect reconciles to current design (hard gate: ran this sweep); spec-researcher adds advisory parity. 2. HUMAN CHECKPOINT 1 — approve the delta report + design gaps. 3. Build the slices — backend-builder → migration-engineer (gate if destructive) → seed-builder → crosscutting-weaver → module-wirer. 4. Automated quality gates — test-engineer: xUnit + contract + Playwright + NetArchTest + a11y + visual; preflight (where wired) exit 0; interaction-auditor closes the affordance ledger. 5. Reviewer — audit vs Constitution. FAIL → route to owning agent, capped at 2, then approval inbox. 6. HUMAN CHECKPOINT 2 — approve merge. 7. Single-writer integration — close seams, dedup CSS, graduate primitives, regenerate the Contracts snapshot, append METRICS + PROGRESS, mark ✅.
Commands
Slash commands are the operator's surface — each one a thin router that sequences agents and stays the single writer. Sixteen ship in the kit, spanning design, build, audit, drift, and governance.
Independently re-derives every number the trackers assert (board-integrity checks) before reporting current phase, registry roll-ups, open backlogs, and decisions awaiting a human — and, when the session ledger is wired, which sessions are active right now and which closed without a story. Hands off to /construct-run on your pick. Writes nothing.
Resolves (or auto-detects) the current phase, checks the prior phase's gate, then loops the right existing engine — /reconstruct, /build-workflow, the design loop — over the next units of work, pausing only at mandatory human checkpoints. A unit with no prototype source routes through /design-build first.
Resolves ☐ design-backlog rows (firing design-prompt-authoring for any missing brief), lane-routes, dispatches design-builder per row in parallel, holds a human sign-off checkpoint on the render, then integrates as single writer — wiring, provenance-at-birth registry row, board flips, and a journey continuity delta check.
Runs the zero-dependency promote-design.js helper (dry-run by default): classifies each file NEW / IDENTICAL / OVERWRITE / UNEXPECTED, hashes, sidecar-checks, and inserts entry-point includes. OVERWRITEs are never applied — they are drift, routed to design-sync. A delivery batch ends with a journey edge-ledger re-check.
Dispatches spec-researcher in triage mode over workflows (including already-built ✅ ones) to find net-new screen requirements, dedups them, and files each to the design-backlog board with a ready-to-send design brief. Read-only + board-write only.
Fans out journey-auditor per journey, merges and dedups the gap rows across journeys, STOPs for approval, then routes fixes as single writer — backlog rows + briefs, unbuilt micro-edits with provenance refresh, design-sync handoffs. Verdict: PASS/FAIL — zero S1 gaps on the golden journeys.
Dispatches edge-auditor per module in parallel, surfaces accepted-toast candidates separately (accepting a toast is a product decision), applies approved additive fixes as single writer with provenance refresh, and proves closure by re-running the mechanical tells. Excluded buckets become registered debt.
Fans out spec-researcher (triage), journey-auditor, and edge-auditor read-only, merges findings across screen existence, between-screen continuity, and within-screen affordance honesty into one severity-ranked per-module report, then files backlog rows + design-sync handoffs at a single checkpoint.
Dispatches the design-sync agent, presents the NEW/MODIFIED/REMOVED drift table at one checkpoint, then executes the whole routed plan as single writer — re-sync mode for nudges, spec-architect for contract drift, reconstruct-sweep for new screens, human decisions for removals — closing with a /journey-audit over the flagged journeys.
Dispatches the screen-reconstructor per target, runs the fidelity gate — including branch coverage: one built branch per state key in the source, gated on the branch ledger — integrates, updates the screen registry, graduates repeated classes into primitives, and appends PROGRESS.
One pass of the build pipeline over a single workflow that may span many interdependent modules. The main thread stays the single writer; the two human checkpoints are front-loaded; integration appends the METRICS line and regenerates the Contracts snapshot.
Runs a cohort of workflows that touch disjoint module sets concurrently — admission, worktree provisioning, staged fan-out, per-sweep gates, a cross-sweep wave-reviewer, then serial integration into main. Phase 0 is a hard wave-disjointness gate.
The inverse of the design backlog: every row is work with a prototype anchor that isn't finished — a reconstruction gap, wiring gap, data-seam stub, or environment defect. Routes each to the matching build agent (reconstruction → screen-reconstructor, wiring → module-wirer, …) and closes the row as single writer.
Runs Verify-KitInstall.ps1: classifies every installed kit file OK / MODIFIED / OVERRIDE (declared in KIT_OVERRIDES.txt) / MISSING / STALE / CONFLICT against the SHA-256 manifest written at bootstrap. Seeded files are recorded but never flagged. Report-only by default; -Strict for CI.
Orient → completeness-sweep Part A (board integrity) → optional Part B fan-out → file exactly one snapshot plus one index line → recommend the next action. A phase-exit gate files a snapshot as its evidence artifact — a transition approved with no snapshot is a self-attestation (Law 6).
Orphaned isolated-build and headless-browser processes (targeted by the kit's own isolation markers + age, never kill-by-name), stale obj/_v* dirs, aged scratch screenshots, pruned worktrees. Dry-run by default; skips reclamation entirely while a run is active; never touches visual-regression baselines.
Not sure what to run next? The /construct-* pair is the lifecycle's front door — /construct-help shows where you are and what is waiting; /construct-run then drives the right engine for that phase. They never reimplement /reconstruct, /build-workflow, or the design loop; they dispatch to them.
/construct-help
Audits the boards, then reports: §0 re-derives every number a tracker asserts before the dashboard renders — current phase, registry roll-ups, backlogs (design + build), and decisions awaiting a human. A tripped integrity check leads the report; the next action becomes closing that gap, not advancing a phase.
/construct-run
Phase-aware dispatcher: resolves the phase, checks the prior gate, then loops the right engine over the next units of work — pausing only at mandatory human checkpoints. A unit with no prototype source is not a phase-2 unit: it routes through the design loop first.
The design loop
Mid-flight net-new screens no longer round-trip through a design tool by default. One question routes each screen — does it need human canvas iteration? — and the screen's contract is captured once, at birth.
Every design-backlog row ships with a ready-to-send brief (the design-prompt-authoring skill authors it when the row is filed). The brief then takes one of two lanes:
In-repo lane · /design-build
For scaffold-conforming screens. design-builder authors the prototype screen from its brief — closed vocabulary grep-verified against the prototype, a self-critique → revise pass against an excellence rubric, an isolated sandbox render, and a sign-off screenshot. The human sign-off checkpoint on the render is preserved; then the single writer wires it in.
Console lane · /promote-design
For novel or exploratory design that needs interactive canvas iteration. The brief goes to the design tool; the delivery comes back as an expected batch that /promote-design ingests atomically — each file classified NEW / IDENTICAL / OVERWRITE / UNEXPECTED. OVERWRITEs are never applied: they are drift, routed to design-sync.
Both lanes capture a <screen>.uimap.json sidecar while the generating model still holds the contract — actions and their effects, formMode, journeys, data shapes. Downstream agents validate instead of re-derive: spec-architect lifts it as the UIMAP's first draft, screen-reconstructor gates completeness on it, design-sync classifies contract-affecting drift by sidecar diff. The render still wins (Law 1).
Provenance at birth
Pipeline-born screens carry their source hash and sidecar from creation — so expected work never triggers a drift sweep. Drift triage shrinks to what it should be: changes made outside the pipeline.
Contract graduation
Once a screen is wired and reviewer-PASSed, the live UI becomes the contract: the prototype source freezes and exits drift-sweep scope. A later redesign is a briefed, preserve-wiring event — never a silent re-sync.
formMode — create vs edit
A create form's true initial state is blank. The prototype's show-mock-data convention is overridden for a create form's field values — a phantom-prefilled create form is a defect the audits and the PhantomPrefillCreateForm detector both catch, not fidelity.
Three read-only prototype audits with orthogonal lenses, each with its own command — and /design-full-sweep to fan out all three per module and merge the findings into one severity-ranked report:
/design-help) finds workflow requirements with no prototype coverage and files them to the design backlog./journey-audit) traces each journey's edges — OK / DEAD-END / LEGACY / WRONG — and walks each role's day. The phase-1 gate: zero S1 gaps on the golden journeys./edge-audit) hunts handler dishonesty per module — toast-only lifecycle CTAs, no-handler buttons, phantom prefill — against the accepted-toasts exceptions ledger. interaction-auditor is its built-UI counterpart.The design-sync agent triages drift; the /design-sync command now executes the routed plan end-to-end as single writer — cosmetic and structural nudges through the reconstructor's re-sync mode (wiring preserved), contract-affecting changes through spec-architect plus dependent-workflow re-enrich, NEW screens through reconstruct-sweep, and REMOVED screens to a human decision, never auto-deleted.
Adoption is journey-gated. Every path that adopts design change — /design-build, /promote-design, and the design-sync plan — closes with the same continuity delta check: the affected journeys' edge ledgers must come back green before boards flip. Drift is not adopted until the journeys still hold.
Feedback & governance
Coordination across the three things that keep shifting — requirements, design, and test feedback — is what lets narrow agents behave like one team.
Requirements
Builders conform to the approved spec; spec-researcher and spec-architect propose changes upward — advisory and human-gated, so the spec sharpens each sweep but never silently.
Design
Authoritative and effectively read-only to builders. module-wirer preserves it; the visual-regression baseline enforces it. A genuinely new state is composed from primitives and flagged for design review.
Test & review
Agents produce results; the orchestrator routes failures back to the owning agent, capped at two retries, then escalates to the approval inbox.
The human spends attention at five high-leverage points only. Everything mechanical is enforced by hooks and the reviewer agent.
An opt-in, stack-agnostic gate of fast static detectors that catch defects no test asserts — malformed GUIDs, stray build dirs, a Razor binding missing its @, a process-static ID counter that resets on restart, a phantom-prefilled create form, a rewritten Contracts surface. Wire it as a hook (advisory edit-time + a full pass at the wiring gate, exit 0 required) or run it directly in CI. It follows the same capped-autonomy rule — advisory by default, never an infinite loop.
Law 8's append-only Contracts is enforced, not reviewed — twice. An ArchitectureTests snapshot asserts approved ⊆ generated (pinned generator options, EOL-normalized — the two classic snapshot killers), and the edit-time ContractsSurfaceRewrite detector flags any removed snapshot line as a HARD finding. Deprecation stays cheap — [Obsolete] plus a V2 is an addition — while physical removal is a foundation-gated human event through the approval inbox: absolute for agents, governed for humans.
Update-ContractsSnapshot.ps1 refuses on a locally edited snapshot (that protects a pending foundation-gate decision), regenerates via the env-gated test path, prints the delta with removals called out loudly, and runs once per sweep at integration — once per wave at closure. Both mechanisms are feature-detected: no snapshot, and the kit behaves exactly as before.The kit governs itself the way it governs your build: one versioned tree, a recursive quality gate, and provenance for every install.
One tree, one version
KIT_VERSION (yyyy.MM.dd-letter, mechanically asserted against the changelog). Upgrades are commit series, never side-car zips.
The kit gate (Law 6, recursively)
tools/Kit.Tests.ps1 discovers and runs every kit self-test suite in child processes plus the preflight self-tests — one verdict line. No release without KIT GATE: PASS; run it after bootstrap before day zero.
The install manifest
Bootstrap writes .claude/KIT_MANIFEST.json as its last act — kit version + a normalized SHA-256 per installed file. /kit-verify is design-sync for installs: OK / MODIFIED / OVERRIDE (declared in KIT_OVERRIDES.txt) / MISSING / STALE / CONFLICT; seeded files are recorded but never flagged. A -Force re-bootstrap runs the drift check first.
completeness-sweep skill closes the structural blind spots: Part A re-derives every number a board asserts (eleven mechanical checks); Part B proves completeness against the corpus — including the conditional branches a default-render gate can never see. Completeness is proved against the corpus, never the trackers.Specialization
Every document in the kit is generic. They specialize at read time — Claude binds every placeholder from the project’s CLAUDE.md.
One source of specifics
CLAUDE.md is the single source of project specifics. At session start, Claude reads it (plus PROGRESS + LESSONS) and builds a placeholder→value binding.
Bind, don’t invent
Every <…> token resolves to a CLAUDE.md value. If a needed value is missing or ambiguous, STOP-and-ask — never guess a project value.
Generic docs are read-only
Only CLAUDE.md is filled per project, plus the two boards which Claude generates from it. You never rewrite the generic documents.
Where each value lives in CLAUDE.md.
# CLAUDE.md This file guides Claude Code in this repository — the project-specific binding contract; the cross-project method is CONSTITUTION.md. Fill every <…> placeholder. > North star: <one sentence: what we are building and the fidelity bar>. The rendered prototype is the contract; when anything disagrees with it, the rendered prototype wins (Law 1). ## 0. Working cadence subagent-driven · single writer · the tracking trio ## 1. What this project is <App>, breadth, current state ## 2. The prototype visual & UX source of truth (Law 1) ## 3. Tech stack (pinned) orchestration · UI · design system · stores · test ## 4. Target architecture topology · boundary rules · module map · naming grammar ## 5. Design system the binding visual contract (Law 1) ## 6. Continuity invariants · keystone · priority journeys ## 7. Compliance & cross-cutting identity-safety · audit · RBAC · AI governance · NFR ## 8. Working principles render first · plan · verify before done
Memory
The tracking files are not bureaucracy — they are how the system compounds and how long autonomous runs stay safe. Qualitative memory (the trio), the boards, quantitative memory (METRICS), and dated snapshots.
PROGRESS.md
Durable build status and a dated activity log (newest first).
INSIGHTS.md
Non-obvious codebase facts and gotchas, with the why.
LESSONS.md
Corrections and self-caught mistakes as Mistake / Trigger / Rule.
SCREEN_REGISTRY.md
The per-route board (☐ → ◐ → ✅) — the orchestrator’s claim/integrate board, with a Sync chip per row.
WORKFLOW_REGISTRY.md
The per-workflow sweep board (☐ → ◐ → ✅) — what each workflow has delivered, with a Sync chip per row.
INTERACTION_REGISTRY.md
The affordance-closure board — every interactive element on a screen and its disposition (wired / stub / mis-wired / dead-end / design-gap), plus the accepted-toasts exceptions ledger.
DESIGN_BACKLOG.md
The design-gap board — screens a workflow needs that have no prototype coverage, each with a lane (in-repo vs console) and a Must-have flag.
DESIGN_PROMPTS.md
The design-prompts companion board — a Global preamble plus one ready-to-send design brief per backlog row.
METRICS_README.md
Quantitative memory — one append-only JSONL event line per sweep / wave / gate / park / flake, sharded per run. The schema, freeze rule, and the >40% ×3-waves graduation trigger.
The qualitative trio becomes a quartet: one append-only JSONL event line per sweep, wave, gate failure, park, and flake — written only by the orchestrator at integration, sharded per run so concurrent sessions never tear a file. And a fifth companion: dated, immutable progress snapshots filed by /progress-report — a phase-exit gate files one as its evidence artifact; a transition approved with no snapshot is a self-attestation (Law 6). The session ledger completes the set: a dated journal entry per session (the narrative story plus a mechanical envelope) and the derived docs/STATUS.md, regenerated every turn and stamped with its HEAD.
Read it with Show-Metrics
tools/Show-Metrics.ps1: summary roll-up, stage-duration medians, the gate-failure Pareto, and the retry leaderboard — turning "refine prompts when a run misbehaves" into a ranked backlog.
The graduation trigger
Law 12, quantified: when one agent causes >40% of retries across 3 waves, its skill earns a trap entry. Lessons graduate on evidence, not anecdote.
Derived state expires; rows do not
Roll-ups, totals, and "next / blocked" prose are the part no sweep re-reads — they rot while their rows stay correct. Recompute from rows at every integration, keep row + derived edits atomic, date-stamp status prose.
Lessons are captured immediately as Mistake / Trigger / Rule. When a lesson is stable and broadly useful, graduate it into a hard rule in CLAUDE.md.
# LESSONS.md — corrections as prevention rules > Read at session start. Worker agents return lessons in their report; > the orchestrator records them here. - Mistake: <what went wrong> Trigger: <the situation that causes it> Rule: <the prevention rule>
Skills
The expertise layer — on-demand know-how that loads only when a task calls for it, so a project can carry deep procedural skill without bloating every prompt.
Progressive disclosure
A skill is a folder with a SKILL.md: only its name + description sit in context until a task matches, then the body and references load. Dozens cost almost nothing.
Where it sits
Five layers: CLAUDE.md (always loaded) · skills (on-demand how-to) · subagents (scoped roles) · commands (workflows) · hooks (automation) — plus MCP servers for access; a code-discovery graph MCP is the recommended optional one.
What belongs here
A repeatable procedure or body of knowledge — not always-on project rules (those go in CLAUDE.md) and not a role's identity (that is a subagent).
Eight ready-made skills ship in .claude/skills/; the kit also lists recommended public skills and project skills to author in SKILLS.md.
spec-hardening
shippedStress-test a module/workflow spec for completeness, clarity, and consistency before building — a pre-build quality gate.
SKILL.mdgraduation
shippedConsolidate duplicated UI markup into one verified-fidelity reusable primitive — without moving a pixel.
SKILL.mddesign-prompt-authoring
shippedTurn design-backlog rows into ready-to-send design-tool briefs in a design-prompts companion board.
SKILL.mdcontract-sidecar
shippedThe <screen>.uimap.json schema: capture each screen's action→effect contract at birth, so downstream agents validate instead of re-derive.
SKILL.mdjourney-continuity-audit
shippedThe 5-phase journey audit — route/edge ledgers, role×journey traces, the gap catalog, and the fix-routing table. One method, two venues (console + in-repo).
SKILL.mddead-edge-audit
shippedAffordance honesty on the prototype: the mechanical tells, the two-axis classification, the additive fix grammar, and the accepted-toasts exceptions ledger.
SKILL.mdcompleteness-sweep
shippedGates that can see an absence: Part A re-derives every number a board asserts (eleven checks); Part B proves completeness against the corpus, never the trackers.
SKILL.mdprogress-reporting
shippedDated, immutable progress snapshots — the 11-section structure, the depth × kind contract (status · progress · gate · session, the end-of-session story the session ledger demands), and the discipline invariants that make findings outlive their session.
SKILL.mdBootstrap
From a zip to a running, agent-orchestrated project. The installer scaffolds the method layer; it does not create your code solution. Bootstrap installs the kit and cleanup is its rollback companion — both run from the kit against a target repo.
Unzip the kit, then run the installer pointing at your repo. bootstrap.sh / bootstrap.ps1 copy CONSTITUTION.md, SPECIALIZE.md, SKILLS.md, and PROMPT_TEMPLATES.md to the repo root alongside a master CLAUDE.md. It is non-destructive — existing files are skipped, never clobbered, and re-running is idempotent.
cd constitution
./bootstrap.sh /path/to/your-repo # add --force to overwrite (keeps .bak)your-repo/ CLAUDE.md ← master template (fill the <…>) [skipped if present] .cbmignore ← optional code-discovery-graph scope (delete if no graph MCP) CONSTITUTION.md ← the governing method SPECIALIZE.md ← how Claude binds the generic kit from CLAUDE.md SKILLS.md ← the expertise layer (recommended + project skills) PROMPT_TEMPLATES.md ← system + per-phase prompts .claude/ KIT_MANIFEST.json ← install provenance: kit version + SHA-256 per file (written LAST) agents/*.md ← sixteen subagents skills/ ← eight shipped + your project skills (SKILLS.md) commands/*.md ← the sixteen lifecycle commands tools/ ← progress · waves · metrics · contracts snapshot · kit gate / verify settings.json ← Stop / SubagentStop verify hook settings.session.example.json ← opt-in: session-ledger hooks, ready to merge hooks/verify.sh, verify.ps1 ← gate stubs (tune to your stack) hooks/housekeep.ps1 ← guarded debris reclamation (/housekeep) hooks/session-ledger.js ← opt-in session ledger + session-hook.{ps1,sh} guard launchers hooks/preflight/ ← opt-in preflight gate (detectors + harness) docs/ SCREEN_REGISTRY.md ← lifecycle board (Sync chip tracks freshness) WORKFLOW_REGISTRY.md ← sweep board INTERACTION_REGISTRY.md ← affordance-closure board (+ accepted-toasts ledger) DESIGN_BACKLOG.md, DESIGN_PROMPTS.md ← the design-loop boards PROGRESS.md, INSIGHTS.md, LESSONS.md ← the memory trio metrics/ + METRICS_README.md← quantitative memory (append-only JSONL, per-run shards) journal/ + SESSION_SETUP.md ← session stories; runs/ + STATUS.md appear at runtime (session ledger) APPROVAL_INBOX/ ← parked decisions after capped retries
Set up a repo and changed your mind? cleanup.sh / cleanup.ps1 undo a bootstrap install. Run them from the kit, pointing at the repo — dry run first to see what would go, then apply.
./cleanup.sh /path/to/your-repo # dry run — shows what it would remove ./cleanup.sh /path/to/your-repo --apply # performs the rollback
CLAUDE.md, edited registries, your own agents..bak if a --force install made one.--apply / -Apply.Prompt templates
The reusable prompts that drive the lifecycle. Rebind the <App> / domain placeholders, copy a block, paste.
You are the engineering lead for <App>, built under THE CONSTITUTION and this repo's CLAUDE.md — read both, plus PROGRESS.md and LESSONS.md, at the start of every session. Operating contract (the twelve laws govern everything): the rendered design is the contract; decouple through contracts; single-writer orchestration; stateless subagents; isolated bounded parallelism; gates before Done; blast-radius limits; self-registration over central edits; just-in-time reconciliation; progressive completeness; capped autonomy (≤2 retries, on the loop not in it); institutional memory. Default to subagent-driven work: keep the main thread for planning, orchestration, integration, and verification. Plan non-trivial work before acting. Verify before "done."
One copyable block per phase. The full set ships in PROMPT_TEMPLATES.md.
Act as a product owner + domain expert for <domain>. From the idea below, produce a PRD.md for an enterprise solution. Idea: <one paragraph> The PRD must cover, per module: entities, functional requirements (FR-<X>-NNN), workflows (WF-<X>-NN) step by step, business rules (BR-<X>-NNN), domain/integration events, permissions, integration points, and cross-cutting/compliance requirements. Mark the module list, the priority journeys to build first, and the NFR targets. Flag every assumption as "ASSUMPTION — confirm".
Using the attached PRD.md and our pre-built design system, design the clickable prototype for <App>. Constraints: every screen uses ONLY design-system components and tokens. Match the design system’s voice (sentence case, verb-led CTAs, numbers+units). Build the priority journeys end-to-end first as the continuity proof. Each screen satisfies the continuity invariants — single primary CTA per state, guarded CTAs disabled-with-reason, no dead-ends or orphans, resumable drafts. Refine until ~90% of screens are designed, then export.
From the rendered prototype (the contract) and the reconstructed screens for <module/workflow>, author its spec. <X>_MODULE.md: purpose; entities + persistence placement (SQL vs Mongo); data contracts; BR-<X>-NNN enforced in the domain; UI states required (incl. loading/empty/error/permission-denied); dependencies; cross-cutting (roles, audited actions, cached reads, jobs, SignalR, AI); acceptance criteria. Add a provenance header. <X>_DB_SCHEMA.md: the database design of record — tables/collections, columns+types, keys, indexes, constraints, placement, encryption, retention. <X>_WORKFLOW.md: trigger + actors; modules involved; step-by-step flow naming the handler each step hits; data crossing each boundary (→ contracts); failure/edge cases; acceptance criteria.
Build the foundation for <App>, human-in-the-loop. Do NOT build feature modules yet. 1. SharedKernel: freeze the primitives. 2. Contracts: the append-only integration-event + public-DTO surface. 3. Infrastructure: MediatR behaviours once — validation, fail-closed authorization, audit (SQL header + Mongo diff), caching, OpenTelemetry; plus the compliance hooks. 4. DesignSystem extraction: tokens, component library, scaffolds; stand up the visual-regression baseline. 5. Host: composition root, global InteractiveServer, the module-discovery loop, Aspire ServiceDefaults. 6. ArchitectureTests: NetArchTest boundary rules green. Stop at a foundation gate: boundary tests pass, app shell renders, behaviours apply uniformly.
/build-workflow <WorkflowName> Golden-workflow first: pick one workflow that exercises the full stack (real SQL + a Mongo document type + a SignalR update + an audited sensitive write) before scaling out. Then parallelise across workflows that touch DISJOINT module sets.
Use the <agent-name> subagent on <module/workflow> "<name>". Read first: CLAUDE.md · <reconciled spec path> · <UIMAP/related paths>. Prior outputs to build on: <paths to upstream agents’ artifacts>. Scope: touch ONLY <your module’s files> + append-only <shared stylesheet>; do NOT edit siblings, central files, or trackers. Parallel context: you are one of up to <N> isolated siblings — use an isolated output dir and an isolated headless browser; path-attribute a sibling-caused red build. Return your structured report (Item/Status/Files changed/Contracts/Evidence/Insights/Lessons/Blockers).
Resources
Every file in the kit, downloadable. Versioned, drop-in, project-agnostic.
The Constitution kit
v2026.07.31-aThe whole bundle: Constitution, prompt templates, sixteen subagents, sixteen commands, eight shipped skills, the memory + board templates, the cross-platform session ledger, and the bootstrap + preflight + governance tooling — versioned, self-gating, manifest-verified.