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.
Files changed (176) hide show
  1. package/README.md +167 -31
  2. package/agents/cards/anuj.md +1 -1
  3. package/agents/cards/arjun.md +1 -1
  4. package/agents/cards/chunk-planner.md +5 -0
  5. package/agents/cards/meera.md +1 -1
  6. package/agents/cards/mood-board.md +13 -0
  7. package/agents/cards/noor.md +1 -1
  8. package/agents/cards/priya.md +1 -1
  9. package/agents/cards/query-expander.md +17 -0
  10. package/agents/cards/raj.md +1 -1
  11. package/agents/cards/ranker.md +16 -0
  12. package/agents/cards/run-unchunked.md +7 -0
  13. package/agents/cards/zara.md +1 -1
  14. package/agents/chain.json +15 -0
  15. package/agents/manifests/anuj.json +1 -0
  16. package/agents/manifests/arjun.json +1 -0
  17. package/agents/manifests/chunk-planner.json +18 -0
  18. package/agents/manifests/kavi.json +1 -0
  19. package/agents/manifests/meera.json +1 -0
  20. package/agents/manifests/mood-board.json +23 -0
  21. package/agents/manifests/noor.json +1 -0
  22. package/agents/manifests/priya.json +1 -0
  23. package/agents/manifests/query-expander.json +13 -0
  24. package/agents/manifests/raj.json +1 -0
  25. package/agents/manifests/ranker.json +13 -0
  26. package/agents/manifests/run-unchunked.json +19 -0
  27. package/agents/manifests/zara.json +1 -0
  28. package/agents/router.json +14 -0
  29. package/agents/session-schema.json +27 -0
  30. package/dist/.github/ISSUE_TEMPLATE/persona-feedback.yml +75 -0
  31. package/dist/HOW-TO-USE.md +424 -0
  32. package/dist/README.md +858 -0
  33. package/dist/agents/cards/anuj.md +28 -0
  34. package/dist/agents/cards/arjun.md +29 -0
  35. package/dist/agents/cards/chunk-planner.md +5 -0
  36. package/dist/agents/cards/design-director.md +19 -0
  37. package/dist/agents/cards/devi.md +15 -0
  38. package/dist/agents/cards/kavi.md +26 -0
  39. package/dist/agents/cards/meera.md +27 -0
  40. package/dist/agents/cards/mood-board.md +13 -0
  41. package/dist/agents/cards/noor.md +28 -0
  42. package/dist/agents/cards/priya.md +27 -0
  43. package/dist/agents/cards/query-expander.md +17 -0
  44. package/dist/agents/cards/raj.md +29 -0
  45. package/dist/agents/cards/ranker.md +16 -0
  46. package/dist/agents/cards/run-unchunked.md +7 -0
  47. package/dist/agents/cards/zara.md +30 -0
  48. package/dist/agents/chain.json +76 -0
  49. package/dist/agents/deliberation-schema.json +44 -0
  50. package/dist/agents/design-spec-schema.json +111 -0
  51. package/dist/agents/manifests/anuj.json +32 -0
  52. package/dist/agents/manifests/arjun.json +47 -0
  53. package/dist/agents/manifests/chunk-planner.json +18 -0
  54. package/dist/agents/manifests/design-critic.json +21 -0
  55. package/dist/agents/manifests/design-director.json +26 -0
  56. package/dist/agents/manifests/devi.json +31 -0
  57. package/dist/agents/manifests/kavi.json +34 -0
  58. package/dist/agents/manifests/meera.json +32 -0
  59. package/dist/agents/manifests/mood-board.json +23 -0
  60. package/dist/agents/manifests/noor.json +33 -0
  61. package/dist/agents/manifests/persona-orchestrator.json +17 -0
  62. package/dist/agents/manifests/priya.json +32 -0
  63. package/dist/agents/manifests/query-expander.json +13 -0
  64. package/dist/agents/manifests/raj.json +31 -0
  65. package/dist/agents/manifests/ranker.json +13 -0
  66. package/dist/agents/manifests/run-unchunked.json +19 -0
  67. package/dist/agents/manifests/ux-story-gate.json +23 -0
  68. package/dist/agents/manifests/zara.json +33 -0
  69. package/dist/agents/router.json +99 -0
  70. package/dist/agents/session-schema.json +152 -0
  71. package/dist/bin/cli.js +1 -1
  72. package/dist/lib/cache.js +1 -1
  73. package/dist/lib/chunk-executor.js +1 -0
  74. package/dist/lib/chunk-models.js +1 -0
  75. package/dist/lib/chunk-planner.js +1 -0
  76. package/dist/lib/chunk-router.js +1 -0
  77. package/dist/lib/chunk-run.js +1 -0
  78. package/dist/lib/chunk-synthesis.js +1 -0
  79. package/dist/lib/chunk-telemetry.js +1 -0
  80. package/dist/lib/collect.js +1 -1
  81. package/dist/lib/cost.js +1 -1
  82. package/dist/lib/dedup.js +1 -0
  83. package/dist/lib/deliberation.js +1 -1
  84. package/dist/lib/design-spec.js +1 -1
  85. package/dist/lib/evolve.js +1 -0
  86. package/dist/lib/export.js +1 -1
  87. package/dist/lib/feedback-submit.js +1 -1
  88. package/dist/lib/feedback.js +1 -1
  89. package/dist/lib/host-llm.js +1 -1
  90. package/dist/lib/install.js +1 -1
  91. package/dist/lib/knowledge.js +1 -1
  92. package/dist/lib/lessons.js +1 -0
  93. package/dist/lib/moodboard.js +1 -0
  94. package/dist/lib/orchestrator/run.js +1 -1
  95. package/dist/lib/outcome.js +1 -0
  96. package/dist/lib/platforms.js +1 -1
  97. package/dist/lib/provider.js +1 -1
  98. package/dist/lib/query-expander.js +1 -0
  99. package/dist/lib/ranker.js +1 -0
  100. package/dist/lib/research.js +1 -1
  101. package/dist/lib/retrieve.js +1 -1
  102. package/dist/lib/session.js +1 -1
  103. package/dist/lib/source-discovery.js +1 -1
  104. package/dist/lib/synthesis.js +1 -1
  105. package/dist/lib/token-gate.js +1 -1
  106. package/dist/skills/anuj/SKILL.md +92 -0
  107. package/dist/skills/arjun/SKILL.md +291 -0
  108. package/dist/skills/chunk-planner/SKILL.md +45 -0
  109. package/dist/skills/collect-knowledge/SKILL.md +20 -0
  110. package/dist/skills/deliberation-protocol/SKILL.md +131 -0
  111. package/dist/skills/design-critic/SKILL.md +191 -0
  112. package/dist/skills/design-director/SKILL.md +181 -0
  113. package/dist/skills/design-personas/SKILL.md +100 -0
  114. package/dist/skills/design-reference/SKILL.md +83 -0
  115. package/dist/skills/design-reference/app-interface.csv +31 -0
  116. package/dist/skills/design-reference/charts.csv +26 -0
  117. package/dist/skills/design-reference/colors.csv +162 -0
  118. package/dist/skills/design-reference/google-fonts.csv +1924 -0
  119. package/dist/skills/design-reference/icons.csv +106 -0
  120. package/dist/skills/design-reference/landing.csv +35 -0
  121. package/dist/skills/design-reference/products.csv +162 -0
  122. package/dist/skills/design-reference/react-performance.csv +45 -0
  123. package/dist/skills/design-reference/stacks/angular.csv +51 -0
  124. package/dist/skills/design-reference/stacks/astro.csv +54 -0
  125. package/dist/skills/design-reference/stacks/flutter.csv +53 -0
  126. package/dist/skills/design-reference/stacks/html-tailwind.csv +56 -0
  127. package/dist/skills/design-reference/stacks/jetpack-compose.csv +53 -0
  128. package/dist/skills/design-reference/stacks/laravel.csv +51 -0
  129. package/dist/skills/design-reference/stacks/nextjs.csv +53 -0
  130. package/dist/skills/design-reference/stacks/nuxt-ui.csv +51 -0
  131. package/dist/skills/design-reference/stacks/nuxtjs.csv +59 -0
  132. package/dist/skills/design-reference/stacks/react-native.csv +52 -0
  133. package/dist/skills/design-reference/stacks/react.csv +54 -0
  134. package/dist/skills/design-reference/stacks/shadcn.csv +61 -0
  135. package/dist/skills/design-reference/stacks/svelte.csv +54 -0
  136. package/dist/skills/design-reference/stacks/swiftui.csv +51 -0
  137. package/dist/skills/design-reference/stacks/threejs.csv +54 -0
  138. package/dist/skills/design-reference/stacks/vue.csv +50 -0
  139. package/dist/skills/design-reference/styles.csv +85 -0
  140. package/dist/skills/design-reference/typography.csv +74 -0
  141. package/dist/skills/design-reference/ui-reasoning.csv +162 -0
  142. package/dist/skills/design-reference/ux-guidelines.csv +100 -0
  143. package/dist/skills/design-spec/SKILL.md +106 -0
  144. package/dist/skills/devi/SKILL.md +114 -0
  145. package/dist/skills/getting-started/SKILL.md +144 -0
  146. package/dist/skills/kavi/SKILL.md +118 -0
  147. package/dist/skills/knowledge-bank/SKILL.md +43 -0
  148. package/dist/skills/meera/SKILL.md +76 -0
  149. package/dist/skills/mood-board/SKILL.md +113 -0
  150. package/dist/skills/noor/SKILL.md +96 -0
  151. package/dist/skills/persona-orchestrator/SKILL.md +220 -0
  152. package/dist/skills/priya/SKILL.md +75 -0
  153. package/dist/skills/raj/SKILL.md +77 -0
  154. package/dist/skills/run-unchunked/SKILL.md +49 -0
  155. package/dist/skills/ux-ideator/SKILL.md +187 -0
  156. package/dist/skills/ux-story-gate/SKILL.md +353 -0
  157. package/dist/skills/zara/SKILL.md +85 -0
  158. package/dist/supabase/deliberation-config.example.json +15 -0
  159. package/dist/supabase/feedback-config.example.json +7 -0
  160. package/dist/supabase/migrations/001_persona_feedback.sql +54 -0
  161. package/package.json +2 -2
  162. package/skills/anuj/SKILL.md +1 -1
  163. package/skills/arjun/SKILL.md +1 -1
  164. package/skills/chunk-planner/SKILL.md +45 -0
  165. package/skills/design-critic/SKILL.md +2 -2
  166. package/skills/design-director/SKILL.md +1 -1
  167. package/skills/devi/SKILL.md +1 -1
  168. package/skills/getting-started/SKILL.md +12 -0
  169. package/skills/meera/SKILL.md +1 -1
  170. package/skills/mood-board/SKILL.md +113 -0
  171. package/skills/noor/SKILL.md +1 -1
  172. package/skills/persona-orchestrator/SKILL.md +37 -3
  173. package/skills/priya/SKILL.md +1 -1
  174. package/skills/run-unchunked/SKILL.md +49 -0
  175. package/skills/ux-ideator/SKILL.md +1 -1
  176. package/skills/zara/SKILL.md +1 -1
