analyzthis_design 2.0.0 → 2.0.1

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 (32) hide show
  1. package/HOW-TO-USE.md +436 -0
  2. package/README.md +20 -9
  3. package/dist/HOW-TO-USE.md +15 -3
  4. package/dist/README.md +20 -9
  5. package/dist/lib/chunk-executor.js +1 -1
  6. package/dist/lib/chunk-planner.js +1 -1
  7. package/dist/lib/chunk-run.js +1 -1
  8. package/dist/lib/evolve.js +1 -1
  9. package/dist/lib/orchestrator/run.js +1 -1
  10. package/dist/lib/reference-pack.js +1 -0
  11. package/dist/skills/design-reference/google-fonts.csv +1924 -1924
  12. package/dist/skills/design-reference/products.csv +162 -162
  13. package/dist/skills/design-reference/schema.json +159 -0
  14. package/dist/skills/design-reference/stacks/angular.csv +1 -1
  15. package/dist/skills/design-reference/stacks/astro.csv +1 -1
  16. package/dist/skills/design-reference/stacks/laravel.csv +2 -2
  17. package/dist/skills/design-reference/stacks/threejs.csv +54 -54
  18. package/dist/skills/design-reference/styles.csv +85 -85
  19. package/dist/skills/design-reference/typography.csv +75 -74
  20. package/dist/skills/design-reference/ui-reasoning.csv +1 -1
  21. package/package.json +6 -3
  22. package/scripts/validate-csvs.js +197 -0
  23. package/skills/design-reference/google-fonts.csv +1924 -1924
  24. package/skills/design-reference/products.csv +162 -162
  25. package/skills/design-reference/schema.json +159 -0
  26. package/skills/design-reference/stacks/angular.csv +1 -1
  27. package/skills/design-reference/stacks/astro.csv +1 -1
  28. package/skills/design-reference/stacks/laravel.csv +2 -2
  29. package/skills/design-reference/stacks/threejs.csv +54 -54
  30. package/skills/design-reference/styles.csv +85 -85
  31. package/skills/design-reference/typography.csv +75 -74
  32. package/skills/design-reference/ui-reasoning.csv +1 -1
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,7 +15,7 @@ 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.0.1 · **Step-by-step guide:** [HOW-TO-USE.md](./HOW-TO-USE.md)
19
19
 
20
20
  ---
21
21
 
