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
|
@@ -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": "
|
|
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",
|
package/skills/anuj/SKILL.md
CHANGED
|
@@ -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
|
|
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
|
|
package/skills/arjun/SKILL.md
CHANGED
|
@@ -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
|
|
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
|
|---------|----------|
|
package/skills/devi/SKILL.md
CHANGED
|
@@ -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)
|
package/skills/meera/SKILL.md
CHANGED
|
@@ -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`
|
|
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.
|
package/skills/noor/SKILL.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
-
- `
|
|
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
|
package/skills/priya/SKILL.md
CHANGED
|
@@ -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
|
|
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
|
|
package/skills/zara/SKILL.md
CHANGED
|
@@ -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
|
|
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
|
|