agentplugged 1.3.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.
- package/README.md +3 -2
- package/dist/agent-commands.js +25473 -24861
- package/dist/bin.js +1 -2
- package/dist/cli.js +1 -2
- package/dist/dist.js +12205 -0
- package/dist/esm.js +8 -16
- package/dist/forge-follow.js +5 -6
- package/dist/hash.js +9 -12083
- package/dist/helpers.js +257 -514
- package/dist/launcher-env.js +1 -2
- package/dist/launcher.js +3 -4
- package/dist/libsodium-wrappers.js +2 -4
- package/dist/libsodium-wrappers2.js +2 -4
- package/dist/main.js +791 -152
- package/dist/method/agents/alex/SKILL.md +13 -29
- package/dist/method/agents/alex/agent.yaml +1 -1
- package/dist/method/agents/basile/SKILL.md +44 -0
- package/dist/method/agents/basile/agent.yaml +69 -0
- package/dist/method/agents/chloe/SKILL.md +12 -25
- package/dist/method/agents/chloe/agent.yaml +3 -3
- package/dist/method/agents/ethan/SKILL.md +8 -9
- package/dist/method/agents/ethan/agent.yaml +9 -8
- package/dist/method/agents/hugo/SKILL.md +8 -8
- package/dist/method/agents/hugo/agent.yaml +9 -8
- package/dist/method/agents/iris/SKILL.md +4 -10
- package/dist/method/agents/izzy/SKILL.md +68 -91
- package/dist/method/agents/izzy/agent.yaml +8 -15
- package/dist/method/agents/jade/SKILL.md +7 -9
- package/dist/method/agents/jade/agent.yaml +9 -8
- package/dist/method/agents/julien/SKILL.md +38 -58
- package/dist/method/agents/lina/SKILL.md +7 -9
- package/dist/method/agents/lina/agent.yaml +9 -8
- package/dist/method/agents/lou/SKILL.md +4 -11
- package/dist/method/agents/lou/agent.yaml +2 -2
- package/dist/method/agents/maya/SKILL.md +12 -19
- package/dist/method/agents/maya/agent.yaml +1 -3
- package/dist/method/agents/milo/SKILL.md +21 -32
- package/dist/method/agents/noah/SKILL.md +109 -63
- package/dist/method/agents/noah/agent.yaml +14 -31
- package/dist/method/agents/noah/references/decisions.md +61 -121
- package/dist/method/agents/noah/references/environment.md +30 -70
- package/dist/method/agents/noah/references/facts.md +22 -11
- package/dist/method/agents/noah/references/journey.md +26 -78
- package/dist/method/agents/noah/references/team.md +63 -190
- package/dist/method/agents/omar/SKILL.md +12 -28
- package/dist/method/agents/omar/agent.yaml +1 -1
- package/dist/method/agents/quentin/SKILL.md +7 -15
- package/dist/method/agents/quentin/agent.yaml +4 -2
- package/dist/method/agents/sam/SKILL.md +6 -8
- package/dist/method/agents/sam/agent.yaml +9 -8
- package/dist/method/agents/stella/SKILL.md +6 -14
- package/dist/method/agents/stella/agent.yaml +1 -1
- package/dist/method/agents/tess/SKILL.md +7 -14
- package/dist/method/agents/tess/agent.yaml +2 -2
- package/dist/method/agents/zoe/SKILL.md +9 -21
- package/dist/method/doctor.yaml +23 -4
- package/dist/method/models.yaml +12 -0
- package/dist/method/skills/acceptance-qa/SKILL.md +1 -1
- package/dist/method/skills/acceptance-qa/references/run.md +24 -32
- package/dist/method/skills/acceptance-qa/references/scenarios.md +16 -19
- package/dist/method/skills/acceptance-qa/references/verdicts.md +10 -16
- package/dist/method/skills/api-e2e-tests/SKILL.md +46 -46
- package/dist/method/skills/audit-pillars/SKILL.md +12 -10
- package/dist/method/skills/audit-pillars/references/pillars.md +40 -0
- package/dist/method/skills/chain-stories/SKILL.md +5 -4
- package/dist/method/skills/chain-stories/references/merge-order.md +23 -0
- package/dist/method/skills/check-readiness/SKILL.md +1 -1
- package/dist/method/skills/check-requirements/SKILL.md +37 -72
- package/dist/method/skills/check-requirements/references/engine-proofs.md +16 -23
- package/dist/method/skills/check-requirements/references/proofs-and-gaps.md +22 -37
- package/dist/method/skills/critique-deliverable/SKILL.md +3 -3
- package/dist/method/skills/critique-deliverable/references/choose.md +12 -21
- package/dist/method/skills/critique-deliverable/references/format.md +14 -20
- package/dist/method/skills/critique-deliverable/references/gestures.md +14 -21
- package/dist/method/skills/critique-deliverable/references/judgment.md +4 -9
- package/dist/method/skills/critique-deliverable/references/methods.md +21 -0
- package/dist/method/skills/critique-deliverable/references/reconcile.md +6 -11
- package/dist/method/skills/deep-research/SKILL.md +16 -24
- package/dist/method/skills/deep-research/references/candidates.md +13 -25
- package/dist/method/skills/deep-research/references/external.md +15 -34
- package/dist/method/skills/deep-research/references/page-format.md +16 -42
- package/dist/method/skills/deep-research/references/types.md +16 -27
- package/dist/method/skills/develop-story/SKILL.md +56 -189
- package/dist/method/skills/develop-story/references/acceptance-tests.md +18 -71
- package/dist/method/skills/develop-story/references/quick-lane.md +20 -0
- package/dist/method/skills/diagnose-bug/SKILL.md +42 -53
- package/dist/method/skills/diagnose-bug/references/hypotheses.md +1 -2
- package/dist/method/skills/generate-knowledge-base/SKILL.md +57 -226
- package/dist/method/skills/generate-knowledge-base/assets/index-template.md +6 -15
- package/dist/method/skills/generate-knowledge-base/assets/page-template.md +11 -24
- package/dist/method/skills/generate-knowledge-base/references/living-docs.md +25 -64
- package/dist/method/skills/generate-knowledge-base/references/reuse-map.md +9 -18
- package/dist/method/skills/ideation/SKILL.md +16 -23
- package/dist/method/skills/ideation/references/close.md +18 -14
- package/dist/method/skills/ideation/references/converge.md +11 -21
- package/dist/method/skills/ideation/references/stances.md +13 -17
- package/dist/method/skills/ideation/references/techniques.md +20 -0
- package/dist/method/skills/improve-code/SKILL.md +42 -54
- package/dist/method/skills/pitch/SKILL.md +16 -19
- package/dist/method/skills/pitch/references/deck.md +15 -18
- package/dist/method/skills/pitch/references/design-implementation.md +13 -21
- package/dist/method/skills/pitch/references/design.md +21 -0
- package/dist/method/skills/pitch/references/story.md +13 -18
- package/dist/method/skills/plan-sprint/SKILL.md +49 -151
- package/dist/method/skills/resolve-merge-conflict/SKILL.md +40 -65
- package/dist/method/skills/review-after-launch/SKILL.md +56 -0
- package/dist/method/skills/review-story/SKILL.md +44 -72
- package/dist/method/skills/review-story/references/amend-story.md +8 -13
- package/dist/method/skills/review-story/references/export.md +7 -17
- package/dist/method/skills/review-story/references/free-review.md +9 -20
- package/dist/method/skills/review-story/references/judge.md +25 -37
- package/dist/method/skills/review-story/references/tests.md +29 -0
- package/dist/method/skills/round-table/SKILL.md +6 -6
- package/dist/method/skills/round-table/references/closing.md +18 -0
- package/dist/method/skills/round-table/references/guests.md +15 -15
- package/dist/method/skills/round-table/references/rooms.md +15 -28
- package/dist/method/skills/round-table/references/table.md +19 -0
- package/dist/method/skills/run-acceptance/SKILL.md +58 -0
- package/dist/method/skills/run-acceptance/references/template.md +39 -0
- package/dist/method/skills/run-retrospective/SKILL.md +50 -189
- package/dist/method/skills/security-review-architecture/SKILL.md +47 -109
- package/dist/method/skills/security-review-architecture/references/spec-review.md +27 -38
- package/dist/method/skills/setup-ci/SKILL.md +45 -109
- package/dist/method/skills/split-into-stories/SKILL.md +59 -192
- package/dist/method/skills/split-into-stories/assets/story.md.tmpl +15 -4
- package/dist/method/skills/strategy/SKILL.md +21 -25
- package/dist/method/skills/strategy/references/costs.md +12 -26
- package/dist/method/skills/strategy/references/gestures.md +12 -21
- package/dist/method/skills/strategy/references/innovate.md +19 -37
- package/dist/method/skills/strategy/references/solve.md +19 -32
- package/dist/method/skills/test-idea/SKILL.md +5 -5
- package/dist/method/skills/test-idea/assets/prfaq-template.md +1 -1
- package/dist/method/skills/test-idea/references/faq.md +12 -29
- package/dist/method/skills/test-idea/references/forge.md +19 -30
- package/dist/method/skills/test-idea/references/personas.md +16 -19
- package/dist/method/skills/test-idea/references/prfaq.md +31 -31
- package/dist/method/skills/workshop/SKILL.md +10 -16
- package/dist/method/skills/workshop/references/create.md +28 -45
- package/dist/method/skills/workshop/references/customize.md +17 -42
- package/dist/method/skills/workshop/references/evaluate.md +11 -42
- package/dist/method/skills/workshop/references/rules.md +17 -26
- package/dist/method/skills/write-architecture/SKILL.md +62 -220
- package/dist/method/skills/write-architecture/references/guard.md +11 -28
- package/dist/method/skills/write-architecture/references/self-check.md +22 -38
- package/dist/method/skills/write-brand/SKILL.md +2 -2
- package/dist/method/skills/write-brand/references/identity.md +21 -22
- package/dist/method/skills/write-brand/references/platform.md +13 -20
- package/dist/method/skills/write-brand/references/rules.md +16 -22
- package/dist/method/skills/write-brief/SKILL.md +56 -149
- package/dist/method/skills/write-brief/references/brief-checklist.md +18 -30
- package/dist/method/skills/write-content/SKILL.md +53 -210
- package/dist/method/skills/write-content/references/content-checklist.md +32 -50
- package/dist/method/skills/write-positioning/SKILL.md +53 -197
- package/dist/method/skills/write-positioning/references/positioning-checklist.md +15 -41
- package/dist/method/skills/write-positioning/references/seo-checklist.md +26 -51
- package/dist/method/skills/write-prd/SKILL.md +52 -179
- package/dist/method/skills/write-prd/references/prd-checklist.md +25 -54
- package/dist/method/skills/write-sales/SKILL.md +48 -212
- package/dist/method/skills/write-sales/references/before-you-send.md +21 -49
- package/dist/method/skills/write-sales/references/sales-checklist.md +19 -69
- package/dist/method/skills/write-spec/references/spec-guide.md +20 -23
- package/dist/method/skills/write-ux-spec/SKILL.md +57 -168
- package/dist/method/skills/write-ux-spec/references/accessibility-check.md +13 -72
- package/dist/method/skills/write-ux-spec/references/mockups.md +6 -68
- package/dist/method/skills/write-ux-spec/references/tokens-and-sketches.md +8 -81
- package/dist/method/skills/write-ux-spec/references/ux-checklist.md +12 -67
- package/dist/product-root.js +353 -250
- package/dist/project-command.js +1508 -0
- package/dist/project-command2.js +1 -0
- package/dist/read-command.js +19 -0
- package/dist/rolldown-runtime.js +1 -2
- package/dist/sheet-command.js +57 -0
- package/dist/webauthn-verify.js +4 -5
- package/package.json +11 -10
- package/dist/method/agents/noah/references/conduct.md +0 -102
- package/dist/method/skills/api-e2e-tests/references/frameworks.md +0 -58
- package/dist/method/skills/api-e2e-tests/references/generate.md +0 -67
- package/dist/method/skills/audit-pillars/references/accessibility.md +0 -13
- package/dist/method/skills/audit-pillars/references/architecture.md +0 -13
- package/dist/method/skills/audit-pillars/references/dependencies.md +0 -13
- package/dist/method/skills/audit-pillars/references/format.md +0 -20
- package/dist/method/skills/audit-pillars/references/interface.md +0 -13
- package/dist/method/skills/audit-pillars/references/method.md +0 -33
- package/dist/method/skills/audit-pillars/references/performance.md +0 -17
- package/dist/method/skills/audit-pillars/references/quality.md +0 -11
- package/dist/method/skills/audit-pillars/references/security.md +0 -13
- package/dist/method/skills/audit-pillars/references/tests.md +0 -17
- package/dist/method/skills/critique-deliverable/references/assumption-audit.md +0 -11
- package/dist/method/skills/critique-deliverable/references/compare-existing.md +0 -13
- package/dist/method/skills/critique-deliverable/references/devils-advocate.md +0 -13
- package/dist/method/skills/critique-deliverable/references/divergence.md +0 -15
- package/dist/method/skills/critique-deliverable/references/domain-expert.md +0 -14
- package/dist/method/skills/critique-deliverable/references/extreme-user.md +0 -13
- package/dist/method/skills/critique-deliverable/references/failure-modes.md +0 -13
- package/dist/method/skills/critique-deliverable/references/first-principles.md +0 -12
- package/dist/method/skills/critique-deliverable/references/inversion.md +0 -13
- package/dist/method/skills/critique-deliverable/references/pre-mortem.md +0 -12
- package/dist/method/skills/critique-deliverable/references/red-team.md +0 -12
- package/dist/method/skills/critique-deliverable/references/reframe.md +0 -12
- package/dist/method/skills/critique-deliverable/references/second-order.md +0 -12
- package/dist/method/skills/critique-deliverable/references/socratic.md +0 -15
- package/dist/method/skills/critique-deliverable/references/steelman.md +0 -13
- package/dist/method/skills/critique-deliverable/references/subtraction.md +0 -12
- package/dist/method/skills/develop-story/references/self-check.md +0 -46
- package/dist/method/skills/generate-knowledge-base/references/kb-checklist.md +0 -49
- package/dist/method/skills/generate-knowledge-base/references/repository-scan.md +0 -48
- package/dist/method/skills/ideation/references/choose.md +0 -21
- package/dist/method/skills/ideation/references/gestures.md +0 -15
- package/dist/method/skills/ideation/references/techniques-borrowed.md +0 -8
- package/dist/method/skills/ideation/references/techniques-deep.md +0 -12
- package/dist/method/skills/ideation/references/techniques-frames.md +0 -12
- package/dist/method/skills/ideation/references/techniques-futures.md +0 -8
- package/dist/method/skills/ideation/references/techniques-limits.md +0 -9
- package/dist/method/skills/ideation/references/techniques-people.md +0 -7
- package/dist/method/skills/ideation/references/techniques-sparks.md +0 -10
- package/dist/method/skills/ideation/references/techniques-together.md +0 -11
- package/dist/method/skills/order-merges/SKILL.md +0 -71
- package/dist/method/skills/pitch/references/deck-types.md +0 -17
- package/dist/method/skills/pitch/references/design-methods.md +0 -45
- package/dist/method/skills/pitch/references/design-thinking.md +0 -28
- package/dist/method/skills/pitch/references/story-frameworks.md +0 -39
- package/dist/method/skills/quick-lane/SKILL.md +0 -143
- package/dist/method/skills/review-tests/SKILL.md +0 -32
- package/dist/method/skills/review-tests/references/check.md +0 -25
- package/dist/method/skills/review-tests/references/grid.md +0 -27
- package/dist/method/skills/round-table/references/cast.md +0 -14
- package/dist/method/skills/round-table/references/gestures.md +0 -24
- package/dist/method/skills/round-table/references/independence.md +0 -21
- package/dist/method/skills/round-table/references/three-views.md +0 -17
- package/dist/method/skills/round-table/references/turns.md +0 -19
- package/dist/method/skills/strategy/references/innovate-frameworks.md +0 -48
- package/dist/method/skills/strategy/references/solve-methods.md +0 -45
- package/dist/method/skills/test-idea/references/bets.md +0 -14
- package/dist/method/skills/test-idea/references/concept.md +0 -24
- package/dist/method/skills/test-idea/references/verdict.md +0 -26
- 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
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
the
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
-
|
|
30
|
-
|
|
31
|
-
`partial`:
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
- **
|
|
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.**
|
|
57
|
-
`
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
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
|
-
-
|
|
187
|
-
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
|
|
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 `<`, `>`, `&`: 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
|
-
|
|
4
|
-
`
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
4
|
-
needs the creator, ask them, one question at a time, or open a `decision` checkpoint.
|
|
3
|
+
Run before showing it.
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
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
|
-
|
|
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
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
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.
|