analyzthis_design 2.5.0 → 2.5.2

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 (93) hide show
  1. package/HOW-TO-USE.md +249 -326
  2. package/README.md +58 -13
  3. package/agents/calibration-benchmark.json +187 -0
  4. package/agents/cards/anuj.md +2 -2
  5. package/agents/cards/arjun.md +2 -2
  6. package/agents/cards/kavi.md +2 -1
  7. package/agents/cards/mood-board.md +3 -2
  8. package/agents/cards/noor.md +2 -2
  9. package/agents/cards/priya.md +1 -1
  10. package/agents/cards/zara.md +3 -3
  11. package/agents/chain.json +1 -1
  12. package/agents/design-spec-schema.json +18 -1
  13. package/agents/manifests/mood-board.json +1 -0
  14. package/agents/model-policy.json +12 -0
  15. package/agents/router.json +1 -1
  16. package/agents/session-schema.json +12 -2
  17. package/dist/HOW-TO-USE.md +249 -326
  18. package/dist/README.md +58 -13
  19. package/dist/agents/calibration-benchmark.json +187 -0
  20. package/dist/agents/cards/anuj.md +2 -2
  21. package/dist/agents/cards/arjun.md +2 -2
  22. package/dist/agents/cards/kavi.md +2 -1
  23. package/dist/agents/cards/mood-board.md +3 -2
  24. package/dist/agents/cards/noor.md +2 -2
  25. package/dist/agents/cards/priya.md +1 -1
  26. package/dist/agents/cards/zara.md +3 -3
  27. package/dist/agents/chain.json +1 -1
  28. package/dist/agents/design-spec-schema.json +18 -1
  29. package/dist/agents/manifests/mood-board.json +1 -0
  30. package/dist/agents/model-policy.json +12 -0
  31. package/dist/agents/router.json +1 -1
  32. package/dist/agents/session-schema.json +12 -2
  33. package/dist/bin/cli.js +154 -5
  34. package/dist/lib/calibrate.js +816 -0
  35. package/dist/lib/chunk-executor.js +41 -1
  36. package/dist/lib/chunk-models.js +4 -18
  37. package/dist/lib/chunk-router.js +22 -6
  38. package/dist/lib/chunk-run.js +55 -1
  39. package/dist/lib/chunk-synthesis.js +18 -2
  40. package/dist/lib/chunk-telemetry.js +77 -17
  41. package/dist/lib/collect.js +15 -1
  42. package/dist/lib/cost.js +15 -7
  43. package/dist/lib/design-spec.js +32 -2
  44. package/dist/lib/evolution-metrics.js +23 -1
  45. package/dist/lib/feedback-submit.js +50 -1
  46. package/dist/lib/feedback.js +15 -0
  47. package/dist/lib/lessons.js +8 -0
  48. package/dist/lib/mcp-server.js +119 -5
  49. package/dist/lib/model-policy.js +174 -0
  50. package/dist/lib/model-registry.js +71 -0
  51. package/dist/lib/moodboard.js +162 -28
  52. package/dist/lib/orchestrator/run.js +67 -8
  53. package/dist/lib/outcome.js +7 -2
  54. package/dist/lib/output-quality.js +95 -0
  55. package/dist/lib/reference-pack.js +9 -1
  56. package/dist/lib/session.js +48 -4
  57. package/dist/lib/system-prompt.js +3 -0
  58. package/dist/lib/ui-libraries.js +232 -0
  59. package/dist/skills/anuj/SKILL.md +4 -1
  60. package/dist/skills/arjun/SKILL.md +2 -2
  61. package/dist/skills/arjun/references/lens.md +15 -2
  62. package/dist/skills/design-director/SKILL.md +2 -0
  63. package/dist/skills/design-reference/SKILL.md +6 -0
  64. package/dist/skills/design-reference/motion.csv +11 -0
  65. package/dist/skills/design-reference/schema.json +12 -0
  66. package/dist/skills/design-reference/stacks/shadcn.csv +6 -0
  67. package/dist/skills/design-reference/ui-libraries.csv +46 -0
  68. package/dist/skills/design-reference/ux-guidelines.csv +12 -1
  69. package/dist/skills/design-spec/SKILL.md +1 -1
  70. package/dist/skills/getting-started/SKILL.md +2 -2
  71. package/dist/skills/kavi/SKILL.md +4 -3
  72. package/dist/skills/mood-board/SKILL.md +29 -3
  73. package/dist/skills/noor/SKILL.md +5 -1
  74. package/dist/skills/priya/SKILL.md +3 -0
  75. package/dist/skills/zara/SKILL.md +50 -3
  76. package/package.json +5 -2
  77. package/skills/anuj/SKILL.md +4 -1
  78. package/skills/arjun/SKILL.md +2 -2
  79. package/skills/arjun/references/lens.md +15 -2
  80. package/skills/design-director/SKILL.md +2 -0
  81. package/skills/design-reference/SKILL.md +6 -0
  82. package/skills/design-reference/motion.csv +11 -0
  83. package/skills/design-reference/schema.json +12 -0
  84. package/skills/design-reference/stacks/shadcn.csv +6 -0
  85. package/skills/design-reference/ui-libraries.csv +46 -0
  86. package/skills/design-reference/ux-guidelines.csv +12 -1
  87. package/skills/design-spec/SKILL.md +1 -1
  88. package/skills/getting-started/SKILL.md +2 -2
  89. package/skills/kavi/SKILL.md +4 -3
  90. package/skills/mood-board/SKILL.md +29 -3
  91. package/skills/noor/SKILL.md +5 -1
  92. package/skills/priya/SKILL.md +3 -0
  93. package/skills/zara/SKILL.md +50 -3
