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.
- package/HOW-TO-USE.md +249 -326
- package/README.md +58 -13
- package/agents/calibration-benchmark.json +187 -0
- package/agents/cards/anuj.md +2 -2
- package/agents/cards/arjun.md +2 -2
- package/agents/cards/kavi.md +2 -1
- package/agents/cards/mood-board.md +3 -2
- package/agents/cards/noor.md +2 -2
- package/agents/cards/priya.md +1 -1
- package/agents/cards/zara.md +3 -3
- package/agents/chain.json +1 -1
- package/agents/design-spec-schema.json +18 -1
- package/agents/manifests/mood-board.json +1 -0
- package/agents/model-policy.json +12 -0
- package/agents/router.json +1 -1
- package/agents/session-schema.json +12 -2
- package/dist/HOW-TO-USE.md +249 -326
- package/dist/README.md +58 -13
- package/dist/agents/calibration-benchmark.json +187 -0
- package/dist/agents/cards/anuj.md +2 -2
- package/dist/agents/cards/arjun.md +2 -2
- package/dist/agents/cards/kavi.md +2 -1
- package/dist/agents/cards/mood-board.md +3 -2
- package/dist/agents/cards/noor.md +2 -2
- package/dist/agents/cards/priya.md +1 -1
- package/dist/agents/cards/zara.md +3 -3
- package/dist/agents/chain.json +1 -1
- package/dist/agents/design-spec-schema.json +18 -1
- package/dist/agents/manifests/mood-board.json +1 -0
- package/dist/agents/model-policy.json +12 -0
- package/dist/agents/router.json +1 -1
- package/dist/agents/session-schema.json +12 -2
- package/dist/bin/cli.js +154 -5
- package/dist/lib/calibrate.js +816 -0
- package/dist/lib/chunk-executor.js +41 -1
- package/dist/lib/chunk-models.js +4 -18
- package/dist/lib/chunk-router.js +22 -6
- package/dist/lib/chunk-run.js +55 -1
- package/dist/lib/chunk-synthesis.js +18 -2
- package/dist/lib/chunk-telemetry.js +77 -17
- package/dist/lib/collect.js +15 -1
- package/dist/lib/cost.js +15 -7
- package/dist/lib/design-spec.js +32 -2
- package/dist/lib/evolution-metrics.js +23 -1
- package/dist/lib/feedback-submit.js +50 -1
- package/dist/lib/feedback.js +15 -0
- package/dist/lib/lessons.js +8 -0
- package/dist/lib/mcp-server.js +119 -5
- package/dist/lib/model-policy.js +174 -0
- package/dist/lib/model-registry.js +71 -0
- package/dist/lib/moodboard.js +162 -28
- package/dist/lib/orchestrator/run.js +67 -8
- package/dist/lib/outcome.js +7 -2
- package/dist/lib/output-quality.js +95 -0
- package/dist/lib/reference-pack.js +9 -1
- package/dist/lib/session.js +48 -4
- package/dist/lib/system-prompt.js +3 -0
- package/dist/lib/ui-libraries.js +232 -0
- package/dist/skills/anuj/SKILL.md +4 -1
- package/dist/skills/arjun/SKILL.md +2 -2
- package/dist/skills/arjun/references/lens.md +15 -2
- package/dist/skills/design-director/SKILL.md +2 -0
- package/dist/skills/design-reference/SKILL.md +6 -0
- package/dist/skills/design-reference/motion.csv +11 -0
- package/dist/skills/design-reference/schema.json +12 -0
- package/dist/skills/design-reference/stacks/shadcn.csv +6 -0
- package/dist/skills/design-reference/ui-libraries.csv +46 -0
- package/dist/skills/design-reference/ux-guidelines.csv +12 -1
- package/dist/skills/design-spec/SKILL.md +1 -1
- package/dist/skills/getting-started/SKILL.md +2 -2
- package/dist/skills/kavi/SKILL.md +4 -3
- package/dist/skills/mood-board/SKILL.md +29 -3
- package/dist/skills/noor/SKILL.md +5 -1
- package/dist/skills/priya/SKILL.md +3 -0
- package/dist/skills/zara/SKILL.md +50 -3
- package/package.json +5 -2
- package/skills/anuj/SKILL.md +4 -1
- package/skills/arjun/SKILL.md +2 -2
- package/skills/arjun/references/lens.md +15 -2
- package/skills/design-director/SKILL.md +2 -0
- package/skills/design-reference/SKILL.md +6 -0
- package/skills/design-reference/motion.csv +11 -0
- package/skills/design-reference/schema.json +12 -0
- package/skills/design-reference/stacks/shadcn.csv +6 -0
- package/skills/design-reference/ui-libraries.csv +46 -0
- package/skills/design-reference/ux-guidelines.csv +12 -1
- package/skills/design-spec/SKILL.md +1 -1
- package/skills/getting-started/SKILL.md +2 -2
- package/skills/kavi/SKILL.md +4 -3
- package/skills/mood-board/SKILL.md +29 -3
- package/skills/noor/SKILL.md +5 -1
- package/skills/priya/SKILL.md +3 -0
- package/skills/zara/SKILL.md +50 -3
package/HOW-TO-USE.md
CHANGED
|
@@ -1,474 +1,397 @@
|
|
|
1
|
-
# How to Use Analyzthis Design
|
|
1
|
+
# How to Use Analyzthis Design
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This guide explains the three simplest ways to use Analyzthis Design:
|
|
4
4
|
|
|
5
|
-
|
|
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
|
-
|
|
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
|
-
|
|
20
|
+
## Before you begin
|
|
12
21
|
|
|
13
|
-
|
|
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
|
-
|
|
32
|
-
|
|
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
|
-
|
|
29
|
+
Run the commands below from the project you want the personas to understand.
|
|
51
30
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
35
|
+
## Recommended first-time setup
|
|
36
|
+
|
|
37
|
+
Install the skills into your AI tools:
|
|
62
38
|
|
|
63
39
|
```bash
|
|
64
|
-
npx analyzthis_design
|
|
40
|
+
npx analyzthis_design@latest install --target cursor
|
|
41
|
+
npx analyzthis_design@latest install --target claude
|
|
65
42
|
```
|
|
66
43
|
|
|
67
|
-
|
|
44
|
+
Or install for every supported tool:
|
|
68
45
|
|
|
69
46
|
```bash
|
|
70
|
-
npx analyzthis_design --target all
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
###
|
|
66
|
+
### Use it in Cursor
|
|
121
67
|
|
|
122
|
-
|
|
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
|
-
|
|
167
|
-
|
|
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
|
-
|
|
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
|
-
|
|
104
|
+
### Use it from Cursor CLI
|
|
180
105
|
|
|
181
|
-
|
|
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
|
-
|
|
192
|
-
|
|
109
|
+
curl https://cursor.com/install -fsS | bash
|
|
110
|
+
agent update
|
|
193
111
|
```
|
|
194
112
|
|
|
195
|
-
|
|
113
|
+
Start an interactive session from your project:
|
|
196
114
|
|
|
197
|
-
```
|
|
198
|
-
/
|
|
199
|
-
|
|
115
|
+
```bash
|
|
116
|
+
cd /path/to/your/project
|
|
117
|
+
agent
|
|
200
118
|
```
|
|
201
119
|
|
|
202
|
-
|
|
120
|
+
Then enter a skill prompt such as:
|
|
203
121
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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
|
-
|
|
126
|
+
For a one-command, non-interactive run:
|
|
211
127
|
|
|
212
128
|
```bash
|
|
213
|
-
|
|
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
|
-
|
|
134
|
+
## Option 2: Claude Code CLI
|
|
221
135
|
|
|
222
|
-
|
|
136
|
+
Install the skills:
|
|
223
137
|
|
|
224
138
|
```bash
|
|
225
|
-
|
|
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
|
-
|
|
142
|
+
Start Claude Code from your project:
|
|
239
143
|
|
|
240
144
|
```bash
|
|
241
|
-
|
|
242
|
-
|
|
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
|
-
|
|
149
|
+
Then enter:
|
|
251
150
|
|
|
252
|
-
```
|
|
253
|
-
|
|
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
|
-
|
|
156
|
+
Or run Claude Code non-interactively:
|
|
257
157
|
|
|
258
|
-
```
|
|
259
|
-
|
|
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
|
-
|
|
164
|
+
If Claude cannot find a skill:
|
|
265
165
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
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
|
-
|
|
170
|
+
Then start a new Claude Code session.
|
|
274
171
|
|
|
275
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
178
|
+
Install Ollama from [ollama.com](https://ollama.com), then pull a supported model:
|
|
286
179
|
|
|
287
|
-
|
|
288
|
-
|
|
180
|
+
```bash
|
|
181
|
+
ollama pull qwen2.5
|
|
182
|
+
ollama list
|
|
183
|
+
```
|
|
289
184
|
|
|
290
|
-
|
|
185
|
+
On macOS, opening the Ollama application normally starts its local server. On other systems, start it with:
|
|
291
186
|
|
|
292
|
-
|
|
293
|
-
|
|
187
|
+
```bash
|
|
188
|
+
ollama serve
|
|
189
|
+
```
|
|
294
190
|
|
|
295
|
-
|
|
191
|
+
The default local address is `http://localhost:11434`.
|
|
296
192
|
|
|
297
|
-
|
|
193
|
+
### Easiest fully local run
|
|
298
194
|
|
|
299
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
215
|
+
### Use Ollama with the chunked runner
|
|
317
216
|
|
|
318
|
-
|
|
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
|
-
/
|
|
219
|
+
```text
|
|
220
|
+
~/.analyzthis_design/config.json
|
|
322
221
|
```
|
|
323
222
|
|
|
324
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
265
|
+
### Common Ollama problems
|
|
339
266
|
|
|
340
|
-
|
|
267
|
+
Check that the server is reachable:
|
|
341
268
|
|
|
342
269
|
```bash
|
|
343
|
-
|
|
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
|
-
|
|
348
|
-
|
|
349
|
-
### Make the team learn
|
|
273
|
+
If a model is missing:
|
|
350
274
|
|
|
351
275
|
```bash
|
|
352
|
-
|
|
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
|
-
|
|
279
|
+
If your computer runs out of memory, use a smaller model such as:
|
|
358
280
|
|
|
359
281
|
```bash
|
|
360
|
-
|
|
361
|
-
npx analyzthis_design evolve --ready # check if enough data to evolve
|
|
282
|
+
ollama pull gemma3:4b
|
|
362
283
|
```
|
|
363
284
|
|
|
364
|
-
|
|
285
|
+
## Run directly from any terminal
|
|
365
286
|
|
|
366
|
-
|
|
287
|
+
You can use the standalone runner even when Cursor or Claude is not open:
|
|
367
288
|
|
|
368
|
-
|
|
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
|
-
|
|
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
|
-
|
|
307
|
+
Never place API keys in source files or commit them to Git.
|
|
373
308
|
|
|
374
|
-
|
|
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
|
|
378
|
-
|
|
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
|
-
|
|
324
|
+
```bash
|
|
325
|
+
npx analyzthis_design@latest calibrate \
|
|
326
|
+
--max-usd 5 \
|
|
327
|
+
--max-calls 500
|
|
328
|
+
```
|
|
384
329
|
|
|
385
|
-
|
|
330
|
+
Apply qualified winners only after judge alignment succeeds:
|
|
386
331
|
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
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
|
-
|
|
340
|
+
Calibration:
|
|
408
341
|
|
|
409
|
-
-
|
|
410
|
-
-
|
|
411
|
-
-
|
|
412
|
-
-
|
|
413
|
-
-
|
|
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
|
-
##
|
|
350
|
+
## Tell the system whether advice worked
|
|
422
351
|
|
|
423
|
-
|
|
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
|
-
|
|
358
|
+
Or explain why it needs correction:
|
|
437
359
|
|
|
438
360
|
```bash
|
|
439
|
-
|
|
440
|
-
|
|
361
|
+
npx analyzthis_design@latest accept \
|
|
362
|
+
--fix \
|
|
363
|
+
--persona arjun \
|
|
364
|
+
--because "The recommendation ignored our existing design tokens"
|
|
365
|
+
```
|
|
441
366
|
|
|
442
|
-
|
|
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
|
-
|
|
449
|
-
npx analyzthis_design
|
|
450
|
-
|
|
451
|
-
|
|
369
|
+
```bash
|
|
370
|
+
npx analyzthis_design@latest outcome \
|
|
371
|
+
--confirm \
|
|
372
|
+
--persona arjun \
|
|
373
|
+
--result shipped
|
|
374
|
+
```
|
|
452
375
|
|
|
453
|
-
|
|
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
|
-
|
|
457
|
-
npx analyzthis_design validate
|
|
378
|
+
## Which path should you choose?
|
|
458
379
|
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
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
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
npx analyzthis_design
|
|
468
|
-
npx analyzthis_design
|
|
469
|
-
|
|
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
|
-
|
|
397
|
+
Project: [github.com/joshirishi/analyzthis_design](https://github.com/joshirishi/analyzthis_design)
|