@@ -0,0 +1,54 @@
1
+ -- Persona feedback — anonymous community corrections for analyzthis_design
2
+ -- Run in Supabase SQL editor or via supabase db push
3
+
4
+ create table if not exists public.persona_feedback (
5
+ id uuid primary key default gen_random_uuid(),
6
+ created_at timestamptz not null default now(),
7
+
8
+ install_id text not null,
9
+ package_version text,
10
+ feedback_id text,
11
+
12
+ persona text not null,
13
+ satisfied boolean not null default false,
14
+ rating smallint check (rating is null or (rating >= 1 and rating <= 5)),
15
+ tags text[] not null default '{}',
16
+
17
+ user_comment text,
18
+ assistant_rejected text,
19
+ assistant_preferred text,
20
+ task_summary text,
21
+ problem_type text,
22
+ mode text,
23
+ recorded_at timestamptz
24
+ );
25
+
26
+ create index if not exists persona_feedback_persona_idx on public.persona_feedback (persona);
27
+ create index if not exists persona_feedback_created_at_idx on public.persona_feedback (created_at desc);
28
+ create index if not exists persona_feedback_tags_idx on public.persona_feedback using gin (tags);
29
+
30
+ alter table public.persona_feedback enable row level security;
31
+
32
+ -- Anonymous clients may INSERT only (no read/update/delete for anon)
33
+ drop policy if exists "anon_insert_persona_feedback" on public.persona_feedback;
34
+ create policy "anon_insert_persona_feedback"
35
+ on public.persona_feedback
36
+ for insert
37
+ to anon
38
+ with check (
39
+ char_length(coalesce(user_comment, '')) <= 2000
40
+ and char_length(coalesce(assistant_rejected, '')) <= 4000
41
+ and char_length(coalesce(assistant_preferred, '')) <= 4000
42
+ and persona ~ '^[a-z][a-z0-9_-]{0,31}$'
43
+ );
44
+
45
+ -- Service role (dashboard) can read everything — use Supabase dashboard or service key
46
+ drop policy if exists "service_read_persona_feedback" on public.persona_feedback;
47
+ create policy "service_read_persona_feedback"
48
+ on public.persona_feedback
49
+ for select
50
+ to service_role
51
+ using (true);
52
+
53
+ comment on table public.persona_feedback is
54
+ 'Anonymous opt-in persona correction data from analyzthis_design CLI (feedback submit).';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "analyzthis_design",
3
- "version": "1.20.0",
4
- "description": "8 AI design personas — adversarial deliberation loops, opt-in community feedback, Kavi knowledge collection, DesignSpec producer path, wireframe skills, UX critique, Agent Skills for Cursor, Claude, Codex, Grok, Windsurf.",
3
+ "version": "2.0.0",
4
+ "description": "8 AI design personas — v2.0 chunked execution with frontier planner + free/cheap chunk models, adversarial deliberation loops, opt-in community feedback, Kavi knowledge collection, DesignSpec producer path, wireframe skills, UX critique, Agent Skills for Cursor, Claude, Codex, Grok, Windsurf.",
5
5
  "keywords": [
6
6
  "cursor",
7
7
  "cursor-skill",
@@ -17,7 +17,7 @@ You are Anuj (alias: Dev). 6 years as a domain analyst in high-volume operations
17
17
 
18
18
  **Session state:** if `session-state.json` exists (`npx analyzthis_design session show`), read `task_map` and `information_hierarchy` before speaking. Prefer `/persona-orchestrator` or `/ux-story-gate` as the entry point for full screen reviews.
19
19
 
20
- **Deliberation (v1.19):** Read `skills/deliberation-protocol/SKILL.md`. Adversarial review of Noor's wireframe (parallel). Contest density/IA claims with power-user task evidence. Deliberation JSON required.
20
+ **Deliberation (v1.19):** Read `deliberation-protocol` from your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`). Adversarial review of Noor's wireframe (parallel). Contest density/IA claims with power-user task evidence. Deliberation JSON required.
21
21
 
22
22
  **Assess-only:** if the user asked to assess/propose/critique rather than build/implement/ship, stop at the concept — do not edit code.
23
23
 
@@ -20,7 +20,7 @@ You then spent 3 years on a design system team: built the token architecture, ow
20
20
 
21
21
  **Session state:** if `session-state.json` exists for this project (`npx analyzthis_design session show`), read `task_map`, `ds_checklist`, and `information_hierarchy` from it before critiquing — do not re-derive context that's already recorded. If a routing decision in session state excludes you, say so and stop.
22
22
 
23
- **Deliberation (v1.19):** When prior `persona_outputs` exist, read `skills/deliberation-protocol/SKILL.md`. Review mode default — contest specific claims with task_map/PRD/UI grounding. Include deliberation JSON block. Default `accepts_prior: false`.
23
+ **Deliberation (v1.19):** When prior `persona_outputs` exist, read `deliberation-protocol` from your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`). Review mode default — contest specific claims with task_map/PRD/UI grounding. Include deliberation JSON block. Default `accepts_prior: false`.
24
24
 
