analyzthis_design 1.20.0 → 2.0.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 (176) hide show
  1. package/README.md +167 -31
  2. package/agents/cards/anuj.md +1 -1
  3. package/agents/cards/arjun.md +1 -1
  4. package/agents/cards/chunk-planner.md +5 -0
  5. package/agents/cards/meera.md +1 -1
  6. package/agents/cards/mood-board.md +13 -0
  7. package/agents/cards/noor.md +1 -1
  8. package/agents/cards/priya.md +1 -1
  9. package/agents/cards/query-expander.md +17 -0
  10. package/agents/cards/raj.md +1 -1
  11. package/agents/cards/ranker.md +16 -0
  12. package/agents/cards/run-unchunked.md +7 -0
  13. package/agents/cards/zara.md +1 -1
  14. package/agents/chain.json +15 -0
  15. package/agents/manifests/anuj.json +1 -0
  16. package/agents/manifests/arjun.json +1 -0
  17. package/agents/manifests/chunk-planner.json +18 -0
  18. package/agents/manifests/kavi.json +1 -0
  19. package/agents/manifests/meera.json +1 -0
  20. package/agents/manifests/mood-board.json +23 -0
  21. package/agents/manifests/noor.json +1 -0
  22. package/agents/manifests/priya.json +1 -0
  23. package/agents/manifests/query-expander.json +13 -0
  24. package/agents/manifests/raj.json +1 -0
  25. package/agents/manifests/ranker.json +13 -0
  26. package/agents/manifests/run-unchunked.json +19 -0
  27. package/agents/manifests/zara.json +1 -0
  28. package/agents/router.json +14 -0
  29. package/agents/session-schema.json +27 -0
  30. package/dist/.github/ISSUE_TEMPLATE/persona-feedback.yml +75 -0
  31. package/dist/HOW-TO-USE.md +424 -0
  32. package/dist/README.md +858 -0
  33. package/dist/agents/cards/anuj.md +28 -0
  34. package/dist/agents/cards/arjun.md +29 -0
  35. package/dist/agents/cards/chunk-planner.md +5 -0
  36. package/dist/agents/cards/design-director.md +19 -0
  37. package/dist/agents/cards/devi.md +15 -0
  38. package/dist/agents/cards/kavi.md +26 -0
  39. package/dist/agents/cards/meera.md +27 -0
  40. package/dist/agents/cards/mood-board.md +13 -0
  41. package/dist/agents/cards/noor.md +28 -0
  42. package/dist/agents/cards/priya.md +27 -0
  43. package/dist/agents/cards/query-expander.md +17 -0
  44. package/dist/agents/cards/raj.md +29 -0
  45. package/dist/agents/cards/ranker.md +16 -0
  46. package/dist/agents/cards/run-unchunked.md +7 -0
  47. package/dist/agents/cards/zara.md +30 -0
  48. package/dist/agents/chain.json +76 -0
  49. package/dist/agents/deliberation-schema.json +44 -0
  50. package/dist/agents/design-spec-schema.json +111 -0
  51. package/dist/agents/manifests/anuj.json +32 -0
  52. package/dist/agents/manifests/arjun.json +47 -0
  53. package/dist/agents/manifests/chunk-planner.json +18 -0
  54. package/dist/agents/manifests/design-critic.json +21 -0
  55. package/dist/agents/manifests/design-director.json +26 -0
  56. package/dist/agents/manifests/devi.json +31 -0
  57. package/dist/agents/manifests/kavi.json +34 -0
  58. package/dist/agents/manifests/meera.json +32 -0
  59. package/dist/agents/manifests/mood-board.json +23 -0
  60. package/dist/agents/manifests/noor.json +33 -0
  61. package/dist/agents/manifests/persona-orchestrator.json +17 -0
  62. package/dist/agents/manifests/priya.json +32 -0
  63. package/dist/agents/manifests/query-expander.json +13 -0
  64. package/dist/agents/manifests/raj.json +31 -0
  65. package/dist/agents/manifests/ranker.json +13 -0
  66. package/dist/agents/manifests/run-unchunked.json +19 -0
  67. package/dist/agents/manifests/ux-story-gate.json +23 -0
  68. package/dist/agents/manifests/zara.json +33 -0
  69. package/dist/agents/router.json +99 -0
  70. package/dist/agents/session-schema.json +152 -0
  71. package/dist/bin/cli.js +1 -1
  72. package/dist/lib/cache.js +1 -1
  73. package/dist/lib/chunk-executor.js +1 -0
  74. package/dist/lib/chunk-models.js +1 -0
  75. package/dist/lib/chunk-planner.js +1 -0
  76. package/dist/lib/chunk-router.js +1 -0
  77. package/dist/lib/chunk-run.js +1 -0
  78. package/dist/lib/chunk-synthesis.js +1 -0
  79. package/dist/lib/chunk-telemetry.js +1 -0
  80. package/dist/lib/collect.js +1 -1
  81. package/dist/lib/cost.js +1 -1
  82. package/dist/lib/dedup.js +1 -0
  83. package/dist/lib/deliberation.js +1 -1
  84. package/dist/lib/design-spec.js +1 -1
  85. package/dist/lib/evolve.js +1 -0
  86. package/dist/lib/export.js +1 -1
  87. package/dist/lib/feedback-submit.js +1 -1
  88. package/dist/lib/feedback.js +1 -1
  89. package/dist/lib/host-llm.js +1 -1
  90. package/dist/lib/install.js +1 -1
  91. package/dist/lib/knowledge.js +1 -1
  92. package/dist/lib/lessons.js +1 -0
  93. package/dist/lib/moodboard.js +1 -0
  94. package/dist/lib/orchestrator/run.js +1 -1
  95. package/dist/lib/outcome.js +1 -0
  96. package/dist/lib/platforms.js +1 -1
  97. package/dist/lib/provider.js +1 -1
  98. package/dist/lib/query-expander.js +1 -0
  99. package/dist/lib/ranker.js +1 -0
  100. package/dist/lib/research.js +1 -1
  101. package/dist/lib/retrieve.js +1 -1
  102. package/dist/lib/session.js +1 -1
  103. package/dist/lib/source-discovery.js +1 -1
  104. package/dist/lib/synthesis.js +1 -1
  105. package/dist/lib/token-gate.js +1 -1
  106. package/dist/skills/anuj/SKILL.md +92 -0
  107. package/dist/skills/arjun/SKILL.md +291 -0
  108. package/dist/skills/chunk-planner/SKILL.md +45 -0
  109. package/dist/skills/collect-knowledge/SKILL.md +20 -0
  110. package/dist/skills/deliberation-protocol/SKILL.md +131 -0
  111. package/dist/skills/design-critic/SKILL.md +191 -0
  112. package/dist/skills/design-director/SKILL.md +181 -0
  113. package/dist/skills/design-personas/SKILL.md +100 -0
  114. package/dist/skills/design-reference/SKILL.md +83 -0
  115. package/dist/skills/design-reference/app-interface.csv +31 -0
  116. package/dist/skills/design-reference/charts.csv +26 -0
  117. package/dist/skills/design-reference/colors.csv +162 -0
  118. package/dist/skills/design-reference/google-fonts.csv +1924 -0
  119. package/dist/skills/design-reference/icons.csv +106 -0
  120. package/dist/skills/design-reference/landing.csv +35 -0
  121. package/dist/skills/design-reference/products.csv +162 -0
  122. package/dist/skills/design-reference/react-performance.csv +45 -0
  123. package/dist/skills/design-reference/stacks/angular.csv +51 -0
  124. package/dist/skills/design-reference/stacks/astro.csv +54 -0
  125. package/dist/skills/design-reference/stacks/flutter.csv +53 -0
  126. package/dist/skills/design-reference/stacks/html-tailwind.csv +56 -0
  127. package/dist/skills/design-reference/stacks/jetpack-compose.csv +53 -0
  128. package/dist/skills/design-reference/stacks/laravel.csv +51 -0
  129. package/dist/skills/design-reference/stacks/nextjs.csv +53 -0
  130. package/dist/skills/design-reference/stacks/nuxt-ui.csv +51 -0
  131. package/dist/skills/design-reference/stacks/nuxtjs.csv +59 -0
  132. package/dist/skills/design-reference/stacks/react-native.csv +52 -0
  133. package/dist/skills/design-reference/stacks/react.csv +54 -0
  134. package/dist/skills/design-reference/stacks/shadcn.csv +61 -0
  135. package/dist/skills/design-reference/stacks/svelte.csv +54 -0
  136. package/dist/skills/design-reference/stacks/swiftui.csv +51 -0
  137. package/dist/skills/design-reference/stacks/threejs.csv +54 -0
  138. package/dist/skills/design-reference/stacks/vue.csv +50 -0
  139. package/dist/skills/design-reference/styles.csv +85 -0
  140. package/dist/skills/design-reference/typography.csv +74 -0
  141. package/dist/skills/design-reference/ui-reasoning.csv +162 -0
  142. package/dist/skills/design-reference/ux-guidelines.csv +100 -0
  143. package/dist/skills/design-spec/SKILL.md +106 -0
  144. package/dist/skills/devi/SKILL.md +114 -0
  145. package/dist/skills/getting-started/SKILL.md +144 -0
  146. package/dist/skills/kavi/SKILL.md +118 -0
  147. package/dist/skills/knowledge-bank/SKILL.md +43 -0
  148. package/dist/skills/meera/SKILL.md +76 -0
  149. package/dist/skills/mood-board/SKILL.md +113 -0
  150. package/dist/skills/noor/SKILL.md +96 -0
  151. package/dist/skills/persona-orchestrator/SKILL.md +220 -0
  152. package/dist/skills/priya/SKILL.md +75 -0
  153. package/dist/skills/raj/SKILL.md +77 -0
  154. package/dist/skills/run-unchunked/SKILL.md +49 -0
  155. package/dist/skills/ux-ideator/SKILL.md +187 -0
  156. package/dist/skills/ux-story-gate/SKILL.md +353 -0
  157. package/dist/skills/zara/SKILL.md +85 -0
  158. package/dist/supabase/deliberation-config.example.json +15 -0
  159. package/dist/supabase/feedback-config.example.json +7 -0
  160. package/dist/supabase/migrations/001_persona_feedback.sql +54 -0
  161. package/package.json +2 -2
  162. package/skills/anuj/SKILL.md +1 -1
  163. package/skills/arjun/SKILL.md +1 -1
  164. package/skills/chunk-planner/SKILL.md +45 -0
  165. package/skills/design-critic/SKILL.md +2 -2
  166. package/skills/design-director/SKILL.md +1 -1
  167. package/skills/devi/SKILL.md +1 -1
  168. package/skills/getting-started/SKILL.md +12 -0
  169. package/skills/meera/SKILL.md +1 -1
  170. package/skills/mood-board/SKILL.md +113 -0
  171. package/skills/noor/SKILL.md +1 -1
  172. package/skills/persona-orchestrator/SKILL.md +37 -3
  173. package/skills/priya/SKILL.md +1 -1
  174. package/skills/run-unchunked/SKILL.md +49 -0
  175. package/skills/ux-ideator/SKILL.md +1 -1
  176. package/skills/zara/SKILL.md +1 -1