@@ -379,6 +379,9 @@ Ask → session digest → MoE router (1–2 experts, not 4) → persona cards (
379
379
  | **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
380
  | **Lite output schema** | Grades + Top 2 fixes + score, by default. Deep/full schema is opt-in. |
381
381
  | **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. |
382
+ | **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. |
383
+ | **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. |
384
+ | **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
385
  | **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
386
  | **Caching** | `lib/cache.js` caches retrieve results (invalidated automatically when the source CSV changes) and knowledge-bank slices (invalidated on `sync` / `session reset`). |
384
387
  | **Cost metrics** | Every `run` records `metrics` (llm_calls, experts_run, estimated tokens, cache_hits) into session state. |
@@ -458,12 +461,12 @@ evolve --extract → proposes:
458
461
  - reference-data rows (new product-type patterns)
459
462
  - router patches (task_type → best-performing expert)
460
463
 
461
- evolve --apply <patchId> (human review) → skill/CSV/router updated
462
-
464
+ evolve --apply <patchId> (human review) → skill/CSV/router updated
465
+
463
466
  Next run retrieves:
464
467
  - per-persona knowledge slices (priority + fallback)
465
468
  - past lessons for similar tasks
466
- - query-expanded + ranked reference rows
469
+ - query-expanded + ranked reference rows from 3-5 CSV files per persona
467
470
  ```
468
471
 
469
472
  ### Retrieval stack
@@ -709,12 +712,14 @@ npx analyzthis_design research --query <text>
709
712
  # Reference data (retrieve-on-demand)
710
713
  npx analyzthis_design retrieve --file <csv> --column <col> --keywords a,b [--limit N]
711
714
 
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]
715
+ # Standalone orchestrator (v2.0 chunked by default)
716
+ npx analyzthis_design run --task "..." [--budget free|cheap|auto] [--sequential|--parallel] [--max-chunks N] [--dry-run]
717
+ npx analyzthis_design run-unchunked --task "..." [--lite|--full] [--experts a,b] [--dry-run] [--deliberate|--no-deliberate]
716
718
  npx analyzthis_design run --continue --task "..." # resume host-mode run after /devi
717
719
 
720
+ # CSV validation
721
+ npx analyzthis_design validate # validate all 28 CSV files against schema.json
722
+
718
723
  # Self-evolving team (v1.21)
719
724
  npx analyzthis_design evolve --extract [--window N] [--dry-run]
720
725
  npx analyzthis_design evolve --apply <patchId> [--dry-run]
@@ -764,6 +769,7 @@ lib/
764
769
  chunk-synthesis.js Merge chunk outputs into final verdict
765
770
  chunk-telemetry.js Per-chunk model quality tracking
766
771
  chunk-run.js Top-level chunked execution coordinator
772
+ reference-pack.js Shared multi-file CSV + vault retrieval (buildReferencePack)
767
773
  moodboard.js Mood-board engine: collect web/DS references, tag, deliberate
768
774
  dedup.js Cross-persona redundancy detection
769
775
  lessons.js Self-evolving lessons store (extract/retrieve/inject)
@@ -785,6 +791,7 @@ scripts/
785
791
  quality-check.js Validate persona outputs vs skill + deliberation protocol
786
792
  demo-fictional-deliberation.js Dry-run walkthrough for FlowPay scenario
787
793
  scripts/obfuscate.js Build step → dist/
794
+ scripts/validate-csvs.js CSV integrity validation against schema.json
788
795
  skills/
789
796
  devi/ Host LLM runtime — voices personas from pending prompts
790
797
  kavi/ Kavi — Knowledge Archivist (/kavi)
@@ -804,7 +811,7 @@ skills/
804
811
 
805
812
  - Node.js 16+
806
813
  - 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`
814
+ - **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
815
  - **Kavi `collect` enrichment:** optional — same keys as above; without keys, draft vault + sync still run
809
816
 
810
817
  ---
@@ -818,6 +825,10 @@ skills/
818
825
  | **Chunk telemetry** | Tracks per-model success rate so router improves over time |
819
826
  | **Legacy mode preserved** | `npx analyzthis_design run-unchunked` for the original single-pass orchestrator |
820
827
  | **Planner never cheap** | Planner always uses frontier/host; chunk models are cost-optimized |
828
+ | **Multi-file reference retrieval** | Each persona retrieves from 3-5 CSV files (not 1) via a shared ranker — same LLM cost, 3-5x coverage |
829
+ | **All 16 stacks detected** | `detectStack()` covers all 16 stack CSVs (flutter, swiftui, laravel, threejs, etc.) — was 8 |
830
+ | **CSV schema + validation** | `npm run validate` checks all 28 CSV files against `schema.json` before publish |
831
+ | **Best For Tags** | styles.csv + typography.csv have normalized tag columns for reliable keyword filtering |
821
832
 
822
833
  ## What's new in v1.22
823
834
 
@@ -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>
package/dist/README.md CHANGED
@@ -15,7 +15,7 @@ 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.0.1 · **Step-by-step guide:** [HOW-TO-USE.md](./HOW-TO-USE.md)
19
19
 
20
20
  ---
21
21
 
@@ -379,6 +379,9 @@ Ask → session digest → MoE router (1–2 experts, not 4) → persona cards (
379
379
  | **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
380
  | **Lite output schema** | Grades + Top 2 fixes + score, by default. Deep/full schema is opt-in. |
381
381
  | **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. |
382
+ | **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. |
383
+ | **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. |
384
+ | **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
385
  | **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
386
  | **Caching** | `lib/cache.js` caches retrieve results (invalidated automatically when the source CSV changes) and knowledge-bank slices (invalidated on `sync` / `session reset`). |
384
387
  | **Cost metrics** | Every `run` records `metrics` (llm_calls, experts_run, estimated tokens, cache_hits) into session state. |
@@ -458,12 +461,12 @@ evolve --extract → proposes:
458
461
  - reference-data rows (new product-type patterns)
459
462
  - router patches (task_type → best-performing expert)
460
463
 
461
- evolve --apply <patchId> (human review) → skill/CSV/router updated
462
-
464
+ evolve --apply <patchId> (human review) → skill/CSV/router updated
465
+
463
466
  Next run retrieves:
464
467
  - per-persona knowledge slices (priority + fallback)
465
468
  - past lessons for similar tasks
466
- - query-expanded + ranked reference rows
469
+ - query-expanded + ranked reference rows from 3-5 CSV files per persona
467
470
  ```
468
471
 
469
472
  ### Retrieval stack
@@ -709,12 +712,14 @@ npx analyzthis_design research --query <text>
709
712
  # Reference data (retrieve-on-demand)
710
713
  npx analyzthis_design retrieve --file <csv> --column <col> --keywords a,b [--limit N]
711
714
 
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]
715
+ # Standalone orchestrator (v2.0 chunked by default)
716
+ npx analyzthis_design run --task "..." [--budget free|cheap|auto] [--sequential|--parallel] [--max-chunks N] [--dry-run]
717
+ npx analyzthis_design run-unchunked --task "..." [--lite|--full] [--experts a,b] [--dry-run] [--deliberate|--no-deliberate]
716
718
  npx analyzthis_design run --continue --task "..." # resume host-mode run after /devi
717
719
 
720
+ # CSV validation
721
+ npx analyzthis_design validate # validate all 28 CSV files against schema.json
722
+
718
723
  # Self-evolving team (v1.21)
719
724
  npx analyzthis_design evolve --extract [--window N] [--dry-run]
720
725
  npx analyzthis_design evolve --apply <patchId> [--dry-run]
@@ -764,6 +769,7 @@ lib/
764
769
  chunk-synthesis.js Merge chunk outputs into final verdict
765
770
  chunk-telemetry.js Per-chunk model quality tracking
766
771
  chunk-run.js Top-level chunked execution coordinator
772
+ reference-pack.js Shared multi-file CSV + vault retrieval (buildReferencePack)
767
773
  moodboard.js Mood-board engine: collect web/DS references, tag, deliberate
768
774
  dedup.js Cross-persona redundancy detection
769
775
  lessons.js Self-evolving lessons store (extract/retrieve/inject)
@@ -785,6 +791,7 @@ scripts/
785
791
  quality-check.js Validate persona outputs vs skill + deliberation protocol
786
792
  demo-fictional-deliberation.js Dry-run walkthrough for FlowPay scenario
787
793
  scripts/obfuscate.js Build step → dist/
794
+ scripts/validate-csvs.js CSV integrity validation against schema.json
788
795
  skills/
789
796
  devi/ Host LLM runtime — voices personas from pending prompts
790
797
  kavi/ Kavi — Knowledge Archivist (/kavi)
@@ -804,7 +811,7 @@ skills/
804
811
 
805
812
  - Node.js 16+
806
813
  - 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`
814
+ - **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
815
  - **Kavi `collect` enrichment:** optional — same keys as above; without keys, draft vault + sync still run
809
816
 
810
817
  ---
@@ -818,6 +825,10 @@ skills/
818
825
  | **Chunk telemetry** | Tracks per-model success rate so router improves over time |
819
826
  | **Legacy mode preserved** | `npx analyzthis_design run-unchunked` for the original single-pass orchestrator |
820
827
  | **Planner never cheap** | Planner always uses frontier/host; chunk models are cost-optimized |
828
+ | **Multi-file reference retrieval** | Each persona retrieves from 3-5 CSV files (not 1) via a shared ranker — same LLM cost, 3-5x coverage |
829
+ | **All 16 stacks detected** | `detectStack()` covers all 16 stack CSVs (flutter, swiftui, laravel, threejs, etc.) — was 8 |
830
+ | **CSV schema + validation** | `npm run validate` checks all 28 CSV files against `schema.json` before publish |
831
+ | **Best For Tags** | styles.csv + typography.csv have normalized tag columns for reliable keyword filtering |
821
832
 
822
833
  ## What's new in v1.22
823
834