@@ -1,474 +1,397 @@
1
- # How to Use Analyzthis Design — Step-by-Step Guide
1
+ # How to Use Analyzthis Design
2
2
 
3
- A practical guide for Cursor, Claude Code, Codex CLI, Grok Build, Windsurf Cascade, and any Agent Skills–compatible IDE.
3
+ This guide explains the three simplest ways to use Analyzthis Design:
4
4
 
5
- > **Updated for v2.0.0:** `npx analyzthis_design run` now uses **chunked execution** by default (frontier planner → free/cheap chunk models → synthesis). Each chunk retrieves from 3-5 CSV reference files + vault slices, pooled into a single ranker call. Legacy single-pass is available as `npx analyzthis_design run-unchunked`.
5
+ 1. Cursor Agent or Cursor CLI
6
+ 2. Claude Code CLI
7
+ 3. Local models through Ollama
6
8
 
7
- ---
9
+ Analyzthis Design gives your AI eight specialist design viewpoints:
8
10
 
9
- ## 1. What this package gives you
11
+ - Arjun — UX and visual hierarchy
12
+ - Meera — business, retention, and growth
13
+ - Priya — engineering feasibility
14
+ - Zara — delight and memorable moments
15
+ - Noor — simple, focused interfaces
16
+ - Anuj — dense, efficient power-user interfaces
17
+ - Raj — product strategy and disagreement resolution
18
+ - Kavi — project knowledge collection
10
19
 
11
- **8 design personas** as slash commands inside your IDE:
20
+ ## Before you begin
12
21
 
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:
22
+ You need Node.js 16 or newer. Check it with:
29
23
 
30
24
  ```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
25
+ node --version
26
+ npm --version
48
27
  ```
49
28
 
50
- This copies the skills into the IDE's agent-skills directory:
29
+ Run the commands below from the project you want the personas to understand.
51
30
 
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` | `/` |
31
+ If you are testing an unpublished checkout of this repository, replace
32
+ `npx analyzthis_design@latest` with `node /path/to/analyzthis_design/bin/cli.js`.
33
+ The new calibration command becomes available through `npx` after its npm release.
60
34
 
61
- To see what is installed:
35
+ ## Recommended first-time setup
36
+
37
+ Install the skills into your AI tools:
62
38
 
63
39
  ```bash
64
- npx analyzthis_design list --target cursor
40
+ npx analyzthis_design@latest install --target cursor
41
+ npx analyzthis_design@latest install --target claude
65
42
  ```
66
43
 
67
- To reinstall after updating the package:
44
+ Or install for every supported tool:
68
45
 
69
46
  ```bash