25
25
  **Assess-only:** if the user asked to assess/propose/critique rather than build/implement/ship, stop at the critique and proposed fixes — do not edit code.
26
26
 
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: chunk-planner
3
+ description: Explain the chunked execution planner. The planner is a frontier/strong model that breaks a design task into small, sequential chunks and assigns each to the cheapest capable model.
4
+ ---
5
+
6
+ # Chunk Planner
7
+
8
+ In Analyzthis Design v2.0, the default `run` command uses **chunked execution**.
9
+
10
+ ## How it works
11
+
12
+ 1. **Planner** (frontier/strong model) reads the task + knowledge bank once.
13
+ 2. It produces a chunk graph: persona, goal, prompts, effort, and dependencies per chunk.
14
+ 3. **Router** picks the cheapest capable model for each chunk from:
15
+ - Local Ollama models (auto-detected)
16
+ - Free cloud APIs (Groq, Google Gemini, OpenRouter)
17
+ - Cheap cloud APIs (OpenAI GPT-4o-mini, DeepSeek, Together)
18
+ 4. **Executor** runs chunks sequentially by default, with retry + fallback.
19
+ 5. **Synthesis** merges outputs and produces a final verdict.
20
+
21
+ ## Planner policy
22
+
23
+ - The planner **never** runs on a lower/cheap model.
24
+ - If no frontier API key is available, it falls back to the host/Devi model with a warning.
25
+
26
+ ## Example plan
27
+
28
+ ```json
29
+ {
30
+ "chunks": [
31
+ { "id": "ia", "persona": "noor", "effort": "standard", "depends_on": [] },
32
+ { "id": "visual", "persona": "arjun", "effort": "standard", "depends_on": ["ia"] },
33
+ { "id": "feasibility", "persona": "priya", "effort": "trivial", "depends_on": ["ia"] },
34
+ { "id": "synthesis", "persona": "raj", "effort": "hard", "depends_on": ["visual", "feasibility"] }
35
+ ]
36
+ }
37
+ ```
38
+
39
+ ## Inspect a plan without running it
40
+
41
+ ```bash
42
+ npx analyzthis_design run --task "..." --dry-run
43
+ ```
44
+
45
+ This shows the planner output without calling any chunk models.
@@ -52,7 +52,7 @@ Arjun produces two output blocks: UX Critique (Honeycomb) and Visual Design Audi
52
52
 
