analyzthis_design 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HOW-TO-USE.md +436 -0
- package/README.md +29 -13
- package/agents/cards/evolve-check.md +38 -0
- package/agents/manifests/evolve-check.json +16 -0
- package/dist/HOW-TO-USE.md +15 -3
- package/dist/README.md +29 -13
- package/dist/agents/cards/evolve-check.md +38 -0
- package/dist/agents/manifests/evolve-check.json +16 -0
- package/dist/bin/cli.js +1225 -1
- package/dist/lib/cache.js +111 -1
- package/dist/lib/chunk-executor.js +219 -1
- package/dist/lib/chunk-models.js +228 -1
- package/dist/lib/chunk-planner.js +328 -1
- package/dist/lib/chunk-router.js +66 -1
- package/dist/lib/chunk-run.js +199 -1
- package/dist/lib/chunk-synthesis.js +176 -1
- package/dist/lib/chunk-telemetry.js +88 -1
- package/dist/lib/collect.js +858 -1
- package/dist/lib/cost.js +119 -1
- package/dist/lib/dedup.js +167 -1
- package/dist/lib/deliberation.js +721 -1
- package/dist/lib/design-spec.js +236 -1
- package/dist/lib/evolution-metrics.js +197 -0
- package/dist/lib/evolve.js +361 -1
- package/dist/lib/export.js +77 -1
- package/dist/lib/feedback-submit.js +324 -1
- package/dist/lib/feedback.js +182 -1
- package/dist/lib/host-llm.js +251 -1
- package/dist/lib/install.js +301 -1
- package/dist/lib/knowledge.js +384 -1
- package/dist/lib/lessons.js +217 -1
- package/dist/lib/moodboard.js +563 -1
- package/dist/lib/orchestrator/run.js +935 -1
- package/dist/lib/outcome.js +193 -1
- package/dist/lib/platforms.js +166 -1
- package/dist/lib/provider.js +57 -1
- package/dist/lib/query-expander.js +83 -1
- package/dist/lib/ranker.js +105 -1
- package/dist/lib/reference-pack.js +221 -0
- package/dist/lib/research.js +143 -1
- package/dist/lib/retrieve.js +131 -1
- package/dist/lib/session.js +185 -1
- package/dist/lib/source-discovery.js +486 -1
- package/dist/lib/synthesis.js +155 -1
- package/dist/lib/token-gate.js +46 -1
- package/dist/skills/design-reference/google-fonts.csv +1924 -1924
- package/dist/skills/design-reference/products.csv +162 -162
- package/dist/skills/design-reference/schema.json +159 -0
- package/dist/skills/design-reference/stacks/angular.csv +1 -1
- package/dist/skills/design-reference/stacks/astro.csv +1 -1
- package/dist/skills/design-reference/stacks/laravel.csv +2 -2
- package/dist/skills/design-reference/stacks/threejs.csv +54 -54
- package/dist/skills/design-reference/styles.csv +85 -85
- package/dist/skills/design-reference/typography.csv +75 -74
- package/dist/skills/design-reference/ui-reasoning.csv +1 -1
- package/dist/skills/evolve-check/SKILL.md +106 -0
- package/package.json +8 -8
- package/scripts/validate-csvs.js +197 -0
- package/skills/design-reference/google-fonts.csv +1924 -1924
- package/skills/design-reference/products.csv +162 -162
- package/skills/design-reference/schema.json +159 -0
- package/skills/design-reference/stacks/angular.csv +1 -1
- package/skills/design-reference/stacks/astro.csv +1 -1
- package/skills/design-reference/stacks/laravel.csv +2 -2
- package/skills/design-reference/stacks/threejs.csv +54 -54
- package/skills/design-reference/styles.csv +85 -85
- package/skills/design-reference/typography.csv +75 -74
- package/skills/design-reference/ui-reasoning.csv +1 -1
- package/skills/evolve-check/SKILL.md +106 -0
package/HOW-TO-USE.md
ADDED
|
@@ -0,0 +1,436 @@
|
|
|
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). 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`.
|
|
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
|
+
- `GROQ_API_KEY` (free tier available)
|
|
378
|
+
- `TOGETHER_API_KEY`
|
|
379
|
+
- `OPENROUTER_API_KEY` (free models available)
|
|
380
|
+
- `DEEPSEEK_API_KEY`
|
|
381
|
+
- Local **Ollama** auto-detected at `localhost:11434` (no key needed)
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## 10. Troubleshooting
|
|
386
|
+
|
|
387
|
+
| Problem | Fix |
|
|
388
|
+
|---|---|
|
|
389
|
+
| Skill not found in IDE | Reinstall: `npx analyzthis_design --target <ide> --force` |
|
|
390
|
+
| Personas re-ask for context | Run `npx analyzthis_design session show` — if a session exists, do not re-derive the task map |
|
|
391
|
+
| No web references fetched | Add `collect.web_urls` / `research.urls` to config, or paste URLs directly |
|
|
392
|
+
| 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` |
|
|
393
|
+
| Want a cheaper run | Use `--lite` (default) instead of `--full` |
|
|
394
|
+
| Want deeper critique | Use `--full` for the full design-critic chain |
|
|
395
|
+
| Personas give generic advice | Add PRDs/brand/research notes and re-run `npx analyzthis_design collect` |
|
|
396
|
+
| CSV data seems stale | Run `npx analyzthis_design validate` to check integrity against `schema.json` |
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
## 11. Quick reference
|
|
401
|
+
|
|
402
|
+
```bash
|
|
403
|
+
# Help
|
|
404
|
+
npx analyzthis_design welcome
|
|
405
|
+
|
|
406
|
+
# Knowledge
|
|
407
|
+
npx analyzthis_design collect
|
|
408
|
+
npx analyzthis_design sync --target all
|
|
409
|
+
npx analyzthis_design session init
|
|
410
|
+
npx analyzthis_design session show
|
|
411
|
+
|
|
412
|
+
# Run (v2.0 chunked by default)
|
|
413
|
+
npx analyzthis_design run --task "Review this screen" --dry-run
|
|
414
|
+
npx analyzthis_design run --task "Review this screen" --budget free
|
|
415
|
+
npx analyzthis_design run --continue --task "Review this screen"
|
|
416
|
+
|
|
417
|
+
# Run (legacy single-pass)
|
|
418
|
+
npx analyzthis_design run-unchunked --task "Review this screen" --full
|
|
419
|
+
|
|
420
|
+
# Validate CSV reference data
|
|
421
|
+
npx analyzthis_design validate
|
|
422
|
+
|
|
423
|
+
# Mood board
|
|
424
|
+
npx analyzthis_design moodboard create --task "..." --auto
|
|
425
|
+
npx analyzthis_design moodboard critique --board <id>
|
|
426
|
+
npx analyzthis_design moodboard add --board <id> --url <url> --tags a,b
|
|
427
|
+
|
|
428
|
+
# Evolve
|
|
429
|
+
npx analyzthis_design evolve --extract --dry-run
|
|
430
|
+
npx analyzthis_design evolve --apply <patchId>
|
|
431
|
+
npx analyzthis_design outcome --confirm --persona arjun --result shipped
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
---
|
|
435
|
+
|
|
436
|
+
Docs: https://github.com/joshirishi/analyzthis_design
|
package/README.md
CHANGED
|
@@ -15,23 +15,28 @@ Install once. Run structured UX critiques, multi-phase ideation, and task-ground
|
|
|
15
15
|
|
|
16
16
|
Use `npx analyzthis_design run-unchunked` for the legacy single-pass orchestrator.
|
|
17
17
|
|
|
18
|
-
**npm:** [analyzthis_design](https://www.npmjs.com/package/analyzthis_design) · **Current version:** 2.
|
|
18
|
+
**npm:** [analyzthis_design](https://www.npmjs.com/package/analyzthis_design) · **Current version:** 2.1.0 · **Step-by-step guide:** [HOW-TO-USE.md](./HOW-TO-USE.md)
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
22
22
|
## Quick start
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
# 1. Install
|
|
26
|
-
|
|
25
|
+
# 1. Install the npm package (no auto-install, no obfuscation)
|
|
26
|
+
npm install -g analyzthis_design
|
|
27
|
+
|
|
28
|
+
# 2. Install slash commands into your IDE (explicit, consent-based)
|
|
29
|
+
npx analyzthis_design --target all
|
|
27
30
|
|
|
28
|
-
#
|
|
31
|
+
# 3. Run a task in v2.0 chunked mode (free/cheap models)
|
|
29
32
|
npx analyzthis_design run --task "Review invoice approval screen"
|
|
30
33
|
|
|
31
|
-
#
|
|
34
|
+
# 4. Or use legacy single-pass orchestrator
|
|
32
35
|
npx analyzthis_design run-unchunked --task "Review invoice approval screen" --provider host
|
|
33
36
|
```
|
|
34
37
|
|
|
38
|
+
> **Security:** This package publishes **plain source** — no obfuscation, no minification, no dynamic require. Every file in `dist/` is readable and auditable. The `postinstall` script only prints a welcome message; it does **not** write to any AI-agent directories. Skill installation requires an explicit `npx analyzthis_design --target <ide>` command.
|
|
39
|
+
|
|
35
40
|
### Install by target IDE
|
|
36
41
|
|
|
37
42
|
```bash
|
|
@@ -379,6 +384,9 @@ Ask → session digest → MoE router (1–2 experts, not 4) → persona cards (
|
|
|
379
384
|
| **Persona cards** | `agents/cards/<persona>.md` (~500 tokens) are the default system prompt; the full `skills/<persona>/SKILL.md` is only opened for a C-or-below rubric lookup or an explicit deep/full request. |
|
|
380
385
|
| **Lite output schema** | Grades + Top 2 fixes + score, by default. Deep/full schema is opt-in. |
|
|
381
386
|
| **Retrieve-on-demand** | `npx analyzthis_design retrieve --file colors.csv --column "Product Type" --keywords saas` returns only matching rows, pre-formatted for citation — never the whole CSV. |
|
|
387
|
+
| **Multi-file reference packs** | Each persona retrieves from 3-5 CSV files (not 1), pooled into a single ranker call. Arjun gets styles + ux-guidelines + ui-reasoning + charts; Zara gets colors + typography + styles + landing + icons. Same LLM cost as single-file, 3-5x coverage. |
|
|
388
|
+
| **Best For Tags** | `styles.csv` and `typography.csv` have a `Best For Tags` column (semicolon-delimited product-type tokens) for reliable keyword filtering. Previously `Best For` was free-text and 31/84 styles were unfilterable. |
|
|
389
|
+
| **CSV schema + validation** | `skills/design-reference/schema.json` defines all 28 CSV files' headers, filter columns, and cross-file joins. `npm run validate` checks integrity before publish. |
|
|
382
390
|
| **Model tiers** | `structured` steps can run on a cheaper model (e.g. `gpt-4o-mini`); `critique`/`arbitrate` steps use a stronger model. Configurable per tier in `~/.analyzthis_design/config.json`. |
|
|
383
391
|
| **Caching** | `lib/cache.js` caches retrieve results (invalidated automatically when the source CSV changes) and knowledge-bank slices (invalidated on `sync` / `session reset`). |
|
|
384
392
|
| **Cost metrics** | Every `run` records `metrics` (llm_calls, experts_run, estimated tokens, cache_hits) into session state. |
|
|
@@ -458,12 +466,12 @@ evolve --extract → proposes:
|
|
|
458
466
|
- reference-data rows (new product-type patterns)
|
|
459
467
|
- router patches (task_type → best-performing expert)
|
|
460
468
|
↓
|
|
461
|
-
evolve --apply <patchId> (human review) → skill/CSV/router updated
|
|
462
|
-
|
|
469
|
+
evolve --apply <patchId> (human review) → skill/CSV/router updated
|
|
470
|
+
↓
|
|
463
471
|
Next run retrieves:
|
|
464
472
|
- per-persona knowledge slices (priority + fallback)
|
|
465
473
|
- past lessons for similar tasks
|
|
466
|
-
- query-expanded + ranked reference rows
|
|
474
|
+
- query-expanded + ranked reference rows from 3-5 CSV files per persona
|
|
467
475
|
```
|
|
468
476
|
|
|
469
477
|
### Retrieval stack
|
|
@@ -709,12 +717,14 @@ npx analyzthis_design research --query <text>
|
|
|
709
717
|
# Reference data (retrieve-on-demand)
|
|
710
718
|
npx analyzthis_design retrieve --file <csv> --column <col> --keywords a,b [--limit N]
|
|
711
719
|
|
|
712
|
-
# Standalone orchestrator
|
|
713
|
-
npx analyzthis_design run --task "..." [--
|
|
714
|
-
npx analyzthis_design run --task "..." [--lite
|
|
715
|
-
npx analyzthis_design run --task "..." [--deliberate | --no-deliberate] [--max-rounds N] [--satisfaction 0.4]
|
|
720
|
+
# Standalone orchestrator (v2.0 chunked by default)
|
|
721
|
+
npx analyzthis_design run --task "..." [--budget free|cheap|auto] [--sequential|--parallel] [--max-chunks N] [--dry-run]
|
|
722
|
+
npx analyzthis_design run-unchunked --task "..." [--lite|--full] [--experts a,b] [--dry-run] [--deliberate|--no-deliberate]
|
|
716
723
|
npx analyzthis_design run --continue --task "..." # resume host-mode run after /devi
|
|
717
724
|
|
|
725
|
+
# CSV validation
|
|
726
|
+
npx analyzthis_design validate # validate all 28 CSV files against schema.json
|
|
727
|
+
|
|
718
728
|
# Self-evolving team (v1.21)
|
|
719
729
|
npx analyzthis_design evolve --extract [--window N] [--dry-run]
|
|
720
730
|
npx analyzthis_design evolve --apply <patchId> [--dry-run]
|
|
@@ -764,6 +774,7 @@ lib/
|
|
|
764
774
|
chunk-synthesis.js Merge chunk outputs into final verdict
|
|
765
775
|
chunk-telemetry.js Per-chunk model quality tracking
|
|
766
776
|
chunk-run.js Top-level chunked execution coordinator
|
|
777
|
+
reference-pack.js Shared multi-file CSV + vault retrieval (buildReferencePack)
|
|
767
778
|
moodboard.js Mood-board engine: collect web/DS references, tag, deliberate
|
|
768
779
|
dedup.js Cross-persona redundancy detection
|
|
769
780
|
lessons.js Self-evolving lessons store (extract/retrieve/inject)
|
|
@@ -785,6 +796,7 @@ scripts/
|
|
|
785
796
|
quality-check.js Validate persona outputs vs skill + deliberation protocol
|
|
786
797
|
demo-fictional-deliberation.js Dry-run walkthrough for FlowPay scenario
|
|
787
798
|
scripts/obfuscate.js Build step → dist/
|
|
799
|
+
scripts/validate-csvs.js CSV integrity validation against schema.json
|
|
788
800
|
skills/
|
|
789
801
|
devi/ Host LLM runtime — voices personas from pending prompts
|
|
790
802
|
kavi/ Kavi — Knowledge Archivist (/kavi)
|
|
@@ -804,7 +816,7 @@ skills/
|
|
|
804
816
|
|
|
805
817
|
- Node.js 16+
|
|
806
818
|
- Any Agent Skills–compatible host: [Cursor](https://cursor.com), [Claude Code](https://code.claude.com), Codex CLI, [Grok Build](https://x.ai), or Windsurf Cascade
|
|
807
|
-
- **CLI `run`:** works without API keys via **`/devi`** host mode (default). Optional keys for automated API runs: `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `ZAI_API_KEY`
|
|
819
|
+
- **CLI `run`:** works without API keys via **`/devi`** host mode (default). Optional keys for automated API runs: `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `ZAI_API_KEY`, `GROQ_API_KEY`, `TOGETHER_API_KEY`, `OPENROUTER_API_KEY`, `DEEPSEEK_API_KEY`. Local Ollama auto-detected at `localhost:11434`.
|
|
808
820
|
- **Kavi `collect` enrichment:** optional — same keys as above; without keys, draft vault + sync still run
|
|
809
821
|
|
|
810
822
|
---
|
|
@@ -818,6 +830,10 @@ skills/
|
|
|
818
830
|
| **Chunk telemetry** | Tracks per-model success rate so router improves over time |
|
|
819
831
|
| **Legacy mode preserved** | `npx analyzthis_design run-unchunked` for the original single-pass orchestrator |
|
|
820
832
|
| **Planner never cheap** | Planner always uses frontier/host; chunk models are cost-optimized |
|
|
833
|
+
| **Multi-file reference retrieval** | Each persona retrieves from 3-5 CSV files (not 1) via a shared ranker — same LLM cost, 3-5x coverage |
|
|
834
|
+
| **All 16 stacks detected** | `detectStack()` covers all 16 stack CSVs (flutter, swiftui, laravel, threejs, etc.) — was 8 |
|
|
835
|
+
| **CSV schema + validation** | `npm run validate` checks all 28 CSV files against `schema.json` before publish |
|
|
836
|
+
| **Best For Tags** | styles.csv + typography.csv have normalized tag columns for reliable keyword filtering |
|
|
821
837
|
|
|
822
838
|
## What's new in v1.22
|
|
823
839
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Evolve Check
|
|
2
|
+
|
|
3
|
+
**Devi skill** — After a successful critique run, check if the team has enough data to evolve and offer to run the evolution cycle.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## When to invoke
|
|
8
|
+
|
|
9
|
+
After a completed `run` or `run-unchunked` where:
|
|
10
|
+
- Personas produced outputs
|
|
11
|
+
- User accepted at least some outputs
|
|
12
|
+
- Outcomes were confirmed (shipped/revised/blocked/missed)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## What to do
|
|
17
|
+
|
|
18
|
+
1. Run: `npx analyzthis_design evolve --ready --project <project>`
|
|
19
|
+
2. If ready → summarize pending patches and ask: "The team has enough data to evolve. Apply proposed patches?"
|
|
20
|
+
3. If user says yes → run `npx analyzthis_design evolve --apply <patchId>` for each patch
|
|
21
|
+
4. If not ready → tell user what's needed: "Need X more lessons / Y more outcomes"
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Example response
|
|
26
|
+
|
|
27
|
+
> ��� **Devi here!** The critique run completed successfully. I checked the team's evolution status — we have **2 lessons** and **0 confirmed outcomes**. Need **3 more lessons** or **10 outcomes** to trigger evolution.
|
|
28
|
+
>
|
|
29
|
+
> Want me to run a critique on another screen to build up the data?
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Commands reference
|
|
34
|
+
|
|
35
|
+
- `npx analyzthis_design evolve --ready --project <id>` — check readiness
|
|
36
|
+
- `npx analyzthis_design evolve --metrics --project <id>` — show evolution dashboard
|
|
37
|
+
- `npx analyzthis_design evolve --extract --dry-run` — preview patches
|
|
38
|
+
- `npx analyzthis_design evolve --apply <id>` — apply a patch
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "evolve-check",
|
|
3
|
+
"name": "Evolve Check",
|
|
4
|
+
"type": "utility",
|
|
5
|
+
"tier": "structured",
|
|
6
|
+
"system_card": "agents/cards/evolve-check.md",
|
|
7
|
+
"system_skill": "skills/evolve-check/SKILL.md",
|
|
8
|
+
"allowed_jobs": ["evolve_check", "metrics_report"],
|
|
9
|
+
"forbidden_jobs": ["critique", "wireframe", "synthesize"],
|
|
10
|
+
"knowledge_categories": [],
|
|
11
|
+
"max_output_tokens": 600,
|
|
12
|
+
"effort_overrides": {
|
|
13
|
+
"trivial": { "provider": "host", "model": "devi", "max_output_tokens": 400 },
|
|
14
|
+
"standard": { "provider": "host", "model": "devi", "max_output_tokens": 600 }
|
|
15
|
+
}
|
|
16
|
+
}
|
package/dist/HOW-TO-USE.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A practical guide for Cursor, Claude Code, Codex CLI, Grok Build, Windsurf Cascade, and any Agent Skills–compatible IDE.
|
|
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). Legacy single-pass is available as `npx analyzthis_design run-unchunked`.
|
|
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`.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -374,6 +374,11 @@ No API keys are required for host mode. To use cloud providers, set one of:
|
|
|
374
374
|
- `OPENAI_API_KEY`
|
|
375
375
|
- `GEMINI_API_KEY` or `GOOGLE_API_KEY`
|
|
376
376
|
- `ZAI_API_KEY` or `ZHIPU_API_KEY`
|
|
377
|
+
- `GROQ_API_KEY` (free tier available)
|
|
378
|
+
- `TOGETHER_API_KEY`
|
|
379
|
+
- `OPENROUTER_API_KEY` (free models available)
|
|
380
|
+
- `DEEPSEEK_API_KEY`
|
|
381
|
+
- Local **Ollama** auto-detected at `localhost:11434` (no key needed)
|
|
377
382
|
|
|
378
383
|
---
|
|
379
384
|
|
|
@@ -388,6 +393,7 @@ No API keys are required for host mode. To use cloud providers, set one of:
|
|
|
388
393
|
| Want a cheaper run | Use `--lite` (default) instead of `--full` |
|
|
389
394
|
| Want deeper critique | Use `--full` for the full design-critic chain |
|
|
390
395
|
| Personas give generic advice | Add PRDs/brand/research notes and re-run `npx analyzthis_design collect` |
|
|
396
|
+
| CSV data seems stale | Run `npx analyzthis_design validate` to check integrity against `schema.json` |
|
|
391
397
|
|
|
392
398
|
---
|
|
393
399
|
|
|
@@ -403,11 +409,17 @@ npx analyzthis_design sync --target all
|
|
|
403
409
|
npx analyzthis_design session init
|
|
404
410
|
npx analyzthis_design session show
|
|
405
411
|
|
|
406
|
-
# Run
|
|
412
|
+
# Run (v2.0 chunked by default)
|
|
407
413
|
npx analyzthis_design run --task "Review this screen" --dry-run
|
|
408
|
-
npx analyzthis_design run --task "Review this screen" --
|
|
414
|
+
npx analyzthis_design run --task "Review this screen" --budget free
|
|
409
415
|
npx analyzthis_design run --continue --task "Review this screen"
|
|
410
416
|
|
|
417
|
+
# Run (legacy single-pass)
|
|
418
|
+
npx analyzthis_design run-unchunked --task "Review this screen" --full
|
|
419
|
+
|
|
420
|
+
# Validate CSV reference data
|
|
421
|
+
npx analyzthis_design validate
|
|
422
|
+
|
|
411
423
|
# Mood board
|
|
412
424
|
npx analyzthis_design moodboard create --task "..." --auto
|
|
413
425
|
npx analyzthis_design moodboard critique --board <id>
|