Skip to content

PRD: /ux-author phase for UI mocks between PRD and design - #191

Merged
cahenesy merged 1 commit into
masterfrom
docs/prd/ux-author
Oct 6, 2026
Merged

cahenesy merged 1 commit into
masterfrom
docs/prd/ux-author

Conversation

@cahenesy

@cahenesy cahenesy commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Adds an optional /ux-author phase between /prd-author and /tdd-author.
/prd-author marks UI-bearing requirements with [UI] (FR-89). For those,
/ux-author produces an in-repo UX set under docs/ux/ (FR-90-FR-100). The
set holds HTML mocks per screen and state, a flow index, a UX index that
maps screens to FR ids, and PNG screenshots when a renderer is available.
An independent fresh-worker critique runs, then a docs/ux/ PR that
the human merges. The design work is delegated to the design skills and
tools on the harness. With none present, /ux-author degrades and declares
the fidelity it reached. /tdd-author designs [UI] requirements against
merged mocks and refuses un-mocked ones unless the user waives them with
a rationale (FR-101). Mocks are design input, not a build gate.

Open assumptions & waivers

  • Hi-fi bar vs degraded mode — resolved: hi-fi applies when a design delegate is present; degraded runs declare the fidelity reached, and the critique judges against it (FR-92).
  • Screenshot rendering without a headless browser — resolved: commit HTML only; the PR states "screenshots not rendered: "; not a failure (FR-91).
  • Greenfield design system — resolved: an ADR via /adr-new in the UX PR plus a committed tokens artifact that later screens and TDDs honor (FR-93).
  • Mobile mocks in HTML — resolved: HTML at named device viewports following iOS/Android conventions; native rendering is a non-goal (FR-91).
  • Mock drift over time — resolved: a point-in-time record per PRD revision, superseded by later runs, not kept in sync with shipped UI (FR-99).
  • Grok design ecosystem — resolved: same contract on both harnesses, may run degraded on Grok; the delegate inventory is an open question for /tdd-author.
  • Brownfield current UI — resolved: baseline derived from code, plus an optional user-supplied live URL; the index records the baseline per screen (FR-94).
  • Delegate provenance — resolved: the committed UX index records the delegates used and the declared fidelity; the PR body repeats both (FR-92).
  • PNG repo weight — resolved: commit PNGs normally; a superseding run removes superseded screenshots; no LFS (FR-99).
  • Authoring machinery for /ux-author — resolved: drafts/resume (FR-46-49), interrogator (FR-75), rubric (FR-77), and the FR-86 check all apply (FR-100).
  • Live-URL capture privacy — resolved: captures are reference-only for the run and never committed (FR-94).

Cascade

Additive: no existing TDD becomes stale in its own scope, but these
skills and requirements need design work:

  • /prd-author (FR-89): ask about and write the [UI] marker. This revises
    the /prd-author design (implemented TDDs, so supersede the affected
    part rather than edit it).
  • /tdd-author (FR-101): find merged UX sets, refuse un-mocked [UI]
    requirements, record waivers, and cite screens in the traceability
    table. Same supersession note.
  • New skill /ux-author plus a UX critique worker (FR-90-FR-100). This
    reuses the draft helpers (FR-46-49), the FR-86 check, the rubric and
    interrogator patterns, and /adr-new.
  • Enumerations amended in this PR: FR-79, FR-86, FR-87, FR-22
    acceptance, NFR-1, NFR-3. Enumerations still naming only
    /prd-author and /tdd-author, now covered by FR-100: the FR-46-49
    section heading and text, FR-75/76, FR-77 ("Both").
  • ADRs: no accepted ADR is contradicted. ADR 0001 (throughline owns
    the authoring phases, delegates ideation) is extended to a third
    authoring phase; consider whether /tdd-author records that in an
    ADR. FR-93 may create a per-project design-system ADR in consumer
    repos.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB

Adds an optional /ux-author phase between /prd-author and /tdd-author.
/prd-author marks UI-bearing requirements with [UI] (FR-89). For those,
/ux-author produces an in-repo UX set under docs/ux/ (FR-90-FR-100). The
set holds HTML mocks per screen and state, a flow index, a UX index that
maps screens to FR ids, and PNG screenshots when a renderer is available.
An independent fresh-worker critique runs, then a docs/ux/<slug> PR that
the human merges. The design work is delegated to the design skills and
tools on the harness. With none present, /ux-author degrades and declares
the fidelity it reached. /tdd-author designs [UI] requirements against
merged mocks and refuses un-mocked ones unless the user waives them with
a rationale (FR-101). Mocks are design input, not a build gate.

## Open assumptions & waivers
- Hi-fi bar vs degraded mode — resolved: hi-fi applies when a design delegate is present; degraded runs declare the fidelity reached, and the critique judges against it (FR-92).
- Screenshot rendering without a headless browser — resolved: commit HTML only; the PR states "screenshots not rendered: <reason>"; not a failure (FR-91).
- Greenfield design system — resolved: an ADR via /adr-new in the UX PR plus a committed tokens artifact that later screens and TDDs honor (FR-93).
- Mobile mocks in HTML — resolved: HTML at named device viewports following iOS/Android conventions; native rendering is a non-goal (FR-91).
- Mock drift over time — resolved: a point-in-time record per PRD revision, superseded by later runs, not kept in sync with shipped UI (FR-99).
- Grok design ecosystem — resolved: same contract on both harnesses, may run degraded on Grok; the delegate inventory is an open question for /tdd-author.
- Brownfield current UI — resolved: baseline derived from code, plus an optional user-supplied live URL; the index records the baseline per screen (FR-94).
- Delegate provenance — resolved: the committed UX index records the delegates used and the declared fidelity; the PR body repeats both (FR-92).
- PNG repo weight — resolved: commit PNGs normally; a superseding run removes superseded screenshots; no LFS (FR-99).
- Authoring machinery for /ux-author — resolved: drafts/resume (FR-46-49), interrogator (FR-75), rubric (FR-77), and the FR-86 check all apply (FR-100).
- Live-URL capture privacy — resolved: captures are reference-only for the run and never committed (FR-94).

## Cascade
Additive: no existing TDD becomes stale in its own scope, but these
skills and requirements need design work:
- /prd-author (FR-89): ask about and write the [UI] marker. This revises
  the /prd-author design (implemented TDDs, so supersede the affected
  part rather than edit it).
- /tdd-author (FR-101): find merged UX sets, refuse un-mocked [UI]
  requirements, record waivers, and cite screens in the traceability
  table. Same supersession note.
- New skill /ux-author plus a UX critique worker (FR-90-FR-100). This
  reuses the draft helpers (FR-46-49), the FR-86 check, the rubric and
  interrogator patterns, and /adr-new.
- Enumerations amended in this PR: FR-79, FR-86, FR-87, FR-22
  acceptance, NFR-1, NFR-3. Enumerations still naming only
  /prd-author and /tdd-author, now covered by FR-100: the FR-46-49
  section heading and text, FR-75/76, FR-77 ("Both").
- ADRs: no accepted ADR is contradicted. ADR 0001 (throughline owns
  the authoring phases, delegates ideation) is extended to a third
  authoring phase; consider whether /tdd-author records that in an
  ADR. FR-93 may create a per-project design-system ADR in consumer
  repos.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
@cahenesy
cahenesy merged commit 6a26a90 into master Oct 6, 2026
1 check passed
@cahenesy
cahenesy deleted the docs/prd/ux-author branch October 6, 2026 20:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant