wize-dev-kit 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +78 -1
  2. package/README.md +64 -0
  3. package/package.json +1 -1
  4. package/src/app-overlay/playbooks/apple-hig.md +112 -0
  5. package/src/app-overlay/playbooks/detox-maestro.md +179 -0
  6. package/src/app-overlay/playbooks/device-matrix.md +121 -0
  7. package/src/app-overlay/playbooks/material-design-3.md +135 -0
  8. package/src/app-overlay/playbooks/mobile-perf-budgets.md +145 -0
  9. package/src/app-overlay/playbooks/permissions-ux.md +147 -0
  10. package/src/app-overlay/playbooks/touch-targets-and-gestures.md +127 -0
  11. package/src/app-overlay/stack-catalog.md +178 -0
  12. package/src/method-skills/1-analysis/wize-document-project/workflow.md +147 -20
  13. package/src/method-skills/1-analysis/wize-prfaq/workflow.md +150 -11
  14. package/src/method-skills/1-analysis/wize-product-brief/workflow.md +90 -19
  15. package/src/method-skills/1-analysis/wize-research/workflow.md +101 -9
  16. package/src/method-skills/1-analysis/wize-trigger-map/workflow.md +80 -16
  17. package/src/method-skills/2-plan-workflows/wize-create-prd/workflow.md +132 -23
  18. package/src/method-skills/2-plan-workflows/wize-ux-design/workflow.md +132 -28
  19. package/src/method-skills/2-plan-workflows/wize-ux-scenarios/workflow.md +91 -15
  20. package/src/method-skills/2-plan-workflows/wize-validate-prd/workflow.md +106 -12
  21. package/src/method-skills/3-solutioning/wize-check-implementation-readiness/workflow.md +101 -11
  22. package/src/method-skills/3-solutioning/wize-create-architecture/workflow.md +197 -29
  23. package/src/method-skills/3-solutioning/wize-create-epics-and-stories/workflow.md +127 -12
  24. package/src/method-skills/3-solutioning/wize-design-system/workflow.md +182 -22
  25. package/src/method-skills/3-solutioning/wize-nfr-principles/workflow.md +142 -16
  26. package/src/method-skills/3-solutioning/wize-tech-vision/workflow.md +127 -21
  27. package/src/method-skills/4-implementation/wize-code-review/workflow.md +105 -10
  28. package/src/method-skills/4-implementation/wize-create-story/workflow.md +131 -10
  29. package/src/method-skills/4-implementation/wize-dev-story/workflow.md +115 -17
  30. package/src/method-skills/4-implementation/wize-quick-dev/workflow.md +109 -18
  31. package/src/method-skills/4-implementation/wize-retrospective/workflow.md +112 -10
  32. package/src/method-skills/4-implementation/wize-sprint-planning/workflow.md +85 -10
  33. package/src/method-skills/4-implementation/wize-sprint-status/workflow.md +96 -11
  34. package/src/tea-skills/wize-tea-design/workflow.md +104 -13
  35. package/src/tea-skills/wize-tea-gate/workflow.md +108 -25
  36. package/src/tea-skills/wize-tea-nfr/workflow.md +104 -14
  37. package/src/tea-skills/wize-tea-review/workflow.md +107 -13
  38. package/src/tea-skills/wize-tea-risk/workflow.md +99 -10
  39. package/src/tea-skills/wize-tea-trace/workflow.md +83 -12
  40. package/src/web-overlay/playbooks/playwright-vitest.md +211 -0
  41. package/src/web-overlay/playbooks/responsive-breakpoints.md +104 -0
  42. package/src/web-overlay/playbooks/semantic-html.md +114 -0
  43. package/src/web-overlay/playbooks/wcag-aa.md +97 -0
  44. package/src/web-overlay/playbooks/web-perf-budgets.md +140 -0
  45. package/src/web-overlay/stack-catalog.md +208 -0
  46. package/tools/installer/commands/agent.js +197 -0
  47. package/tools/installer/commands/sync.js +45 -0
  48. package/tools/installer/commands/update.js +172 -0
  49. package/tools/installer/wize-cli.js +24 -8
@@ -0,0 +1,178 @@
1
+ ---
2
+ catalog: app-stack
3
+ owner: wize-agent-architect # Tony (with Fury on strategy)
4
+ applies_when: app-overlay active
5
+ status: ready
6
+ ---
7
+
8
+ # App Stack Catalog — Tony's Reference
9
+
10
+ The mobile stack decision is harder to reverse than the web one. Pick deliberately. This catalog lists each option with the **trade-off honest enough that you don't relitigate it in six months**.
11
+
12
+ ## 1. Decision dimensions
13
+
14
+ Order them: **distribution → team → performance → reuse**.
15
+
16
+ 1. **Distribution** — App Store + Play Store only? B2B enterprise (TestFlight/internal)? Sideload?
17
+ 2. **Team** — primary skill set: web, native (Swift/Kotlin), Flutter (Dart)?
18
+ 3. **Performance** — animation-heavy / camera / AR / ML on-device? Or list + form?
19
+ 4. **Code reuse** — does a web app share business logic? How much?
20
+ 5. **Hiring tail** — what skill set will be easy to hire from in 2 years?
21
+
22
+ ## 2. Frameworks
23
+
24
+ ### React Native + Expo (managed workflow)
25
+
26
+ | | |
27
+ |---|---|
28
+ | **Pick when** | Team is JS/TS-strong; cross-platform with one codebase + fast iteration. |
29
+ | **Strengths** | EAS Build/Update/Submit; OTA updates; same team can ship the web product. |
30
+ | **Costs** | Native modules sometimes need ejecting; SDK lag for very-new OS features. |
31
+ | **Perf ceiling** | 60 fps for typical UIs; deep native work requires bridging or custom modules. |
32
+ | **Best for** | Most cross-platform B2C apps with shared web team. |
33
+
34
+ ### React Native (bare / community CLI)
35
+
36
+ | | |
37
+ |---|---|
38
+ | **Pick when** | Need native modules Expo doesn't ship + full control over Xcode/Gradle. |
39
+ | **Strengths** | Maximum flexibility, integrate any SDK. |
40
+ | **Costs** | Maintain native build configs; lose EAS conveniences (unless self-hosted). |
41
+ | **Best for** | Apps with heavy custom native (BLE, advanced camera, ML, payments SDKs). |
42
+
43
+ ### Flutter
44
+
45
+ | | |
46
+ |---|---|
47
+ | **Pick when** | Pixel-perfect cross-platform UI with custom motion; team is Dart-OK. |
48
+ | **Strengths** | Skia rendering = identical UI across platforms; great motion; mature widgets. |
49
+ | **Costs** | Dart hiring pool smaller; web/desktop story uneven; non-trivial native interop. |
50
+ | **Perf ceiling** | High — Skia bypasses platform UI thread for many cases. |
51
+ | **Best for** | Animation-heavy or brand-precise apps; shop already on Flutter. |
52
+
53
+ ### SwiftUI (native iOS)
54
+
55
+ | | |
56
+ |---|---|
57
+ | **Pick when** | iOS-only or iOS-primary; want platform-best UX and access to newest APIs day-one. |
58
+ | **Strengths** | Best feel, best APIs (Live Activities, WidgetKit, Vision, etc.). |
59
+ | **Costs** | Min iOS support shifts upward; doesn't help Android at all. |
60
+ | **Best for** | Premium iOS-led products; products with deep Apple-ecosystem integrations. |
61
+
62
+ ### Jetpack Compose (native Android)
63
+
64
+ | | |
65
+ |---|---|
66
+ | **Pick when** | Android-only or Android-primary; want first-party Material 3 + platform integrations. |
67
+ | **Strengths** | Declarative + modern; Compose Multiplatform offers iOS path now. |
68
+ | **Costs** | Doesn't help iOS unless you commit to CMP. |
69
+ | **Best for** | Android-led products. |
70
+
71
+ ### Compose Multiplatform (KMP + Compose)
72
+
73
+ | | |
74
+ |---|---|
75
+ | **Pick when** | Kotlin team, want shared business logic + shared UI. |
76
+ | **Strengths** | Code reuse high; same Kotlin stack on backend possible. |
77
+ | **Costs** | Newer; iOS UI parity caveats; ecosystem younger than RN/Flutter. |
78
+ | **Best for** | Kotlin-fluent teams comfortable with bleeding edge. |
79
+
80
+ ### Capacitor / Ionic (hybrid)
81
+
82
+ | | |
83
+ |---|---|
84
+ | **Pick when** | Mostly-web app needs a thin native wrapper for store distribution. |
85
+ | **Strengths** | Reuse the existing web codebase 1:1; fastest path to store. |
86
+ | **Costs** | Performance ceiling lower than RN/Flutter; UI feel rarely passes "native". |
87
+ | **Best for** | Internal tools, content apps, MVPs where store presence > performance. |
88
+
89
+ ### Native + KMP shared logic
90
+
91
+ | | |
92
+ |---|---|
93
+ | **Pick when** | Want native UIs (SwiftUI + Compose) + shared business logic in Kotlin. |
94
+ | **Strengths** | Best-of-both: native UX + shared domain. |
95
+ | **Costs** | Two UIs to maintain; KMP infra to manage. |
96
+ | **Best for** | Mature teams with enough size to maintain both fronts. |
97
+
98
+ ## 3. Build & release
99
+
100
+ | Choice | Pick when |
101
+ |---|---|
102
+ | **Expo EAS** (Build, Submit, Update) | RN+Expo project, want a turn-key pipeline. |
103
+ | **Fastlane** | Native or RN bare, want scriptable lanes; established tool. |
104
+ | **Bitrise** | Cloud CI specialized for mobile, integrates with EAS/Fastlane. |
105
+ | **GitHub Actions + matrices** | Already on GitHub, custom needs, fewer mobile-specific shortcuts. |
106
+ | **App Center (sunset path)** | Legacy; migrate off. |
107
+
108
+ ## 4. Auth
109
+
110
+ | Choice | Pick when |
111
+ |---|---|
112
+ | **Firebase Auth** | RN/Flutter; want SDK on every platform, simple onboarding. |
113
+ | **Auth0 / Clerk / WorkOS** | Enterprise SSO needs. |
114
+ | **Sign in with Apple / Google / Microsoft** | Required (Apple) when other social auth is offered; minimal friction. |
115
+ | **Custom OAuth via Supabase / your backend** | Want full control; team has experience. |
116
+
117
+ ## 5. Data / sync
118
+
119
+ | Choice | Pick when |
120
+ |---|---|
121
+ | **WatermelonDB** (RN) | Offline-first apps with large local datasets. |
122
+ | **Realm / Atlas Sync** | Need bi-di sync to MongoDB. |
123
+ | **PowerSync / Replicache / Triplit** | Modern offline + sync over Postgres / custom. |
124
+ | **TanStack Query + AsyncStorage / EncryptedStorage** | Most apps — fetch + cache. |
125
+ | **GraphQL + Apollo** | Single API for many clients (web + mobile share schema). |
126
+
127
+ ## 6. State management
128
+
129
+ | Choice | Pick when |
130
+ |---|---|
131
+ | **Zustand / Jotai** | Small global state; RN |
132
+ | **TanStack Query** | Server-derived data dominates. |
133
+ | **MobX-State-Tree** | Bigger app, opinionated structure. |
134
+ | **Recoil** | (Niche; less active recently — verify.) |
135
+ | **Provider / Riverpod** | Flutter. |
136
+
137
+ ## 7. Storage
138
+
139
+ - **AsyncStorage** (RN) — small KV only; not for sensitive data.
140
+ - **EncryptedStorage** / **react-native-keychain** — tokens, secrets.
141
+ - **MMKV** — fast KV; sub-ms reads; replaces AsyncStorage for perf-critical paths.
142
+ - **SQLite (Op-SQLite / better-sqlite)** — relational on device.
143
+ - **Realm** — object DB with sync.
144
+
145
+ ## 8. Push notifications
146
+
147
+ | Choice | Pick when |
148
+ |---|---|
149
+ | **Expo Push** | RN/Expo; simplest path. |
150
+ | **OneSignal** | Cross-platform, segmentation features. |
151
+ | **Firebase Cloud Messaging (FCM) + APNs** | Custom backend; full control. |
152
+ | **Customer.io / Iterable** | Marketing-driven (campaigns, journeys). |
153
+
154
+ ## 9. Analytics + observability
155
+
156
+ | Choice | Pick when |
157
+ |---|---|
158
+ | **Amplitude / Mixpanel / PostHog** | Product analytics. |
159
+ | **Sentry / Bugsnag** | Crash + performance. |
160
+ | **Firebase Performance / Crashlytics** | Free, broad coverage. |
161
+ | **DataDog Mobile RUM** | Already on DataDog. |
162
+
163
+ ## 10. Anti-patterns Tony flags fast
164
+
165
+ - **React Native for an animation-heavy / camera-heavy app** without scoping native modules upfront.
166
+ - **Flutter for an iOS-primary product** when the team has no Dart history.
167
+ - **Capacitor for a product needing 60 fps gestures** — pick RN/native.
168
+ - **One framework for two products** that don't share the audience or team.
169
+ - **Side-loading internal apps with no signing strategy.**
170
+
171
+ ## 11. Recording the choice
172
+
173
+ Tony documents the chosen stack into:
174
+
175
+ - `.wize/planning/tech-vision.md` (Fury): platforms covered, non-negotiables.
176
+ - `.wize/solutioning/architecture.md` (Tony): runtime, build, release pipeline, native modules required.
177
+ - `.wize/solutioning/adrs/ADR-002-mobile-stack.md`: trade-off log.
178
+ - `.wize/planning/app/device-matrix.md`: targets that justified the perf choice.
@@ -2,35 +2,162 @@
2
2
  code: wize-document-project
3
3
  name: Document Project (brownfield baseline)
4
4
  phase: 1-analysis
5
- owner: wize-agent-analyst # Pepper Potts (paired with Peggy Carter)
6
- status: stub
5
+ owner: wize-agent-analyst # Pepper Potts (paired with Peggy Carter and Tony Stark)
6
+ status: ready
7
7
  ---
8
8
 
9
9
  # Document Project — Brownfield Baseline
10
10
 
11
- **Goal.** When the kit is installed in an existing codebase, baseline the current state so subsequent planning isn't blind. Produces an "as-is" snapshot that Tony reads before drawing the "to-be."
11
+ **Goal.** When the kit is installed in an existing repo, baseline the **as-is** state so the rest of the lifecycle isn't blind. Produces a structured snapshot Tony can read before designing the *to-be*, and a knowledge base Wizer can answer questions from.
12
+
13
+ Pepper drives discovery. Peggy edits prose. Tony validates architecture interpretation. Output lands in `.wize/knowledge/document-project/`.
12
14
 
13
15
  ## When to run
14
- - Installer detected `package.json` / `pubspec.yaml` / `Cargo.toml` / `go.mod` + non-trivial `src/` history.
15
- - User explicitly requests `/wize-document-project`.
16
+
17
+ - The installer detected brownfield signals (`package.json`, `src/`, history) and offered to run this. ✓
18
+ - The team is onboarding to a codebase nobody fully owns. ✓
19
+ - A previous re-platforming decision left the docs stale. ✓
20
+
21
+ Skip:
22
+ - Greenfield (nothing to document yet).
23
+ - Repos < 200 LOC.
16
24
 
17
25
  ## Inputs
18
- - The target repo (root)
19
- - `git log --oneline -50`
20
- - Existing READMEs / ARCHITECTURE / docs
26
+
27
+ - The target repo (root).
28
+ - `git log --since="1 year ago" --oneline | wc -l` to scope.
29
+ - Any prior README / ARCHITECTURE / docs that exist.
21
30
 
22
31
  ## Outputs
23
- - `.wize/knowledge/document-project/overview.md`
24
- - `.wize/knowledge/document-project/architecture-snapshot.md`
25
- - `.wize/knowledge/document-project/conventions.md`
26
- - `.wize/knowledge/document-project/open-questions.md`
32
+
33
+ - `.wize/knowledge/document-project/overview.md` — what the project is, who uses it, how big it is.
34
+ - `.wize/knowledge/document-project/architecture-snapshot.md` — current components, integrations, data flow.
35
+ - `.wize/knowledge/document-project/conventions.md` — coding/test/folder conventions actually used.
36
+ - `.wize/knowledge/document-project/dependencies.md` — runtime deps + dev deps + their roles.
37
+ - `.wize/knowledge/document-project/risk-spots.md` — areas of concentrated complexity, undocumented behavior, or known fragility.
38
+ - `.wize/knowledge/document-project/open-questions.md` — things the code doesn't answer; route to humans.
27
39
 
28
40
  ## Steps
