agentplugged 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/README.md +3 -2
  2. package/dist/agent-commands.js +25689 -24738
  3. package/dist/bin.js +1 -2
  4. package/dist/cli.js +1 -2
  5. package/dist/dist.js +12205 -0
  6. package/dist/esm.js +8 -16
  7. package/dist/forge-follow.js +5 -6
  8. package/dist/hash.js +9 -11907
  9. package/dist/helpers.js +257 -514
  10. package/dist/launcher-env.js +1 -2
  11. package/dist/launcher.js +3 -4
  12. package/dist/libsodium-wrappers.js +2 -4
  13. package/dist/libsodium-wrappers2.js +2 -4
  14. package/dist/main.js +820 -166
  15. package/dist/method/agents/alex/SKILL.md +13 -29
  16. package/dist/method/agents/alex/agent.yaml +1 -1
  17. package/dist/method/agents/basile/SKILL.md +44 -0
  18. package/dist/method/agents/basile/agent.yaml +69 -0
  19. package/dist/method/agents/chloe/SKILL.md +12 -25
  20. package/dist/method/agents/chloe/agent.yaml +3 -3
  21. package/dist/method/agents/ethan/SKILL.md +8 -9
  22. package/dist/method/agents/ethan/agent.yaml +9 -8
  23. package/dist/method/agents/hugo/SKILL.md +8 -8
  24. package/dist/method/agents/hugo/agent.yaml +9 -8
  25. package/dist/method/agents/iris/SKILL.md +4 -10
  26. package/dist/method/agents/izzy/SKILL.md +68 -91
  27. package/dist/method/agents/izzy/agent.yaml +8 -15
  28. package/dist/method/agents/jade/SKILL.md +7 -9
  29. package/dist/method/agents/jade/agent.yaml +9 -8
  30. package/dist/method/agents/julien/SKILL.md +38 -58
  31. package/dist/method/agents/lina/SKILL.md +7 -9
  32. package/dist/method/agents/lina/agent.yaml +9 -8
  33. package/dist/method/agents/lou/SKILL.md +4 -11
  34. package/dist/method/agents/lou/agent.yaml +2 -2
  35. package/dist/method/agents/maya/SKILL.md +12 -19
  36. package/dist/method/agents/maya/agent.yaml +1 -3
  37. package/dist/method/agents/milo/SKILL.md +21 -32
  38. package/dist/method/agents/noah/SKILL.md +109 -61
  39. package/dist/method/agents/noah/agent.yaml +14 -31
  40. package/dist/method/agents/noah/references/decisions.md +61 -120
  41. package/dist/method/agents/noah/references/environment.md +30 -70
  42. package/dist/method/agents/noah/references/facts.md +22 -11
  43. package/dist/method/agents/noah/references/journey.md +26 -78
  44. package/dist/method/agents/noah/references/team.md +63 -190
  45. package/dist/method/agents/omar/SKILL.md +12 -28
  46. package/dist/method/agents/omar/agent.yaml +1 -1
  47. package/dist/method/agents/quentin/SKILL.md +7 -15
  48. package/dist/method/agents/quentin/agent.yaml +4 -2
  49. package/dist/method/agents/sam/SKILL.md +6 -8
  50. package/dist/method/agents/sam/agent.yaml +9 -8
  51. package/dist/method/agents/stella/SKILL.md +6 -14
  52. package/dist/method/agents/stella/agent.yaml +1 -1
  53. package/dist/method/agents/tess/SKILL.md +7 -14
  54. package/dist/method/agents/tess/agent.yaml +2 -2
  55. package/dist/method/agents/zoe/SKILL.md +9 -21
  56. package/dist/method/doctor.yaml +23 -4
  57. package/dist/method/models.yaml +12 -0
  58. package/dist/method/skills/acceptance-qa/SKILL.md +1 -1
  59. package/dist/method/skills/acceptance-qa/references/run.md +24 -32
  60. package/dist/method/skills/acceptance-qa/references/scenarios.md +16 -19
  61. package/dist/method/skills/acceptance-qa/references/verdicts.md +10 -16
  62. package/dist/method/skills/api-e2e-tests/SKILL.md +46 -46
  63. package/dist/method/skills/audit-pillars/SKILL.md +12 -10
  64. package/dist/method/skills/audit-pillars/references/pillars.md +40 -0
  65. package/dist/method/skills/chain-stories/SKILL.md +5 -4
  66. package/dist/method/skills/chain-stories/references/merge-order.md +23 -0
  67. package/dist/method/skills/check-readiness/SKILL.md +1 -1
  68. package/dist/method/skills/check-requirements/SKILL.md +37 -72
  69. package/dist/method/skills/check-requirements/references/engine-proofs.md +16 -23
  70. package/dist/method/skills/check-requirements/references/proofs-and-gaps.md +22 -37
  71. package/dist/method/skills/critique-deliverable/SKILL.md +3 -3
  72. package/dist/method/skills/critique-deliverable/references/choose.md +12 -21
  73. package/dist/method/skills/critique-deliverable/references/format.md +14 -20
  74. package/dist/method/skills/critique-deliverable/references/gestures.md +14 -21
  75. package/dist/method/skills/critique-deliverable/references/judgment.md +4 -9
  76. package/dist/method/skills/critique-deliverable/references/methods.md +21 -0
  77. package/dist/method/skills/critique-deliverable/references/reconcile.md +6 -11
  78. package/dist/method/skills/deep-research/SKILL.md +16 -24
  79. package/dist/method/skills/deep-research/references/candidates.md +13 -25
  80. package/dist/method/skills/deep-research/references/external.md +15 -34
  81. package/dist/method/skills/deep-research/references/page-format.md +16 -42
  82. package/dist/method/skills/deep-research/references/types.md +16 -27
  83. package/dist/method/skills/develop-story/SKILL.md +56 -189
  84. package/dist/method/skills/develop-story/references/acceptance-tests.md +18 -71
  85. package/dist/method/skills/develop-story/references/quick-lane.md +20 -0
  86. package/dist/method/skills/diagnose-bug/SKILL.md +42 -53
  87. package/dist/method/skills/diagnose-bug/references/hypotheses.md +1 -2
  88. package/dist/method/skills/generate-knowledge-base/SKILL.md +57 -226
  89. package/dist/method/skills/generate-knowledge-base/assets/index-template.md +6 -15
  90. package/dist/method/skills/generate-knowledge-base/assets/page-template.md +11 -24
  91. package/dist/method/skills/generate-knowledge-base/references/living-docs.md +25 -64
  92. package/dist/method/skills/generate-knowledge-base/references/reuse-map.md +9 -18
  93. package/dist/method/skills/ideation/SKILL.md +16 -23
  94. package/dist/method/skills/ideation/references/close.md +18 -14
  95. package/dist/method/skills/ideation/references/converge.md +11 -21
  96. package/dist/method/skills/ideation/references/stances.md +13 -17
  97. package/dist/method/skills/ideation/references/techniques.md +20 -0
  98. package/dist/method/skills/improve-code/SKILL.md +42 -54
  99. package/dist/method/skills/pitch/SKILL.md +16 -19
  100. package/dist/method/skills/pitch/references/deck.md +15 -18
  101. package/dist/method/skills/pitch/references/design-implementation.md +13 -21
  102. package/dist/method/skills/pitch/references/design.md +21 -0
  103. package/dist/method/skills/pitch/references/story.md +13 -18
  104. package/dist/method/skills/plan-sprint/SKILL.md +49 -151
  105. package/dist/method/skills/resolve-merge-conflict/SKILL.md +40 -65
  106. package/dist/method/skills/review-after-launch/SKILL.md +56 -0
  107. package/dist/method/skills/review-story/SKILL.md +44 -72
  108. package/dist/method/skills/review-story/references/amend-story.md +8 -13
  109. package/dist/method/skills/review-story/references/export.md +7 -17
  110. package/dist/method/skills/review-story/references/free-review.md +9 -20
  111. package/dist/method/skills/review-story/references/judge.md +25 -37
  112. package/dist/method/skills/review-story/references/tests.md +29 -0
  113. package/dist/method/skills/round-table/SKILL.md +6 -6
  114. package/dist/method/skills/round-table/references/closing.md +18 -0
  115. package/dist/method/skills/round-table/references/guests.md +15 -15
  116. package/dist/method/skills/round-table/references/rooms.md +15 -28
  117. package/dist/method/skills/round-table/references/table.md +19 -0
  118. package/dist/method/skills/run-acceptance/SKILL.md +58 -0
  119. package/dist/method/skills/run-acceptance/references/template.md +39 -0
  120. package/dist/method/skills/run-retrospective/SKILL.md +50 -189
  121. package/dist/method/skills/security-review-architecture/SKILL.md +47 -109
  122. package/dist/method/skills/security-review-architecture/references/spec-review.md +27 -38
  123. package/dist/method/skills/setup-ci/SKILL.md +45 -109
  124. package/dist/method/skills/split-into-stories/SKILL.md +59 -192
  125. package/dist/method/skills/split-into-stories/assets/story.md.tmpl +15 -4
  126. package/dist/method/skills/strategy/SKILL.md +21 -25
  127. package/dist/method/skills/strategy/references/costs.md +12 -26
  128. package/dist/method/skills/strategy/references/gestures.md +12 -21
  129. package/dist/method/skills/strategy/references/innovate.md +19 -37
  130. package/dist/method/skills/strategy/references/solve.md +19 -32
  131. package/dist/method/skills/test-idea/SKILL.md +5 -5
  132. package/dist/method/skills/test-idea/assets/prfaq-template.md +1 -1
  133. package/dist/method/skills/test-idea/references/faq.md +12 -29
  134. package/dist/method/skills/test-idea/references/forge.md +19 -30
  135. package/dist/method/skills/test-idea/references/personas.md +16 -19
  136. package/dist/method/skills/test-idea/references/prfaq.md +31 -31
  137. package/dist/method/skills/workshop/SKILL.md +10 -16
  138. package/dist/method/skills/workshop/references/create.md +28 -45
  139. package/dist/method/skills/workshop/references/customize.md +17 -42
  140. package/dist/method/skills/workshop/references/evaluate.md +11 -42
  141. package/dist/method/skills/workshop/references/rules.md +17 -26
  142. package/dist/method/skills/write-architecture/SKILL.md +62 -220
  143. package/dist/method/skills/write-architecture/references/guard.md +11 -28
  144. package/dist/method/skills/write-architecture/references/self-check.md +22 -38
  145. package/dist/method/skills/write-brand/SKILL.md +2 -2
  146. package/dist/method/skills/write-brand/references/identity.md +21 -22
  147. package/dist/method/skills/write-brand/references/platform.md +13 -20
  148. package/dist/method/skills/write-brand/references/rules.md +16 -22
  149. package/dist/method/skills/write-brief/SKILL.md +56 -149
  150. package/dist/method/skills/write-brief/references/brief-checklist.md +18 -30
  151. package/dist/method/skills/write-content/SKILL.md +53 -210
  152. package/dist/method/skills/write-content/references/content-checklist.md +32 -50
  153. package/dist/method/skills/write-positioning/SKILL.md +53 -197
  154. package/dist/method/skills/write-positioning/references/positioning-checklist.md +15 -41
  155. package/dist/method/skills/write-positioning/references/seo-checklist.md +26 -51
  156. package/dist/method/skills/write-prd/SKILL.md +52 -179
  157. package/dist/method/skills/write-prd/references/prd-checklist.md +25 -54
  158. package/dist/method/skills/write-sales/SKILL.md +48 -212
  159. package/dist/method/skills/write-sales/references/before-you-send.md +21 -49
  160. package/dist/method/skills/write-sales/references/sales-checklist.md +19 -69
  161. package/dist/method/skills/write-spec/references/spec-guide.md +20 -23
  162. package/dist/method/skills/write-ux-spec/SKILL.md +57 -168
  163. package/dist/method/skills/write-ux-spec/references/accessibility-check.md +13 -72
  164. package/dist/method/skills/write-ux-spec/references/mockups.md +6 -68
  165. package/dist/method/skills/write-ux-spec/references/tokens-and-sketches.md +8 -81
  166. package/dist/method/skills/write-ux-spec/references/ux-checklist.md +12 -67
  167. package/dist/product-root.js +15747 -15091
  168. package/dist/project-command.js +1508 -0
  169. package/dist/project-command2.js +1 -0
  170. package/dist/read-command.js +19 -0
  171. package/dist/rolldown-runtime.js +1 -2
  172. package/dist/sheet-command.js +57 -0
  173. package/dist/webauthn-verify.js +4 -5
  174. package/package.json +11 -10
  175. package/dist/method/agents/noah/references/conduct.md +0 -99
  176. package/dist/method/skills/api-e2e-tests/references/frameworks.md +0 -58
  177. package/dist/method/skills/api-e2e-tests/references/generate.md +0 -67
  178. package/dist/method/skills/audit-pillars/references/accessibility.md +0 -13
  179. package/dist/method/skills/audit-pillars/references/architecture.md +0 -13
  180. package/dist/method/skills/audit-pillars/references/dependencies.md +0 -13
  181. package/dist/method/skills/audit-pillars/references/format.md +0 -20
  182. package/dist/method/skills/audit-pillars/references/interface.md +0 -13
  183. package/dist/method/skills/audit-pillars/references/method.md +0 -33
  184. package/dist/method/skills/audit-pillars/references/performance.md +0 -17
  185. package/dist/method/skills/audit-pillars/references/quality.md +0 -11
  186. package/dist/method/skills/audit-pillars/references/security.md +0 -13
  187. package/dist/method/skills/audit-pillars/references/tests.md +0 -17
  188. package/dist/method/skills/critique-deliverable/references/assumption-audit.md +0 -11
  189. package/dist/method/skills/critique-deliverable/references/compare-existing.md +0 -13
  190. package/dist/method/skills/critique-deliverable/references/devils-advocate.md +0 -13
  191. package/dist/method/skills/critique-deliverable/references/divergence.md +0 -15
  192. package/dist/method/skills/critique-deliverable/references/domain-expert.md +0 -14
  193. package/dist/method/skills/critique-deliverable/references/extreme-user.md +0 -13
  194. package/dist/method/skills/critique-deliverable/references/failure-modes.md +0 -13
  195. package/dist/method/skills/critique-deliverable/references/first-principles.md +0 -12
  196. package/dist/method/skills/critique-deliverable/references/inversion.md +0 -13
  197. package/dist/method/skills/critique-deliverable/references/pre-mortem.md +0 -12
  198. package/dist/method/skills/critique-deliverable/references/red-team.md +0 -12
  199. package/dist/method/skills/critique-deliverable/references/reframe.md +0 -12
  200. package/dist/method/skills/critique-deliverable/references/second-order.md +0 -12
  201. package/dist/method/skills/critique-deliverable/references/socratic.md +0 -15
  202. package/dist/method/skills/critique-deliverable/references/steelman.md +0 -13
  203. package/dist/method/skills/critique-deliverable/references/subtraction.md +0 -12
  204. package/dist/method/skills/develop-story/references/self-check.md +0 -46
  205. package/dist/method/skills/generate-knowledge-base/references/kb-checklist.md +0 -49
  206. package/dist/method/skills/generate-knowledge-base/references/repository-scan.md +0 -48
  207. package/dist/method/skills/ideation/references/choose.md +0 -21
  208. package/dist/method/skills/ideation/references/gestures.md +0 -15
  209. package/dist/method/skills/ideation/references/techniques-borrowed.md +0 -8
  210. package/dist/method/skills/ideation/references/techniques-deep.md +0 -12
  211. package/dist/method/skills/ideation/references/techniques-frames.md +0 -12
  212. package/dist/method/skills/ideation/references/techniques-futures.md +0 -8
  213. package/dist/method/skills/ideation/references/techniques-limits.md +0 -9
  214. package/dist/method/skills/ideation/references/techniques-people.md +0 -7
  215. package/dist/method/skills/ideation/references/techniques-sparks.md +0 -10
  216. package/dist/method/skills/ideation/references/techniques-together.md +0 -11
  217. package/dist/method/skills/order-merges/SKILL.md +0 -71
  218. package/dist/method/skills/pitch/references/deck-types.md +0 -17
  219. package/dist/method/skills/pitch/references/design-methods.md +0 -45
  220. package/dist/method/skills/pitch/references/design-thinking.md +0 -28
  221. package/dist/method/skills/pitch/references/story-frameworks.md +0 -39
  222. package/dist/method/skills/quick-lane/SKILL.md +0 -143
  223. package/dist/method/skills/review-tests/SKILL.md +0 -32
  224. package/dist/method/skills/review-tests/references/check.md +0 -25
  225. package/dist/method/skills/review-tests/references/grid.md +0 -27
  226. package/dist/method/skills/round-table/references/cast.md +0 -14
  227. package/dist/method/skills/round-table/references/gestures.md +0 -24
  228. package/dist/method/skills/round-table/references/independence.md +0 -21
  229. package/dist/method/skills/round-table/references/three-views.md +0 -17
  230. package/dist/method/skills/round-table/references/turns.md +0 -19
  231. package/dist/method/skills/strategy/references/innovate-frameworks.md +0 -48
  232. package/dist/method/skills/strategy/references/solve-methods.md +0 -45
  233. package/dist/method/skills/test-idea/references/bets.md +0 -14
  234. package/dist/method/skills/test-idea/references/concept.md +0 -24
  235. package/dist/method/skills/test-idea/references/verdict.md +0 -26
  236. package/dist/method/skills/workshop/references/analyze.md +0 -36
