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.
Files changed (69) hide show
  1. package/HOW-TO-USE.md +436 -0
  2. package/README.md +29 -13
  3. package/agents/cards/evolve-check.md +38 -0
  4. package/agents/manifests/evolve-check.json +16 -0
  5. package/dist/HOW-TO-USE.md +15 -3
  6. package/dist/README.md +29 -13
  7. package/dist/agents/cards/evolve-check.md +38 -0
  8. package/dist/agents/manifests/evolve-check.json +16 -0
  9. package/dist/bin/cli.js +1225 -1
  10. package/dist/lib/cache.js +111 -1
  11. package/dist/lib/chunk-executor.js +219 -1
  12. package/dist/lib/chunk-models.js +228 -1
  13. package/dist/lib/chunk-planner.js +328 -1
  14. package/dist/lib/chunk-router.js +66 -1
  15. package/dist/lib/chunk-run.js +199 -1
  16. package/dist/lib/chunk-synthesis.js +176 -1
  17. package/dist/lib/chunk-telemetry.js +88 -1
  18. package/dist/lib/collect.js +858 -1
  19. package/dist/lib/cost.js +119 -1
  20. package/dist/lib/dedup.js +167 -1
  21. package/dist/lib/deliberation.js +721 -1
  22. package/dist/lib/design-spec.js +236 -1
  23. package/dist/lib/evolution-metrics.js +197 -0
  24. package/dist/lib/evolve.js +361 -1
  25. package/dist/lib/export.js +77 -1
  26. package/dist/lib/feedback-submit.js +324 -1
  27. package/dist/lib/feedback.js +182 -1
  28. package/dist/lib/host-llm.js +251 -1
  29. package/dist/lib/install.js +301 -1
  30. package/dist/lib/knowledge.js +384 -1
  31. package/dist/lib/lessons.js +217 -1
  32. package/dist/lib/moodboard.js +563 -1
  33. package/dist/lib/orchestrator/run.js +935 -1
  34. package/dist/lib/outcome.js +193 -1
  35. package/dist/lib/platforms.js +166 -1
  36. package/dist/lib/provider.js +57 -1
  37. package/dist/lib/query-expander.js +83 -1
  38. package/dist/lib/ranker.js +105 -1
  39. package/dist/lib/reference-pack.js +221 -0
  40. package/dist/lib/research.js +143 -1
  41. package/dist/lib/retrieve.js +131 -1
  42. package/dist/lib/session.js +185 -1
  43. package/dist/lib/source-discovery.js +486 -1
  44. package/dist/lib/synthesis.js +155 -1
  45. package/dist/lib/token-gate.js +46 -1
  46. package/dist/skills/design-reference/google-fonts.csv +1924 -1924
  47. package/dist/skills/design-reference/products.csv +162 -162
  48. package/dist/skills/design-reference/schema.json +159 -0
  49. package/dist/skills/design-reference/stacks/angular.csv +1 -1
  50. package/dist/skills/design-reference/stacks/astro.csv +1 -1
  51. package/dist/skills/design-reference/stacks/laravel.csv +2 -2
  52. package/dist/skills/design-reference/stacks/threejs.csv +54 -54
  53. package/dist/skills/design-reference/styles.csv +85 -85
  54. package/dist/skills/design-reference/typography.csv +75 -74
  55. package/dist/skills/design-reference/ui-reasoning.csv +1 -1
  56. package/dist/skills/evolve-check/SKILL.md +106 -0
  57. package/package.json +8 -8
  58. package/scripts/validate-csvs.js +197 -0
  59. package/skills/design-reference/google-fonts.csv +1924 -1924
  60. package/skills/design-reference/products.csv +162 -162
  61. package/skills/design-reference/schema.json +159 -0
  62. package/skills/design-reference/stacks/angular.csv +1 -1
  63. package/skills/design-reference/stacks/astro.csv +1 -1
  64. package/skills/design-reference/stacks/laravel.csv +2 -2
  65. package/skills/design-reference/stacks/threejs.csv +54 -54
  66. package/skills/design-reference/styles.csv +85 -85
  67. package/skills/design-reference/typography.csv +75 -74
  68. package/skills/design-reference/ui-reasoning.csv +1 -1
  69. 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.0.0 · **Step-by-step guide:** [HOW-TO-USE.md](./HOW-TO-USE.md)
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 slash commands (Cursor/Claude/Codex/Grok/Windsurf)
26
- npx analyzthis_design
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
- # 2. Run a task in v2.0 chunked mode (free/cheap models)
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
- # 3. Or use legacy single-pass orchestrator
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 "..." [--figma URL] [--provider host|anthropic|openai|google|zai] [--dry-run] [--output path]
714
- npx analyzthis_design run --task "..." [--lite | --full] [--experts a,b]
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
+ }
@@ -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" --full
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>