29
- 1. **Inventory.** List packages, top-level modules, infra files, entry points.
30
- 2. **Architecture snapshot.** Components and integrations as currently exist. Diagrams welcome.
31
- 3. **Conventions.** Coding/test/folder conventions surfaced from a sample of files.
32
- 4. **Open questions.** Things the code doesn't answer; route to humans.
33
- 5. **Hand off.** Pepper to Wizer: "baseline ready." Then Wizer decides next agent.
34
-
35
- ## Pairing
36
- Peggy Carter edits prose for clarity and structure. Tony Stark may be looped in to confirm architecture interpretation.
41
+
42
+ ### 1. Inventory (Pepper, mechanical)
43
+
44
+ A first pass that requires no judgment, just listing.
45
+
46
+ ```
47
+ ls -la # top-level layout
48
+ cat package.json | jq '.dependencies, .devDependencies, .scripts'
49
+ git log --since="3 months ago" --oneline | wc -l
50
+ git log --pretty=format:"%an" | sort | uniq -c | sort -rn | head
51
+ find . -name "*.test.*" -o -name "*.spec.*" | wc -l
52
+ find . -type f -name "*.md" | head
53
+ ```
54
+
55
+ Write what you found in `overview.md` (no opinions yet).
56
+
57
+ ### 2. Architecture snapshot (Pepper + Tony)
58
+
59
+ Walk the repo top-down. Identify:
60
+ - **Entry points** (CLI, server, worker, build).
61
+ - **Components** (where the boundaries are — by folder, by package, by feature).
62
+ - **Integrations** (databases, queues, external APIs, third-party SDKs).
63
+ - **Data flow** for at least one end-to-end critical path (e.g., a typical user request).
64
+
65
+ Draw or describe. Diagrams in ASCII or Mermaid are fine — the point is shared mental model.
66
+
67
+ Tony validates. If the snapshot misnames a pattern, fix it.
68
+
69
+ ### 3. Conventions (Peggy)
70
+
71
+ Sample 5–10 files across the repo. Note:
72
+ - Naming (camelCase / snake_case / kebab-case).
73
+ - Folder structure (feature-first / layer-first).
74
+ - Test placement (co-located / `__tests__` / `test/`).
75
+ - Comment style (JSDoc / TSDoc / inline).
76
+ - Import ordering (alphabetical / by source).
77
+ - Logging / error handling patterns.
78
+ - Linter / formatter config (eslint, prettier, etc.).
79
+
80
+ Write the convention found, not the convention you'd prefer.
81
+
82
+ ### 4. Dependencies (Pepper)
83
+
84
+ For each runtime dep, write one line:
85
+ - Name, version, what it does in this repo, whether it's load-bearing.
86
+
87
+ Flag:
88
+ - Deps without a clear role.
89
+ - Deps with known CVEs (run `npm audit --omit=dev` and capture).
90
+ - Multiple deps doing the same job (`lodash` + `ramda`, both date libs, etc.).
91
+ - Deps not maintained in > 2 years (link to last release).
92
+
93
+ ### 5. Risk spots (Pepper + Tony)
94
+
95
+ For each, name the area + the symptom + the likely cause + how confident you are:
96
+
97
+ | Area | Symptom | Likely cause | Confidence |
98
+ |---|---|---|---|
99
+ | `src/legacy/billing/` | 2k-line file with no tests | rushed migration in 2024 | high |
100
+ | Webhooks handler | Silent retries | no idempotency layer | medium |
101
+ | Auth middleware | Custom JWT parsing | predates the library that handles it | high |
102
+
103
+ This is *not* a refactor backlog. It's a map. Tony decides what to fix; this just makes the choices visible.
104
+
105
+ ### 6. Open questions (everyone)
106
+
107
+ Things the code does NOT answer:
108
+ - Why was this choice made?
109
+ - What's the SLA?
110
+ - Who's the owner of feature X?
111
+ - Are there secret configs we're missing?
112
+
113
+ Each question gets an owner (a human Pepper will ask). Route back via Wizer.
114
+
115
+ ### 7. Hand-off
116
+
117
+ - Mark all docs `status: baseline`.
118
+ - Tell Wizer: *"Baseline complete. Tony can read it before architecture work; Hill can read it before scoping."*
119
+
120
+ ## Conventions doc — template
121
+
122
+ ```markdown
123
+ ---
124
+ status: baseline
125
+ owner: Pepper Potts + Peggy Carter
126
+ created: YYYY-MM-DD
127
+ sampled: 8 files across src/, tests/, scripts/
128
+ ---
129
+
130
+ # Conventions (observed, not prescribed)
131
+
132
+ ## Naming
133
+ - Files: kebab-case (e.g., `user-profile.ts`).
134
+ - Classes: PascalCase.
135
+ - Functions: camelCase, verb-led.
136
+ - Constants: UPPER_SNAKE_CASE.
137
+
138
+ ## Folder structure
139
+ Feature-first: `src/features/<feature>/{index.ts, api.ts, ui.tsx, *.spec.ts}`.
140
+ Shared utilities in `src/shared/`.
141
+
142
+ ## Tests
143
+ Co-located with the file under test. `.spec.ts` for unit; `.e2e.ts` for end-to-end (separate runner).
144
+
145
+ ## Lint/format
146
+ `eslint.config.mjs` with `airbnb-base` + custom rules in `eslint.local.cjs`. Prettier with 2-space indent.
147
+
148
+ ## Observed deviations
149
+ - `src/legacy/billing/` doesn't follow feature-first; it predates the convention.
150
+ - Some files use `_test.ts` suffix instead of `.spec.ts` — older code.
151
+ ```
152
+
153
+ ## Anti-patterns Pepper rejects
154
+
155
+ - "TODO: document later." The baseline IS the documentation pass; later doesn't come.
156
+ - Romanticizing the code ("clean, modular"). Describe what you see; let Tony judge.
157
+ - Architecture diagrams that show what the team *wishes* exists. Diagram the real state.
158
+ - Risk-spot table with no confidence label. Without confidence, readers can't act.
159
+ - Open questions with no owner. They never get answered.
160
+
161
+ ## Hand-off
162
+
163
+ > Baseline is in `.wize/knowledge/document-project/`. Three risk spots flagged. Five open questions routed to the humans named per question. Tony can read this before drawing `architecture.md`; Hill can scope the PRD knowing what's already there.
@@ -3,25 +3,164 @@ code: wize-prfaq
3
3
  name: PR/FAQ