53
53
  Read `~/.cursor/skills/meera/SKILL.md` and activate Meera.
54
54
 
55
- **Adversarial review (v1.19):** Read `skills/deliberation-protocol/SKILL.md`. Do NOT open with a generic handoff paragraph. Instead:
55
+ **Adversarial review (v1.19):** Read `deliberation-protocol` from your host skills dir (sibling preferred), e.g. `~/.cursor/skills/deliberation-protocol/SKILL.md`, `~/.claude/skills/deliberation-protocol/SKILL.md`, `~/.grok/skills/deliberation-protocol/SKILL.md`, `~/.agents/skills/deliberation-protocol/SKILL.md`, or legacy `~/.claude/commands/deliberation-protocol.md`. Do NOT open with a generic handoff paragraph. Instead:
56
56
  - Read Arjun's output and **contest specific claims** with business evidence from task_map and knowledge bank
57
57
  - Default `accepts_prior: false` until hierarchy matches north-star metric
58
58
  - Meera runs **in parallel with Priya** in adversarial mode — each objects to the other's assumptions about adoption vs effort
@@ -85,7 +85,7 @@ Otherwise produce the Delight Pass output block after deliberation rounds close.
85
85
 
86
86
  ## Phase 4.5 — Deliberation synthesis (before composite score)
87
87
 
88
- Read `skills/deliberation-protocol/SKILL.md`.
88
+ Read `deliberation-protocol` from your host skills dir (sibling preferred), e.g. `~/.cursor/skills/deliberation-protocol/SKILL.md`, `~/.claude/skills/deliberation-protocol/SKILL.md`, `~/.grok/skills/deliberation-protocol/SKILL.md`, `~/.agents/skills/deliberation-protocol/SKILL.md`, or legacy `~/.claude/commands/deliberation-protocol.md`.
89
89
 
90
90
  - Run objection rounds until `consensus_reached` or Raj escalates (2+ blocking objections, stalemate)
91
91
  - CLI: `npx analyzthis_design run --task "..." --full` enforces this in standalone runtime
@@ -81,7 +81,7 @@ Update session `design_spec` and `information_hierarchy.ranking` from the spec.
81
81
 
82
82
  ## Phase 4 — Spec gates + adversarial spec review (v1.19)
83
83
 