@@ -1,191 +1,80 @@
1
1
  ---
2
2
  name: write-ux-spec
3
- description: Stella's workflow for the planning phase. Write, update or review the UX specification in .agentplugged/docs/ux.md from the PRD.
3
+ description: Stella's planning workflow. Write, update or review the UX specification in .agentplugged/docs/ux.md from the PRD.
4
4
  metadata:
5
5
  agent: stella
6
6
  phase: planning
7
7
  ---
8
8
  ## Overview
9
9
 
10
- This skill is how Stella, the UX designer, turns the PRD into the UX specification: how the
11
- product looks, and how it behaves on every screen and in every state. A developer agent builds a
12
- screen from it without inventing anything, so each choice is written down, named, and tied to
13
- the journeys and requirements it serves.
14
-
15
- The taste is the creator's. Stella draws it out, shows options side by side, and writes down what
16
- the creator chooses. She never adds a requirement: when a screen needs something the PRD does
17
- not say, it becomes a question.
18
-
19
- Files of this skill:
20
-
21
- - `assets/ux-template.md` — the starting structure of the specification, with a valid header.
22
- - `references/ux-checklist.md` — the checks to run before showing the specification.
23
- - `references/accessibility-check.md` — the accessibility floor and how to record the check.
24
- - `references/tokens-and-sketches.md` — tokens, a UI system's delta, `UX-n` elements, sketches.
25
- - `references/mockups.md`, `assets/mockup-page.html` — the pages: rules, drawing, coverage.
10
+ - **Step:** planning, as Stella (`agent: stella` in every MCP call).
11
+ - **Produces:** `.agentplugged/docs/ux.md` from `assets/ux-template.md`, and pages in
12
+ `.agentplugged/docs/ux-mockups/`.
13
+ - **Reads:** the PRD by section (`reading: true`, `docs read @requirements @journeys`); a draft: it does
14
+ not need an approval.
15
+ - **Validation point:** one `phase_end`, the end of planning (step 9).
26
16
 