4
4
  phase: 1-analysis
5
5
  owner: wize-agent-analyst # Pepper Potts
6
- status: stub
6
+ status: ready
7
7
  ---
8
8
 
9
- # PR/FAQ
9
+ # PR/FAQ — Working Backwards
10
10
 
11
- **Goal.** Force alignment by drafting the "future press release + FAQ" before building. Amazon-style.
11
+ **Goal.** Force alignment by writing the *future* press release and a tight FAQ **before** anyone builds anything. Amazon-style. If you can't write a compelling PR, you don't have a product yet.
12
+
13
+ Pepper drives. Peggy polishes prose. Output lands in `.wize/planning/prfaq.md`.
14
+
15
+ ## When to run
16
+
17
+ Run this:
18
+ - New product or new strategic feature.
19
+ - The team disagrees on the user-visible value.
20
+ - You're about to commit > 1 month of engineering.
21
+
22
+ Skip this:
23
+ - Bug fix, copy edit, dependency bump → use `wize-quick-dev`.
24
+ - The brief already crisply names the user-visible value and the team is aligned → write the PRD directly.
12
25
 
13
26
  ## Inputs
27
+
14
28
  - `.wize/planning/brief.md`
29
+ - `.wize/planning/research.md` (optional)
15
30
 
16
31
  ## Outputs
32
+
17
33
  - `.wize/planning/prfaq.md`
18
34
 
35
+ ## Structure (the Amazon shape)
36
+
37
+ A PR/FAQ has two parts: the **PR** (≤ 1 page) and the **FAQ** (≤ 2 pages).
38
+
39
+ ### The PR (write this first)
40
+
41
+ | Section | Length | What goes in it |
42
+ |---|---|---|
43
+ | **Headline** | 1 line | Audience + benefit + product name. Reader-understandable. |
44
+ | **Sub-headline** | 1 line | The non-obvious part of the benefit. |
45
+ | **Summary paragraph** | 3–5 sentences | What it is, who it's for, what changes, where to get it. |
46
+ | **Problem paragraph** | 3–5 sentences | Why this matters *now*, evidence the pain is real. |
47
+ | **Solution paragraph** | 3–5 sentences | How the product solves the problem. Concrete, not abstract. |
48
+ | **Internal quote** | 1 quote | A leader (founder/CEO) saying why this matters strategically. |
49
+ | **How it works** | 3 sentences | Three lines max. Not implementation — the *user* mental model. |
50
+ | **Customer quote** | 1 quote | An imagined real user saying the thing they'd say. Specific. |
51
+ | **How to get started** | 2 lines | One sentence: where + how. One sentence: what's first. |
52
+
53
+ If you find yourself writing more, cut. The discipline is the point.
54
+
55
+ ### The FAQ
56
+
57
+ 5–10 questions a sharp reader would actually ask. Crisp answers.
58
+
59
+ **Mandatory questions** (always include):
60
+
61
+ 1. Who exactly is this for?
62
+ 2. What does this replace today?
63
+ 3. Why now? (Why not last year, why not next year?)
64
+ 4. How is this different from {{nearest competitor}}?
65
+ 5. What's *out* of scope at launch?
66
+ 6. What does success look like in 6 months? In 18 months?
67
+ 7. What are the top three risks?
68
+
69
+ **Optional questions** (include when relevant):
70
+
71
+ 8. What's the pricing model?
72
+ 9. How does this work for non-English locales / accessibility / offline?
73
+ 10. What does the regulatory story look like?
74
+ 11. What's the launch sequence (geos / segments / preview)?
75
+
19
76
  ## Steps