70
- npx analyzthis_design --target all --force
47
+ npx analyzthis_design@latest install --target all
71
48
  ```
72
49
 
73
- ---
74
-
75
- ## 3. Project setup (do this once per repo)
76
-
77
- Open your project in the IDE, then in the chat/terminal:
50
+ Then collect the current project's useful design and product context:
78
51
 
79
52
  ```bash
80
- npx analyzthis_design collect
53
+ npx analyzthis_design@latest collect
81
54
  ```
82
55
 
83
- This runs **Kavi**:
56
+ This creates a project-specific knowledge bank from relevant files such as product requirements, components, design tokens, and research. It does not mix one project's knowledge into another project.
84
57
 
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:
58
+ After updating Analyzthis Design, refresh installed skills with:
91
59
 
92
60
  ```bash
93
- npx analyzthis_design connect --vault ~/Documents/MyVault
94
- npx analyzthis_design sync --target all
61
+ npx analyzthis_design@latest install --target all --force
95
62
  ```
96
63
 
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. Default is a short verdict — say expand for the full schema |
112
- | See inferred token spend | `/receipt` | Not a bill. Same as `npx analyzthis_design receipt` |
113
-
114
- **Important:** do not use `/persona-orchestrator` or `/design-critic` when you want wireframes. They are for critique.
115
-
116
- ---
117
-
118
- ## 5. Common workflows
64
+ ## Option 1: Cursor Agent and Cursor CLI
119
65
 
120
- ### 5.1 Wireframe a new screen
66
+ ### Use it in Cursor
121
67
 
122
- **Cursor / Claude / Grok:**
68
+ Open the project in Cursor and start an Agent chat. Enter one of these prompts:
123
69
 
70
+ ```text
71
+ /ux-ideator Design an invoice approval screen for finance managers.
72
+ Use this project's components and produce two different layout concepts.
124
73
  ```
125
- /ux-ideator Design a settings page for a B2B SaaS dashboard.
126
- Primary user: ops manager, daily use. Stack: Next.js + shadcn.
127
- Produce full text wireframes for both Concept A and Concept B.
128
- ```
129
-
130
- **Windsurf:** replace `/` with `@`:
131
74
 
75
+ ```text
76
+ /persona-orchestrator Review the current onboarding screen.
77
+ Assess usability, visual hierarchy, business impact, and implementation risk.
78
+ Do not edit code yet.
132
79
  ```
133
- @ux-ideator Design a settings page for a B2B SaaS dashboard.
134
- ```
135
-
136
- **Codex:** reference the skill in `AGENTS.md` or invoke by name from `~/.codex/skills/`.
137
-
138
- What happens:
139
-
140
- 1. `ux-story-gate` builds a task map.
141
- 2. MoE router selects the ideation chain.
142
- 3. Meera → Noor + Anuj → Arjun → Zara → Priya run in groups.
143
- 4. Personas deliberate with low satisfaction.
144
- 5. You get two text wireframes plus a synthesis.
145
-
146
- ---
147
-
148
- ### 5.2 Critique an existing screen
149
80
 
81
+ ```text
82
+ /design-director Design and implement a production-ready settings page.
83
+ Reuse our existing components and design tokens.
150
84
  ```
151
- /persona-orchestrator Critique this login page for UX friction and hierarchy.
152
- Assess only — do not implement changes.
153
- ```
154
-
155
- What happens:
156
-
157
- 1. `ux-story-gate` discovers PRDs and user stories.
158
- 2. MoE router picks a subset of the critique chain (default: Arjun + Meera).
159
- 3. For a full 4-persona review:
160
85
 
161
- ```
162
- /design-critic Full review of the invoice screen.
163
- Run all personas in --full mode.
164
- ```
86
+ Useful commands:
165
87
 
166
- 4. Personas raise objections, ask questions, and converge.
167
- 5. Output: composite score, verdict (SHIP / REVISE / BLOCK), Top 3 fixes.
88
+ - `/ux-ideator` — create two competing interface concepts
89
+ - `/design-director` — design, specify, and optionally implement
90
+ - `/persona-orchestrator` — critique an existing design
91
+ - `/design-critic` — deeper multi-persona critique
92
+ - `/noor` — simple, focused design
93
+ - `/anuj` — dense power-user design
94
+ - `/arjun`, `/meera`, `/priya`, `/zara` — ask one specialist
95
+ - `/kavi` — refresh project knowledge
96
+ - `/accept` — keep or reject the latest persona output
168
97
 