27
17
  ## Before you start
28
18
 
29
- - You act as Stella for the whole run: `agent: stella` in every MCP call. If `state.get` shows that
30
- Stella is not an active agent of the product, say so and go to the last step (Report) with
31
- `partial`: the creator decides who works.
32
- - Speak the creator's language, and write the specification in it, headings included. Keep the
33
- header keys, the identifiers and the token names exactly as written.
34
- - One question at a time. Wait for the answer, then say back what you understood in a sentence
35
- before moving on.
36
- - The specification defines no requirement identifier. It mentions the PRD's `PU-n` and `EF-n`
37
- inside a line, never at the start of a line, a list item, a heading or a first table cell
38
- (that would define them a second time).
19
+ - Stella not active in `state.get`: say so, go to the last step (Report), `partial`.
20
+ - **Modes:** **create**; **update**; **review** (steps 4 and 6's checks, each finding with its
21
+ severity, then go straight to the last step (Report) with `partial`: never copy the template,
22
+ never rewrite the specification, never open the end of the phase).
23
+ - One question at a time. Define no identifier: mention `PU-n`, `EF-n` inside a line.
39
24
 
40
25
  ## Decisions
41
26
 
42
- An ambiguity whose readings lead to different experiences, or a choice of direction that weighs
43
- on the whole product, is never settled in the creator's place.
44
-
45
- - **Open:** `checkpoint.open` with `type: decision`, a risk, a title, a summary, two to four
46
- options (each with an `id`, a `label` and its `consequence`) and your `recommendation`; no
47
- story and no blocks.
48
- - **Mark:** write `[open: G-…]` at the end of the sentence concerned, never at the start of a
49
- line and never before an identifier, and go on with the rest while it is open.
50
- - **Apply:** once `state.get` shows the checkpoint resolved, read its `resolution` in full (`state.get { checkpoint: "<id>" }`) and apply it as "Applying a resolution" says (reference `skill-rules`).
51
-
52
- Then remove the `[open: G-…]` mark.
27
+ - **Open:** `checkpoint.open`, `type: decision`, two to four options, your `recommendation`; no
28
+ story. Never settle it in the creator's place.
29
+ - **Mark:** `[open: G-…]` at the end of the sentence concerned, never before an identifier.
30
+ - **Apply:** read the `resolution` and apply it as "Applying a resolution" says (reference `skill-rules`); drop the mark.
53
31
 
