wize-dev-kit 0.16.0 → 0.17.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/AGENTS.md +37 -0
- package/ARCH.md +77 -24
- package/CHANGELOG.md +14 -0
- package/DECISIONS.md +27 -1
- package/README.es.md +296 -0
- package/README.md +3 -2
- package/README.pt-BR.md +294 -0
- package/ROSTER.md +11 -3
- package/adapters/README.md +9 -7
- package/adapters/antigravity/README.md +5 -5
- package/adapters/claude-code/README.md +1 -1
- package/adapters/codex/README.md +5 -5
- package/adapters/codex/adapter.yaml +1 -1
- package/adapters/codex/render.js +1 -1
- package/adapters/continue/README.md +5 -5
- package/adapters/cursor/README.md +2 -2
- package/adapters/generic/README.md +1 -1
- package/adapters/hermes/README.md +23 -0
- package/adapters/hermes/adapter.yaml +8 -0
- package/adapters/hermes/render.js +17 -0
- package/adapters/kimi-code/README.md +5 -5
- package/adapters/kimi-code/render.js +2 -2
- package/adapters/kiro/README.md +30 -0
- package/adapters/kiro/adapter.yaml +8 -0
- package/adapters/kiro/render.js +21 -0
- package/adapters/opencode/README.md +3 -3
- package/adapters/opencode/render.js +27 -1
- package/adapters/windsurf/README.md +3 -3
- package/docs/harnesses/antigravity.md +20 -0
- package/docs/harnesses/antigravity.pt-BR.md +20 -0
- package/docs/harnesses/claude-code.md +23 -0
- package/docs/harnesses/claude-code.pt-BR.md +23 -0
- package/docs/harnesses/codex.md +21 -0
- package/docs/harnesses/codex.pt-BR.md +21 -0
- package/docs/harnesses/continue.md +21 -0
- package/docs/harnesses/continue.pt-BR.md +21 -0
- package/docs/harnesses/cursor.md +22 -0
- package/docs/harnesses/cursor.pt-BR.md +22 -0
- package/docs/harnesses/generic.md +20 -0
- package/docs/harnesses/generic.pt-BR.md +20 -0
- package/docs/harnesses/hermes.md +26 -0
- package/docs/harnesses/hermes.pt-BR.md +26 -0
- package/docs/harnesses/kimi-code.md +19 -0
- package/docs/harnesses/kimi-code.pt-BR.md +19 -0
- package/docs/harnesses/kiro.md +26 -0
- package/docs/harnesses/kiro.pt-BR.md +26 -0
- package/docs/harnesses/opencode.md +31 -0
- package/docs/harnesses/opencode.pt-BR.md +31 -0
- package/docs/harnesses/windsurf.md +22 -0
- package/docs/harnesses/windsurf.pt-BR.md +22 -0
- package/package.json +1 -1
- package/schemas/agent.schema.json +2 -2
- package/schemas/workflow.schema.json +1 -1
- package/src/app-overlay/wize-app-release-channels/workflow.md +2 -0
- package/src/app-overlay/wize-app-scaffold/workflow.md +2 -0
- package/src/app-overlay/wize-app-store-listing/workflow.md +2 -0
- package/src/builder-skills/wize-create-agent/workflow.md +2 -0
- package/src/builder-skills/wize-create-skill/workflow.md +2 -0
- package/src/builder-skills/wize-create-workflow/workflow.md +2 -0
- package/src/core-skills/wize-advanced-elicitation/skill.md +2 -0
- package/src/core-skills/wize-brainstorming/skill.md +2 -0
- package/src/core-skills/wize-customize/skill.md +116 -0
- package/src/core-skills/wize-editorial-review-prose/skill.md +94 -0
- package/src/core-skills/wize-editorial-review-structure/skill.md +99 -0
- package/src/core-skills/wize-grill/skill.md +77 -0
- package/src/core-skills/wize-index-docs/skill.md +119 -0
- package/src/core-skills/wize-pre-pr-check/skill.md +134 -0
- package/src/core-skills/wize-review-adversarial/skill.md +3 -0
- package/src/core-skills/wize-review-edge-case-hunter/skill.md +115 -0
- package/src/core-skills/wize-shard-doc/skill.md +2 -0
- package/src/core-skills/wize-spec/assets/headless-schemas.md +39 -0
- package/src/core-skills/wize-spec/assets/spec-template.md +40 -0
- package/src/core-skills/wize-spec/customize.toml +20 -0
- package/src/core-skills/wize-spec/skill.md +112 -0
- package/src/method-skills/1-analysis/wize-agent-analyst/agent.yaml +3 -0
- package/src/method-skills/1-analysis/wize-document-project/documentation-requirements.csv +12 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/api-contracts-template.md +38 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/architecture-template.md +54 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/component-inventory-template.md +40 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/contribution-guide-template.md +34 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/data-models-template.md +36 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/deep-dive-template.md +312 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/deployment-guide-template.md +42 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/development-guide-template.md +61 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/index-template.md +185 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/project-overview-template.md +110 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/project-scan-report-schema.json +159 -0
- package/src/method-skills/1-analysis/wize-document-project/templates/source-tree-template.md +142 -0
- package/src/method-skills/1-analysis/wize-document-project/workflow.md +213 -20
- package/src/method-skills/1-analysis/wize-domain-research/customize.toml +14 -0
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-01-init.md +49 -0
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-02-domain-analysis.md +39 -0
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-03-competitive-landscape.md +39 -0
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-04-regulatory-focus.md +39 -0
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-05-technical-trends.md +39 -0
- package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-06-research-synthesis.md +43 -0
- package/src/method-skills/1-analysis/wize-domain-research/research.template.md +31 -0
- package/src/method-skills/1-analysis/wize-domain-research/workflow.md +58 -0
- package/src/method-skills/1-analysis/wize-market-research/customize.toml +14 -0
- package/src/method-skills/1-analysis/wize-market-research/research.template.md +31 -0
- package/src/method-skills/1-analysis/wize-market-research/steps/step-01-init.md +57 -0
- package/src/method-skills/1-analysis/wize-market-research/steps/step-02-customer-behavior.md +39 -0
- package/src/method-skills/1-analysis/wize-market-research/steps/step-03-customer-pain-points.md +37 -0
- package/src/method-skills/1-analysis/wize-market-research/steps/step-04-customer-decisions.md +39 -0
- package/src/method-skills/1-analysis/wize-market-research/steps/step-05-competitive-analysis.md +37 -0
- package/src/method-skills/1-analysis/wize-market-research/steps/step-06-research-completion.md +47 -0
- package/src/method-skills/1-analysis/wize-market-research/workflow.md +66 -0
- package/src/method-skills/1-analysis/wize-prfaq/workflow.md +152 -11
- package/src/method-skills/1-analysis/wize-product-brief/workflow.md +92 -19
- package/src/method-skills/1-analysis/wize-refresh-knowledge/workflow.md +129 -0
- package/src/method-skills/1-analysis/wize-research/workflow.md +39 -12
- package/src/method-skills/1-analysis/wize-technical-research/customize.toml +14 -0
- package/src/method-skills/1-analysis/wize-technical-research/research.template.md +31 -0
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-01-init.md +49 -0
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-02-technical-overview.md +45 -0
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-03-integration-patterns.md +39 -0
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-04-architectural-patterns.md +39 -0
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-05-implementation-research.md +42 -0
- package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-06-research-synthesis.md +46 -0
- package/src/method-skills/1-analysis/wize-technical-research/workflow.md +60 -0
- package/src/method-skills/1-analysis/wize-trigger-map/workflow.md +82 -16
- package/src/method-skills/2-plan-workflows/wize-create-prd/workflow.md +135 -23
- package/src/method-skills/2-plan-workflows/wize-edit-prd/workflow.md +110 -0
- package/src/method-skills/2-plan-workflows/wize-ux-design/workflow.md +134 -28
- package/src/method-skills/2-plan-workflows/wize-ux-scenarios/workflow.md +93 -15
- package/src/method-skills/2-plan-workflows/wize-validate-prd/workflow.md +108 -12
- package/src/method-skills/3-solutioning/wize-check-implementation-readiness/workflow.md +103 -11
- package/src/method-skills/3-solutioning/wize-create-architecture/architecture-decision-template.md +41 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/customize.toml +20 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01-init.md +95 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01b-continue.md +32 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-02-context.md +126 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-03-starter.md +110 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-04-decisions.md +129 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-05-patterns.md +109 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-06-structure.md +97 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-07-validation.md +124 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-08-complete.md +59 -0
- package/src/method-skills/3-solutioning/wize-create-architecture/workflow.md +55 -48
- package/src/method-skills/3-solutioning/wize-create-epics-and-stories/workflow.md +154 -15
- package/src/method-skills/3-solutioning/wize-design-system/workflow.md +184 -22
- package/src/method-skills/3-solutioning/wize-nfr-principles/workflow.md +145 -17
- package/src/method-skills/3-solutioning/wize-project-context/workflow.md +120 -0
- package/src/method-skills/3-solutioning/wize-tech-vision/workflow.md +130 -22
- package/src/method-skills/4-implementation/wize-agent-dev/persona.md +12 -0
- package/src/method-skills/4-implementation/wize-changelog/workflow.md +184 -0
- package/src/method-skills/4-implementation/wize-checkpoint-preview/workflow.md +117 -0
- package/src/method-skills/4-implementation/wize-code-review/customize.toml +21 -0
- package/src/method-skills/4-implementation/wize-code-review/steps/step-01-gather-context.md +64 -0
- package/src/method-skills/4-implementation/wize-code-review/steps/step-02-review.md +40 -0
- package/src/method-skills/4-implementation/wize-code-review/steps/step-03-triage.md +43 -0
- package/src/method-skills/4-implementation/wize-code-review/steps/step-04-present.md +100 -0
- package/src/method-skills/4-implementation/wize-code-review/workflow.md +54 -12
- package/src/method-skills/4-implementation/wize-correct-course/workflow.md +93 -0
- package/src/method-skills/4-implementation/wize-create-story/workflow.md +154 -10
- package/src/method-skills/4-implementation/wize-dev-story/workflow.md +185 -17
- package/src/method-skills/4-implementation/wize-investigate/workflow.md +123 -0
- package/src/method-skills/4-implementation/wize-quick-dev/workflow.md +136 -18
- package/src/method-skills/4-implementation/wize-release/workflow.md +162 -0
- package/src/method-skills/4-implementation/wize-retrospective/workflow.md +114 -10
- package/src/method-skills/4-implementation/wize-sprint-planning/workflow.md +78 -11
- package/src/method-skills/4-implementation/wize-sprint-status/workflow.md +45 -11
- package/src/method-skills/module.yaml +28 -0
- package/src/orchestrator-skills/module.yaml +7 -1
- package/src/orchestrator-skills/wize/skill.md +164 -0
- package/src/orchestrator-skills/wize-check/skill.md +98 -0
- package/src/orchestrator-skills/wize-help/skill.md +227 -67
- package/src/orchestrator-skills/wize-onboarding/workflow.md +78 -14
- package/src/orchestrator-skills/wize-orchestrator/agent.yaml +2 -0
- package/src/orchestrator-skills/wize-orchestrator/persona.md +44 -3
- package/src/orchestrator-skills/wize-party-mode/workflow.md +2 -0
- package/src/security-overlay/_shared/allowlist.js +154 -0
- package/src/security-overlay/_shared/backlog.js +169 -0
- package/src/security-overlay/_shared/cli-runner.js +87 -0
- package/src/security-overlay/_shared/cvss.js +108 -0
- package/src/security-overlay/_shared/detect.js +125 -0
- package/src/security-overlay/_shared/install-script.js +205 -0
- package/src/security-overlay/_shared/invoke-phase.js +86 -0
- package/src/security-overlay/_shared/owasp.js +56 -0
- package/src/security-overlay/_shared/partial.js +225 -0
- package/src/security-overlay/_shared/preflight.js +175 -0
- package/src/security-overlay/_shared/scope-gate.js +172 -0
- package/src/security-overlay/_shared/scope-parser.js +147 -0
- package/src/security-overlay/agents/red-teamer/agent.yaml +54 -0
- package/src/security-overlay/agents/red-teamer/persona.md +49 -0
- package/src/security-overlay/data/common.txt +115 -0
- package/src/security-overlay/data/owasp-top10.json +15 -0
- package/src/security-overlay/data/tool-allowlist.json +31 -0
- package/src/security-overlay/skills/wize-sec-enumerate/scripts/run-enumerate.js +180 -0
- package/src/security-overlay/skills/wize-sec-enumerate/skill.md +34 -0
- package/src/security-overlay/skills/wize-sec-exploit/data/common.txt +117 -0
- package/src/security-overlay/skills/wize-sec-exploit/scripts/run-ffuf.js +147 -0
- package/src/security-overlay/skills/wize-sec-exploit/scripts/run-nikto.js +145 -0
- package/src/security-overlay/skills/wize-sec-exploit/scripts/run-nuclei.js +176 -0
- package/src/security-overlay/skills/wize-sec-exploit/scripts/run-sqlmap.js +139 -0
- package/src/security-overlay/skills/wize-sec-pentest/scripts/run-pipeline.js +184 -0
- package/src/security-overlay/skills/wize-sec-pentest/skill.md +54 -0
- package/src/security-overlay/skills/wize-sec-recon/scripts/run-gitleaks.js +139 -0
- package/src/security-overlay/skills/wize-sec-recon/scripts/run-osv.js +227 -0
- package/src/security-overlay/skills/wize-sec-recon/scripts/run-recon.js +162 -0
- package/src/security-overlay/skills/wize-sec-recon/skill.md +37 -0
- package/src/security-overlay/skills/wize-sec-report/scripts/render-report.js +1033 -0
- package/src/security-overlay/skills/wize-sec-scope/scripts/generate-scope.js +106 -0
- package/src/security-overlay/skills/wize-sec-scope/skill.md +52 -0
- package/src/tea-skills/wize-qa-generate-e2e-tests/workflow.md +121 -0
- package/src/tea-skills/wize-tea-design/workflow.md +107 -13
- package/src/tea-skills/wize-tea-gate/workflow.md +118 -25
- package/src/tea-skills/wize-tea-nfr/workflow.md +107 -14
- package/src/tea-skills/wize-tea-review/workflow.md +123 -13
- package/src/tea-skills/wize-tea-risk/workflow.md +113 -10
- package/src/tea-skills/wize-tea-trace/workflow.md +86 -12
- package/src/web-overlay/wize-web-deploy/workflow.md +2 -0
- package/src/web-overlay/wize-web-scaffold/workflow.md +2 -0
- package/src/web-overlay/wize-web-seo-audit/workflow.md +2 -0
- package/tools/check-eli5-all-adapters.js +3 -2
- package/tools/installer/baseline.js +138 -0
- package/tools/installer/commands/agent.js +197 -0
- package/tools/installer/commands/doctor.js +321 -0
- package/tools/installer/commands/document-project.js +93 -0
- package/tools/installer/commands/sync.js +45 -0
- package/tools/installer/commands/update.js +172 -0
- package/tools/installer/document-project/batch-scanner.js +93 -0
- package/tools/installer/document-project/classify.js +170 -0
- package/tools/installer/document-project/modes/deep-dive.js +196 -0
- package/tools/installer/document-project/modes/full-rescan.js +15 -0
- package/tools/installer/document-project/modes/initial-scan.js +100 -0
- package/tools/installer/document-project/modes/quick.js +211 -0
- package/tools/installer/document-project/render-index.js +101 -0
- package/tools/installer/document-project/state.js +110 -0
- package/tools/installer/onboarding.js +14 -20
- package/tools/installer/render-shared.js +159 -15
- package/tools/installer/setup-helpers.js +2 -0
- package/tools/installer/validators/run-all.js +3 -2
- package/tools/installer/version-check.js +117 -0
- package/tools/installer/wize-cli.js +501 -70
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
code: wize-edit-prd
|
|
4
|
+
description: "Use quando o PRD existir e precisar de alteração pontual com registro de changelog."
|
|
5
|
+
name: Edit PRD
|
|
6
|
+
phase: 2-plan
|
|
7
|
+
owner: wize-agent-pm # Maria Hill
|
|
8
|
+
status: ready
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Edit PRD
|
|
12
|
+
|
|
13
|
+
**Goal.** Update `.wize/planning/prd.md` without rewriting from scratch. Every change is recorded in `.wize/planning/prd-changelog.md` so the team can see *what* changed, *when*, *why*, and *by whom*.
|
|
14
|
+
|
|
15
|
+
Maria Hill drives. Peggy polishes prose on the diff. Wizer is on call for cross-cutting impacts (architecture, NFR, scope).
|
|
16
|
+
|
|
17
|
+
## When to run
|
|
18
|
+
|
|
19
|
+
- A new AC is needed (new requirement from the user, market shift, regulator).
|
|
20
|
+
- An AC is no longer correct (validated learning, scoping mistake).
|
|
21
|
+
- An item moves in-scope ↔ out-of-scope.
|
|
22
|
+
- A non-goal is added or removed.
|
|
23
|
+
- A new decision is made that affects the PRD (e.g., cut a feature).
|
|
24
|
+
|
|
25
|
+
## When NOT to run
|
|
26
|
+
|
|
27
|
+
- Rewriting the PRD from scratch → use `/wize-create-prd`.
|
|
28
|
+
- Validating the PRD → use `/wize-validate-prd`.
|
|
29
|
+
|
|
30
|
+
## Inputs
|
|
31
|
+
|
|
32
|
+
- `.wize/planning/prd.md` (current)
|
|
33
|
+
- A free-form change request from the user.
|
|
34
|
+
|
|
35
|
+
## Output
|
|
36
|
+
|
|
37
|
+
- Updated `.wize/planning/prd.md`.
|
|
38
|
+
- New row in `.wize/planning/prd-changelog.md` (one row per change).
|
|
39
|
+
|
|
40
|
+
## Steps
|
|
41
|
+
|
|
42
|
+
### 1. Read the current PRD
|
|
43
|
+
|
|
44
|
+
Parse the PRD frontmatter (`status`, `owner`, `created`, `last_updated`) and the body. Confirm the change is in scope of "edit" (not a rewrite). If the change touches > 25% of the PRD, route to `/wize-create-prd` instead.
|
|
45
|
+
|
|
46
|
+
### 2. Classify the edit
|
|
47
|
+
|
|
48
|
+
Pick exactly one type:
|
|
49
|
+
|
|
50
|
+
- **A** — Add or change an AC.
|
|
51
|
+
- **B** — Move item in-scope ↔ out-of-scope.
|
|
52
|
+
- **C** — Add or remove a non-goal.
|
|
53
|
+
- **D** — Register a decision that affects the PRD (link to ADR or sprint decision).
|
|
54
|
+
|
|
55
|
+
One edit per run. Re-run for additional edits.
|
|
56
|
+
|
|
57
|
+
### 3. Apply the edit
|
|
58
|
+
|
|
59
|
+
Make the change in `prd.md`. Mark the changed section with a trailing note: `(edited 2026-06-15, see changelog row 4)`.
|
|
60
|
+
|
|
61
|
+
Update frontmatter: `last_updated` to today; `status` stays the same (only `/wize-validate-prd` flips it to `validated`).
|
|
62
|
+
|
|
63
|
+
### 4. Append to changelog
|
|
64
|
+
|
|
65
|
+
Add a row to `prd-changelog.md`:
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
| Date | Type | Section | Change | Author |
|
|
69
|
+
|---|---|---|---|---|
|
|
70
|
+
| 2026-06-15 | A | AC-04-2 | Added: "rate limit per team" | Hill |
|
|
71
|
+
| 2026-06-15 | B | Out of scope | Removed "bulk invite" (now in scope per E04-S02) | Hill |
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 5. Cross-cutting check
|
|
75
|
+
|
|
76
|
+
Wizer flags any downstream impact:
|
|
77
|
+
|
|
78
|
+
- New AC → check that the epic + stories covering it exist. If not, route to `/wize-create-epics-and-stories`.
|
|
79
|
+
- New non-goal → check that no in-flight story assumes the opposite. If yes, flag the story.
|
|
80
|
+
- In-scope move → trigger a fresh `/wize-sprint-planning` consideration.
|
|
81
|
+
|
|
82
|
+
### 6. Hand off
|
|
83
|
+
|
|
84
|
+
Notify the next workflow:
|
|
85
|
+
|
|
86
|
+
- If AC changed → `/wize-validate-prd` to confirm consistency.
|
|
87
|
+
- If epic + stories need refresh → `/wize-create-epics-and-stories`.
|
|
88
|
+
- If sprint needs re-prioritization → `/wize-sprint-planning`.
|
|
89
|
+
|
|
90
|
+
## Output template — `prd-changelog.md`
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
# PRD changelog
|
|
94
|
+
|
|
95
|
+
| # | Date | Type | Section | Change | Author |
|
|
96
|
+
|---|---|---|---|---|---|
|
|
97
|
+
| 1 | 2026-06-15 | A | AC-04-2 | Added: "rate limit per team" | Hill |
|
|
98
|
+
| 2 | 2026-06-15 | B | Out of scope | Removed "bulk invite" | Hill |
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Anti-patterns Hill rejects
|
|
102
|
+
|
|
103
|
+
- Editing the PRD without recording the change in the changelog. (Source-of-truth drift.)
|
|
104
|
+
- Bundling 4 edits in one run. (One edit per run keeps blame clean.)
|
|
105
|
+
- Editing the PRD without checking downstream impact. (Wizer’s cross-cutting step is mandatory.)
|
|
106
|
+
- Re-running `/wize-create-prd` to "keep things tidy." The changelog exists for that.
|
|
107
|
+
|
|
108
|
+
## Hand-off
|
|
109
|
+
|
|
110
|
+
> "PRD updated at `.wize/planning/prd.md`. Changelog row N appended. Next: `/wize-validate-prd` (re-validate) or `/wize-create-epics-and-stories` (refresh stories)."
|
|
@@ -1,66 +1,172 @@
|
|
|
1
1
|
---
|
|
2
|
+
|
|
2
3
|
code: wize-ux-design
|
|
4
|
+
description: "Use quando os cenários UX estiverem prontos e precisar produzir especificações página por página para arquitetura e implementação."
|
|
3
5
|
name: UX Design
|
|
4
6
|
phase: 2-plan
|
|
5
7
|
owner: wize-agent-ux-designer # Mantis
|
|
6
8
|
absorbs: "WDS Freya — Phase 4 (Page Specs)"
|
|
7
|
-
status:
|
|
9
|
+
status: ready
|
|
8
10
|
---
|
|
9
11
|
|
|
10
12
|
# UX Design
|
|
11
13
|
|
|
12
|
-
**Goal.**
|
|
14
|
+
**Goal.** Turn scenarios into page-by-page specifications Tony can architect against and Shuri can implement. One spec per screen. Every spec answers: purpose, primary action, layout, content, interactions, states (loading/empty/error/success/disabled), accessibility, and metrics.
|
|
15
|
+
|
|
16
|
+
Mantis drives. Output lands in `.wize/planning/ux/ux-design/{screen-name}.md`.
|
|
13
17
|
|
|
14
18
|
## Inputs
|
|
15
|
-
|
|
16
|
-
- `.wize/planning/
|
|
19
|
+
|
|
20
|
+
- `.wize/planning/ux/ux-scenarios.md` (every screen traces back to ≥ 1 scenario)
|
|
21
|
+
- `.wize/planning/prd.md` (every screen advances at least one AC)
|
|
22
|
+
- `.wize/solutioning/design-system/` (when Mantis already wrote tokens; otherwise this runs in parallel with `wize-design-system`)
|
|
23
|
+
- Overlay playbooks if active:
|
|
24
|
+
- `web-overlay/playbooks/wcag-aa.md`, `responsive-breakpoints.md`, `semantic-html.md`
|
|
25
|
+
- `app-overlay/playbooks/apple-hig.md`, `material-design-3.md`, `touch-targets-and-gestures.md`, `permissions-ux.md`
|
|
17
26
|
|
|
18
27
|
## Outputs
|
|
28
|
+
|
|
19
29
|
- `.wize/planning/ux/ux-design/{screen-name}.md` (one per screen)
|
|
30
|
+
- `.wize/planning/ux/ux-design/index.md` (map of screens → scenarios → PRD ACs)
|
|
31
|
+
|
|
32
|
+
## Steps
|
|
33
|
+
|
|
34
|
+
### 1. Enumerate the screens
|
|
35
|
+
|
|
36
|
+
From the scenarios, list every screen needed to deliver the moment-of-truth. Name them by role + state: `signup-empty.md`, `signup-error.md`, `team-list-with-members.md`, `team-list-empty.md`. Empty/error/loading states are screens.
|
|
37
|
+
|
|
38
|
+
### 2. Per screen: fill the spec template
|
|
20
39
|
|
|
21
|
-
|
|
40
|
+
For each screen, write the spec below. Stay disciplined; if a section is empty, ask why.
|
|
41
|
+
|
|
42
|
+
### 3. Write the index
|
|
43
|
+
|
|
44
|
+
`index.md` is a single table mapping screen → scenarios touched → PRD ACs advanced. Tony reads this first; Hawkeye references it in `tea-design.md`.
|
|
45
|
+
|
|
46
|
+
### 4. Hand off
|
|
47
|
+
|
|
48
|
+
Mark `status: ready-for-architecture` on each spec. Notify Wizer; Tony reads next.
|
|
49
|
+
|
|
50
|
+
## Spec template (one file per screen)
|
|
22
51
|
|
|
23
52
|
```markdown
|
|
24
53
|
---
|
|
25
|
-
screen:
|
|
26
|
-
|
|
54
|
+
screen: signup-empty
|
|
55
|
+
status: ready-for-architecture
|
|
56
|
+
owner: Mantis
|
|
57
|
+
linked_scenarios: [S1]
|
|
58
|
+
linked_acs: [AC-01-1, AC-01-2]
|
|
27
59
|
---
|
|
28
60
|
|
|
29
|
-
#
|
|
61
|
+
# Sign up (empty state)
|
|
30
62
|
|
|
31
63
|
## Purpose
|
|
32
|
-
|
|
64
|
+
First contact: a manager wants to create an account. The goal of *this* screen is to collect work email + password with minimum friction, in service of scenario S1 moment-of-truth (3 invites within 5 minutes).
|
|
33
65
|
|
|
34
66
|
## Primary user action
|
|
35
|
-
|
|
67
|
+
Submit the form (CTA: "Create account").
|
|
68
|
+
|
|
69
|
+
## Layout (ASCII or Mermaid)
|
|
36
70
|
|
|
37
|
-
|
|
71
|
+
(web overlay)
|
|
38
72
|
```
|
|
39
|
-
|
|
40
|
-
│
|
|
41
|
-
|
|
42
|
-
│
|
|
43
|
-
|
|
73
|
+
┌─────────────────────────────────────────────────┐
|
|
74
|
+
│ Wize logo [Sign in →] │
|
|
75
|
+
├─────────────────────────────────────────────────┤
|
|
76
|
+
│ │
|
|
77
|
+
│ Create your team's account │
|
|
78
|
+
│ ────────────────────────── │
|
|
79
|
+
│ [ Work email ] │
|
|
80
|
+
│ [ Password (12+) ] │
|
|
81
|
+
│ │
|
|
82
|
+
│ [ Create account ] │
|
|
83
|
+
│ │
|
|
84
|
+
│ Already a member? Sign in │
|
|
85
|
+
│ │
|
|
86
|
+
└─────────────────────────────────────────────────┘
|
|
44
87
|
```
|
|
45
88
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
89
|
+
(app overlay note: stacked, top-aligned, system back disabled.)
|
|
90
|
+
|
|
91
|
+
## Content (copy)
|
|
92
|
+
|
|
93
|
+
- Headline: "Create your team's account"
|
|
94
|
+
- Sub: (none — keep the screen empty for focus)
|
|
95
|
+
- Field 1 label: "Work email"
|
|
96
|
+
- Field 1 placeholder: "name@yourcompany.com"
|
|
97
|
+
- Field 2 label: "Password"
|
|
98
|
+
- Field 2 helper text: "At least 12 characters."
|
|
99
|
+
- CTA: "Create account"
|
|
100
|
+
- Secondary: "Already a member? Sign in" → routes to /signin
|
|
50
101
|
|
|
51
102
|
## Interactions
|
|
52
|
-
|
|
103
|
+
|
|
104
|
+
- Click CTA with valid form → submit; show loading state; redirect on success.
|
|
105
|
+
- Click CTA with invalid form → set focus to first invalid field; show error region.
|
|
106
|
+
- Tab order: email → password → CTA → "Sign in" link.
|
|
107
|
+
- Enter on either field submits if both are valid.
|
|
53
108
|
|
|
54
109
|
## States
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
110
|
+
|
|
111
|
+
- **Loading:** CTA shows spinner; button is disabled; inputs remain editable.
|
|
112
|
+
- **Empty (this state):** placeholders visible; CTA disabled until both fields non-empty.
|
|
113
|
+
- **Error (inline per field):** error region appears under each field, `role="alert"`, identifies the rule and the fix.
|
|
114
|
+
- **Error (global):** Banner above headline if the back-end fails with a non-field error; provides a "retry" action.
|
|
115
|
+
- **Success:** redirect; no flash. The next screen owns acknowledgement.
|
|
116
|
+
- **Disabled:** CTA opacity 0.4; aria-disabled="true"; tooltip *"Fill both fields to continue"*.
|
|
59
117
|
|
|
60
118
|
## Accessibility notes
|
|
61
|
-
|
|
62
|
-
|
|
119
|
+
|
|
120
|
+
(web overlay)
|
|
121
|
+
- Both inputs have visible persistent labels (no placeholder-only).
|
|
122
|
+
- `lang="en"` on `<html>`.
|
|
123
|
+
- Error region: per-field `aria-describedby`, ALL `role="alert"` after first submit only.
|
|
124
|
+
- Contrast pairs all ≥ 4.5:1 in light mode, ≥ 4.5:1 in dark mode.
|
|
125
|
+
- 200% zoom: no horizontal scroll on 360px viewport.
|
|
126
|
+
- Skip link absent (no main nav before).
|
|
127
|
+
|
|
128
|
+
(app overlay)
|
|
129
|
+
- Apple HIG / Material 3 systemic input components.
|
|
130
|
+
- Dynamic Type / font scale: layout reflows at largest accessibility size; CTA pinned to bottom-safe-area.
|
|
131
|
+
- Touch targets ≥ 44pt (iOS) / 48dp (Android).
|
|
132
|
+
- VoiceOver order: headline → email → password → CTA → secondary link.
|
|
133
|
+
|
|
134
|
+
## Metrics
|
|
135
|
+
|
|
136
|
+
- Event `signup_completed` (Q7 success quote): fires after redirect.
|
|
137
|
+
- Event `signup_error_shown {rule}`: fires on inline error.
|
|
138
|
+
- Event `signup_abandoned`: fires on `beforeunload` if form had focus and CTA never fired.
|
|
139
|
+
|
|
140
|
+
## Open questions for Tony
|
|
141
|
+
|
|
142
|
+
- Should we use Auth0 hosted UI or our own form? (UX-decision is to keep our own; Tony decides feasibility.)
|
|
143
|
+
- Magic-link as an alternative path? Out of scope per PRD; Mantis recommends putting in *Out*.
|
|
63
144
|
```
|
|
64
145
|
|
|
146
|
+
## Index template
|
|
147
|
+
|
|
148
|
+
```markdown
|
|
149
|
+
# UX Design — index
|
|
150
|
+
|
|
151
|
+
| Screen | Scenarios | PRD ACs |
|
|
152
|
+
|---|---|---|
|
|
153
|
+
| signup-empty | S1 | AC-01-1, AC-01-2 |
|
|
154
|
+
| signup-error | S1 | AC-01-2 |
|
|
155
|
+
| onboarding-step-1 | S1 | AC-02-1 |
|
|
156
|
+
| team-list-empty | S1, S2 | AC-03-1 |
|
|
157
|
+
| team-list-with-members | S1, S2 | AC-03-2, AC-03-3 |
|
|
158
|
+
| invite-modal | S1, S2 | AC-02-2, AC-02-3 |
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Anti-patterns Mantis rejects
|
|
162
|
+
|
|
163
|
+
- **Specs without states.** A screen with no empty/error spec is half a spec.
|
|
164
|
+
- **Copy as marketing tone.** Use the user's voice. Cut "world-class," "delightful," "seamless."
|
|
165
|
+
- **Mystery icons.** Icons need accessible labels; if you can't name it, draw a word next to it.
|
|
166
|
+
- **Hover-only affordances on touch.** Spec the non-hover equivalent.
|
|
167
|
+
- **Touch targets < platform minimum.** 24×24 CSS px on web (WCAG 2.5.8), 44pt iOS, 48dp Android — non-negotiable.
|
|
168
|
+
- **Screens that don't trace to scenarios + PRD ACs.** If you can't fill the index row, the screen isn't justified.
|
|
169
|
+
|
|
65
170
|
## Hand-off
|
|
66
|
-
|
|
171
|
+
|
|
172
|
+
> UX specs are at `.wize/planning/ux/ux-design/`. Index points screen → scenario → AC. Tony, you can start `wize-create-architecture` now; the moment-of-truth lines in scenarios tell you which interactions are load-bearing. Hawkeye, `tea-design.md` should index by screen to keep test design and UI aligned.
|
|
@@ -1,48 +1,126 @@
|
|
|
1
1
|
---
|
|
2
|
+
|
|
2
3
|
code: wize-ux-scenarios
|
|
4
|
+
description: "Use quando o PRD estiver validado e precisar produzir o mapa de cenários UX que ancora todo o design."
|
|
3
5
|
name: UX Scenarios
|
|
4
6
|
phase: 2-plan
|
|
5
7
|
owner: wize-agent-ux-designer # Mantis (absorbs WDS Freya)
|
|
6
8
|
absorbs: "WDS Freya — Phase 3 (8-question dialog)"
|
|
7
|
-
status:
|
|
9
|
+
status: ready
|
|
8
10
|
---
|
|
9
11
|
|
|
10
12
|
# UX Scenarios
|
|
11
13
|
|
|
12
|
-
**Goal.** Produce
|
|
14
|
+
**Goal.** Produce a scenario map that anchors all UX work. Eight focused questions; one short answer each. Scenarios are pieces of behavior, not personas — they're how *this* user, in *this* state, tries to accomplish *that* JTBD.
|
|
15
|
+
|
|
16
|
+
Mantis drives. Output lands in `.wize/planning/ux/ux-scenarios.md`. It's the bridge from PM intent (PRD) to designer concreteness (next workflow: `wize-ux-design`).
|
|
13
17
|
|
|
14
18
|
## Inputs
|
|
15
|
-
|
|
16
|
-
- `.wize/planning/
|
|
19
|
+
|
|
20
|
+
- `.wize/planning/prd.md` (validated)
|
|
21
|
+
- `.wize/planning/ux/trigger-map.md` (Pepper)
|
|
17
22
|
- `.wize/planning/brief.md`
|
|
18
23
|
|
|
19
24
|
## Outputs
|
|
25
|
+
|
|
20
26
|
- `.wize/planning/ux/ux-scenarios.md`
|
|
21
27
|
|
|
22
|
-
##
|
|
28
|
+
## Steps
|
|
29
|
+
|
|
30
|
+
### 1. Identify the scenarios
|
|
31
|
+
|
|
32
|
+
A scenario = one (user, state, JTBD) tuple where the product earns or loses. Aim for **3–8 scenarios** that, taken together, cover all backbone stories in the PRD.
|
|
33
|
+
|
|
34
|
+
Rules:
|
|
35
|
+
- One sentence each at this stage.
|
|
36
|
+
- Verb-led. *"New manager onboards their first team."* Not *"Manager onboarding."*
|
|
37
|
+
- Distinct. If two scenarios share trigger + state, collapse them.
|
|
38
|
+
|
|
39
|
+
### 2. Run the 8-question dialog per scenario (WDS Freya)
|
|
40
|
+
|
|
41
|
+
For each scenario, answer the eight questions. One paragraph per answer. No filler. Cite trigger-map row when relevant.
|
|
23
42
|
|
|
24
43
|
1. **Who is the user, in one sentence?**
|
|
25
|
-
|
|
26
|
-
|
|
44
|
+
Role + context. *"A 38-year-old engineering manager at a 25-person SaaS, primarily on desktop, sometimes phone."*
|
|
45
|
+
|
|
46
|
+
2. **What state are they in when they arrive?**
|
|
47
|
+
Emotion + situational context. *"It's Monday morning. They just got CTO's request to onboard 3 hires this sprint. They're alt-tabbing between Slack and Linear."*
|
|
48
|
+
|
|
49
|
+
3. **What are they trying to accomplish?** (JTBD)
|
|
50
|
+
*"Add three teammates and assign each to the right project before the team standup at 10am."* Concrete.
|
|
51
|
+
|
|
27
52
|
4. **What would they do without our product today?**
|
|
53
|
+
*"Slack screenshots of the project list to each new hire; have them sign up individually; cross-check who landed where."*
|
|
54
|
+
|
|
28
55
|
5. **What's the moment of truth — when they decide it works?**
|
|
56
|
+
*"The first time they see all three names in the team list with the right project tags, in under 5 minutes."*
|
|
57
|
+
|
|
29
58
|
6. **What's the failure mode — when do they walk away?**
|
|
59
|
+
*"If they can't tell whether the invite arrived. If the invite email looks like spam. If they have to leave the page to find someone's email."*
|
|
60
|
+
|
|
30
61
|
7. **What does success look like to them, in their words?**
|
|
62
|
+
*"It just worked. I sent the invites, they signed up, they were on the right project."* (Imagine the future quote.)
|
|
63
|
+
|
|
31
64
|
8. **What's the next thing we want them to do?**
|
|
65
|
+
*"Open the project where the first teammate landed and verify the access works."*
|
|
32
66
|
|
|
33
|
-
|
|
67
|
+
### 3. Cross-link to the PRD
|
|
68
|
+
|
|
69
|
+
For each scenario, list the **backbone story IDs** + **AC IDs** it touches. Mantis won't write specs for a scenario the PRD doesn't cover (it'd be scope creep); Hill won't sign off on a story the scenarios don't surface (it'd be over-spec).
|
|
70
|
+
|
|
71
|
+
### 4. Hand off to UX Design
|
|
72
|
+
|
|
73
|
+
Mark `status: ready-for-design`. Wizer pings Mantis to start `wize-ux-design`, where each scenario becomes one or more page specs.
|
|
74
|
+
|
|
75
|
+
## Output template
|
|
34
76
|
|
|
35
77
|
```markdown
|
|
36
|
-
|
|
78
|
+
---
|
|
79
|
+
status: ready-for-design
|
|
80
|
+
owner: Mantis
|
|
81
|
+
created: YYYY-MM-DD
|
|
82
|
+
covers_prd_stories: [E01, E02, E04]
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
# UX Scenarios — {{project_name}}
|
|
37
86
|
|
|
38
|
-
## Scenario 1:
|
|
87
|
+
## Scenario 1: New manager onboards their first team
|
|
39
88
|
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
89
|
+
- **Trigger-map row:** 1 (Sign up), 2 (Invite first teammate)
|
|
90
|
+
- **PRD stories:** E01, E02
|
|
91
|
+
- **AC IDs touched:** AC-01-1, AC-01-2, AC-02-1, AC-02-3
|
|
43
92
|
|
|
44
|
-
|
|
93
|
+
**Q1 — Who:** A 38-year-old engineering manager at a 25-person SaaS, primarily on desktop, sometimes phone.
|
|
94
|
+
**Q2 — State:** It's Monday morning. They just got CTO's request to onboard 3 hires this sprint. They're alt-tabbing between Slack and Linear.
|
|
95
|
+
**Q3 — JTBD:** Add three teammates and assign each to the right project before the team standup at 10am.
|
|
96
|
+
**Q4 — Today:** Slack screenshots of the project list to each new hire; have them sign up individually; cross-check who landed where.
|
|
97
|
+
**Q5 — Moment of truth:** The first time they see all three names in the team list with the right project tags, under 5 minutes.
|
|
98
|
+
**Q6 — Failure mode:** Can't tell whether the invite arrived; the email looks like spam; they have to leave the page to find someone's email.
|
|
99
|
+
**Q7 — Success in their words:** "It just worked. I sent the invites, they signed up, they were on the right project."
|
|
100
|
+
**Q8 — Next thing:** Open the project where the first teammate landed and verify access.
|
|
101
|
+
|
|
102
|
+
## Scenario 2: Returning admin adds a fourth member months later
|
|
103
|
+
|
|
104
|
+
(…)
|
|
105
|
+
|
|
106
|
+
## Coverage check
|
|
107
|
+
|
|
108
|
+
| PRD story | Scenarios |
|
|
109
|
+
|---|---|
|
|
110
|
+
| E01 (Sign up) | S1 |
|
|
111
|
+
| E02 (Invite) | S1, S2 |
|
|
112
|
+
| E03 (Switch project) | S2 |
|
|
113
|
+
| E04 (Dashboard) | S1 |
|
|
45
114
|
```
|
|
46
115
|
|
|
116
|
+
## Anti-patterns Mantis rejects
|
|
117
|
+
|
|
118
|
+
- **Personas instead of scenarios.** Mantis cares what people *do*, not who they are in the abstract.
|
|
119
|
+
- **Scenarios with no emotion or context.** "User wants to sign up." — that's a backbone story restated. The point is the *state*.
|
|
120
|
+
- **JTBD written as features.** "Wants the dashboard." Wrong layer. Reword to the goal: "Wants to know if the team is healthy at a glance."
|
|
121
|
+
- **Q5 ("moment of truth") that's actually a feature description.** It should be the user's perception, not the UI.
|
|
122
|
+
- **More than 8 scenarios.** Two of them are duplicates. Find which.
|
|
123
|
+
|
|
47
124
|
## Hand-off
|
|
48
|
-
|
|
125
|
+
|
|
126
|
+
> Scenarios are in `.wize/planning/ux/ux-scenarios.md`. They cover E01–E04. Next: page specs in `.wize/planning/ux/ux-design/` (one per screen). Tony, when you read these, the moment-of-truth lines tell you which interactions are load-bearing.
|
|
@@ -1,27 +1,123 @@
|
|
|
1
1
|
---
|
|
2
|
+
|
|
2
3
|
code: wize-validate-prd
|
|
4
|
+
description: "Use quando o PRD estiver pronto para validação e precisar decidir se ele pode avançar para Solutioning."
|
|
3
5
|
name: Validate PRD
|
|
4
6
|
phase: 2-plan
|
|
5
|
-
owner: wize-agent-pm # Maria Hill (with Pepper
|
|
6
|
-
status:
|
|
7
|
+
owner: wize-agent-pm # Maria Hill (with Pepper, Mantis, Fury input)
|
|
8
|
+
status: ready
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
# Validate PRD
|
|
10
12
|
|
|
11
|
-
**Goal.**
|
|
13
|
+
**Goal.** Decide whether the PRD is ready to leave Plan and enter Solutioning. Catch ambiguity before architecture is wasted on it. Cheap step; saves multiples of itself downstream.
|
|
14
|
+
|
|
15
|
+
Maria Hill chairs. Pepper, Mantis, Fury contribute. Output is either `validated: true` written to `prd.md` or a punch list routed back to authors.
|
|
16
|
+
|
|
17
|
+
## When to run
|
|
18
|
+
|
|
19
|
+
After `wize-create-prd` produces `status: ready-for-validation`. Run once per major PRD change.
|
|
12
20
|
|
|
13
21
|
## Inputs
|
|
22
|
+
|
|
14
23
|
- `.wize/planning/prd.md`
|
|
24
|
+
- `.wize/planning/brief.md`
|
|
25
|
+
- `.wize/planning/ux/trigger-map.md`
|
|
26
|
+
- `.wize/planning/research.md` (when present)
|
|
27
|
+
- `.wize/planning/tech-vision.md` (when Fury already wrote one)
|
|
15
28
|
|
|
16
29
|
## Outputs
|
|
17
|
-
- Inline edits + a validation log appended to `prd.md`.
|
|
18
30
|
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
- In-place edits to `prd.md` (validators add a "Validation log" section).
|
|
32
|
+
- If validated: `prd.md` frontmatter flips to `status: validated`.
|
|
33
|
+
- If not: a punch list, each item routed back to the owning agent.
|
|
34
|
+
|
|
35
|
+
## Checklist (Maria Hill runs this)
|
|
36
|
+
|
|
37
|
+
### Completeness
|
|
38
|
+
- [ ] Vision sentence present and matches the brief.
|
|
39
|
+
- [ ] 3–5 goals; each measurable; each tied to a trigger-map row.
|
|
40
|
+
- [ ] Scope `In` and `Out` both populated; `Out` items have reasons.
|
|
41
|
+
- [ ] Backbone stories cover every In-scope item.
|
|
42
|
+
- [ ] Every In-scope item has 3–7 ACs.
|
|
43
|
+
- [ ] Constraints + Assumptions + Dependencies all named.
|
|
44
|
+
- [ ] NFR pointer present.
|
|
45
|
+
- [ ] Open questions: each has an owner + deadline.
|
|
46
|
+
|
|
47
|
+
### Quality
|
|
48
|
+
- [ ] Every AC is observable (testable by Hawkeye without ambiguity).
|
|
49
|
+
- [ ] No AC contains the word "easy", "intuitive", "responsive" without a numeric criterion.
|
|
50
|
+
- [ ] INVEST: every backbone story passes (independent, negotiable, valuable, small, testable) — "Estimable" is dropped; we don't estimate, we only check it fits one PR.
|
|
51
|
+
- [ ] No goal repeats a brief constraint as if it were a goal.
|
|
52
|
+
|
|
53
|
+
### Cross-checks
|
|
54
|
+
- [ ] **Pepper:** every goal anchors on a row of the trigger map.
|
|
55
|
+
- [ ] **Mantis:** every screen implied by the ACs is addressable in UX (no AC requires a UI the team hasn't agreed exists).
|
|
56
|
+
- [ ] **Fury:** the PRD's NFR pointer doesn't contradict the tech-vision.
|
|
57
|
+
- [ ] **Hawkeye preview:** at least the gate strategy is mentioned (advisory vs enforcing) for visibility.
|
|
58
|
+
|
|
59
|
+
### Risk
|
|
60
|
+
- [ ] No open question is marked `blocker` AND has a deadline past the PRD validation date.
|
|
61
|
+
- [ ] Any assumption that, if wrong, kills > 30% of the scope has a verification plan.
|
|
62
|
+
|
|
63
|
+
## Decision
|
|
64
|
+
|
|
65
|
+
After the checklist:
|
|
66
|
+
|
|
67
|
+
- **Validated** → flip frontmatter to `status: validated`. Append a Validation log block to `prd.md` with date + each signatory.
|
|
68
|
+
- **Concerns** → write specific fix-asks per agent. Each fix-ask is concrete (line ref + what to change).
|
|
69
|
+
- **Reject** → rare. Use when the brief itself is wrong; loop back to Pepper.
|
|
70
|
+
|
|
71
|
+
## Validation log template (appended to `prd.md`)
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
## Validation log — YYYY-MM-DD
|
|
75
|
+
|
|
76
|
+
**Status:** validated
|
|
77
|
+
|
|
78
|
+
**Signatories**
|
|
79
|
+
- Maria Hill (PM) — concerns: none
|
|
80
|
+
- Pepper Potts (Analyst) — concerns: trigger-map row 3 needs a stronger signal name, will update.
|
|
81
|
+
- Mantis (UX) — concerns: none, UX work starts next.
|
|
82
|
+
- Fury (Solution Strategy) — concerns: none. NFR pointer confirmed.
|
|
83
|
+
|
|
84
|
+
**Notes**
|
|
85
|
+
- Open question "Brazil-only beta?" was answered by sales lead — added to *Out of scope: global launch* with rationale.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Punch-list template (when not validated)
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
## Validation punch list — YYYY-MM-DD
|
|
92
|
+
|
|
93
|
+
**Status:** changes required
|
|
94
|
+
|
|
95
|
+
**By Maria Hill — author rewrites:**
|
|
96
|
+
- `AC-02-3`: "loads fast" is not observable. Rewrite with numeric target tied to Fury's NFRs.
|
|
97
|
+
- Backbone story E04 fails INVEST-S (too large). Split into 2 stories.
|
|
98
|
+
|
|
99
|
+
**By Pepper:**
|
|
100
|
+
- Goal 2 is not anchored on a trigger-map row. Add row reference or remove.
|
|
101
|
+
|
|
102
|
+
**By Mantis:**
|
|
103
|
+
- AC-01-4 implies a "preview" screen that isn't in any UX list. Either spec the screen or cut the AC.
|
|
104
|
+
|
|
105
|
+
**By Fury:**
|
|
106
|
+
- NFR pointer cites old version of nfr-principles.md. Update.
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Anti-patterns
|
|
110
|
+
|
|
111
|
+
- "Looks good to me" with no checklist run. The validation only counts if checked.
|
|
112
|
+
- Validating to keep the schedule, knowing concerns are open. Document the concern.
|
|
113
|
+
- Validating with no Hawkeye preview at all. Even a one-line gate strategy reference matters.
|
|
114
|
+
|
|
115
|
+
## Hand-off
|
|
116
|
+
|
|
117
|
+
If validated:
|
|
118
|
+
|
|
119
|
+
> PRD validated. Mantis, you're up: `wize-ux-scenarios`. Fury, write or refresh `tech-vision.md` so Tony can read both.
|
|
120
|
+
|
|
121
|
+
If not:
|
|
25
122
|
|
|
26
|
-
|
|
27
|
-
Either `validated: true` (timestamp + signatories) or list of fix-asks routed back to the right agent.
|
|
123
|
+
> PRD not yet validated. Punch list lives at the bottom of `prd.md`. {{Author}} fixes by {{date}}; we re-run validation.
|