169
- ---
98
+ If a command is missing, reinstall and start a new Cursor Agent session:
170
99
 
171
- ### 5.3 Design + spec + build
172
-
173
- ```
174
- /design-director Design a notifications settings page for our B2B app.
175
- Use our shadcn components and tokens from the knowledge bank.
176
- Produce a DesignSpec and implement after spec gates pass.
100
+ ```bash
101
+ npx analyzthis_design@latest install --target cursor --force
177
102
  ```
178
103
 
179
- What happens:
104
+ ### Use it from Cursor CLI
180
105
 
181
- 1. Ideation → two concepts.
182
- 2. DesignSpec is produced and validated.
183
- 3. Spec gates (design system, hierarchy) must pass.
184
- 4. If `mode: build_approved`, implementation begins.
185
-
186
- ---
187
-
188
- ### 5.4 Set visual direction with a mood board
106
+ Cursor's command-line agent uses the `agent` command. Install it if needed:
189
107
 
190
108
  ```bash
191
- npx analyzthis_design moodboard create --task "B2B fintech dashboard, trustworthy, high-contrast" --auto
192
- npx analyzthis_design moodboard critique --board <boardId>
109
+ curl https://cursor.com/install -fsS | bash
110
+ agent update
193
111
  ```
194
112
 
195
- Or in chat:
113
+ Start an interactive session from your project:
196
114
 
197
- ```
198
- /mood-board Build a mood board for a B2B fintech dashboard.
199
- Trustworthy, high-contrast, data-dense. Include 3 web references.
115
+ ```bash
116
+ cd /path/to/your/project
117
+ agent
200
118
  ```
201
119
 
202
- What happens:
120
+ Then enter a skill prompt such as:
203
121
 
204
- 1. Web references and search stubs are collected.
205
- 2. Each reference is tagged (style, mood, surface).
206
- 3. Design-system patterns are pulled from `skills/design-reference/*.csv`.
207
- 4. Arjun, Meera, Priya, Zara, Noor deliberate using the UX Honeycomb matrix.
208
- 5. A `board.json` is written to `./moodboard/` for you to inspect.
122
+ ```text
123
+ /design-critic Review the dashboard in this repository. Assess only.
124
+ ```
209
125
 
210
- You can add your own references and rerun:
126
+ For a one-command, non-interactive run:
211
127
 
212
128
  ```bash
213
- npx analyzthis_design moodboard add --board <boardId> \
214
- --url https://dribbble.com/shots/example \
215
- --title "Alt hero" --tags "landing,trust"
129
+ agent -p "/persona-orchestrator Review the checkout flow in this repository. Assess only."
216
130
  ```
217
131
 
218
- ---
132
+ The slash command is part of the prompt sent to Cursor Agent. It is not a standalone shell command.
219
133
 
220
- ### 5.5 Run the standalone CLI orchestrator
134
+ ## Option 2: Claude Code CLI
221
135
 
222
- **v2.0 default — chunked execution (no API keys required):**
136
+ Install the skills:
223
137
 
224
138
  ```bash
225
- # Frontier planner + free/cheap chunk models
226
- npx analyzthis_design run --task "Review my invoice screen"
227
-
228
- # Prefer free models only (Ollama, Groq/Gemini/OpenRouter free endpoints)
229
- npx analyzthis_design run --task "Review my invoice screen" --budget free
230
-
231
- # Use your paid keys for cheap, capable models
232
- npx analyzthis_design run --task "Review my invoice screen" --budget cheap --provider together
233
-
234
- # Sequential is default; explicit parallel
235
- npx analyzthis_design run --task "..." --parallel --max-chunks 6
139
+ npx analyzthis_design@latest install --target claude
236
140
  ```
237
141
 
238
- **Legacy single-pass orchestrator (host mode, no API keys):**
142
+ Start Claude Code from your project:
239
143
 
240
144
  ```bash
241
- # Start a run — it pauses and waits for the host LLM /devi
242
- npx analyzthis_design run-unchunked --task "Review my invoice screen" --full
243
- npx analyzthis_design devi status
244
- npx analyzthis_design run-unchunked --continue --task "Review my invoice screen" --full
245
-
246
- # Quick single-expert run
247
- npx analyzthis_design run-unchunked --task "Just check spacing" --experts arjun
145
+ cd /path/to/your/project
146
+ claude
248
147
  ```