54
32
  ## Steps
55
33
 
56
- 1. **Start.** Call `agent.status` with `working` and the task. Read `state.get` and look at
57
- `phase.current`.
58
- - `framing`: the brief is not approved yet. Say so and go to the last step (Report) with
59
- `partial`.
60
- - `planning`: go on.
61
- - A later phase: the specification was approved with the end of planning. Change it only if
62
- the creator asks explicitly; then report the change as a conflict in `story.result`.
63
- 2. **Read what exists.** `.agentplugged/docs/prd.md` must exist: it may still be a draft, it
64
- does not need an approval. Without it, go to the last step (Report) with `partial` after
65
- telling the creator: Maya writes the PRD first; when Maya is not active in `state.get`, the
66
- creator either enables her (`npx agentplugged agent enable maya`, then `sync`) or puts their
67
- own PRD in `.agentplugged/docs/prd.md`. Read also `.agentplugged/docs/brief.md` (audience
68
- and tone) and the existing `.agentplugged/docs/ux.md`. Settle the intent with the creator:
69
- - **create** — no specification yet;
70
- - **update** — something changed: start from the change;
71
- - **review** — a critique only. Run the checks of `references/ux-checklist.md`, the
72
- accessibility check of `references/accessibility-check.md` and
73
- `npx agentplugged docs check` on the existing specification, report each finding with its
74
- section and severity, offer to fold them into an update, then go straight to the last step
75
- (Report) with `partial`. In review, never copy the template, never rewrite the
76
- specification and never open the end of the phase.
77
- 3. **Discovery.** Ask the creator to pour out their ideas and to share any visual material:
78
- screenshots, a logo or brand guide, sketches, mock-ups. Look at it before asking anything it
79
- answers; ask "anything else?" once. Then, one open question at a time:
80
- - the feeling the product should give, the products they admire and those they dislike, and
81
- why;
82
- - the platforms and form factors (phone, desktop, web, watch…), and the input modes (touch,
83
- keyboard, voice);
84
- - a component library or design system they want: record it as a preference for Alex, who
85
- decides the stack;
86
- - the concerns of this experience: accessibility needs, languages, dark mode, offline use,
87
- motion, notifications, information density.
88
- 4. **Working mode.** Offer the creator the choice:
89
- - **guided** — visual identity first, then behaviour, section by section;
90
- - **quick** — the remaining gaps in one or two questions, then a full draft with every guess
91
- marked `[assumption]`.
92
- 5. **Visual direction.** Propose two or three directions, each with its mood, palette, type and
93
- what it costs, and show them side by side on one page (`references/mockups.md`). The creator
94
- chooses; when they want time, or the choice weighs on the whole product, open a `decision`
95
- checkpoint with the directions as options, as the "Decisions" section says.
96
- 6. **Visual identity.** Write the chosen direction as the `tokens` block of the header and reuse
97
- the tokens by name (`{color.primary}`): colours as hexadecimal values for light and dark modes,
98
- typography, spacing, shapes, elevation, then the components (anatomy, tokens used, look of
99
- each state). Note the contrast ratio of each text and background pair as you go. On a UI
100
- system the product keeps, declare `ui_system` and write only the difference
34
+ 1. **Start.** `agent.status` (`working`); `state.get`, `phase.current`: `framing` → `partial`;
35
+ `planning` → go on; later → only on the creator's ask, as a conflict in `story.result`. No PRD:
36
+ Maya writes the PRD first (not active: `npx agentplugged agent enable maya`, then `sync`),
37
+ `partial`.
38
+ 2. **Design.** Propose two or three directions side by side (`references/mockups.md`); the creator
39
+ chooses, or a `decision` checkpoint. The `tokens` block of the header: colours as hexadecimal
40
+ values for light and dark modes; a UI system kept: `ui_system` and only the difference
101
41
  (`references/tokens-and-sketches.md`).