84
- Read `skills/deliberation-protocol/SKILL.md`. After DesignSpec draft, run **adversarial review loops** before `spec_verdict`:
84
+ Read `deliberation-protocol` from your host skills dir (sibling preferred), e.g. `~/.cursor/skills/deliberation-protocol/SKILL.md`, `~/.claude/skills/deliberation-protocol/SKILL.md`, `~/.grok/skills/deliberation-protocol/SKILL.md`, `~/.agents/skills/deliberation-protocol/SKILL.md`, or legacy `~/.claude/commands/deliberation-protocol.md`. After DesignSpec draft, run **adversarial review loops** before `spec_verdict`:
85
85
 
86
86
  | Persona | Contests |
87
87
  |---------|----------|
@@ -49,7 +49,7 @@ For each pending `{step}-{persona}.json`:
49
49
 
50
50
  1. Read `persona_id`, `system`, and `user` from the JSON file
51
51
  2. Load that persona's skill: `skills/{persona}/SKILL.md` and card `agents/cards/{persona}.md`
52
- 3. Follow **Review mode** or **Produce mode** from `skills/deliberation-protocol/SKILL.md`
52
+ 3. Follow **Review mode** or **Produce mode** from `deliberation-protocol` in your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md`)
53
53
  4. Output must match the persona's **lite schema** (review rounds) or **deep schema** (produce round)
54
54
  5. End with mandatory ` ```json deliberation ` block
55
55
  6. **Hard cap:** respect `max_tokens` in the pending JSON (~600 for objection rounds). Responses over cap are truncated (deliberation JSON preserved).
@@ -7,6 +7,8 @@ description: First-run guide for Analyzthis Design — which slash command to us
7
7
 
8
8
  Welcome. This package gives you **8 design personas** as slash commands in Cursor, Claude Code, Grok, Windsurf, and Codex.
9
9
 
10
+ > **v2.0 change:** the default `run` command now uses **chunked execution** — a frontier planner breaks your task into small chunks, and the cheapest capable model executes each chunk. Use `/run-unchunked` for the legacy single-pass orchestrator.
11
+
10
12
  ---
11
13
 
12
14
  ## 60-second setup (recommended once per project)
@@ -31,6 +33,11 @@ This runs **Kavi** — scans your repo, builds an Obsidian vault, and syncs a **
31
33
  | Review against PRDs and user stories | `/ux-story-gate` | Task map + routing before critique |
32
34
  | Index my codebase for personas | `/kavi` | Kavi → knowledge bank |
33
35
  | Run CLI orchestrator without API keys | `/devi` | Host LLM — voices personas from pending prompts |
36
+ | Set visual direction with references + team debate | `/mood-board` | Collect web/DS references, tag, deliberate, converge |
37
+ | Inspect the chunked execution planner | `/chunk-planner` | See how tasks are split into model-routed chunks |
38
+ | Run legacy single-pass orchestrator | `/run-unchunked` | Skip planner overhead for quick single-expert tasks |
39
+ | Make the team learn from accepted outputs | `npx analyzthis_design evolve --extract` | Harvests lessons + proposes prompt/reference/router patches |
40
+ | Track whether a persona's advice actually shipped | `npx analyzthis_design outcome --confirm` | Labels outcome: shipped / revised / blocked / missed |
34
41
 
35
42
  ---
36
43
 
@@ -105,6 +112,9 @@ Assess only — do not implement changes.
105
112
  | `/anuj` | Power-user wireframe |
106
113
  | `/design-director` | Full producer — ideation → DesignSpec → build |
107
114
  | `/design-spec` | DesignSpec format + validation rules |
115
+ | `/mood-board` | Visual direction setting — references + team deliberation |
116
+ | `/chunk-planner` | Chunked execution planner explained |
117
+ | `/run-unchunked` | Legacy single-pass orchestrator (skip chunked planner) |
108
118
  | `/persona-orchestrator` | Agentic critique (not wireframes) |
109
119
  | `/design-critic` | 4-persona critique |
110
120
  | `/ux-story-gate` | Task-first gate + router |
@@ -130,3 +140,5 @@ npx analyzthis_design welcome --target claude
130
140
  ```
131
141
 
132
142
  Docs: https://www.npmjs.com/package/analyzthis_design
143
+
144
+ **Full step-by-step guide:** [HOW-TO-USE.md](https://github.com/rishikeshjoshi/analyzthis_design/blob/main/HOW-TO-USE.md)
@@ -16,7 +16,7 @@ You are Meera. Ex-revenue/sales, thinks in retention, ARR, and GTM levers. Numbe
16
16
 
17
17
  **Session state:** if `session-state.json` exists (`npx analyzthis_design session show`), read `task_map`, `information_hierarchy`, and prior `persona_outputs` before speaking.
18
18
 
19
- **Deliberation (v1.19):** Read `skills/deliberation-protocol/SKILL.md` in chains. Challenge Arjun's UX claims and Priya's effort assumptions with business evidence. Parallel adversarial review with Priya. Deliberation JSON required in review rounds.
19
+ **Deliberation (v1.19):** Read `deliberation-protocol` from your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`). Challenge Arjun's UX claims and Priya's effort assumptions with business evidence. Parallel adversarial review with Priya. Deliberation JSON required in review rounds.
20
20
 
21
21
  **Assess-only:** if the user asked to assess/propose/critique rather than build/implement/ship, stop at the business impact block — do not edit code.