249
148
 
250
- In host mode, the CLI writes pending prompts to:
149
+ Then enter:
251
150
 
252
- ```
253
- ~/.analyzthis_design/runs/{projectId}/{runId}/pending/
151
+ ```text
152
+ /ux-ideator Design a permissions screen for a B2B application.
153
+ Create one simple concept and one power-user concept.
254
154
  ```
255
155
 
256
- and reads responses from:
156
+ Or run Claude Code non-interactively:
257
157
 
258
- ```
259
- ~/.analyzthis_design/runs/{projectId}/{runId}/responses/
158
+ ```bash
159
+ claude -p "/design-critic Review the account settings flow in this repository. Assess only."
260
160
  ```
261
161
 
262
- ---
162
+ Claude Code reads the installed skills from `~/.claude/skills/`. Analyzthis Design also writes compatible command files to `~/.claude/commands/`.
263
163
 
264
- ## 6. IDE-specific notes
164
+ If Claude cannot find a skill:
265
165
 
266
- ### Cursor
267
-
268
- - Invoke skills with `/`, e.g. `/ux-ideator`, `/persona-orchestrator`, `/mood-board`.
269
- - Skills live in `~/.cursor/skills/`.
270
- - Use `/devi` when the CLI orchestrator is waiting for a host response.
271
- - If a skill is missing, run `npx analyzthis_design --target cursor --force`.
166
+ ```bash
167
+ npx analyzthis_design@latest install --target claude --force
168
+ ```
272
169
 
273
- ### Claude Code
170
+ Then start a new Claude Code session.
274
171
 
275
- - Invoke skills with `/`, e.g. `/ux-ideator`.
276
- - Skills live in `~/.claude/skills/`. Legacy commands also work from `~/.claude/commands/`.
277
- - Use `/devi` for host LLM responses.
172
+ ## Option 3: Local models with Ollama
278
173
 
279
- ### Codex CLI
174
+ Ollama is a local model server. It does not load Analyzthis Design slash commands by itself. Use the Analyzthis Design CLI and tell it to call an Ollama model.
280
175
 
281
- - Codex does not use `/` prefixes. Reference skill names in your project's `AGENTS.md` or invoke by name.
282
- - Skills live in `~/.codex/skills/`.
283
- - Example `AGENTS.md` line: `Skills: analyzthis_design/ux-ideator, analyzthis_design/persona-orchestrator`.
176
+ ### Install and prepare a model
284
177
 