@@ -33,6 +33,16 @@
33
33
  "persona_outputs": {
34
34
  "<persona_id>": "object — structured output block per agents/manifests/<persona_id>.json"
35
35
  },
36
+ "full_prompts": {
37
+ "<persona_id>": "object — { system: string, user: string } exact prompts sent to LLM for training"
38
+ },
39
+ "structured_outputs": {
40
+ "<persona_id>": "object — { grades: object, score: number, top_fixes: string[] } parsed from persona output"
41
+ },
42
+ "covered_points": [
43
+ "object — { persona: string, claim: string, category: string, key: string } deduplicated findings across personas"
44
+ ],
45
+ "task_type": "string — canonical task type (contrast_fix, ia_redesign, onboarding_flow, etc.)",
36
46
  "verify_results": {
37
47
  "primary_task": "pass | fail | not_run",
38
48
  "screenshots": ["string — file paths"],
@@ -67,6 +77,10 @@
67
77
  "context": "object — task_map_summary, problem_type, mode"
68
78
  }
69
79
  ],
80
+ "outcome": {
81
+ "inferred": { "<persona_id>": "object — { value: string, confidence: number, reason: string, at: string } auto-inferred from next session" },
82
+ "confirmed": { "<persona_id>": "object — { value: string, at: string } user-confirmed outcome" }
83
+ },
70
84
  "vault_path": "string — Obsidian vault written by Kavi collect (empty until first collect)",