20
- 1. **Headline + subhead.** One sentence each. Reader must understand.
21
- 2. **Quote (customer).** Why does this matter to a real user?
22
- 3. **Quote (internal leader).** Why does this matter to the business?
23
- 4. **How it works.** Three paragraphs max.
24
- 5. **FAQ.** 5–10 most likely sharp questions, with crisp answers.
25
-
26
- ## When to skip
27
- Skip this workflow for small fixes or features whose audience is obvious. Use for net-new products or strategic bets.
77
+
78
+ ### 1. Frame and freeze the audience
79
+
80
+ Write the audience line at the top of your draft and don't move it. Every sentence is judged against "does this matter to the audience?"
81
+
82
+ ### 2. PR before FAQ
83
+
84
+ Always. The discipline of writing the PR exposes vague thinking. The FAQ comes after, when you're forced to defend it.
85
+
86
+ ### 3. Show, don't market
87
+
88
+ No "world-class," "revolutionary," "AI-powered" without a noun next to it. If you can replace the adjective with another and lose nothing, delete it.
89
+
90
+ ### 4. Numbers, not adjectives
91
+
92
+ Every claim has a unit. "Reduces onboarding from 35 minutes to 7" beats "reduces onboarding significantly."
93
+
94
+ ### 5. Pre-mortem question
95
+
96
+ Before sending, write the answer to: *"It's six months after launch and it failed. Why?"*. If the FAQ doesn't already cover the failure mode, add the question.
97
+
98
+ ### 6. Adversarial review
99
+
100
+ Run `wize-review-adversarial` on the draft. Cut what survives only "trust me."
101
+
102
+ ### 7. Hand off
103
+
104
+ The PR/FAQ is **not** the PRD. It's a strategic alignment doc. Marker `status: aligned`. Hill writes the PRD from this + the brief.
105
+
106
+ ## Output template
107
+
108
+ ```markdown
109
+ ---
110
+ status: draft | aligned
111
+ owner: Pepper Potts
112
+ created: YYYY-MM-DD
113
+ ---
114
+
115
+ # PR/FAQ — {{project_name}}
116
+
117
+ ## Press Release
118
+
119
+ **Headline:** {{audience}} can now {{benefit}} with {{product_name}}.
120
+ **Sub-headline:** {{the non-obvious twist}}.
121
+
122
+ {{summary paragraph}}
123
+
124
+ {{problem paragraph}}
125
+
126
+ {{solution paragraph}}
127
+
128
+ > "{{quote}}" — {{internal leader title}}
129
+
130
+ How it works: {{three sentences}}
131
+
132
+ > "{{customer quote}}" — {{persona}}
133
+
134
+ Get started: {{where + first step}}
135
+
136
+ ## FAQ
137
+
138
+ **Q1. Who exactly is this for?**
139
+
140
+
141
+ **Q2. What does this replace today?**
142
+
143
+
144
+ **Q3. Why now?**
145
+
146
+
147
+ (…through Q10 as needed)
148
+
149
+ ## Pre-mortem
150
+ It's six months after launch and it failed. Why?
151
+ 1. …
152
+ 2. …
153
+ 3. …
154
+ ```
155
+
156
+ ## Anti-patterns Pepper rejects
157
+
158
+ - PR longer than one page. Cut.
159
+ - A press release with no user. ("Wize Foo unlocks synergies.") — say *who*.
160
+ - A FAQ that dodges the hard question. The reader will ask it; better in your draft than in a launch review.
161
+ - Pricing left vague when it's the load-bearing question.
162
+ - Customer quote that sounds like marketing copy. Rewrite as a person speaking.
163
+
164
+ ## Hand-off
165
+
166
+ > PR/FAQ is in `.wize/planning/prfaq.md`. Aligned with leadership. Hill, the PRD scope should anchor on FAQ Q5 (in/out). Mantis, the customer quote is your North Star for UX.
@@ -4,57 +4,128 @@ name: Product Brief
4
4
  phase: 1-analysis
5
5
  owner: wize-agent-analyst # Pepper Potts
6
6
  absorbs: "WDS Saga — Phase 1"
7
- status: stub
7
+ status: ready
8
8
  ---
9
9
 
10
10
  # Product Brief
11
11
 
12
- **Goal.** Turn raw demand into a concise, decision-ready brief that the rest of the team can ship from.
12
+ **Goal.** Convert raw demand into a one-page brief the team can ship from. The brief is the single source of truth at this point — every other artifact (PRD, UX, architecture) references back to it.
13
+
14
+ Pepper drives. Peggy edits prose. Output lands in `.wize/planning/brief.md`.
13
15
 
14
16
  ## Inputs
15
17
 
16
- - Raw demand (chat or file)
17
- - Optional existing materials (deck, doc, ticket, recording)
18
- - `.wize/config/project.toml`
18
+ - Raw demand (chat message, doc, ticket, screenshot, recording).
19
+ - Optional existing materials (deck, doc, prior brief).
20
+ - `.wize/config/project.toml`.
19
21
 
20
22
  ## Outputs
21
23
 
22
24
  - `.wize/planning/brief.md`
25
+ - Optionally `.wize/knowledge/research/` if Pepper pulled external sources.
23
26
 
24
27
  ## Steps
25
28
 