22
22
 
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: mood-board
3
+ description: Build a visual/textual mood board from web references + design-system patterns, then run the persona team through adversarial deliberation to converge on a design direction. User can add references and rerun.
4
+ ---
5
+
6
+ # Mood Board — Team-Based Visual Direction Setting
7
+
8
+ Use `/mood-board` when you want to explore visual directions for a screen, flow, or product and have the persona team deliberate on which references fit the user, task, and design system.
9
+
10
+ ## What it does
11
+
12
+ 1. **Collects references** from URLs you provide, configured `moodboard.urls`, and optional web search stubs.
13
+ 2. **Tags each reference** with style, mood, surface, and heuristic keywords.
14
+ 3. **Pulls design-system guidance** from `skills/design-reference/*.csv` (ui-reasoning, colors, styles, typography, stack files) based on your task and detected tech stack.
15
+ 4. **Runs the team** (Arjun, Meera, Priya, Zara, Noor) through adversarial deliberation using the UX Honeycomb rigor matrix.
16
+ 5. **Writes artifacts** to:
17
+ - `~/.analyzthis_design/sessions/{projectId}/moodboard/{boardId}/board.json` (authoritative)
18
+ - `./moodboard/{boardId}.json` (workspace copy for the user to inspect)
19
+ 6. **Accepts user-contributed references** and reruns deliberation with the new input.
20
+
21
+ ## Entry commands
22
+
23
+ ```bash
24
+ npx analyzthis_design moodboard create --task "B2B fintech dashboard, trustworthy, high-contrast" \
25
+ --url https://dribbble.com/shots/example --url https://example.com/article
26
+
27
+ npx analyzthis_design moodboard create --task "SaaS onboarding landing page" --auto
28
+
29
+ npx analyzthis_design moodboard critique --board <boardId>
30
+
31
+ npx analyzthis_design moodboard add --board <boardId> \
32
+ --url https://dribbble.com/shots/new-ref \
33
+ --title "Alternative hero layout" \
34
+ --tags "landing,hero,trust" \
35
+ --note "I like the white space and the trust badge placement"
36
+
37
+ npx analyzthis_design moodboard list
38
+ ```
39
+
40
+ ## v2.0 chunked execution
41
+
42
+ `/mood-board` now runs internally through the v2.0 chunked executor:
43
+ - Frontier planner scopes the board (personas, references, DS lookups).
44
+ - Cheap/free models tag references, retrieve design-system rows, and run the deliberation loop.
45
+ - Result is the same `board.json` artifact, but at lower average token cost.
46
+
47
+ ## How the personas use it
48
+
49
+ | Persona | Lens |
50
+ |---|---|
51
+ | **Arjun** | Visual system fit, contrast, hierarchy, accessibility, WCAG |
52
+ | **Meera** | Brand/category fit, GTM risk, competitive positioning |
53
+ | **Priya** | Technical feasibility of implementing the style/pattern |
54
+ | **Zara** | First impression, delight moment, emotional response |
55
+ | **Noor** | IA clarity, progressive disclosure, surface structure |
56
+
57
+ Each persona scores references with the Honeycomb rigor matrix:
58
+ - Useful, Usable, Findable, Credible, Accessible, Desirable, Valuable
59
+ - Then deliberates with low satisfaction until consensus or Raj escalation.
60
+
61
+ ## Output format
62
+
63
+ `board.json` contains:
64
+
65
+ ```json
66
+ {
67
+ "board_id": "abc123",
68
+ "task": "B2B fintech dashboard, trustworthy, high-contrast",
69
+ "references": [
70
+ {
71
+ "id": "def456",
72
+ "url": "https://dribbble.com/shots/example",
73
+ "title": "...",
74
+ "description": "...",
75
+ "source": "config",
76
+ "type": "visual",
77
+ "tags": ["dashboard", "trust", "dark", "data-dense"]
78
+ }
79
+ ],
80
+ "design_system_pack": [ { "file": "ui-reasoning.csv", "rows": [...] } ],
81
+ "deliberation": { "round_log": [...], "consensus_reached": true },
82
+ "synthesis": { "verdict": "SHIP", "top3": [...] }
83
+ }
84
+ ```
85
+
86
+ ## User as "god"
87
+
88
+ You can:
89
+ - Add any URL or free-text note to the board.
90
+ - Override tags.
91
+ - Rerun critique after adding references.
92
+ - Accept or reject the final direction with `session accept --persona arjun` etc.
93
+
94
+ ## Config
95
+
96
+ In `~/.analyzthis_design/config.json`:
97
+
98
+ ```json
99
+ {
100
+ "moodboard": {
101
+ "urls": ["https://dribbble.com/shots/example"],
102
+ "queries": ["fintech dashboard design"],
103
+ "limit": 12,
104
+ "workspace_dir": "./moodboard"
105
+ }
106
+ }
107
+ ```
108
+
109
+ ## Notes
110
+
111
+ - Image URLs are stored as references; alt-text/captions are added during tagging.
112
+ - Web articles are fetched as plain text; image extraction from HTML is not yet implemented.
113
+ - Router rule: `mood_board` signals route to the `mood-board` skill, not the critique chain.
@@ -17,7 +17,7 @@ You are Noor. 7 years IA for SaaS products across fintech, workflow automation,
17
17
 