71
85
  "last_collect_at": "ISO 8601 timestamp — last successful collect run",
72
86
  "deliberation": {
@@ -89,6 +103,19 @@
89
103
  "started_at": "ISO 8601",
90
104
  "completed_at": "ISO 8601 | omitted"
91
105
  },
106
+ "chunk_run": {
107
+ "plan": "object — chunk plan from the frontier planner",
108
+ "planner_model": "object — { provider, model } used for planning",
109
+ "planner_warning": "string | null — warning if planner fell back to host model",
110
+ "results": "array — per-chunk execution results",
111
+ "synthesis": "object — final merged verdict",
112
+ "total_cost": "number — estimated USD cost",
113
+ "total_tokens": "object — { input, output }",
114
+ "models_used": "array — model names used across chunks",
115
+ "failed_chunks": "array — chunks that could not complete",
116
+ "budget": "free | cheap | auto",
117
+ "mode": "sequential | parallel"
118
+ },
92
119
  "synthesis": {
93
120
  "scores": "object — per-persona scores",
94
121
  "total": "number",
@@ -0,0 +1,75 @@
1
+ name: Persona feedback
2
+ description: Report when a design persona got it wrong or you had to correct it
3
+ title: "[feedback] "
4
+ labels: ["persona-feedback"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Help improve analyzthis_design personas. Prefer CLI submit when possible:
10
+ `npx analyzthis_design feedback record ...` then `npx analyzthis_design feedback submit --yes`
11
+
12
+ - type: dropdown
13
+ id: persona
14
+ attributes:
15
+ label: Persona
16
+ options:
17
+ - arjun
18
+ - meera
19
+ - priya
20
+ - zara
21
+ - raj
22
+ - noor
23
+ - anuj
24
+ - design-director
25
+ - other
26
+ validations:
27
+ required: true
28
+
29
+ - type: dropdown
30
+ id: rating
31
+ attributes:
32
+ label: How happy were you with the output?
33
+ options:
34
+ - "1 — very unhappy"
35
+ - "2 — unhappy"
36
+ - "3 — okay"
37
+ - "4 — good"
38
+ - "5 — great"
39
+ validations:
40
+ required: true
41
+
42
+ - type: checkboxes
43
+ id: tags
44
+ attributes:
45
+ label: What went wrong?
46
+ options:
47
+ - label: wrong_hierarchy
48
+ - label: invented_tokens
49
+ - label: missed_ds
50
+ - label: too_verbose
51
+ - label: bad_ia
52
+ - label: off_brief
53
+ - label: other
54
+
55
+ - type: textarea
56
+ id: comment
57
+ attributes:
58
+ label: What was wrong?
59
+ placeholder: The persona suggested colors that aren't in our design system...
60
+ validations:
61
+ required: true
62
+
63
+ - type: textarea
64
+ id: correction
65
+ attributes:
66
+ label: What did you want instead? (how you corrected it)
67
+ placeholder: Use --color-primary from tokens.css; primary CTA should be top-right...
68
+ validations:
69
+ required: true
70
+
71
+ - type: input
72
+ id: version
73
+ attributes:
74
+ label: Package version (optional)
75
+ placeholder: "1.17.0"
@@ -0,0 +1,424 @@
1
+ # How to Use Analyzthis Design — Step-by-Step Guide
2
+
3
+ A practical guide for Cursor, Claude Code, Codex CLI, Grok Build, Windsurf Cascade, and any Agent Skills–compatible IDE.
4
+
5
+ > **Updated for v2.0.0:** `npx analyzthis_design run` now uses **chunked execution** by default (frontier planner → free/cheap chunk models → synthesis). Legacy single-pass is available as `npx analyzthis_design run-unchunked`.
6
+
7
+ ---
8
+
9
+ ## 1. What this package gives you
10
+
11
+ **8 design personas** as slash commands inside your IDE:
12
+
13
+ - **Arjun** — UX + Visual Design audit (Honeycomb + hierarchy)
14
+ - **Meera** — Business / retention / GTM lens
15
+ - **Priya** — Feasibility / engineering effort
16
+ - **Zara** — Delight moments
17
+ - **Noor** — Minimalist IA / progressive disclosure
18
+ - **Anuj** — Dense power-user IA
19
+ - **Raj** — Product strategy / stalemate arbitrator
20
+ - **Kavi** — Knowledge archivist
21
+
22
+ Plus composite skills: `/ux-ideator`, `/design-director`, `/persona-orchestrator`, `/design-critic`, `/ux-story-gate`, `/mood-board`.
23
+
24
+ ---
25
+
26
+ ## 2. One-time install (per machine)
27
+
28
+ Pick your IDE and run **one** command in any terminal:
29
+
30
+ ```bash
31
+ # Cursor (default)
32
+ npx analyzthis_design --target cursor
33
+
34
+ # Claude Code
35
+ npx analyzthis_design --target claude
36
+
37
+ # Codex CLI
38
+ npx analyzthis_design --target codex
39
+
40
+ # Grok Build
41
+ npx analyzthis_design --target grok
42
+
43
+ # Windsurf Cascade
44
+ npx analyzthis_design --target windsurf
45
+
46
+ # Install to every supported IDE at once
47
+ npx analyzthis_design --target all
48
+ ```
49
+
50
+ This copies the skills into the IDE's agent-skills directory:
51
+
52
+ | IDE | Where skills live | Invoke prefix |
53
+ |---|---|---|
54
+ | **Cursor** | `~/.cursor/skills/<skill>/SKILL.md` | `/` |
55
+ | **Claude Code** | `~/.claude/skills/<skill>/SKILL.md` | `/` |
56
+ | **Codex CLI** | `~/.codex/skills/<skill>/SKILL.md` | reference in `AGENTS.md` |
57
+ | **Grok Build** | `~/.grok/skills/<skill>/SKILL.md` | `/` |
58
+ | **Windsurf Cascade** | `~/.codeium/windsurf/skills/<skill>/SKILL.md` | `@` |
59
+ | **Cross-agent** | `~/.agents/skills/<skill>/SKILL.md` | `/` |
60
+
61
+ To see what is installed:
62
+
63
+ ```bash
64
+ npx analyzthis_design list --target cursor
65
+ ```
66
+
67
+ To reinstall after updating the package:
68
+
69
+ ```bash
70
+ npx analyzthis_design --target all --force
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 3. Project setup (do this once per repo)
76
+
77
+ Open your project in the IDE, then in the chat/terminal:
78
+
79
+ ```bash
80
+ npx analyzthis_design collect
81
+ ```
82
+
83
+ This runs **Kavi**:
84
+
85
+ 1. Scans your repo (PRDs, brand/tokens, pages, components, tech, research).
86
+ 2. Writes an Obsidian-compatible vault under `~/.analyzthis_design/vaults/{projectId}/`.
87
+ 3. Optionally enriches notes with an LLM.
88
+ 4. Syncs a **knowledge bank** into your IDE so every persona reads your context first.
89
+
90
+ If you already have an Obsidian vault or markdown folder:
91
+
92
+ ```bash
93
+ npx analyzthis_design connect --vault ~/Documents/MyVault
94
+ npx analyzthis_design sync --target all
95
+ ```
96
+
97
+ ---
98
+
99
+ ## 4. How to pick the right slash command
100
+
101
+ | I want to… | Run this | Why |
102
+ |---|---|---|
103
+ | Wireframe a new screen or flow | `/ux-ideator` or `/noor` | Full text wireframes, two competing IA concepts |
104
+ | Quick minimalist wireframe | `/noor` | Concept A — progressive disclosure, one primary action |
105
+ | Dense power-user wireframe | `/anuj` | Concept B — bulk actions, keyboard shortcuts, full density |
106
+ | Design + spec + optional build | `/design-director` | Senior-designer handoff path |
107
+ | Critique an existing design | `/persona-orchestrator` or `/design-critic` | Scored review → SHIP / REVISE / BLOCK |
108
+ | Review against PRDs and stories | `/ux-story-gate` | Task map + routing before critique |
109
+ | Set visual direction | `/mood-board` | References + design-system patterns + team deliberation |
110
+ | Index the repo for personas | `/kavi` | Kavi → knowledge bank |
111
+ | Get a single-lens opinion | `/arjun`, `/meera`, `/priya`, `/zara`, `/noor`, `/anuj` | Targeted follow-up |
112
+
113
+ **Important:** do not use `/persona-orchestrator` or `/design-critic` when you want wireframes. They are for critique.
114
+
115
+ ---
116
+
117
+ ## 5. Common workflows
118
+
119
+ ### 5.1 Wireframe a new screen
120
+
121
+ **Cursor / Claude / Grok:**
122
+
123
+ ```
124
+ /ux-ideator Design a settings page for a B2B SaaS dashboard.
125
+ Primary user: ops manager, daily use. Stack: Next.js + shadcn.
126
+ Produce full text wireframes for both Concept A and Concept B.
127
+ ```
128
+
129
+ **Windsurf:** replace `/` with `@`:
130
+
131
+ ```
132
+ @ux-ideator Design a settings page for a B2B SaaS dashboard.
133
+ ```
134
+
135
+ **Codex:** reference the skill in `AGENTS.md` or invoke by name from `~/.codex/skills/`.
136
+
137
+ What happens:
138
+
139
+ 1. `ux-story-gate` builds a task map.
140
+ 2. MoE router selects the ideation chain.
141
+ 3. Meera → Noor + Anuj → Arjun → Zara → Priya run in groups.
142
+ 4. Personas deliberate with low satisfaction.
143
+ 5. You get two text wireframes plus a synthesis.
144
+
145
+ ---
146
+
147
+ ### 5.2 Critique an existing screen
148
+
149
+ ```
150
+ /persona-orchestrator Critique this login page for UX friction and hierarchy.
151
+ Assess only — do not implement changes.
152
+ ```
153
+
154
+ What happens:
155
+
156
+ 1. `ux-story-gate` discovers PRDs and user stories.
157
+ 2. MoE router picks a subset of the critique chain (default: Arjun + Meera).
158
+ 3. For a full 4-persona review:
159
+
160
+ ```
161
+ /design-critic Full review of the invoice screen.
162
+ Run all personas in --full mode.
163
+ ```
164
+
165
+ 4. Personas raise objections, ask questions, and converge.
166
+ 5. Output: composite score, verdict (SHIP / REVISE / BLOCK), Top 3 fixes.
167
+
168
+ ---
169
+
170
+ ### 5.3 Design + spec + build
171
+
172
+ ```
173
+ /design-director Design a notifications settings page for our B2B app.
174
+ Use our shadcn components and tokens from the knowledge bank.
175
+ Produce a DesignSpec and implement after spec gates pass.
176
+ ```
177
+
178
+ What happens:
179
+
180
+ 1. Ideation → two concepts.
181
+ 2. DesignSpec is produced and validated.
182
+ 3. Spec gates (design system, hierarchy) must pass.
183
+ 4. If `mode: build_approved`, implementation begins.
184
+
185
+ ---
186
+
187
+ ### 5.4 Set visual direction with a mood board
188
+
189
+ ```bash
190
+ npx analyzthis_design moodboard create --task "B2B fintech dashboard, trustworthy, high-contrast" --auto
191
+ npx analyzthis_design moodboard critique --board <boardId>
192
+ ```
193
+
194
+ Or in chat:
195
+
196
+ ```
197
+ /mood-board Build a mood board for a B2B fintech dashboard.
198
+ Trustworthy, high-contrast, data-dense. Include 3 web references.
199
+ ```
200
+
201
+ What happens:
202
+
203
+ 1. Web references and search stubs are collected.
204
+ 2. Each reference is tagged (style, mood, surface).
205
+ 3. Design-system patterns are pulled from `skills/design-reference/*.csv`.
206
+ 4. Arjun, Meera, Priya, Zara, Noor deliberate using the UX Honeycomb matrix.
207
+ 5. A `board.json` is written to `./moodboard/` for you to inspect.
208
+
209
+ You can add your own references and rerun:
210
+
211
+ ```bash
212
+ npx analyzthis_design moodboard add --board <boardId> \
213
+ --url https://dribbble.com/shots/example \
214
+ --title "Alt hero" --tags "landing,trust"
215
+ ```
216
+
217
+ ---
218
+
219
+ ### 5.5 Run the standalone CLI orchestrator
220
+
221
+ **v2.0 default — chunked execution (no API keys required):**
222
+
223
+ ```bash
224
+ # Frontier planner + free/cheap chunk models
225
+ npx analyzthis_design run --task "Review my invoice screen"
226
+
227
+ # Prefer free models only (Ollama, Groq/Gemini/OpenRouter free endpoints)
228
+ npx analyzthis_design run --task "Review my invoice screen" --budget free
229
+
230
+ # Use your paid keys for cheap, capable models
231
+ npx analyzthis_design run --task "Review my invoice screen" --budget cheap --provider together
232
+
233
+ # Sequential is default; explicit parallel
234
+ npx analyzthis_design run --task "..." --parallel --max-chunks 6
235
+ ```
236
+
237
+ **Legacy single-pass orchestrator (host mode, no API keys):**
238
+
239
+ ```bash
240
+ # Start a run — it pauses and waits for the host LLM /devi
241
+ npx analyzthis_design run-unchunked --task "Review my invoice screen" --full
242
+ npx analyzthis_design devi status
243
+ npx analyzthis_design run-unchunked --continue --task "Review my invoice screen" --full
244
+
245
+ # Quick single-expert run
246
+ npx analyzthis_design run-unchunked --task "Just check spacing" --experts arjun
247
+ ```
248
+
249
+ In host mode, the CLI writes pending prompts to:
250
+
251
+ ```
252
+ ~/.analyzthis_design/runs/{projectId}/{runId}/pending/
253
+ ```
254
+
255
+ and reads responses from:
256
+
257
+ ```
258
+ ~/.analyzthis_design/runs/{projectId}/{runId}/responses/
259
+ ```
260
+
261
+ ---
262
+
263
+ ## 6. IDE-specific notes
264
+
265
+ ### Cursor
266
+
267
+ - Invoke skills with `/`, e.g. `/ux-ideator`, `/persona-orchestrator`, `/mood-board`.
268
+ - Skills live in `~/.cursor/skills/`.
269
+ - Use `/devi` when the CLI orchestrator is waiting for a host response.
270
+ - If a skill is missing, run `npx analyzthis_design --target cursor --force`.
271
+
272
+ ### Claude Code
273
+
274
+ - Invoke skills with `/`, e.g. `/ux-ideator`.
275
+ - Skills live in `~/.claude/skills/`. Legacy commands also work from `~/.claude/commands/`.
276
+ - Use `/devi` for host LLM responses.
277
+
278
+ ### Codex CLI
279
+
280
+ - Codex does not use `/` prefixes. Reference skill names in your project's `AGENTS.md` or invoke by name.
281
+ - Skills live in `~/.codex/skills/`.
282
+ - Example `AGENTS.md` line: `Skills: analyzthis_design/ux-ideator, analyzthis_design/persona-orchestrator`.
283
+
284
+ ### Grok Build
285
+
286
+ - Invoke skills with `/`, e.g. `/ux-ideator`, `/persona-orchestrator`.
287
+ - Skills live in `~/.grok/skills/`.
288
+
289
+ ### Windsurf Cascade
290
+
291
+ - Invoke skills with `@`, e.g. `@ux-ideator`, `@persona-orchestrator`, `@mood-board`.
292
+ - Skills live in `~/.codeium/windsurf/skills/`.
293
+
294
+ ---
295
+
296
+ ## 7. Persona-specific follow-ups
297
+
298
+ After a run, you can ask a single persona to go deeper:
299
+
300
+ ```
301
+ /arjun Double-check the hierarchy on the wireframe from the last /ux-ideator run.
302
+ /meera Is the onboarding flow likely to improve activation rate?
303
+ /priya How much effort is the modal-vs-wizard choice?
304
+ /zara Add one delight moment to the empty state.
305
+ /noor Simplify the navigation to ≤3 levels.
306
+ /anuj Add bulk actions and keyboard shortcuts for daily users.
307
+ ```
308
+
309
+ Each persona reads the session state, so you do not need to repeat the task.
310
+
311
+ ---
312
+
313
+ ## 8. After the run — accept, reject, evolve
314
+
315
+ ### Mark an output accepted
316
+
317
+ ```bash
318
+ npx analyzthis_design session accept --persona arjun
319
+ ```
320
+
321
+ ### Reject with correction
322
+
323
+ ```bash
324
+ npx analyzthis_design session accept --persona arjun --reject \
325
+ --comment "Invented tokens not in our DS" \
326
+ --correction "Use --color-primary and spacing-4 from tokens.css" \
327
+ --rating 2 --tags invented_tokens,missed_ds
328
+ ```
329
+
330
+ ### Make the team learn
331
+
332
+ ```bash
333
+ npx analyzthis_design evolve --extract --dry-run # preview
334
+ npx analyzthis_design evolve --extract # write patch proposals
335
+ npx analyzthis_design evolve --apply <patchId> # apply after review
336
+ ```
337
+
338
+ ### Confirm whether the advice actually shipped
339
+
340
+ ```bash
341
+ npx analyzthis_design outcome --confirm --persona arjun --result shipped
342
+ # or: revised, blocked_correctly, missed
343
+ ```
344
+
345
+ ---
346
+
347
+ ## 9. Configuration
348
+
349
+ Create `~/.analyzthis_design/config.json`:
350
+
351
+ ```json
352
+ {
353
+ "orchestrator": {
354
+ "provider": "host",
355
+ "mode": "lite"
356
+ },
357
+ "collect": {
358
+ "web_urls": ["https://your-company.com/brand-guidelines"],
359
+ "web_queries": ["your product design inspiration"],
360
+ "web_limit": 10
361
+ },
362
+ "moodboard": {
363
+ "urls": ["https://dribbble.com/shots/example"],
364
+ "queries": ["fintech dashboard design"],
365
+ "limit": 12,
366
+ "workspace_dir": "./moodboard"
367
+ }
368
+ }
369
+ ```
370
+
371
+ No API keys are required for host mode. To use cloud providers, set one of:
372
+
373
+ - `ANTHROPIC_API_KEY`
374
+ - `OPENAI_API_KEY`
375
+ - `GEMINI_API_KEY` or `GOOGLE_API_KEY`
376
+ - `ZAI_API_KEY` or `ZHIPU_API_KEY`
377
+
378
+ ---
379
+
380
+ ## 10. Troubleshooting
381
+
382
+ | Problem | Fix |
383
+ |---|---|
384
+ | Skill not found in IDE | Reinstall: `npx analyzthis_design --target <ide> --force` |
385
+ | Personas re-ask for context | Run `npx analyzthis_design session show` — if a session exists, do not re-derive the task map |
386
+ | No web references fetched | Add `collect.web_urls` / `research.urls` to config, or paste URLs directly |
387
+ | Run pauses with "Host LLM pending" | Invoke `/devi` in Cursor/Claude, or run `npx analyzthis_design devi respond --run <dir> --step <id> --file response.md` |
388
+ | Want a cheaper run | Use `--lite` (default) instead of `--full` |
389
+ | Want deeper critique | Use `--full` for the full design-critic chain |
390
+ | Personas give generic advice | Add PRDs/brand/research notes and re-run `npx analyzthis_design collect` |
391
+
392
+ ---
393
+
394
+ ## 11. Quick reference
395
+
396
+ ```bash
397
+ # Help
398
+ npx analyzthis_design welcome
399
+
400
+ # Knowledge
401
+ npx analyzthis_design collect
402
+ npx analyzthis_design sync --target all
403
+ npx analyzthis_design session init
404
+ npx analyzthis_design session show
405
+
406
+ # Run
407
+ npx analyzthis_design run --task "Review this screen" --dry-run
408
+ npx analyzthis_design run --task "Review this screen" --full
409
+ npx analyzthis_design run --continue --task "Review this screen"
410
+
411
+ # Mood board
412
+ npx analyzthis_design moodboard create --task "..." --auto
413
+ npx analyzthis_design moodboard critique --board <id>
414
+ npx analyzthis_design moodboard add --board <id> --url <url> --tags a,b
415
+
416
+ # Evolve
417
+ npx analyzthis_design evolve --extract --dry-run
418
+ npx analyzthis_design evolve --apply <patchId>
419
+ npx analyzthis_design outcome --confirm --persona arjun --result shipped
420
+ ```
421
+
422
+ ---
423
+
424
+ Docs: https://github.com/joshirishi/analyzthis_design