26
- 1. **Frame.** One paragraph: what is being asked, by whom, by when.
27
- 2. **Audience.** Primary user (1), secondary users (≤2), stakeholders (≤3).
28
- 3. **Vision.** One sentence describing the desired future state.
29
- 4. **Success criteria.** 3–5 measurable outcomes (numbers, not adjectives).
30
- 5. **Non-goals.** What this is *not*. Cut ambiguity early.
31
- 6. **Constraints.** Deadlines, budgets, compliance, integrations.
32
- 7. **Open questions.** Ranked, each with the person who can answer.
33
- 8. **Hand off.** Mark `status: ready-for-prd`; ping Wizer to call Maria Hill.
29
+ ### 1. Frame in one paragraph
30
+
31
+ What is being asked, by whom, and by when. If you can't write it in three sentences, you don't understand it yet. Ask one clarifying question, then write.
32
+
33
+ ### 2. Audience
34
+
35
+ - **Primary user** (one, name them by role + JTBD).
36
+ - **Secondary users** (≤ 2).
37
+ - **Stakeholders** (≤ 3 — the people whose lives change if this ships).
38
+
39
+ If the user list overflows, the brief is too broad. Force the cut.
40
+
41
+ ### 3. Vision
42
+
43
+ One sentence describing the desired future state. Future tense. Concrete. No buzzwords. Test: can a new dev one month from now repeat it after a 30-second read?
44
+
45
+ ### 4. Success criteria
46
+
47
+ 3–5 measurable outcomes. Numbers, not adjectives.
48
+
49
+ Examples:
50
+ - ✓ "Median TTI on the checkout page ≤ 1.5s on a mid-range Android by Q3."
51
+ - ✗ "Faster checkout."
52
+
53
+ ### 5. Non-goals
54
+
55
+ What this is *not*. Cut ambiguity early. If a feature isn't ruled in or out here, it will be in the PRD review.
56
+
57
+ ### 6. Constraints
58
+
59
+ Hard limits. Pick from:
60
+ - Deadline (and what slipping it means).
61
+ - Budget envelope (one-time and run-rate).
62
+ - Compliance (GDPR, LGPD, SOC2, PCI, HIPAA, etc.).
63
+ - Integrations the product must speak to.
64
+ - Team / hiring envelope.
65
+
66
+ ### 7. Open questions
34
67
 
35
- ## Brief template (target file)
68
+ Each with the human who can answer it. Each marked priority `blocker` / `important` / `nice-to-know`. Blockers must be resolved before the PRD starts.
69
+
70
+ ### 8. Hand-off
71
+
72
+ - Mark `status: ready-for-prd` in the brief.
73
+ - Notify Wizer: "Brief ready, hand to Hill."
74
+ - Move to `wize-trigger-map` next (Pepper continues).
75
+
76
+ ## Brief template
36
77
 
37
78
  ```markdown
79
+ ---
80
+ status: ready-for-prd | draft
81
+ owner: Pepper Potts
82
+ created: YYYY-MM-DD
83
+ ---
84
+
38
85
  # Brief — {{project_name}}
39
86
 
40
87
  ## Vision
41
88
 
42
89
 
43
90
  ## Audience
44
- - Primary:
45
- - Secondary:
46
- - Stakeholders:
91
+ - **Primary:** (one role + their JTBD)
92
+ - **Secondary:**
93
+ - **Stakeholders:**
47
94
 
48
95
  ## Success criteria
49
96
  1. …
50
97
  2. …
98
+ 3. …
51
99
 
52
100
  ## Non-goals
53
101
  - …
54
102
 
55
103
  ## Constraints
56
- - …
104
+ - **Deadline:**
105
+ - **Budget:** …
106
+ - **Compliance:** …
107
+ - **Integrations:** …
57
108
 
58
109
  ## Open questions
59
- - [ ] … (owner: …)
110
+ - [ ] **(blocker)** — *owner: NAME*
111
+ - [ ] **(important)** … — *owner: NAME*
112
+ - [ ] **(nice-to-know)** … — *owner: NAME*
60
113
  ```
114
+
115
+ ## Anti-patterns Pepper rejects
116
+
117
+ - "Make the product better." → no audience, no outcome, not a brief.
118
+ - Pasting a stakeholder's slack message verbatim. Rewrite in the brief voice.
119
+ - Success criteria like "increase engagement". Reword: which event, how much, by when.
120
+ - Hidden assumptions ("everyone has fast internet"). Surface them in *Constraints* or *Open questions*.
121
+ - Open questions with no owner. If nobody owns it, the answer never comes.
122
+
123
+ ## When to skip
124
+
125
+ This workflow is **not optional** for new products / new features. For tiny fixes (typo, copy, dependency bump), use `wize-quick-dev` instead — Pepper isn't called.
126
+
127
+ ## Hand-off
128
+
129
+ When the brief is approved, Pepper notifies Wizer:
130
+
131
+ > Brief is ready in `.wize/planning/brief.md`. No blockers open. Hill, your call on PRD.