102
- 7. **Information architecture.** List the screens, what each holds and the navigation between
103
- them. Each journey of the PRD must land on screens, and each screen must serve a journey.
104
- When one of them fails, ask; never invent the missing piece. Then settle the two to four key
105
- screens, where the layout carries the behaviour.
106
- 8. **Behaviour.**
107
- - One key flow per journey (`PU-n`): what the user sees, does and gets back at each step, the
108
- moment of value, the failure path, the states met, their microcopy, the `EF-n` it covers.
109
- - Then the behaviour of each component, the states of every screen (empty, loading, error,
110
- success, offline, permission denied — those that apply), the interactions (gestures,
111
- shortcuts, feedback, undo), the microcopy and voice, and the responsive rules.
112
- - A sketch for each screen, and the table of elements a story must carry (components,
113
- states, accessibility fixes) as `UX-n` (`references/tokens-and-sketches.md`).
114
- 9. **Gaps and ambiguities.** A screen that needs something the PRD does not say becomes a
115
- question for the creator, listed under "Open questions" and in `story.result` for Maya's
116
- document: you never write a requirement. An ambiguity whose readings lead to different
117
- experiences becomes a `decision` checkpoint, as the "Decisions" section says.
118
- 10. **Accessibility check.** Walk through `references/accessibility-check.md` for every screen
119
- and component of the specification. Record each check in the "Accessibility check" section
120
- as passed, a finding (with its severity and the fix) or not applicable. Fix the
121
- specification where you can; a finding you cannot fix stays visible and goes to the creator,
122
- and a fix to build is an element `UX-n`.
123
- 11. **Draft and self-check.** Copy `assets/ux-template.md` (in this skill's folder) to
124
- `.agentplugged/docs/ux.md`, or start from the existing specification. Remove the
125
- "Generated by agentplugged" comment line the copy carries (`docs check` refuses it), the
126
- guidance comments once a section is written, every `<…>` placeholder and every sample value
127
- of the template (marked "sample"). Draw the key screens' pages and confirm with the creator
128
- which screens stay tables and sketches only (`references/mockups.md`). Set `links` to `prd`
129
- and to every `PU-n` and `EF-n` the specification covers (active ones only). Walk through
130
- `references/ux-checklist.md` and fix what fails. Then run `npx agentplugged docs check` and
131
- fix every problem until there is none.
132
- Then reconcile the inputs: a sub-agent runs the method `reconcile`
133
- (`critique-deliverable/references/reconcile.md`) on the brief and the creator's notes and
134
- references and reports what did not land (a tone, a feeling) with `review.critique` under
135
- your own id (`lenses: ["reconcile"]`, 5 findings at most); ask once for one gesture per
136
- finding, their words kept as said, then run `docs check` again.
137
- 12. **Review with the creator.** Show the specification, point out the `[assumption]` marks, the
138
- accessibility findings and the open questions, and revise it with the creator's remarks
139
- until they have none left. Do not ask them to approve it here: their approval is asked
140
- once, after the validation point is open (step 14).
141
- 13. **Decision gate.** In `state.get`, every `decision` checkpoint opened during this phase, by
142
- any agent (yours and Maya's), must be resolved and its answer applied in the documents. If
143
- one is still open, open nothing: tell the creator which checkpoints wait for them, and go to
144
- the last step (Report) with `partial`.
145
- 14. **Commit the specification and validate it, with one point.** `git branch --show-current`
146
- must name a branch; when it prints nothing (a detached HEAD), ask the creator to check out a
147
- branch and open nothing. Commit the specification on it (`git add` of its path, then
148
- `git commit`), signed with the name and the email the creator gave (constitution, "Talking
149
- with the creator", step 5). The specification is the last document of the planning: while
150
- `phase.current` is `planning`, its validation and the end of the phase are one point, the
151
- `phase_end`, and you open it yourself, whether Maya is active or not (the engine lets Maya
152
- and Stella both close the planning; handing it to Maya would make the creator validate the
153
- specification, then the end of the phase). Run `npx agentplugged next --json` and read
154
- `state.get`:
155
- - the end of planning is already open (`step` is `phase_review`): tell the creator its id;
156
- - a `document` point of the phase is still open (`DOCUMENT_REVIEW_OPEN`, for example the
157
- PRD's): tell the creator to answer it first, then open the end;
158
- - the last end was refused (`step` is `changes_requested`, `agent` is `stella` or `maya`,
159
- `checkpoint` is that end): read its `checkpoint.resolution.note` (`state.get { checkpoint: "<id>" }`), address it (back to
160
- step 11), commit, then open a new end with `supersedes` set to that checkpoint's id;
161
- - any other case in planning: open the end (below), whatever else `state.next` says;
162
- - the planning is closed (a later update): commit the specification and open a `document`
163
- checkpoint instead (`type: document`, a low risk, no story and no blocks, the
164
- specification in `documents`), then ask once; a point the creator refused comes back to you
165
- through `state.next` (`changes_requested`): read the note, correct, commit, reopen with
166
- `supersedes`.
42
+ 3. **Behaviour.** Each journey lands on screens, each screen serves one; two to four key screens.
43
+ One key flow per journey (`PU-n`): steps, moment of value, failure path, the `EF-n` covered.
44
+ States, a sketch per screen, elements to build as `UX-n`. A need the PRD lacks is a question:
45
+ you never write a requirement.
46
+ 4. **Accessibility.** Each item of `references/accessibility-check.md`, in the "Accessibility
47
+ check" section.
48
+ 5. **Draft.** Copy the template; remove the "Generated by agentplugged" line (`docs check` refuses
49
+ it), the comments, every `<…>` placeholder and sample. Draw the key screens' pages.
50
+ 6. **Review gate.** `references/ux-checklist.md`, then `npx agentplugged docs check` until clean.
51
+ Then reconcile the inputs: a sub-agent runs `critique-deliverable/references/reconcile.md` on
52
+ the brief and the creator's notes, `review.critique` under your id (`lenses: ["reconcile"]`, 5
53
+ findings at most); one gesture per finding.
54
+ 7. **Show it.** Do not ask them to approve it here: that is asked once, after the point is open.
55
+ 8. **Decision gate.** Every `decision` checkpoint of the phase, by any agent, resolved and applied,
56
+ else `partial`.
57
+ 9. **Commit the specification and validate it, with one point.** `git branch --show-current`
58
+ names a branch (else ask); `git commit` with the creator's name and email (constitution,
59
+ "Talking with the creator", step 5). While `phase.current` is `planning` its validation and the
60
+ end of the phase are one point: you open it yourself, whether Maya is active or not.
61
+ `npx agentplugged next --json`, `state.get`:
62
+ - `phase_review`: give its id. `DOCUMENT_REVIEW_OPEN`: that point first.
63
+ - `changes_requested` (`agent` is `stella` or `maya`): read the note
64
+ (`state.get { checkpoint: "<id>" }`), correct, commit, a new end with `supersedes`.
65
+ - any other case in planning: open the end (below), whatever else `state.next` says.
66
+ - planning closed (a later update): a `document` checkpoint instead.
167
67
 
168
- To open the end of planning: commit the PRD too when it is not committed (`git add` of its
169
- path, then `git commit`; committing Maya's document as it is does not edit it). Then call
170
- `checkpoint.open` with `type: phase_end`, `phase: planning`, a low risk, a title and a
171
- summary, no story and no blocks, and in `documents` the PRD and the specification: for each,
172
- its `path`, the `branch` and its `blob_sha` (`git rev-parse HEAD:<path>`). Open it first,
173
- then ask the creator whether the specification suits them and the planning can end, once:
174
- present it in the chat and record the creator's answer with `chat.answer`, quoting
175
- their words (constitution, "Checkpoints in the chat"). The PRD is only cited when the creator validated it earlier with
176
- a `document` point and it is unchanged (the `blob_sha` of its approved point equals
177
- `git rev-parse HEAD:<path>`, and the file is committed): say so, and never ask for it again.
178
- 15. **Report.** Call `story.result`: `complete` when the specification is ready, `partial` when
179
- decisions, findings or questions are still open or you stopped early; a summary naming the
180
- checkpoints you opened; your assumptions, the open questions and the conflicts (empty lists
181
- when there are none). Then `agent.status` with `idle`.
68
+ To open the end: commit the PRD too. `checkpoint.open`: `type: phase_end`, `phase: planning`,
69
+ low risk, no story, `documents`: the PRD and the specification (`path`, `branch`, `blob_sha` =
70
+ `git rev-parse HEAD:<path>`). Open it first, then ask the creator whether the specification suits
71
+ them and the planning can end, once; `chat.answer` with their words. A PRD already validated
72
+ is only cited: never ask for it again.
73
+ 10. **Report.** `story.result` (`complete`, or `partial`), assumptions, questions, conflicts;
74
+ `agent.status` `idle`.
182
75
 
183
76
  ## Rules
184
77
 
185
78
  - Follow "Rules for skills and agents" (reference `skill-rules`): checkpoint before the question, ask once; a point the creator did not keep goes to `checkpoint.decide`; in French say « tu »; start with `memory.read`.
186
- - The specification carries no status, no cost and no progress: the state of the product comes
187
- from the journal. Its header holds `id`, `kind`, `owner` and `links` only.
188
- - Write only `.agentplugged/docs/ux.md` and the pages of `.agentplugged/docs/ux-mockups/`. Never edit the PRD, the brief or any other agent's
189
- document, the method's files or a generated file.
190
- - Never choose the front-end stack nor write code, and never call another agent: hand back
191
- to Noah, who proposes what comes next; the creator decides (without Noah, the creator picks the next agent).
79
+ - Header: `id`, `kind`, `owner`, `links` only. Write only `ux.md` and `.agentplugged/docs/ux-mockups/`.
80
+ - Never choose the stack, never call another agent: hand back to Noah.
@@ -1,74 +1,15 @@
1
1
  # Accessibility check
2
2
 
3
- The floor every screen of the specification meets, based on the level AA of the Web Content
4
- Accessibility Guidelines 2.2. A product may commit to more (in the PRD's non-functional
5
- requirements); never to less. Check each item against every screen and component, and record the
6
- result in the specification's "Accessibility check" section: passed, a finding (severity and
7
- fix), or not applicable.
8
-
9
- Severity: **blocking** — some users cannot complete a journey; **major** — they complete it with
10
- real difficulty; **minor** — an annoyance or an inconsistency.
11
-
12
- ## Perceive
13
-
14
- - **Text contrast.** At least 4.5:1 between text and its background; 3:1 for large text (24px
15
- regular, or 18.66px — 14pt — bold). Check every pair of colour tokens used together, in light
16
- and dark modes.
17
- - **Non-text contrast.** At least 3:1 for icons that carry meaning, field borders, focus
18
- indicators and the parts of a control needed to see it.
19
- - **Colour never alone.** An error, a status or a selection is also shown by text, an icon or a
20
- shape.
21
- - **Text size and zoom.** Body text of 16px or more; the layout still works with text enlarged
22
- to 200% and at a width of 320px without horizontal scrolling.
23
- - **Text spacing.** Nothing is cut off or overlaps when the user sets line height to 1.5, space
24
- after paragraphs to 2 times the font size, letter spacing to 0.12 and word spacing to 0.16
25
- times the font size.
26
- - **Content on hover or focus.** A tooltip or popover that appears on hover or focus can be
27
- dismissed without moving the pointer or focus, stays while the pointer is over it, and stays
28
- until dismissed or no longer relevant.
29
- - **Orientation.** Every screen works in portrait and landscape, unless one orientation is
30
- essential.
31
- - **Structure.** Each page has a title that says what it is; headings name the sections in
32
- order; lists and tables are marked as such.
33
- - **Images and icons.** Each one that carries meaning has a text alternative; decorative ones are
34
- hidden from screen readers.
35
- - **Media.** Video has captions; audio has a transcript.
36
-
37
- ## Operate
38
-
39
- - **Keyboard.** Every action can be done with a keyboard alone, with no trap.
40
- - **Bypass blocks.** A way to skip repeated content (a "skip to content" link, landmarks or
41
- headings) on every page that repeats navigation.
42
- - **Focus order and visibility.** The focus moves in reading order and is always visible, never
43
- hidden behind a sticky element.
44
- - **Target size.** Touch and click targets of at least 24 by 24px, 44 by 44px for the main
45
- actions on touch screens.
46
- - **Gestures.** Every path or multi-finger gesture and every drag has a single-tap alternative.
47
- - **Motion.** Animations respect the "reduce motion" setting; nothing flashes more than three
48
- times per second.
49
- - **Timing.** No time limit, or a way to extend or turn it off; moving content can be paused.
50
-
51
- ## Understand
52
-
53
- - **Labels and instructions.** Every field has a visible label; required fields and formats are
54
- stated before input.
55
- - **Errors.** An error says what went wrong and how to fix it, next to the field, and the input
56
- is kept.
57
- - **Redundant entry.** Information the user already gave in the same process is filled in for
58
- them or offered to pick, not asked again (unless re-entering it is essential, as for a
59
- password confirmation or security).
60
- - **Accessible authentication.** Signing in never requires a cognitive test (remembering,
61
- transcribing or solving something) without an alternative: password managers and pasting are
62
- allowed, and a passkey, a link by e-mail or another method is offered.
63
- - **Consistency.** The same component looks and behaves the same everywhere; navigation stays in
64
- the same place.
65
- - **Language.** The language of each page is declared; plain words, no unexplained jargon.
66
- - **Undo and confirmation.** An action that deletes, pays or sends can be undone or asks for a
67
- confirmation first.
68
-
69
- ## Robust
70
-
71
- - **Names, roles and states.** Each control exposes its name, role and state (selected,
72
- expanded, disabled) to assistive technology.
73
- - **Status messages.** A change announced on screen (saved, error, new item) is also announced to
74
- screen readers without moving the focus.
3
+ Floor for every screen (WCAG 2.2 AA). Record each in "Accessibility check": passed, finding
4
+ (**blocking**, **major**, **minor**; the fix) or not applicable.
5
+
6
+ - **Text contrast** 4.5:1; 3:1 for large text (24px, or 18.66px — 14pt — bold), light and dark;
7
+ 3:1 for icons, borders, focus. **Colour never alone.** Body 16px or more; works at 200% and 320px.
8
+ - **Text spacing**: nothing cut off. **Content on hover or focus**: dismissible. **Orientation**:
9
+ both. Each page has a title; ordered headings; text alternatives.
10
+ - **Keyboard**: all actions, no trap. **Bypass blocks**: skip link. **Focus order**: reading
11
+ order, visible. **Target size** 24px (44 on touch). Single-tap alternative to gestures.
12
+ - **Motion**: respects "reduce motion"; no flash. Timing extendable.
13
+ - Visible labels; errors say what and how to fix. **Redundant entry**: not asked again.
14
+ **Accessible authentication**: no cognitive test without alternative.
15
+ - Consistency, language, undo; names, roles, states; status messages announced.
@@ -1,71 +1,9 @@
1
1
  # Mock-up pages
2
2
 
3
- Read this when you draw the directions or the key screens. A page shows what the tables say;
4
- the specification always wins over a page, and `ux.md` says so once, in "Brand and style".
3
+ The specification wins over a page; `ux.md` says so once in "Brand and style".
5
4
 
6
- ## The rules of a page (checked by `docs check`)
7
-
8
- - A file of `.agentplugged/docs/ux-mockups/`, flat, lowercase letters, digits and hyphens:
9
- `directions.html`, `screen-home.html`. Eight pages at most, 30 000 bytes each. Nothing else
10
- lives in the folder: another kind of file, or a link, is refused.
11
- - Start from `assets/mockup-page.html` (in this skill's folder). Its head carries a policy meta
12
- that makes a browser load nothing; it comes before any tag of the body, after the charset and
13
- viewport metas at most.
14
- - Self-contained: one inline `<style>`, no script, no image, no font, no `<link>`, no form, no
15
- address, no character reference (`&#…;`) in a style. A link is `#anchor` only. Icons are a
16
- few inline `<svg>` shapes, whose values are numbers, paths and colours.
17
- - Plain tags: text, lists, tables, buttons, inputs, `div`/`section`, `svg`. Anything else is
18
- refused with its name.
19
- - Every word comes from the conversation or the specification, never lorem. Text that comes
20
- from outside (a pasted brief, a product the creator admires) goes in as plain text with
21
- `<`, `>`, `&` written `&lt;`, `&gt;`, `&amp;`: never as markup.
22
- - Colours, type and spacing are the tokens of the header, copied once as CSS custom properties
23
- in `:root` (`--color-primary`), light and dark when the product has both.
24
-
25
- ## Directions (step "Visual direction")
26
-
27
- One page, `directions.html`, two or three directions side by side, each applied to the same
28
- main screen. A direction is a whole look and feel, not a recoloured copy: two that differ only
29
- by hue are one direction. They differ by density, weight of type, motion and tone. Each shows
30
- its name and a line on its mood, its palette as chips with hex values, its type, the screen in
31
- one awkward state (empty, error…), and dark beside light when the product has both. When only
32
- the colours are undecided, the page may instead hold up to four palettes on one screen. Say in
33
- the chat what the creator is looking at; do not paste the page. The creator chooses; the page
34
- stays and is linked from "Brand and style".
35
-
36
- ## Key screens (step "Key screens")
37
-
38
- Choose two to four screens whose layout decides how the product behaves: where the user starts,
39
- the busiest step of the longest flow, a layer that asks for a decision. One page each,
40
- `screen-<slug>.html`, at 1:1: one resting state plus, if it matters, one other (focus, error,
41
- empty) in the same file. Draw from the tokens, the sketch and the microcopy. A component the
42
- specification does not name is a question for the creator before it is drawn.
43
-
44
- Let a sub-agent in a clean context draw each page: it answers with the path and a one-line
45
- caption, and the HTML never enters your context. Do not read a page back to check it:
46
- `docs check` does, and the creator opens it in a browser. A story that builds the screen cites
47
- its page in its Context; the developer opens it for visual detail only.
48
-
49
- ## Coverage, asked once
50
-
51
- When the pages are drawn, list the screens of the architecture: drawn, or "tables and sketch
52
- only". Ask: "these will be built from the tables and sketches alone; does any need a visual
53
- reference?" Draw what the creator names. A screen they choose to leave has `none` in the
54
- "Mock-up page" cell of its row; `docs check` then only warns.
55
-
56
- ## Navigation and flows stay in text
57
-
58
- The architecture table and a small text map under it (`Home → List → Detail`), the numbered
59
- steps of each flow and the sketches say what a diagram would. Do not make diagram files: the
60
- folder holds pages, and an agent can neither read nor check a drawing.
61
-
62
- ## A change after
63
-
64
- A change of a token or of a sketch makes the pages that show it stale. Redraw the key ones or
65
- say which are old; never let a page contradict the specification without saying so.
66
-
67
- ## A design tool of the creator's
68
-
69
- If the creator draws elsewhere, assemble one prompt from the tokens, the sketches, the flows
70
- and the microcopy; they run it and bring back what it gave. Look at it, take its decisions into
71
- the tokens and sketches, and keep nothing but those in the specification.
5
+ - Flat files of `.agentplugged/docs/ux-mockups/`, eight at most, from `assets/mockup-page.html`
6
+ (no script or link; tokens as CSS custom properties). `docs check` reports faults.
7
+ - `directions.html`: two or three whole looks on one screen.
8
+ - `screen-<slug>.html`, drawn by a sub-agent that returns the path. Ask once which screens need
9
+ one; `none` in the "Mock-up page" cell for the rest.
@@ -1,83 +1,10 @@
1
1
  # Tokens, elements and sketches
2
2
 
3
- Read this when you write the visual identity, the screen sketches or the table of elements.
4
- `npx agentplugged docs check` reads all three; run it after each.
5
-
6
- ## Tokens: in the header, once
7
-
8
- When the product has a brand identity (`launch/identity.md`, skill `write-brand`), its tokens are the
9
- source: use them by name (`{color.accent}`) and do not define them again; a token given another value
10
- here is a problem. Its fixed rules also apply to the mock-ups.
11
-
12
- The header of `ux.md` carries a `tokens` block. Groups: `color`, `type`, `space`, `radius`,
13
- `shadow`. Each is a map of named values; a name is letters, digits, `-` or `_`.
14
-
15
- ```yaml
16
- tokens:
17
- color:
18
- background: { light: "#FFFFFF", dark: "#101114" }
19
- primary: "#0F62FE"
20
- on-primary: "{color.background.light}" # an alias to another token
21
- type:
22
- body: { family: "system-ui", size: 16px, weight: 400, line: 1.5 }
23
- space: { "1": 4px, "2": 8px, "4": 16px }
24
- radius: { md: 8px }
25
- ```
26
-
27
- - A colour is a hexadecimal value, or `light` and `dark` hexadecimal values. Nothing else
28
- (`blue`, `rgb(…)`) passes.
29
- - Anywhere else in the specification a token is written `{color.primary}`; the path follows the
30
- block (`{type.body.size}`). `docs check` refuses a `{token}` the block does not define, and
31
- an alias to nothing. Sizes, colours and durations written inline where a token exists are
32
- an excess (see the checklist).
33
- - Native platforms: a type role may be a phrase (`body: "platform body style"`) when the
34
- platform owns the real value. Say it once in Foundation.
35
- - A specification written before this block may keep its tables of `` `color.primary` ``
36
- names; moving them to the header is a good update, never a condition.
37
-
38
- ## On top of a UI system the product keeps
39
-
40
- When the creator keeps a component library or a UI system (their own, or one the product
41
- adopts), do not specify again what it gives:
42
-
43
- 1. Foundation names it; the header says `ui_system: <name>`.
44
- 2. `tokens` holds only the difference: the brand colours, the type swaps, the radii that
45
- override the system's.
46
- 3. A thing the system already gives is written `{ui.button}` or `{ui.focus-ring}`: with
47
- `ui_system` declared these always resolve, without a token. Components then hold only
48
- what differs (a state, a variant, a rule of behaviour).
49
- 4. The choice of the library is Alex's. Note the preference in Foundation and stay with
50
- whatever the architecture decides; when it changes, update the delta.
51
-
52
- ## Elements to build: `UX-n`
53
-
54
- The table "Elements to build" numbers what the stories must carry: each component, each state
55
- worth a story's attention, each accessibility fix the check found. One row each (`UX-1`,
56
- `UX-2`…), kind, description, where. Never renumber; a thing no longer wanted stays, its
57
- description beginning `(retired)`.
58
-
59
- Once stories exist, `docs check` and the readiness gate refuse an element no story names in
60
- its Context or acceptance criteria. That is the way a state or a fix is not forgotten between
61
- the specification and the build. Number what a developer would otherwise reinvent, not every
62
- label.
63
-
64
- ## Sketches: one per screen
65
-
66
- Under "Screen sketches" (keep that title, and "Key screens": the checks find the sections by
67
- them, in English or as « Croquis des écrans », « Écrans clés »), one `### <screen name>` per screen of the architecture (the key
68
- screens first). Each holds a drawing in a code block, every region marked `[1]`, `[2]`…, and
69
- the list `1.`, `2.`… saying what each region holds and its states. The numbers match in both
70
- places, start at 1, have no gap; two regions at least.
71
-
72
- ```
73
- +------------------------+
74
- | [1] date, count |
75
- | [2] task rows |
76
- | [3] add |
77
- +------------------------+
78
- ```
79
-
80
- A story of the interface takes the sketch of its screen as an acceptance criterion: "given
81
- the screen, when it opens, then its regions 1 to 3 are those of the sketch in `ux.md`". The
82
- sketch is not pixels: the layout order, the grouping and what each region does. Pixels and
83
- colours are tokens or the page.
3
+ - **Tokens**, in the header: `color`, `type`, `space`, `radius`, `shadow`; a colour is hexadecimal
4
+ (or `light` and `dark`); elsewhere `{color.primary}`, undefined is refused. A brand identity
5
+ (`launch/identity.md`, skill `write-brand`) is the source: use its tokens by name.
6
+ - **UI system kept:** `ui_system: <name>`; `tokens` only the difference; `{ui.button}` resolves.
7
+ - **Elements to build:** one `UX-n` row per component, state or fix a story must carry; never
8
+ renumbered, a dropped one starts `(retired)`.
9
+ - **Sketches:** under "Screen sketches", `### <screen>`: a code-block drawing with regions `[1]`,
10
+ `[2]`… and a list `1.`, `2.`… saying what each holds.
@@ -1,74 +1,19 @@
1
1
  # UX specification checklist
2
2
 
3
- Run every check before showing the specification to the creator. Fix what fails; when a fix
4
- needs the creator, ask them, one question at a time, or open a `decision` checkpoint.
3
+ Run before showing it.
5
4
 
6
- ## Header and identifiers
7
-
8
- - The header is the first thing in the file and holds `id: ux`, `kind: ux`, `owner: stella` and
9
- `links`: `prd` and every `PU-n` and `EF-n` the specification covers, all active in the PRD.
10
- - No `status`, `state`, `cost`, `spent`, `budget_spent` or `progress` key.
11
- - No requirement identifier is defined: none opens a line, a list item, a heading or a first
12
- table cell.
13
- - No `<…>` placeholder is left from the template, no value marked `(sample)` (the sample
14
- colours `#FFFFFF`, `#111111`, `#1A1A1A`, `#F2F2F2`, `#0F62FE`, `#78A9FF`, sizes `16px`, `24px`, `400`, `600`, `1.5`, `1.25`, spacings
15
- `4px`, `8px`, radius `8px`) unless the creator chose that exact value, no sample link (`PU-1`,
16
- `EF-1`) the specification does not cover, and no `screen-sample.html`.
17
- - No `[open: G-…]` mark remains for a decision the creator already answered, and none sits at
18
- the start of a line or before an identifier.
19
- - `npx agentplugged docs check` reports no problem.
20
-
21
- ## Coverage
22
-
23
- - Every journey of the PRD has a key flow, with its moment of value and its failure path.
24
- - Every screen serves at least one journey, and every journey lands on screens.
25
- - Every flow names the requirements it covers; the "Traceability" table agrees with the flows.
26
- - Every screen lists the states that apply (empty, loading, error, success, offline, permission
27
- denied), with what the user sees.
28
- - Nothing in the specification asks for a capability the PRD does not state: such a need is an
29
- open question.
30
-
31
- ## Visual identity
32
-
33
- - Every colour token has a hexadecimal value for each mode the product supports.
34
- - Every token used in the text (`{…}`) is defined once, in the `tokens` block of the header
35
- (`docs check` refuses one that is not); on a UI system the product keeps, `ui_system` is
36
- declared and the tokens hold only the difference.
37
- - Every component used in a flow has a visual specification and a behaviour.
38
- - The visual direction is the one the creator chose; every guess is marked `[assumption]`.
39
-
40
- ## Screens, sketches and pages
41
-
42
- - Every screen of the architecture has a sketch whose regions are numbered the same in the
43
- drawing and in the list; the key screens (two to four) each have a page, or `none` by the
44
- creator's choice.
45
- - Each page was drawn from the tokens and the sketch, shows the product's own words, and
46
- `ux.md` states once that the specification wins over any page.
47
- - Every component, state and accessibility fix a story must carry is a `UX-n` of "Elements to
48
- build", none renumbered.
49
-
50
- ## Accessibility
51
-
52
- - Every item of `references/accessibility-check.md` has a result in "Accessibility check".
53
- - No blocking finding is left without a fix or the creator's explicit acceptance.
5
+ - Header `id: ux`, `kind: ux`, `owner: stella`, `links`; no `status`, `cost`, `progress`; no
6
+ identifier defined; no placeholder, comment, answered `[open: G-…]` or template sample
7
+ (`#FFFFFF`, `#0F62FE`, `16px`…) unless chosen. `docs check` clean.
8
+ - Every journey has a key flow; every screen serves one, lists its states, has a numbered sketch;
9
+ nothing asks for what the PRD does not state; every `{…}` is defined.
10
+ - Every accessibility item has a result; no blocking finding unfixed.
54
11
 
55
12
  ## Excess (over-specification)
56
13
 
57
- A specification says each thing once, at the level a builder needs. Each excess is a finding,
58
- minor unless it hides a decision; for an independent verdict, ask a sub-agent for the method
59
- `judgment` (skill `critique-deliverable`), reported in its closed form.
60
-
61
- - **One home per value.** A size, colour or duration written inline that a token already names,
62
- or that a rule would give.
63
- - **One home per fact.** Content copied from the PRD that its identifier would carry.
64
- - **A reader per section.** Ask who would miss it; a section nobody builds from, or a story
65
- about the brand that settles no choice, goes.
66
- - **Reachable.** A screen or a state that no journey of the PRD reaches.
67
-
68
- ## Form
14
+ Each a finding; for a verdict, a sub-agent runs `judgment` (skill `critique-deliverable`).
69
15
 
70
- - The terms are those of the PRD's glossary.
71
- - Tables are used where they read better than prose; no section is padded.
72
- - No guidance comment and no "Generated by agentplugged" line is left.
73
- - The stack and the code are left to Alex and the developers: a preference is noted, never
74
- decided.
16
+ - **One home per value.** An inline value a token names.
17
+ - **One home per fact.** PRD content its identifier carries.
18
+ - **A reader per section.** A section nobody builds from goes.
19
+ - **Reachable.** A screen or state that no journey of the PRD reaches.