18
18
  **Session state:** if `session-state.json` exists (`npx analyzthis_design session show`), read `task_map` and `figma_node` before speaking — do not re-derive. Prefer `/persona-orchestrator` or `/ux-story-gate` as the entry point for full screen reviews.
19
19
 
20
- **Deliberation (v1.19):** Read `skills/deliberation-protocol/SKILL.md`. In ideation, adversarial review of Anuj's wireframe (parallel). Ground hierarchy objections in task_map. Deliberation JSON required.
20
+ **Deliberation (v1.19):** Read `deliberation-protocol` from your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`). In ideation, adversarial review of Anuj's wireframe (parallel). Ground hierarchy objections in task_map. Deliberation JSON required.
21
21
 
22
22
  **Assess-only:** if the user asked to assess/propose/critique rather than build/implement/ship, stop at the concept — do not edit code.
23
23
 
@@ -66,7 +66,7 @@ Announce the selected graph and why it's smaller than the full chain, one line:
66
66
 
67
67
  ## Step 3 — Execute adversarial deliberation (v1.19)
68
68
 
69
- Read `skills/deliberation-protocol/SKILL.md` first. Personas **debate** — they do not pass generic handoff documents.
69
+ Read `deliberation-protocol` from your host skills dir (sibling preferred), e.g. `~/.cursor/skills/deliberation-protocol/SKILL.md`, `~/.claude/skills/deliberation-protocol/SKILL.md`, `~/.grok/skills/deliberation-protocol/SKILL.md`, `~/.agents/skills/deliberation-protocol/SKILL.md`, or legacy `~/.claude/commands/deliberation-protocol.md` **first**. Personas **debate** — they do not pass generic handoff documents.
70
70
 
71
71
  **Preferred (CLI):** `npx analyzthis_design run --task "..." [--full] [--satisfaction 0.4] [--max-rounds 3]` — enforces parallel groups, objection rounds, Raj escalation, and writes `deliberation.round_log` to session.
72
72
 
@@ -130,7 +130,7 @@ Run `ux-story-gate` Phase 5.5. If `mode: assess_only`, stop here — do not writ
130
130
 
131
131
  ---
132
132
 
133
- ## Step 6.5 — Capture user corrections (v1.16)
133
+ ## Step 6.5 — Capture user corrections and outcomes (v1.16 / v1.21)
134
134
 
135
135
  When the user is **unhappy** with a persona's output or **rewrites/corrects** it, record that signal so future training can learn from mistakes:
136
136
 
@@ -152,6 +152,40 @@ Suggest this when the user says things like *"that's not what I meant,"* *"use o
152
152
 
153
153
  List or export later: `feedback list`, `feedback export --persona arjun --all`.
154
154
 
155
+ **Track whether the advice actually shipped.** After the user implements changes, confirm the outcome so the evolution loop can learn:
156
+
157
+ ```bash
158
+ npx analyzthis_design outcome --confirm --persona arjun --result shipped
159
+ # or: revised, blocked_correctly, missed
160
+ ```
161
+
162
+ **Default execution is chunked (v2.0).** `npx analyzthis_design run --task "..."` now uses a frontier planner + cheap chunk models. Use `/run-unchunked` or `npx analyzthis_design run-unchunked` only when you explicitly want the legacy single-pass deliberation chain.
163
+
164
+ **Set visual direction with the team.** Use `/mood-board` when the user wants references and a team-deliberated direction:
165
+
166
+ ```bash
167
+ npx analyzthis_design moodboard create --task "B2B fintech dashboard, trustworthy, high-contrast" --auto
168
+ npx analyzthis_design moodboard critique --board <boardId>
169
+ ```
170
+
171
+ References are tagged, design-system patterns are pulled, and Arjun/Meera/Priya/Zara/Noor deliberate with Honeycomb scoring until consensus.
172
+
173
+ **Evolve the team.** Periodically (e.g., weekly), run:
174
+
175
+ ```bash
176
+ npx analyzthis_design evolve --extract --dry-run # preview proposed patches
177
+ npx analyzthis_design evolve --extract # write patch files for review
178
+ npx analyzthis_design evolve --apply <patchId> --dry-run # preview a patch
179
+ npx analyzthis_design evolve --apply <patchId> # apply after review
180
+ ```
181
+
182
+ This harvests accepted outputs + confirmed outcomes, extracts lessons into `~/.analyzthis_design/lessons/`, and proposes patches to:
183
+ - persona SKILL.md / cards (new canonical failure patterns),
184
+ - `skills/design-reference/*.csv` rows (new product-type guidance),
185
+ - `agents/router.json` rules (task_type → best-performing expert).
186
+
187
+ Patches are **dry-run by default** and require human review before apply.
188
+
155
189
  **Share with maintainers (opt-in):** after recording, suggest `npx analyzthis_design feedback submit --yes` so anonymized corrections help improve personas for everyone. Preview first with `--dry-run`.
156
190
 
157
191
  ---
@@ -169,7 +203,7 @@ List or export later: `feedback list`, `feedback export --persona arjun --all`.
169
203
  - `agents/router.json` — MoE routing rules
170
204
  - `agents/chain.json` — default and ideation chains, deliberation_groups, gate ordering, token caps
171
205
  - `agents/deliberation-schema.json` — objection/satisfaction output contract
172
- - `skills/deliberation-protocol/SKILL.md` — adversarial review rules (v1.19)
206
+ - `deliberation-protocol` skill — adversarial review rules (v1.19); host path e.g. `~/.claude/skills/deliberation-protocol/SKILL.md`
173
207
  - `agents/session-schema.json` — session state shape, including `digest` and `metrics`
174
208
  - `agents/manifests/*.json` — per-persona allowed/forbidden jobs, hard gates, `system_card`, `tier`, `max_output_tokens`
175
209
  - `agents/cards/*.md` — short persona system prompts used by default instead of full SKILL.md
@@ -16,7 +16,7 @@ You are Priya. Senior full-stack engineer, 8+ years in complex SaaS. Blunt, prec
16
16
 
17
17
  **Session state:** if `session-state.json` exists (`npx analyzthis_design session show`), read `task_map` and prior `persona_outputs` before speaking.
18
18
 
19
- **Deliberation (v1.19):** Read `skills/deliberation-protocol/SKILL.md`. Object to business/adoption claims without implementation evidence. Parallel review with Meera. Deliberation JSON in review rounds.
19
+ **Deliberation (v1.19):** Read `deliberation-protocol` from your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`). Object to business/adoption claims without implementation evidence. Parallel review with Meera. Deliberation JSON in review rounds.
20
20
 
21
21
  **Assess-only:** if the user asked to assess/propose/critique rather than build/implement/ship, stop at the feasibility analysis — do not edit code.
22
22
 
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: run-unchunked
3
+ description: Run the legacy non-chunked orchestrator. Useful when the chunked planner overhead is not justified for a quick single-expert task.
4
+ ---
5
+
6
+ # Run Unchunked — Legacy Orchestrator Mode
7
+
8
+ Use `/run-unchunked` when you want the original single-pass deliberation orchestrator instead of the default v2.0 chunked execution.
9
+
10
+ ## When to use
11
+
12
+ - Quick single-expert tasks
13
+ - You already know exactly which personas to run
14
+ - You want one model to execute the whole chain without planner overhead
15
+ - Debugging or comparing against chunked output
16
+
17
+ ## How to run
18
+
19
+ **Cursor / Claude / Grok:**
20
+
21
+ ```
22
+ /run-unchunked --task "Fix contrast on the invoice table" --experts arjun
23
+ ```
24
+
25
+ **Windsurf:**
26
+
27
+ ```
28
+ @run-unchunked --task "Fix contrast on the invoice table" --experts arjun
29
+ ```
30
+
31
+ **CLI:**
32
+
33
+ ```bash
34
+ npx analyzthis_design run-unchunked --task "Fix contrast on the invoice table" --experts arjun
35
+ ```
36
+
37
+ ## Flags
38
+
39
+ - `--task` — required
40
+ - `--figma` — optional Figma URL
41
+ - `--experts` — explicit persona list
42
+ - `--full` / `--lite` — chain size
43
+ - `--no-deliberate` — legacy sequential handoff
44
+ - `--provider` — model provider
45
+ - `--max-rounds`, `--satisfaction` — deliberation tuning
46
+
47
+ ## Note
48
+
49
+ This is the v1.x behavior preserved for compatibility. The default `npx analyzthis_design run` now uses chunked execution (frontier planner + cheap chunk models) in v2.0.
@@ -91,7 +91,7 @@ Both concepts must:
91
91
 
92
92
  ## Phase 4 — Deliberation (Noor vs Anuj, Raj on standby) — ENFORCED (v1.19)
93
93
 
94
- Read `skills/deliberation-protocol/SKILL.md`. This is **multi-round adversarial review**, not a single paragraph summary.
94
+ Read `deliberation-protocol` from your host skills dir (sibling preferred), e.g. `~/.cursor/skills/deliberation-protocol/SKILL.md`, `~/.claude/skills/deliberation-protocol/SKILL.md`, `~/.grok/skills/deliberation-protocol/SKILL.md`, `~/.agents/skills/deliberation-protocol/SKILL.md`, or legacy `~/.claude/commands/deliberation-protocol.md`. This is **multi-round adversarial review**, not a single paragraph summary.
95
95
 
96
96
  **Round 0:** Noor and Anuj produce wireframes (parallel).
97
97
 
@@ -16,7 +16,7 @@ You are Zara. Consumer-app designer who refuses to accept B2B boredom. Brought t
16
16
 
17
17
  **Session state:** if `session-state.json` exists (`npx analyzthis_design session show`), read `ds_checklist` first — if any item is "at risk," refuse and re-route. Also read `task_map` and prior `persona_outputs`.
18
18
 
19
- **Deliberation (v1.19):** Read `skills/deliberation-protocol/SKILL.md`. Contest feasibility/delight budget claims. One delight moment only after deliberation closes. Deliberation JSON in review rounds.
19
+ **Deliberation (v1.19):** Read `deliberation-protocol` from your host skills dir (e.g. `~/.claude/skills/deliberation-protocol/SKILL.md` or `~/.claude/commands/deliberation-protocol.md`). Contest feasibility/delight budget claims. One delight moment only after deliberation closes. Deliberation JSON in review rounds.
20
20
 
21
21
  **Assess-only:** if the user asked to assess/propose/critique rather than build/implement/ship, stop at the delight pass — do not edit code.
22
22