---
name: design-help
description: "Standalone design-backlog sweep. Dispatches spec-researcher in triage mode over one or more workflows or modules — including already-built (✅) ones — to surface net-new screen requirements with no prototype coverage, then files results to the project's design-backlog board per CLAUDE.md. Usage: /design-help <WorkflowID|ModuleCode|all>"
---
> **Specialization:** Read `CLAUDE.md` first and bind every `<…>` placeholder and every "per `CLAUDE.md`" reference from it (design-backlog board path, workflow registry path, module map, spec paths, concurrency cap, prototype location). This file hard-codes no project value. If a needed value is missing from `CLAUDE.md`, STOP-and-ask. See `SPECIALIZE.md`.


You are the **orchestrator** for a standalone design-backlog sweep. You are a **thin router and the single writer** (Law 3): you dispatch `spec-researcher` agents in triage mode, collect their `DesignBacklog:` blocks, deduplicate, and file new rows to the project's design-backlog board (per `CLAUDE.md`). You write no production code and do not edit specs.

## When to use

- **Retrospective sweep** — workflows already built (✅) or specified before the `DesignBacklog:` pipeline existed. This is the primary use case: surface design gaps that were never caught.
- **Pre-build triage** — run before `/build-workflow` to understand the design landscape without committing to a full enrich step.
- **Full audit** — `/design-help all` sweeps every workflow in the project's workflow registry, any status.
- **Module focus** — `/design-help <ModuleCode>` sweeps all workflows in that module.

This command is **read-only + board-write only** — no C1/C2 checkpoints, no spec edits, no build agents, no worktrees. The only file it writes is the project's design-backlog board (per `CLAUDE.md`).

## Inputs

```
/design-help <target>
```

`<target>` is one of:
- A workflow ID (per the project's naming grammar in `CLAUDE.md`)
- A module code (per `CLAUDE.md §module-map`)
- A space-separated list of workflow IDs or module codes
- `all` — every workflow row in the project's workflow registry, regardless of status

## The sweep

### 1. Resolve targets and build the dedup set

Parse the project's workflow registry (path per `CLAUDE.md`) to resolve targets into `{WorkflowID, spec paths, Module, Status}` tuples. **Include workflows of any status** — sweeping already-completed (✅) work is the primary purpose of this command.

Read the project's design-backlog board (per `CLAUDE.md`) now and extract all existing IDs + `Screen / Feature + Module` pairs — the dedup set. Do not re-file a row for an entry already present on the board.

### 2. Dispatch spec-researcher in triage mode (concurrent, capped per `CLAUDE.md`)

For each resolved workflow, dispatch one `spec-researcher` agent with this focused prompt:

```
Use the spec-researcher subagent on workflow "<WorkflowID>".
Read first: CLAUDE.md · <WORKFLOW_ID>_WORKFLOW.md · <X>_MODULE.md (if it exists) — paths per CLAUDE.md.
Goal: surface any Must-have or Nice-to-have gaps that require net-new screens or UI components
  with NO existing prototype coverage (prototype location per CLAUDE.md). Emit a DesignBacklog:
  block for each found item. If every Must-have gap already has prototype coverage, emit
  "DesignBacklog: none" explicitly.
Focus ONLY on design-coverage gaps — do NOT write a full RESEARCH.md, do NOT benchmark comprehensively,
  do NOT propose broad spec deltas. One sentence per finding; rich detail in the structured fields only.
Scope: READ ONLY. Touch no files.
Return the DesignBacklog: block + a one-line summary per entry.
```

Dispatch all targets concurrently. Cap at ≤N concurrent agents (per `CLAUDE.md`; default 8 if unspecified). Queue remainder; drain as slots free. On failure, note in summary, retry ≤2 times (Law 11), skip and continue.

### 3. Collect and deduplicate

Collect all `DesignBacklog:` blocks from the responses.

Deduplicate in two passes:
1. **Against the existing board:** skip any entry whose `Screen + Module` already appears on the board.
2. **Within this sweep:** if two workflows surface the same screen, keep the entry from the most direct dependency (closest step number); discard the duplicate.

### 4. File to the design-backlog board (single writer)

For each net-new entry:

1. Assign the next sequential ID per the board's scheme (per `CLAUDE.md`; start at the scheme's first value if the board is empty).
2. If the board table still shows a sentinel placeholder row, remove it.
3. Append a row to the board's table: `| ID | Module | Screen / Feature | Source workflow | Severity | ☐ Needs Design | Purpose |`
4. Emit the filled-in design-tool brief via the **`design-prompt-authoring`** skill: it appends one per-row block (template from `PROMPT_TEMPLATES.md §J`, fields filled from the `spec-researcher` entry) to the **design-prompts companion board** (default `DESIGN_PROMPTS.md`, a sibling of the design-backlog board) under the right severity heading, authoring the **Global preamble** once if the board is new. Leave a pointer to the companion board in the design-backlog's **§ Pending prompts** section (create the header if absent) — do not duplicate the briefs into the backlog.

### 5. Present triage summary

After filing, present:

```
/design-help complete — <N> new row(s) filed to <design-backlog board per CLAUDE.md>.

Must-haves (decision required — park vs. proceed-with-stub):
  <ID>  <Module>  <Screen / Feature>  (from <WorkflowID>)

Nice-to-haves (filed; mark Marked-stub when next sweep reaches them):
  <ID>  <Module>  <Screen / Feature>  (from <WorkflowID>)

Already on the board (skipped):
  <Screen> (<Module>) — already <ID>

No new gaps in <M> workflow(s) — design coverage complete or no Must-have gaps surfaced.

Next steps for Must-haves:
  → The design-prompts companion board has a ready-to-send brief per item (Global preamble + per-row block).
  → Prepend the Global preamble, copy the row's block, send to the project's design tool, then update the row → ◐ In Design.
  → After design lands: place in the prototype directory (per CLAUDE.md), wire into the entry
    point and route resolver, add ☐ row to the screen registry, update board → ✅ Designed,
    then reconstruct via the project's reconstruction command.
```

## Concurrency safety

**Do not run `/design-help` in parallel with an active `/build-workflow` or `/build-wave` sweep.** Both commands are single-writers to the project's design-backlog board (per `CLAUDE.md`) — concurrent writes produce duplicate rows or corrupt order. Safe windows:
- **Before** a sweep starts (pre-build triage — file gaps before C1 runs).
- **After** a sweep's C1 has written its own design-backlog rows (that write is done for the active sweep).
- **After** a wave completes (retroactive audit — no concurrent writers).

The pattern that always works: `/design-help [targets]` → human triage → then launch `/build-workflow` or `/build-wave`.

## Invariants

- **Single writer:** only you write to the project's design-backlog board. Spec-researcher agents touch no files.
- **No build work:** this command does not start build agents, create worktrees, or edit specs.
- **Retrospective-safe:** sweeps workflows of any status — already-built work is the primary use case.
- **No duplicate rows:** always read and dedup against the current board before filing.
- **Dedup within sweep:** same screen surfaced by two workflows → one row.
- **Capped concurrency** per `CLAUDE.md` (default ≤8).
- **Capped autonomy (Law 11):** on spec-researcher failure, note in summary, retry ≤2 times, do not block the rest of the sweep.
