analyzthis_design 1.20.0 → 2.0.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/README.md +167 -31
- package/agents/cards/anuj.md +1 -1
- package/agents/cards/arjun.md +1 -1
- package/agents/cards/chunk-planner.md +5 -0
- package/agents/cards/meera.md +1 -1
- package/agents/cards/mood-board.md +13 -0
- package/agents/cards/noor.md +1 -1
- package/agents/cards/priya.md +1 -1
- package/agents/cards/query-expander.md +17 -0
- package/agents/cards/raj.md +1 -1
- package/agents/cards/ranker.md +16 -0
- package/agents/cards/run-unchunked.md +7 -0
- package/agents/cards/zara.md +1 -1
- package/agents/chain.json +15 -0
- package/agents/manifests/anuj.json +1 -0
- package/agents/manifests/arjun.json +1 -0
- package/agents/manifests/chunk-planner.json +18 -0
- package/agents/manifests/kavi.json +1 -0
- package/agents/manifests/meera.json +1 -0
- package/agents/manifests/mood-board.json +23 -0
- package/agents/manifests/noor.json +1 -0
- package/agents/manifests/priya.json +1 -0
- package/agents/manifests/query-expander.json +13 -0
- package/agents/manifests/raj.json +1 -0
- package/agents/manifests/ranker.json +13 -0
- package/agents/manifests/run-unchunked.json +19 -0
- package/agents/manifests/zara.json +1 -0
- package/agents/router.json +14 -0
- package/agents/session-schema.json +27 -0
- package/dist/.github/ISSUE_TEMPLATE/persona-feedback.yml +75 -0
- package/dist/HOW-TO-USE.md +424 -0
- package/dist/README.md +858 -0
- package/dist/agents/cards/anuj.md +28 -0
- package/dist/agents/cards/arjun.md +29 -0
- package/dist/agents/cards/chunk-planner.md +5 -0
- package/dist/agents/cards/design-director.md +19 -0
- package/dist/agents/cards/devi.md +15 -0
- package/dist/agents/cards/kavi.md +26 -0
- package/dist/agents/cards/meera.md +27 -0
- package/dist/agents/cards/mood-board.md +13 -0
- package/dist/agents/cards/noor.md +28 -0
- package/dist/agents/cards/priya.md +27 -0
- package/dist/agents/cards/query-expander.md +17 -0
- package/dist/agents/cards/raj.md +29 -0
- package/dist/agents/cards/ranker.md +16 -0
- package/dist/agents/cards/run-unchunked.md +7 -0
- package/dist/agents/cards/zara.md +30 -0
- package/dist/agents/chain.json +76 -0
- package/dist/agents/deliberation-schema.json +44 -0
- package/dist/agents/design-spec-schema.json +111 -0
- package/dist/agents/manifests/anuj.json +32 -0
- package/dist/agents/manifests/arjun.json +47 -0
- package/dist/agents/manifests/chunk-planner.json +18 -0
- package/dist/agents/manifests/design-critic.json +21 -0
- package/dist/agents/manifests/design-director.json +26 -0
- package/dist/agents/manifests/devi.json +31 -0
- package/dist/agents/manifests/kavi.json +34 -0
- package/dist/agents/manifests/meera.json +32 -0
- package/dist/agents/manifests/mood-board.json +23 -0
- package/dist/agents/manifests/noor.json +33 -0
- package/dist/agents/manifests/persona-orchestrator.json +17 -0
- package/dist/agents/manifests/priya.json +32 -0
- package/dist/agents/manifests/query-expander.json +13 -0
- package/dist/agents/manifests/raj.json +31 -0
- package/dist/agents/manifests/ranker.json +13 -0
- package/dist/agents/manifests/run-unchunked.json +19 -0
- package/dist/agents/manifests/ux-story-gate.json +23 -0
- package/dist/agents/manifests/zara.json +33 -0
- package/dist/agents/router.json +99 -0
- package/dist/agents/session-schema.json +152 -0
- package/dist/bin/cli.js +1 -1
- package/dist/lib/cache.js +1 -1
- package/dist/lib/chunk-executor.js +1 -0
- package/dist/lib/chunk-models.js +1 -0
- package/dist/lib/chunk-planner.js +1 -0
- package/dist/lib/chunk-router.js +1 -0
- package/dist/lib/chunk-run.js +1 -0
- package/dist/lib/chunk-synthesis.js +1 -0
- package/dist/lib/chunk-telemetry.js +1 -0
- package/dist/lib/collect.js +1 -1
- package/dist/lib/cost.js +1 -1
- package/dist/lib/dedup.js +1 -0
- package/dist/lib/deliberation.js +1 -1
- package/dist/lib/design-spec.js +1 -1
- package/dist/lib/evolve.js +1 -0
- package/dist/lib/export.js +1 -1
- package/dist/lib/feedback-submit.js +1 -1
- package/dist/lib/feedback.js +1 -1
- package/dist/lib/host-llm.js +1 -1
- package/dist/lib/install.js +1 -1
- package/dist/lib/knowledge.js +1 -1
- package/dist/lib/lessons.js +1 -0
- package/dist/lib/moodboard.js +1 -0
- package/dist/lib/orchestrator/run.js +1 -1
- package/dist/lib/outcome.js +1 -0
- package/dist/lib/platforms.js +1 -1
- package/dist/lib/provider.js +1 -1
- package/dist/lib/query-expander.js +1 -0
- package/dist/lib/ranker.js +1 -0
- package/dist/lib/research.js +1 -1
- package/dist/lib/retrieve.js +1 -1
- package/dist/lib/session.js +1 -1
- package/dist/lib/source-discovery.js +1 -1
- package/dist/lib/synthesis.js +1 -1
- package/dist/lib/token-gate.js +1 -1
- package/dist/skills/anuj/SKILL.md +92 -0
- package/dist/skills/arjun/SKILL.md +291 -0
- package/dist/skills/chunk-planner/SKILL.md +45 -0
- package/dist/skills/collect-knowledge/SKILL.md +20 -0
- package/dist/skills/deliberation-protocol/SKILL.md +131 -0
- package/dist/skills/design-critic/SKILL.md +191 -0
- package/dist/skills/design-director/SKILL.md +181 -0
- package/dist/skills/design-personas/SKILL.md +100 -0
- package/dist/skills/design-reference/SKILL.md +83 -0
- package/dist/skills/design-reference/app-interface.csv +31 -0
- package/dist/skills/design-reference/charts.csv +26 -0
- package/dist/skills/design-reference/colors.csv +162 -0
- package/dist/skills/design-reference/google-fonts.csv +1924 -0
- package/dist/skills/design-reference/icons.csv +106 -0
- package/dist/skills/design-reference/landing.csv +35 -0
- package/dist/skills/design-reference/products.csv +162 -0
- package/dist/skills/design-reference/react-performance.csv +45 -0
- package/dist/skills/design-reference/stacks/angular.csv +51 -0
- package/dist/skills/design-reference/stacks/astro.csv +54 -0
- package/dist/skills/design-reference/stacks/flutter.csv +53 -0
- package/dist/skills/design-reference/stacks/html-tailwind.csv +56 -0
- package/dist/skills/design-reference/stacks/jetpack-compose.csv +53 -0
- package/dist/skills/design-reference/stacks/laravel.csv +51 -0
- package/dist/skills/design-reference/stacks/nextjs.csv +53 -0
- package/dist/skills/design-reference/stacks/nuxt-ui.csv +51 -0
- package/dist/skills/design-reference/stacks/nuxtjs.csv +59 -0
- package/dist/skills/design-reference/stacks/react-native.csv +52 -0
- package/dist/skills/design-reference/stacks/react.csv +54 -0
- package/dist/skills/design-reference/stacks/shadcn.csv +61 -0
- package/dist/skills/design-reference/stacks/svelte.csv +54 -0
- package/dist/skills/design-reference/stacks/swiftui.csv +51 -0
- package/dist/skills/design-reference/stacks/threejs.csv +54 -0
- package/dist/skills/design-reference/stacks/vue.csv +50 -0
- package/dist/skills/design-reference/styles.csv +85 -0
- package/dist/skills/design-reference/typography.csv +74 -0
- package/dist/skills/design-reference/ui-reasoning.csv +162 -0
- package/dist/skills/design-reference/ux-guidelines.csv +100 -0
- package/dist/skills/design-spec/SKILL.md +106 -0
- package/dist/skills/devi/SKILL.md +114 -0
- package/dist/skills/getting-started/SKILL.md +144 -0
- package/dist/skills/kavi/SKILL.md +118 -0
- package/dist/skills/knowledge-bank/SKILL.md +43 -0
- package/dist/skills/meera/SKILL.md +76 -0
- package/dist/skills/mood-board/SKILL.md +113 -0
- package/dist/skills/noor/SKILL.md +96 -0
- package/dist/skills/persona-orchestrator/SKILL.md +220 -0
- package/dist/skills/priya/SKILL.md +75 -0
- package/dist/skills/raj/SKILL.md +77 -0
- package/dist/skills/run-unchunked/SKILL.md +49 -0
- package/dist/skills/ux-ideator/SKILL.md +187 -0
- package/dist/skills/ux-story-gate/SKILL.md +353 -0
- package/dist/skills/zara/SKILL.md +85 -0
- package/dist/supabase/deliberation-config.example.json +15 -0
- package/dist/supabase/feedback-config.example.json +7 -0
- package/dist/supabase/migrations/001_persona_feedback.sql +54 -0
- package/package.json +2 -2
- package/skills/anuj/SKILL.md +1 -1
- package/skills/arjun/SKILL.md +1 -1
- package/skills/chunk-planner/SKILL.md +45 -0
- package/skills/design-critic/SKILL.md +2 -2
- package/skills/design-director/SKILL.md +1 -1
- package/skills/devi/SKILL.md +1 -1
- package/skills/getting-started/SKILL.md +12 -0
- package/skills/meera/SKILL.md +1 -1
- package/skills/mood-board/SKILL.md +113 -0
- package/skills/noor/SKILL.md +1 -1
- package/skills/persona-orchestrator/SKILL.md +37 -3
- package/skills/priya/SKILL.md +1 -1
- package/skills/run-unchunked/SKILL.md +49 -0
- package/skills/ux-ideator/SKILL.md +1 -1
- package/skills/zara/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -4,33 +4,45 @@ A set of AI design personas and a task-first evaluation framework that plugs int
|
|
|
4
4
|
|
|
5
5
|
Install once. Run structured UX critiques, multi-phase ideation, and task-grounded screen reviews — directly inside your AI chat. **No external LLM API keys required** for CLI orchestrator runs: **`/devi`** voices each persona from your host IDE (Cursor, Claude, etc.).
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## v2.0 — chunked execution by default
|
|
8
|
+
|
|
9
|
+
`npx analyzthis_design run --task "..."` now uses a **frontier planner + cheap chunk models**:
|
|
10
|
+
|
|
11
|
+
1. Frontier/strong model plans the task into small chunks.
|
|
12
|
+
2. Each chunk runs on the cheapest capable model: local Ollama, free cloud APIs (Groq, Gemini, OpenRouter), or cheap cloud APIs with your keys.
|
|
13
|
+
3. Outputs are merged into a final verdict.
|
|
14
|
+
4. Telemetry learns which models work best for each chunk type.
|
|
15
|
+
|
|
16
|
+
Use `npx analyzthis_design run-unchunked` for the legacy single-pass orchestrator.
|
|
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)
|
|
8
19
|
|
|
9
20
|
---
|
|
10
21
|
|
|
11
|
-
##
|
|
22
|
+
## Quick start
|
|
12
23
|
|
|
13
24
|
```bash
|
|
14
|
-
#
|
|
25
|
+
# 1. Install slash commands (Cursor/Claude/Codex/Grok/Windsurf)
|
|
15
26
|
npx analyzthis_design
|
|
16
27
|
|
|
17
|
-
#
|
|
18
|
-
npx analyzthis_design --
|
|
28
|
+
# 2. Run a task in v2.0 chunked mode (free/cheap models)
|
|
29
|
+
npx analyzthis_design run --task "Review invoice approval screen"
|
|
19
30
|
|
|
20
|
-
#
|
|
21
|
-
npx analyzthis_design --
|
|
31
|
+
# 3. Or use legacy single-pass orchestrator
|
|
32
|
+
npx analyzthis_design run-unchunked --task "Review invoice approval screen" --provider host
|
|
33
|
+
```
|
|
22
34
|
|
|
23
|
-
|
|
24
|
-
npx analyzthis_design --target grok
|
|
35
|
+
### Install by target IDE
|
|
25
36
|
|
|
26
|
-
|
|
37
|
+
```bash
|
|
38
|
+
npx analyzthis_design --target claude
|
|
39
|
+
npx analyzthis_design --target codex
|
|
40
|
+
npx analyzthis_design --target grok
|
|
27
41
|
npx analyzthis_design --target windsurf
|
|
28
|
-
|
|
29
|
-
# All supported hosts at once
|
|
30
42
|
npx analyzthis_design --target all --force
|
|
31
43
|
```
|
|
32
44
|
|
|
33
|
-
**After install:** type `/getting-started` in Cursor or Claude Code (or `@getting-started` in Windsurf). Re-print CLI help anytime with `npx analyzthis_design welcome`.
|
|
45
|
+
**After install:** type `/getting-started` in Cursor or Claude Code (or `@getting-started` in Windsurf). For a complete walkthrough, see [HOW-TO-USE.md](./HOW-TO-USE.md). Re-print CLI help anytime with `npx analyzthis_design welcome`.
|
|
34
46
|
|
|
35
47
|
| Tool | Skills installed to | Invoke |
|
|
36
48
|
|---|---|---|
|
|
@@ -205,9 +217,14 @@ Key fields after a run:
|
|
|
205
217
|
| Field | Contents |
|
|
206
218
|
|---|---|
|
|
207
219
|
| `persona_outputs` | Each persona's text + parsed deliberation JSON |
|
|
220
|
+
| `full_prompts` | Exact `{ system, user }` prompts sent to the LLM (for training / auditing) |
|
|
221
|
+
| `structured_outputs` | Parsed grades, score, top fixes per persona |
|
|
222
|
+
| `covered_points` | Deduplicated findings across personas (redundancy suppression) |
|
|
223
|
+
| `task_type` | Canonical problem type from the router |
|
|
208
224
|
| `deliberation` | `round_log`, `open_objections`, `consensus_reached`, `raj_escalated` |
|
|
209
225
|
| `synthesis` | Composite scores, verdict, top 3, hierarchy gate |
|
|
210
226
|
| `synthesis_markdown` | Phase 5 block for display / export |
|
|
227
|
+
| `outcome` | `inferred` + `confirmed` outcome per persona (for the evolution loop) |
|
|
211
228
|
| `host_run` | Host-mode checkpoint when paused for Devi (`run_dir`, `checkpoint`) |
|
|
212
229
|
| `metrics` | `llm_calls`, `deliberation_rounds`, `objections_raised`, token estimates |
|
|
213
230
|
|
|
@@ -227,31 +244,36 @@ agents/
|
|
|
227
244
|
session-schema.json
|
|
228
245
|
```
|
|
229
246
|
|
|
230
|
-
**
|
|
247
|
+
**v2.0 chunked runtime (default for `run`):**
|
|
231
248
|
|
|
232
249
|
```bash
|
|
233
|
-
#
|
|
234
|
-
npx analyzthis_design run --task "
|
|
250
|
+
# Default: frontier planner + sequential chunk execution on free/cheap models
|
|
251
|
+
npx analyzthis_design run --task "Review invoice approval screen"
|
|
235
252
|
|
|
236
|
-
#
|
|
237
|
-
npx analyzthis_design run --task "Review invoice screen" --
|
|
238
|
-
npx analyzthis_design devi status
|
|
239
|
-
npx analyzthis_design run --continue --task "Review invoice screen" --full
|
|
253
|
+
# Auto-detect local Ollama, otherwise use free cloud models
|
|
254
|
+
npx analyzthis_design run --task "Review invoice approval screen" --budget free
|
|
240
255
|
|
|
241
|
-
#
|
|
242
|
-
|
|
243
|
-
|
|
256
|
+
# Use your paid keys for cheap cloud models
|
|
257
|
+
npx analyzthis_design run --task "..." --budget cheap --provider together
|
|
258
|
+
|
|
259
|
+
# Limit parallelism / chunk count (sequential is default)
|
|
260
|
+
npx analyzthis_design run --task "..." --sequential --max-chunks 4
|
|
261
|
+
npx analyzthis_design run --task "..." --parallel --max-chunks 6
|
|
244
262
|
|
|
245
|
-
#
|
|
246
|
-
npx analyzthis_design run --task "
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
npx analyzthis_design run --task "
|
|
263
|
+
# Legacy single-pass orchestrator (unchunked)
|
|
264
|
+
npx analyzthis_design run-unchunked --task "Review invoice approval screen" --full
|
|
265
|
+
|
|
266
|
+
# Host mode (no API keys) — Devi voices personas via prompt queue
|
|
267
|
+
npx analyzthis_design run-unchunked --task "Review invoice screen" --full
|
|
268
|
+
npx analyzthis_design devi status
|
|
269
|
+
npx analyzthis_design run-unchunked --continue --task "Review invoice screen" --full
|
|
250
270
|
```
|
|
251
271
|
|
|
252
|
-
**
|
|
272
|
+
**Chunk model selection:** Ollama auto-discovered → free cloud (Groq/Gemini/OpenRouter free endpoints) → cheap cloud with user keys. The **planner always runs on a frontier/strong model** and never on a cheap model; if no frontier provider is available, it falls back to the host model with a warning.
|
|
253
273
|
|
|
254
|
-
|
|
274
|
+
**Provider resolution order:** explicit `--provider` → config → first available API key → **`host`** (Devi) for unchunked; chunked mode also considers Ollama and free endpoints before paid.
|
|
275
|
+
|
|
276
|
+
Supported providers: `host` | `anthropic` | `openai` | `google` | `zai` | `ollama` | `groq` | `together` | `openrouter` | `deepseek`
|
|
255
277
|
|
|
256
278
|
Provider defaults live in `~/.analyzthis_design/config.json`:
|
|
257
279
|
|
|
@@ -412,7 +434,7 @@ npx analyzthis_design feedback list
|
|
|
412
434
|
npx analyzthis_design feedback export --persona arjun --all
|
|
413
435
|
```
|
|
414
436
|
|
|
415
|
-
|
|
437
|
+
`export-training` now emits richer training pairs: `{ system_card, system_prompt_full, user_prompt_full, digest, user, assistant, structured_output, outcome, task_type }`. The full prompts are captured automatically on every `run`, so fine-tuning datasets include the exact context the persona saw.
|
|
416
438
|
|
|
417
439
|
**Correction export** writes `{ assistant_rejected, assistant_preferred, user_comment, tags }` to `~/.analyzthis_design/feedback/<persona>-corrections.jsonl` — useful when users were unhappy or had to rewrite persona output. Every entry is also appended to a global `corrections.jsonl` across projects.
|
|
418
440
|
|
|
@@ -420,6 +442,62 @@ Once a persona accumulates ~100–300 accepted pairs (and optionally correction
|
|
|
420
442
|
|
|
421
443
|
---
|
|
422
444
|
|
|
445
|
+
## Self-evolving persona team (v1.21)
|
|
446
|
+
|
|
447
|
+
The system now captures every run, learns from accepted outputs + confirmed outcomes, and proposes improvements to its own prompts, reference data, and routing — **dry-run by default**, human review before any apply.
|
|
448
|
+
|
|
449
|
+
```
|
|
450
|
+
Run → full prompts + structured output + outcome captured
|
|
451
|
+
↓
|
|
452
|
+
Lessons extracted (accepted outputs) → ~/.analyzthis_design/lessons/<persona>.jsonl
|
|
453
|
+
↓
|
|
454
|
+
Outcome confirmed (shipped / revised / blocked / missed)
|
|
455
|
+
↓
|
|
456
|
+
evolve --extract → proposes:
|
|
457
|
+
- prompt patches (new canonical failure patterns per persona)
|
|
458
|
+
- reference-data rows (new product-type patterns)
|
|
459
|
+
- router patches (task_type → best-performing expert)
|
|
460
|
+
↓
|
|
461
|
+
evolve --apply <patchId> (human review) → skill/CSV/router updated
|
|
462
|
+
↓
|
|
463
|
+
Next run retrieves:
|
|
464
|
+
- per-persona knowledge slices (priority + fallback)
|
|
465
|
+
- past lessons for similar tasks
|
|
466
|
+
- query-expanded + ranked reference rows
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
### Retrieval stack
|
|
470
|
+
|
|
471
|
+
| Layer | What it does | Files |
|
|
472
|
+
|---|---|---|
|
|
473
|
+
| **Query expansion** | One cheap LLM call per run expands the task into search terms (product type, design domain, component, persona lens) | `lib/query-expander.js`, `agents/cards/query-expander.md` |
|
|
474
|
+
| **Per-persona ranking** | A second cheap LLM call per persona ranks the top 5 reference rows + knowledge notes for that persona's lens | `lib/ranker.js`, `agents/cards/ranker.md` |
|
|
475
|
+
| **Lessons retrieval** | Top-3 lessons from past accepted sessions, keyword-matched to the current task | `lib/lessons.js` |
|
|
476
|
+
| **Redundancy suppression** | Before each persona produces, it sees what prior personas already covered and is told to only add NEW insights | `lib/dedup.js`, `lib/deliberation.js` |
|
|
477
|
+
| **Per-persona KB slices** | `sync` now builds a filtered slice per persona (priority categories first, small fallback context at the end) | `lib/knowledge.js` |
|
|
478
|
+
|
|
479
|
+
### Commands
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
# Extract lessons + infer outcomes + propose patches (dry-run by default)
|
|
483
|
+
npx analyzthis_design evolve --extract [--window N] [--dry-run]
|
|
484
|
+
|
|
485
|
+
# Review a patch before applying
|
|
486
|
+
npx analyzthis_design evolve --apply <patchId> --dry-run
|
|
487
|
+
|
|
488
|
+
# Apply a patch after review (prompt / reference rows only; router patches need manual edit)
|
|
489
|
+
npx analyzthis_design evolve --apply <patchId>
|
|
490
|
+
|
|
491
|
+
# Outcome tracking
|
|
492
|
+
npx analyzthis_design outcome --infer [--window N] # auto-infer from next session
|
|
493
|
+
npx analyzthis_design outcome --pending # list inferred outcomes awaiting confirmation
|
|
494
|
+
npx analyzthis_design outcome --confirm --persona arjun --result shipped
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
Config in `agents/chain.json` → `evolution` block: `extraction_window_days`, `min_lessons_for_patch`, `min_outcomes_for_router_patch`.
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
|
|
423
501
|
## Persona feedback — corrections & unhappiness (v1.16)
|
|
424
502
|
|
|
425
503
|
When a persona gets it wrong, you can record **what was wrong** and **how you fixed it**. This feeds future fine-tuning (negative / DPO pairs) alongside the existing positive `export-training` path.
|
|
@@ -637,6 +715,19 @@ npx analyzthis_design run --task "..." [--lite | --full] [--experts a,b]
|
|
|
637
715
|
npx analyzthis_design run --task "..." [--deliberate | --no-deliberate] [--max-rounds N] [--satisfaction 0.4]
|
|
638
716
|
npx analyzthis_design run --continue --task "..." # resume host-mode run after /devi
|
|
639
717
|
|
|
718
|
+
# Self-evolving team (v1.21)
|
|
719
|
+
npx analyzthis_design evolve --extract [--window N] [--dry-run]
|
|
720
|
+
npx analyzthis_design evolve --apply <patchId> [--dry-run]
|
|
721
|
+
npx analyzthis_design outcome --infer [--window N]
|
|
722
|
+
npx analyzthis_design outcome --pending
|
|
723
|
+
npx analyzthis_design outcome --confirm --persona <id> --result shipped|revised|blocked|missed
|
|
724
|
+
|
|
725
|
+
# Mood board (v1.22)
|
|
726
|
+
npx analyzthis_design moodboard create --task "..." [--auto] [--url <url> ...]
|
|
727
|
+
npx analyzthis_design moodboard critique --board <id>
|
|
728
|
+
npx analyzthis_design moodboard add --board <id> --url <url> --title "..." --tags a,b
|
|
729
|
+
npx analyzthis_design moodboard list
|
|
730
|
+
|
|
640
731
|
# Devi — host LLM queue (v1.20)
|
|
641
732
|
npx analyzthis_design devi status [--run path]
|
|
642
733
|
npx analyzthis_design devi respond --run <run-dir> --step 001-arjun --file response.md
|
|
@@ -666,6 +757,20 @@ lib/
|
|
|
666
757
|
research.js URL / query → web-context.md
|
|
667
758
|
retrieve.js Filtered, citation-ready CSV row retrieval
|
|
668
759
|
cache.js On-disk cache for retrieve/kb slices
|
|
760
|
+
chunk-models.js Curated free/cheap model pool + Ollama auto-discovery
|
|
761
|
+
chunk-planner.js Frontier/strong model chunk planner
|
|
762
|
+
chunk-router.js Cheapest capable model per chunk
|
|
763
|
+
chunk-executor.js Chunk execution with retry + fallback
|
|
764
|
+
chunk-synthesis.js Merge chunk outputs into final verdict
|
|
765
|
+
chunk-telemetry.js Per-chunk model quality tracking
|
|
766
|
+
chunk-run.js Top-level chunked execution coordinator
|
|
767
|
+
moodboard.js Mood-board engine: collect web/DS references, tag, deliberate
|
|
768
|
+
dedup.js Cross-persona redundancy detection
|
|
769
|
+
lessons.js Self-evolving lessons store (extract/retrieve/inject)
|
|
770
|
+
outcome.js Infer + confirm persona outcome labels
|
|
771
|
+
query-expander.js LLM task → search terms for retrieval
|
|
772
|
+
ranker.js LLM per-persona ranking of reference/knowledge candidates
|
|
773
|
+
evolve.js Evolution engine: prompt/reference/router patch proposals
|
|
669
774
|
export.js LoRA training-pair export hook
|
|
670
775
|
feedback.js Persona unhappiness + correction logging (session + global JSONL)
|
|
671
776
|
feedback-submit.js Opt-in anonymized submit to Supabase (community feedback)
|
|
@@ -704,6 +809,37 @@ skills/
|
|
|
704
809
|
|
|
705
810
|
---
|
|
706
811
|
|
|
812
|
+
## What's new in v2.0
|
|
813
|
+
|
|
814
|
+
| Feature | Description |
|
|
815
|
+
|---------|-------------|
|
|
816
|
+
| **Chunked execution by default** | Frontier planner → cheap chunk models (Ollama, free/cheap cloud) → synthesis |
|
|
817
|
+
| **Model router** | Auto-discovers Ollama + uses curated free/cheap cloud model pool |
|
|
818
|
+
| **Chunk telemetry** | Tracks per-model success rate so router improves over time |
|
|
819
|
+
| **Legacy mode preserved** | `npx analyzthis_design run-unchunked` for the original single-pass orchestrator |
|
|
820
|
+
| **Planner never cheap** | Planner always uses frontier/host; chunk models are cost-optimized |
|
|
821
|
+
|
|
822
|
+
## What's new in v1.22
|
|
823
|
+
|
|
824
|
+
| Feature | Description |
|
|
825
|
+
|---------|-------------|
|
|
826
|
+
| **Mood boards** | `/mood-board` collects web references + design-system patterns, tags them, and runs team deliberation |
|
|
827
|
+
| **User-contributed references** | User can add URLs/notes to a board and rerun the critique loop |
|
|
828
|
+
| **Visual direction setting** | Arjun, Meera, Priya, Zara, Noor score references via the UX Honeycomb rigor matrix |
|
|
829
|
+
| **Workspace artifacts** | `moodboard/{boardId}.json` is written into the project for the user to inspect |
|
|
830
|
+
|
|
831
|
+
## What's new in v1.21
|
|
832
|
+
|
|
833
|
+
| Feature | Description |
|
|
834
|
+
|---------|-------------|
|
|
835
|
+
| **Self-evolving team** | `evolve --extract` harvests lessons + outcomes; proposes prompt/CSV/router patches |
|
|
836
|
+
| **Per-persona knowledge slices** | `sync` builds filtered context per persona (priority categories + fallback) |
|
|
837
|
+
| **Query expansion + ranking** | Cheap LLM calls broaden retrieval and rank references per persona lens |
|
|
838
|
+
| **Lessons store** | Past accepted fixes are retrieved for similar future tasks |
|
|
839
|
+
| **Outcome tracking** | `outcome --confirm` / `--infer` labels whether a persona's output actually shipped |
|
|
840
|
+
| **Full-prompt training export** | `export-training` now emits the exact `{ system, user }` prompts + structured output |
|
|
841
|
+
| **Redundancy suppression** | Personas see what prior personas already covered and add only new insights |
|
|
842
|
+
|
|
707
843
|
## What's new in v1.20
|
|
708
844
|
|
|
709
845
|
| Feature | Description |
|
package/agents/cards/anuj.md
CHANGED
|
@@ -25,4 +25,4 @@ Full Concept B text wireframe (hierarchy check, primary action, nav level, visib
|
|
|
25
25
|
|
|
26
26
|
**Review mode (rounds 0–N-1):** Critique prior output with grounded objections. Default `accepts_prior: false`. Include deliberation JSON block.
|
|
27
27
|
|
|
28
|
-
**Produce mode (final round):** Full output schema after consensus or Raj. See `skills/deliberation-protocol/SKILL.md
|
|
28
|
+
**Produce mode (final round):** Full output schema after consensus or Raj. See `deliberation-protocol` in your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`).
|
package/agents/cards/arjun.md
CHANGED
|
@@ -26,4 +26,4 @@ Full UX Critique + Visual Design Audit blocks with per-dimension reasons — see
|
|
|
26
26
|
|
|
27
27
|
**Review mode (rounds 0–N-1):** Critique prior output with grounded objections. Default `accepts_prior: false`. Include deliberation JSON block.
|
|
28
28
|
|
|
29
|
-
**Produce mode (final round):** Full output schema after consensus or Raj. See `skills/deliberation-protocol/SKILL.md
|
|
29
|
+
**Produce mode (final round):** Full output schema after consensus or Raj. See `deliberation-protocol` in your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`).
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
You are the `/chunk-planner` explainer. You describe how the v2.0 chunked execution planner works.
|
|
2
|
+
|
|
3
|
+
You do not execute chunks or replace routing decisions. You help the user inspect and understand chunk plans.
|
|
4
|
+
|
|
5
|
+
When asked about a specific plan, read `session-state.json` and look under `chunk_run.plan`.
|
package/agents/cards/meera.md
CHANGED
|
@@ -24,4 +24,4 @@ Full Business Impact block (metric impact, hierarchy check, segment, GTM lever,
|
|
|
24
24
|
|
|
25
25
|
**Review mode (rounds 0–N-1):** Critique prior output with grounded objections. Default `accepts_prior: false`. Include deliberation JSON block.
|
|
26
26
|
|
|
27
|
-
**Produce mode (final round):** Full output schema after consensus or Raj. See `skills/deliberation-protocol/SKILL.md
|
|
27
|
+
**Produce mode (final round):** Full output schema after consensus or Raj. See `deliberation-protocol` in your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`).
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
You are the Mood Board conductor. You do not have a design opinion of your own.
|
|
2
|
+
|
|
3
|
+
Your job is to:
|
|
4
|
+
1. Collect visual/textual references for a design direction.
|
|
5
|
+
2. Tag references with style, mood, surface, and relevant keywords.
|
|
6
|
+
3. Pull matching design-system tokens, styles, and patterns from the reference CSVs.
|
|
7
|
+
4. Run Arjun, Meera, Priya, Zara, and Noor through adversarial deliberation over the board.
|
|
8
|
+
5. Write `board.json` to the session and a workspace copy the user can open.
|
|
9
|
+
6. Accept user-contributed references and rerun the loop.
|
|
10
|
+
|
|
11
|
+
Always assess-only: never write code or final wireframes. Produce the structured board artifact and a synthesis of the team's direction.
|
|
12
|
+
|
|
13
|
+
Cite design-system rows using the format: `[filename, row N: "exact quoted value"]`.
|
package/agents/cards/noor.md
CHANGED
|
@@ -25,4 +25,4 @@ Full Concept A text wireframe (hierarchy, primary action, nav level, visible-on-
|
|
|
25
25
|
|
|
26
26
|
**Review mode (rounds 0–N-1):** Critique prior output with grounded objections. Default `accepts_prior: false`. Include deliberation JSON block.
|
|
27
27
|
|
|
28
|
-
**Produce mode (final round):** Full output schema after consensus or Raj. See `skills/deliberation-protocol/SKILL.md
|
|
28
|
+
**Produce mode (final round):** Full output schema after consensus or Raj. See `deliberation-protocol` in your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`).
|
package/agents/cards/priya.md
CHANGED
|
@@ -24,4 +24,4 @@ Full Feasibility Analysis block (score, blockers, ranked risks, effort, simpler
|
|
|
24
24
|
|
|
25
25
|
**Review mode (rounds 0–N-1):** Critique prior output with grounded objections. Default `accepts_prior: false`. Include deliberation JSON block.
|
|
26
26
|
|
|
27
|
-
**Produce mode (final round):** Full output schema after consensus or Raj. See `skills/deliberation-protocol/SKILL.md
|
|
27
|
+
**Produce mode (final round):** Full output schema after consensus or Raj. See `deliberation-protocol` in your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`).
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Query Expander (card)
|
|
2
|
+
|
|
3
|
+
You expand a design task into search terms for reference-data retrieval.
|
|
4
|
+
|
|
5
|
+
**Allowed:** Read the task + persona lens; output a JSON array of 5-10 search terms.
|
|
6
|
+
**Forbidden:** Output anything other than the JSON array. No prose, no explanation.
|
|
7
|
+
|
|
8
|
+
**Output format:**
|
|
9
|
+
```json
|
|
10
|
+
["term1", "term2", "term3", "term4", "term5"]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Terms should be:
|
|
14
|
+
- Product-type keywords (saas, fintech, e-commerce, dashboard, etc.)
|
|
15
|
+
- Design-domain keywords (contrast, hierarchy, spacing, accessibility, etc.)
|
|
16
|
+
- Component/pattern keywords (modal, table, onboarding, empty state, etc.)
|
|
17
|
+
- Persona-specific lens keywords (e.g. for Arjun: color, typography, gestalt; for Priya: state, API, performance)
|
package/agents/cards/raj.md
CHANGED
|
@@ -26,4 +26,4 @@ What [losing agent] gives up: [named]
|
|
|
26
26
|
|
|
27
27
|
**Review mode (rounds 0–N-1):** Critique prior output with grounded objections. Default `accepts_prior: false`. Include deliberation JSON block.
|
|
28
28
|
|
|
29
|
-
**Produce mode (final round):** Full output schema after consensus or Raj. See `skills/deliberation-protocol/SKILL.md
|
|
29
|
+
**Produce mode (final round):** Full output schema after consensus or Raj. See `deliberation-protocol` in your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`).
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Ranker (card)
|
|
2
|
+
|
|
3
|
+
You rank reference candidates for a specific design persona's lens.
|
|
4
|
+
|
|
5
|
+
**Allowed:** Read the task, persona lens, and candidate list; output a JSON array of candidate numbers in priority order (most relevant first).
|
|
6
|
+
**Forbidden:** Output anything other than the JSON array. No prose.
|
|
7
|
+
|
|
8
|
+
**Output format:**
|
|
9
|
+
```json
|
|
10
|
+
[3, 7, 1, 5, 2]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Rank by:
|
|
14
|
+
- Relevance to the persona's lens (UX, business, feasibility, delight, IA, etc.)
|
|
15
|
+
- Relevance to the specific task
|
|
16
|
+
- Specificity (more specific = higher rank than generic)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
You are the `/run-unchunked` skill. You invoke the legacy non-chunked orchestrator.
|
|
2
|
+
|
|
3
|
+
Use this only when the user explicitly asks for unchunked mode or a quick single-expert run.
|
|
4
|
+
|
|
5
|
+
Do not replace the default chunked orchestrator. Do not run the chunk planner.
|
|
6
|
+
|
|
7
|
+
Assess-only: do not implement code unless mode is build_approved.
|
package/agents/cards/zara.md
CHANGED
|
@@ -27,4 +27,4 @@ Full Delight Pass block (surface, moment, type, specific addition, why-this-one,
|
|
|
27
27
|
|
|
28
28
|
**Review mode (rounds 0–N-1):** Critique prior output with grounded objections. Default `accepts_prior: false`. Include deliberation JSON block.
|
|
29
29
|
|
|
30
|
-
**Produce mode (final round):** Full output schema after consensus or Raj. See `skills/deliberation-protocol/SKILL.md
|
|
30
|
+
**Produce mode (final round):** Full output schema after consensus or Raj. See `deliberation-protocol` in your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`).
|
package/agents/chain.json
CHANGED
|
@@ -57,5 +57,20 @@
|
|
|
57
57
|
"re_evaluation": {
|
|
58
58
|
"mode": "delta_only",
|
|
59
59
|
"description": "On any follow-up after REVISE, re-run only the persona(s) assigned to the prior Top 3 actionable changes — never the full chain. See design-critic Re-evaluation Protocol."
|
|
60
|
+
},
|
|
61
|
+
"evolution": {
|
|
62
|
+
"lessons_dir": "~/.analyzthis_design/lessons",
|
|
63
|
+
"extraction_window_days": 7,
|
|
64
|
+
"min_lessons_for_patch": 5,
|
|
65
|
+
"min_outcomes_for_router_patch": 10,
|
|
66
|
+
"dry_run_default": true
|
|
67
|
+
},
|
|
68
|
+
"chunk_models": {
|
|
69
|
+
"description": "v2.0 chunked execution model pool. Planner is always frontier/strong; chunk models are auto-discovered (Ollama) plus curated cloud free/cheap models.",
|
|
70
|
+
"planner": { "provider": "anthropic", "model": "claude-sonnet-4-20250514" },
|
|
71
|
+
"max_chunks": 6,
|
|
72
|
+
"default_budget": "auto",
|
|
73
|
+
"default_mode": "sequential",
|
|
74
|
+
"allow_cheap_paid": true
|
|
60
75
|
}
|
|
61
76
|
}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"handoff_from": [],
|
|
25
25
|
"handoff_to": ["arjun"],
|
|
26
26
|
"requires_session_state": true,
|
|
27
|
+
"knowledge_categories": ["design", "tech"],
|
|
27
28
|
"effort_overrides": {
|
|
28
29
|
"trivial": { "when": "shortcuts-only audit", "max_output_tokens": 700 },
|
|
29
30
|
"hard": { "when": "bulk-action state design", "max_output_tokens": 1500 }
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"handoff_from": ["noor"],
|
|
26
26
|
"handoff_to": ["meera"],
|
|
27
27
|
"requires_session_state": true,
|
|
28
|
+
"knowledge_categories": ["brand", "design", "research"],
|
|
28
29
|
"hard_gates": ["ds_gate", "information_hierarchy_gate"],
|
|
29
30
|
"scoped_modes": {
|
|
30
31
|
"arjun_color_system_only": {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "chunk-planner",
|
|
3
|
+
"name": "Chunk Planner",
|
|
4
|
+
"tier": "router",
|
|
5
|
+
"max_output_tokens": 2500,
|
|
6
|
+
"system_card": "agents/cards/chunk-planner.md",
|
|
7
|
+
"system_skill": "skills/chunk-planner/SKILL.md",
|
|
8
|
+
"allowed_jobs": [
|
|
9
|
+
"Explain the chunked execution planner",
|
|
10
|
+
"Inspect chunk plans from session state"
|
|
11
|
+
],
|
|
12
|
+
"forbidden_jobs": [
|
|
13
|
+
"Replace the router or chain",
|
|
14
|
+
"Execute chunks directly"
|
|
15
|
+
],
|
|
16
|
+
"hard_gates": [],
|
|
17
|
+
"parallel_safe_with": []
|
|
18
|
+
}
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"handoff_from": [],
|
|
27
27
|
"handoff_to": [],
|
|
28
28
|
"requires_session_state": true,
|
|
29
|
+
"knowledge_categories": ["prd", "brand", "product", "design", "research", "tech", "web"],
|
|
29
30
|
"effort_overrides": {
|
|
30
31
|
"standard": { "when": "enrichment batch (default)", "max_output_tokens": 4000 },
|
|
31
32
|
"trivial": { "when": "draft-only / --no-enrich (no LLM)", "max_output_tokens": 500 }
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"handoff_from": ["arjun"],
|
|
25
25
|
"handoff_to": ["priya"],
|
|
26
26
|
"requires_session_state": true,
|
|
27
|
+
"knowledge_categories": ["product", "research"],
|
|
27
28
|
"effort_overrides": {
|
|
28
29
|
"trivial": { "when": "single GTM lever / retention check", "max_output_tokens": 500 },
|
|
29
30
|
"hard": { "when": "north-star tradeoff or cross-metric conflict", "max_output_tokens": 1200 }
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "mood-board",
|
|
3
|
+
"name": "Mood Board",
|
|
4
|
+
"tier": "structured",
|
|
5
|
+
"max_output_tokens": 1800,
|
|
6
|
+
"system_card": "agents/cards/mood-board.md",
|
|
7
|
+
"system_skill": "skills/mood-board/SKILL.md",
|
|
8
|
+
"allowed_jobs": [
|
|
9
|
+
"collect web references for visual direction",
|
|
10
|
+
"tag references with style, mood, surface",
|
|
11
|
+
"retrieve design-system patterns for the task",
|
|
12
|
+
"orchestrate team deliberation over references",
|
|
13
|
+
"write board.json artifacts",
|
|
14
|
+
"accept user-contributed references and rerun"
|
|
15
|
+
],
|
|
16
|
+
"forbidden_jobs": [
|
|
17
|
+
"produce final wireframes or code",
|
|
18
|
+
"replace the design-critic chain for screen review",
|
|
19
|
+
"auto-apply design system changes"
|
|
20
|
+
],
|
|
21
|
+
"hard_gates": [],
|
|
22
|
+
"parallel_safe_with": []
|
|
23
|
+
}
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"handoff_from": [],
|
|
26
26
|
"handoff_to": ["arjun", "anuj"],
|
|
27
27
|
"requires_session_state": true,
|
|
28
|
+
"knowledge_categories": ["design", "product"],
|
|
28
29
|
"effort_overrides": {
|
|
29
30
|
"trivial": { "when": "hierarchy-only declaration", "max_output_tokens": 700 },
|
|
30
31
|
"hard": { "when": "multi-screen IA", "max_output_tokens": 1500 }
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"handoff_from": ["meera"],
|
|
25
25
|
"handoff_to": ["zara"],
|
|
26
26
|
"requires_session_state": true,
|
|
27
|
+
"knowledge_categories": ["tech"],
|
|
27
28
|
"effort_overrides": {
|
|
28
29
|
"trivial": { "when": "single feature T-shirt sizing (structured extract)", "max_output_tokens": 500 },
|
|
29
30
|
"hard": { "when": "architecture / state-machine risk", "max_output_tokens": 900 }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "query-expander",
|
|
3
|
+
"role": "retrieval_assistant",
|
|
4
|
+
"system_card": "agents/cards/query-expander.md",
|
|
5
|
+
"tier": "structured",
|
|
6
|
+
"max_output_tokens": 200,
|
|
7
|
+
"parallel_safe_with": [],
|
|
8
|
+
"allowed_jobs": ["query expansion for reference retrieval"],
|
|
9
|
+
"forbidden_jobs": ["critique", "wireframe", "design generation"],
|
|
10
|
+
"effort_overrides": {
|
|
11
|
+
"trivial": { "when": "always", "max_output_tokens": 200 }
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"handoff_from": ["zara", "arjun", "meera", "priya", "noor", "anuj"],
|
|
24
24
|
"handoff_to": [],
|
|
25
25
|
"requires_session_state": true,
|
|
26
|
+
"knowledge_categories": ["prd", "product", "design"],
|
|
26
27
|
"effort_overrides": {
|
|
27
28
|
"standard": { "when": "principle ranking (one verdict, never first)", "max_output_tokens": 1200 },
|
|
28
29
|
"hard": { "when": "cross-persona stalemate", "max_output_tokens": 1200 }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "ranker",
|
|
3
|
+
"role": "retrieval_assistant",
|
|
4
|
+
"system_card": "agents/cards/ranker.md",
|
|
5
|
+
"tier": "structured",
|
|
6
|
+
"max_output_tokens": 200,
|
|
7
|
+
"parallel_safe_with": [],
|
|
8
|
+
"allowed_jobs": ["rank reference candidates for persona relevance"],
|
|
9
|
+
"forbidden_jobs": ["critique", "wireframe", "design generation"],
|
|
10
|
+
"effort_overrides": {
|
|
11
|
+
"trivial": { "when": "always", "max_output_tokens": 200 }
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "run-unchunked",
|
|
3
|
+
"name": "Run Unchunked",
|
|
4
|
+
"tier": "structured",
|
|
5
|
+
"max_output_tokens": 900,
|
|
6
|
+
"system_card": "agents/cards/run-unchunked.md",
|
|
7
|
+
"system_skill": "skills/run-unchunked/SKILL.md",
|
|
8
|
+
"allowed_jobs": [
|
|
9
|
+
"Run the legacy non-chunked orchestrator",
|
|
10
|
+
"Execute a single-pass persona chain",
|
|
11
|
+
"Compare against chunked output"
|
|
12
|
+
],
|
|
13
|
+
"forbidden_jobs": [
|
|
14
|
+
"Replace the default chunked orchestrator",
|
|
15
|
+
"Run the chunk planner"
|
|
16
|
+
],
|
|
17
|
+
"hard_gates": [],
|
|
18
|
+
"parallel_safe_with": []
|
|
19
|
+
}
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"handoff_from": ["priya"],
|
|
26
26
|
"handoff_to": [],
|
|
27
27
|
"requires_session_state": true,
|
|
28
|
+
"knowledge_categories": ["brand", "design"],
|
|
28
29
|
"effort_overrides": {
|
|
29
30
|
"standard": { "when": "delight pass (one peak moment)", "max_output_tokens": 1200 },
|
|
30
31
|
"hard": { "when": "novel interaction design", "max_output_tokens": 1200 }
|
package/agents/router.json
CHANGED
|
@@ -67,6 +67,13 @@
|
|
|
67
67
|
"route_to": ["raj"],
|
|
68
68
|
"never_route_to": []
|
|
69
69
|
},
|
|
70
|
+
{
|
|
71
|
+
"problem_type": "chunked_run",
|
|
72
|
+
"signals": ["chunked", "chunk planner", "run-chunked", "cheap models", "free models", "ollama"],
|
|
73
|
+
"route_to": ["chunk-planner"],
|
|
74
|
+
"never_route_to": ["design-critic_chain"],
|
|
75
|
+
"notes": "Explain or inspect the v2.0 chunked execution planner."
|
|
76
|
+
},
|
|
70
77
|
{
|
|
71
78
|
"problem_type": "full_screen_review",
|
|
72
79
|
"signals": ["full screen review", "critique this screen", "review this page"],
|
|
@@ -80,6 +87,13 @@
|
|
|
80
87
|
"route_to": ["kavi"],
|
|
81
88
|
"never_route_to": ["design-critic_chain", "zara", "arjun", "meera", "priya"],
|
|
82
89
|
"notes": "Producer only — run /kavi or `npx analyzthis_design collect`. Never part of a critique chain."
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"problem_type": "mood_board",
|
|
93
|
+
"signals": ["mood board", "mood-board", "/mood-board", "visual direction", "references", "inspiration", "style direction", "design direction"],
|
|
94
|
+
"route_to": ["mood-board"],
|
|
95
|
+
"never_route_to": ["design-critic_chain", "zara", "noor_alone"],
|
|
96
|
+
"notes": "Visual direction setting — collect references, tag them, pull DS patterns, run team deliberation. Not a screen critique."
|
|
83
97
|
}
|
|
84
98
|
]
|
|
85
99
|
}
|