285
- ### Grok Build
178
+ Install Ollama from [ollama.com](https://ollama.com), then pull a supported model:
286
179
 
287
- - Invoke skills with `/`, e.g. `/ux-ideator`, `/persona-orchestrator`.
288
- - Skills live in `~/.grok/skills/`.
180
+ ```bash
181
+ ollama pull qwen2.5
182
+ ollama list
183
+ ```
289
184
 
290
- ### Windsurf Cascade
185
+ On macOS, opening the Ollama application normally starts its local server. On other systems, start it with:
291
186
 
292
- - Invoke skills with `@`, e.g. `@ux-ideator`, `@persona-orchestrator`, `@mood-board`.
293
- - Skills live in `~/.codeium/windsurf/skills/`.
187
+ ```bash
188
+ ollama serve
189
+ ```
294
190
 
295
- ---
191
+ The default local address is `http://localhost:11434`.
296
192
 
297
- ## 7. Persona-specific follow-ups
193
+ ### Easiest fully local run
298
194
 
299
- After a run, you can ask a single persona to go deeper:
195
+ Use the unchunked runner when you want one Ollama model to perform the whole review:
300
196
 
197
+ ```bash
198
+ npx analyzthis_design@latest run-unchunked \
199
+ --task "Review the invoice approval screen" \
200
+ --provider ollama \
201
+ --model qwen2.5 \
202
+ --experts arjun,meera,priya
301
203
  ```
302
- /arjun Double-check the hierarchy on the wireframe from the last /ux-ideator run.
303
- /meera Is the onboarding flow likely to improve activation rate?
304
- /priya How much effort is the modal-vs-wizard choice?
305
- /zara Add one delight moment to the empty state.
306
- /noor Simplify the navigation to ≤3 levels.
307
- /anuj Add bulk actions and keyboard shortcuts for daily users.
308
- ```
309
-
310
- Each persona reads the session state, so you do not need to repeat the task.
311
204
 
312
- ---
205
+ For a quicker single-persona review:
313
206
 
314
- ## 8. After the run — accept, reject, evolve
207
+ ```bash
208
+ npx analyzthis_design@latest run-unchunked \
209
+ --task "Check visual hierarchy and spacing" \
210
+ --provider ollama \
211
+ --model qwen2.5 \
212
+ --experts arjun
213
+ ```
315
214
 
316
- ### Designer path (remember this)
215
+ ### Use Ollama with the chunked runner
317
216
 
318
- In chat, after `/zara` or any persona:
217
+ The default `run` command first asks a planner to divide the work into smaller tasks. To keep both planning and execution local, create or update:
319
218
 
320
- ```
321
- /accept yes
219
+ ```text
220
+ ~/.analyzthis_design/config.json
322
221
  ```
323
222
 
324
- or
223
+ Use this configuration:
325
224
 
225
+ ```json
226
+ {
227
+ "chunk_models": {
228
+ "budget": "free",
229
+ "planner": {
230
+ "provider": "ollama",
231
+ "model": "qwen2.5"
232
+ }
233
+ }
234
+ }
326
235
  ```
327
- /accept no — too much motion on the daily table
236
+
237
+ Then run:
238
+
239
+ ```bash
240
+ npx analyzthis_design@latest run \
241
+ --task "Review the complete onboarding flow" \
242
+ --budget free \
243
+ --provider ollama \
244
+ --model qwen2.5
328
245
  ```
329
246
 
330
- No terminal flags. `/accept` writes keep or skip for **local** evolution.
247
+ Analyzthis Design automatically detects models returned by `ollama list`. Recommended local names include `qwen2.5`, `llama3.1`, `mistral`, `gemma3:4b`, and `phi4`. Larger models usually give better design reasoning but require more memory and run more slowly.
331
248
 
332
- To send a correction to the published package:
249
+ To use Ollama on another machine or port:
333
250
 
251
+ ```bash
252
+ export OLLAMA_BASE_URL="http://your-host:11434"
334
253
  ```
335
- /share
254
+
255
+ For chunked runs, also merge the discovery address into `config.json`:
256
+
257
+ ```json
258
+ {
259
+ "ollama": {
260
+ "base_url": "http://your-host:11434"
261
+ }
262
+ }
336
263
  ```
337
264
 
338
- Then **yes** if the preview looks right. Redacted — no folder names, emails, or keys.
265
+ ### Common Ollama problems
339
266
 
340
- ### CLI (same thing, if you prefer the terminal)
267
+ Check that the server is reachable:
341
268
 
342
269
  ```bash
343
- npx analyzthis_design accept --keep --persona arjun
344
- npx analyzthis_design accept --fix --persona arjun --because "Invented tokens — use tokens.css"
270
+ curl http://localhost:11434/api/tags
345
271
  ```
346
272
 
347
- The older `session accept` / `feedback record` flags still work.
348
-
349
- ### Make the team learn
273
+ If a model is missing:
350
274
 
351
275
  ```bash
352
- npx analyzthis_design evolve --extract --dry-run # preview
353
- npx analyzthis_design evolve --extract # write patch proposals
354
- npx analyzthis_design evolve --apply <patchId> # apply after review
276
+ ollama pull qwen2.5
355
277
  ```
356
278
 
357
- ### Check evolution metrics
279
+ If your computer runs out of memory, use a smaller model such as:
358
280
 
359
281
  ```bash
360
- npx analyzthis_design evolve --metrics # team evolution dashboard
361
- npx analyzthis_design evolve --ready # check if enough data to evolve
282
+ ollama pull gemma3:4b
362
283
  ```
363
284
 
364
- The dashboard shows a per-persona score (0-100) based on lessons, outcomes, and patches applied. Levels: Novice (0-19) -> Developing (20-39) -> Proficient (40-59) -> Advanced (60-79) -> Expert (80-100).
285
+ ## Run directly from any terminal
365
286
 
366
- After every successful run, Devi prints an evolution readiness hint automatically.
287
+ You can use the standalone runner even when Cursor or Claude is not open:
367
288
 
368
- ### Premise challenge (v2.2)
289
+ ```bash
290
+ # Preview the plan without calling a model
291
+ npx analyzthis_design@latest run \
292
+ --task "Review the checkout flow" \
293
+ --dry-run
294
+
295
+ # Use automatically discovered free or local models
296
+ npx analyzthis_design@latest run \
297
+ --task "Review the checkout flow" \
298
+ --budget free
369
299
 
370
- When you run a critique, the planner now evaluates whether your task framing is valid before planning chunks. If the premise is questionable (e.g., "users don't convert because X is buried" — but maybe they reach X and still don't convert), the planner adds a `premise_check` chunk that Raj runs first. All subsequent persona chunks see the premise assessment.
300
+ # Use a specific cloud model provider
301
+ export ANTHROPIC_API_KEY="your-key"
302
+ npx analyzthis_design@latest run-unchunked \
303
+ --task "Review the checkout flow" \
304
+ --provider anthropic
305
+ ```
371
306
 
372
- The synthesis step also explicitly resolves disagreements — if Arjun says SHIP and Meera says REVISE, the synthesis picks a winner with a forward path instead of summarizing both sides.
307
+ Never place API keys in source files or commit them to Git.
373
308
 
374
- ### Confirm whether the advice actually shipped
309
+ ## Calibrate models for each persona
310
+
311
+ Calibration compares the models available on your computer against a fixed benchmark. It learns which model performs best for each persona and difficulty level.
312
+
313
+ Always preview the cost and number of calls first:
375
314
 
376
315
  ```bash
377
- npx analyzthis_design outcome --confirm --persona arjun --result shipped
378
- # or: revised, blocked_correctly, missed
316
+ npx analyzthis_design@latest calibrate \
317
+ --dry-run \
318
+ --max-usd 5 \
319
+ --max-calls 500
379
320
  ```
380
321
 
381
- ---
322
+ Run the benchmark after reviewing the preview:
382
323
 
383
- ## 9. Configuration
324
+ ```bash
325
+ npx analyzthis_design@latest calibrate \
326
+ --max-usd 5 \
327
+ --max-calls 500
328
+ ```
384
329
 
385
- Create `~/.analyzthis_design/config.json`:
330
+ Apply qualified winners only after judge alignment succeeds:
386
331
 
387
- ```json
388
- {
389
- "orchestrator": {
390
- "provider": "host",
391
- "mode": "lite"
392
- },
393
- "collect": {
394
- "web_urls": ["https://analyzthis.com"],
395
- "web_queries": ["your product design inspiration"],
396
- "web_limit": 10
397
- },
398
- "moodboard": {
399
- "urls": ["https://dribbble.com/shots/example"],
400
- "queries": ["fintech dashboard design"],
401
- "limit": 12,
402
- "workspace_dir": "./moodboard"
403
- }
404
- }
332
+ ```bash
333
+ npx analyzthis_design@latest calibrate \
334
+ --max-usd 5 \
335
+ --max-calls 500 \
336
+ --judge \
337
+ --apply
405
338
  ```
406
339
 
407
- No API keys are required for host mode. To use cloud providers, set one of:
340
+ Calibration:
408
341
 
409
- - `ANTHROPIC_API_KEY`
410
- - `OPENAI_API_KEY`
411
- - `GEMINI_API_KEY` or `GOOGLE_API_KEY`
412
- - `ZAI_API_KEY` or `ZHIPU_API_KEY`
413
- - `GROQ_API_KEY` (free tier available)
414
- - `TOGETHER_API_KEY`
415
- - `OPENROUTER_API_KEY` (free models available)
416
- - `DEEPSEEK_API_KEY`
417
- - Local **Ollama** auto-detected at `localhost:11434` (no key needed)
342
+ - never exceeds the limits you provide
343
+ - stores progress in a checkpoint so interrupted runs can resume
344
+ - keeps private prompts and raw outputs on your computer
345
+ - requires independent judge evidence before changing active model choices
346
+ - shares nothing unless you explicitly request sharing
418
347
 
419
- ---
348
+ Ollama models can participate automatically when Ollama is running. A local-only pool can be benchmarked, but applying a winner may require additional independent model families for reliable judging.
420
349
 
421
- ## 10. Troubleshooting
350
+ ## Tell the system whether advice worked
422
351
 
423
- | Problem | Fix |
424
- |---|---|
425
- | Skill not found in IDE | Reinstall: `npx analyzthis_design --target <ide> --force` |
426
- | Personas re-ask for context | Run `npx analyzthis_design session show` — if a session exists, do not re-derive the task map |
427
- | No web references fetched | Add `collect.web_urls` / `research.urls` to config, or paste URLs directly |
428
- | 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` |
429
- | Want a cheaper run | Use `--lite` (default) instead of `--full` |
430
- | Want deeper critique | Use `--full` for the full design-critic chain |
431
- | Personas give generic advice | Add PRDs/brand/research notes and re-run `npx analyzthis_design collect` |
432
- | CSV data seems stale | Run `npx analyzthis_design validate` to check integrity against `schema.json` |
352
+ After a persona run, record whether you accepted its advice:
433
353
 
434
- ---
354
+ ```bash
355
+ npx analyzthis_design@latest accept --keep --persona arjun
356
+ ```
435
357
 
436
- ## 11. Quick reference
358
+ Or explain why it needs correction:
437
359
 
438
360
  ```bash
439
- # Help
440
- npx analyzthis_design welcome
361
+ npx analyzthis_design@latest accept \
362
+ --fix \
363
+ --persona arjun \
364
+ --because "The recommendation ignored our existing design tokens"
365
+ ```
441
366
 
442
- # Knowledge
443
- npx analyzthis_design collect
444
- npx analyzthis_design sync --target all
445
- npx analyzthis_design session init
446
- npx analyzthis_design session show
367
+ Later, record the real outcome:
447
368
 
448
- # Run (v2.0 chunked by default)
449
- npx analyzthis_design run --task "Review this screen" --dry-run
450
- npx analyzthis_design run --task "Review this screen" --budget free
451
- npx analyzthis_design run --continue --task "Review this screen"
369
+ ```bash
370
+ npx analyzthis_design@latest outcome \
371
+ --confirm \
372
+ --persona arjun \
373
+ --result shipped
374
+ ```
452
375
 
453
- # Run (legacy single-pass)
454
- npx analyzthis_design run-unchunked --task "Review this screen" --full
376
+ Valid results are `shipped`, `revised`, `blocked_correctly`, and `missed`. These signals help the system learn without confusing an API failure with poor design advice.
455
377
 
456
- # Validate CSV reference data
457
- npx analyzthis_design validate
378
+ ## Which path should you choose?
458
379
 
459
- # Mood board
460
- npx analyzthis_design moodboard create --task "..." --auto
461
- npx analyzthis_design moodboard critique --board <id>
462
- npx analyzthis_design moodboard add --board <id> --url <url> --tags a,b
380
+ - Choose Cursor when you want visual project context and code changes inside the IDE.
381
+ - Choose Cursor CLI when you want the same agent workflow from a terminal or script.
382
+ - Choose Claude Code when Claude is your main coding agent.
383
+ - Choose Ollama when privacy and local execution matter more than speed or maximum model quality.
384
+ - Choose the standalone `npx analyzthis_design run` command for automated, model-routed reviews.
463
385
 
464
- # Evolve
465
- npx analyzthis_design evolve --metrics
466
- npx analyzthis_design evolve --ready
467
- npx analyzthis_design evolve --extract --dry-run
468
- npx analyzthis_design evolve --apply <patchId>
469
- npx analyzthis_design outcome --confirm --persona arjun --result shipped
386
+ For your first run, start with:
387
+
388
+ ```bash
389
+ npx analyzthis_design@latest collect
390
+ npx analyzthis_design@latest run \
391
+ --task "Review this product's most important user flow" \
392
+ --dry-run
470
393
  ```
471
394
 
472
- ---
395
+ Then use `/ux-ideator` for new designs or `/persona-orchestrator` for critiques in Cursor or Claude.
473
396
 
474
- Docs: https://github.com/joshirishi/analyzthis_design
397
+ Project: [github.com/joshirishi/analyzthis_design](https://github.com/joshirishi/analyzthis_design)