analyzthis_design 2.4.0 → 2.5.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 (46) hide show
  1. package/HOW-TO-USE.md +26 -8
  2. package/README.md +48 -4
  3. package/agents/cards/anuj.md +13 -0
  4. package/agents/cards/arjun.md +13 -0
  5. package/agents/cards/devi.md +22 -0
  6. package/agents/cards/kavi.md +13 -0
  7. package/agents/cards/meera.md +13 -0
  8. package/agents/cards/noor.md +13 -0
  9. package/agents/cards/priya.md +13 -0
  10. package/agents/cards/raj.md +13 -0
  11. package/agents/cards/zara.md +13 -0
  12. package/dist/HOW-TO-USE.md +26 -8
  13. package/dist/README.md +48 -4
  14. package/dist/agents/cards/anuj.md +13 -0
  15. package/dist/agents/cards/arjun.md +13 -0
  16. package/dist/agents/cards/devi.md +22 -0
  17. package/dist/agents/cards/kavi.md +13 -0
  18. package/dist/agents/cards/meera.md +13 -0
  19. package/dist/agents/cards/noor.md +13 -0
  20. package/dist/agents/cards/priya.md +13 -0
  21. package/dist/agents/cards/raj.md +13 -0
  22. package/dist/agents/cards/zara.md +13 -0
  23. package/dist/bin/cli.js +184 -0
  24. package/dist/lib/accept.js +108 -0
  25. package/dist/lib/evolution-metrics.js +303 -87
  26. package/dist/lib/evolve.js +5 -2
  27. package/dist/lib/feedback-submit.js +99 -17
  28. package/dist/lib/host-llm.js +16 -0
  29. package/dist/lib/install.js +7 -0
  30. package/dist/lib/lessons.js +48 -5
  31. package/dist/lib/mcp-server.js +90 -11
  32. package/dist/lib/receipt.js +102 -0
  33. package/dist/lib/session.js +52 -1
  34. package/dist/lib/share.js +131 -0
  35. package/dist/skills/accept/SKILL.md +64 -0
  36. package/dist/skills/devi/SKILL.md +22 -0
  37. package/dist/skills/evolve-check/SKILL.md +29 -13
  38. package/dist/skills/getting-started/SKILL.md +3 -0
  39. package/dist/skills/share/SKILL.md +54 -0
  40. package/package.json +6 -2
  41. package/scripts/validate-csvs.js +20 -0
  42. package/skills/accept/SKILL.md +64 -0
  43. package/skills/devi/SKILL.md +22 -0
  44. package/skills/evolve-check/SKILL.md +29 -13
  45. package/skills/getting-started/SKILL.md +3 -0
  46. package/skills/share/SKILL.md +54 -0
package/HOW-TO-USE.md CHANGED
@@ -313,21 +313,39 @@ Each persona reads the session state, so you do not need to repeat the task.
313
313
 
314
314
  ## 8. After the run — accept, reject, evolve
315
315
 
316
- ### Mark an output accepted
316
+ ### Designer path (remember this)
317
317
 
318
- ```bash
319
- npx analyzthis_design session accept --persona arjun
318
+ In chat, after `/zara` or any persona:
319
+
320
+ ```
321
+ /accept yes
322
+ ```
323
+
324
+ or
325
+
326
+ ```
327
+ /accept no — too much motion on the daily table
320
328
  ```
321
329
 
322
- ### Reject with correction
330
+ No terminal flags. `/accept` writes keep or skip for **local** evolution.
331
+
332
+ To send a correction to the published package:
333
+
334
+ ```
335
+ /share
336
+ ```
337
+
338
+ Then **yes** if the preview looks right. Redacted — no folder names, emails, or keys.
339
+
340
+ ### CLI (same thing, if you prefer the terminal)
323
341
 
324
342
  ```bash
325
- npx analyzthis_design session accept --persona arjun --reject \
326
- --comment "Invented tokens not in our DS" \
327
- --correction "Use --color-primary and spacing-4 from tokens.css" \
328
- --rating 2 --tags invented_tokens,missed_ds
343
+ npx analyzthis_design accept --keep --persona arjun
344
+ npx analyzthis_design accept --fix --persona arjun --because "Invented tokens use tokens.css"
329
345
  ```
330
346
 
347
+ The older `session accept` / `feedback record` flags still work.
348
+
331
349
  ### Make the team learn
332
350
 
333
351
  ```bash
package/README.md CHANGED
@@ -4,6 +4,43 @@ 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
+ ## v2.5.0 — personas earn or lose trust
8
+
9
+ Marking a note now moves a score. Previously a rejection *raised* a persona's score by
10
+ 15 — `accept.fix()` recorded `outcome: 'revised'` and scoring counted outcomes without
11
+ reading their value. Punishment was a reward. Fixed.
12
+
13
+ - **Signed, rate-based scoring.** A persona starts at 50 and moves both ways:
14
+ `shipped` +15, `blocked_correctly` +10, `revised` −5, `missed` −15, plus
15
+ `(rating − 3) x 4` per rating. Scored as a **rate per signal**, not a running total,
16
+ so early wins can never make a persona immune to later failures.
17
+ - **Evidence gating.** Under 5 signals a persona reads `Baseline (insufficient
18
+ evidence)`. One bad note does not brand anyone.
19
+ - **Bands:** At risk · Developing · Baseline · Reliable · Trusted.
20
+ - **Devi gets a scoreboard** in every pending prompt and weights its synthesis,
21
+ saying the lean in one line. Advisory only — **no persona is ever dropped from a run.**
22
+ - **Feedback works with no terminal.** New `analyzthis_accept` MCP tool in the
23
+ **lite** catalog, so Claude Desktop can record keep/skip. Same shared core as the
24
+ CLI — both transports write identical state.
25
+ - **The persona asks.** Every note ends with one host-neutral line: *"Was this right?
26
+ Say yes, or no plus one sentence."* The designer answers in plain language; the
27
+ agent picks the transport. No flags, ever.
28
+ - **Lessons learn from rejections too**, tagged `polarity`, and de-duplicated so
29
+ re-marking a note cannot inflate a score.
30
+
31
+ ```bash
32
+ npx analyzthis_design scores # the whole team
33
+ npx analyzthis_design scores --persona arjun # one persona, with the breakdown
34
+ ```
35
+
36
+ Scores are derived on read — changing the weights re-scores history with no migration.
37
+
38
+ ## v2.4.1 — `/accept` and `/share` (designer keep / skip / send)
39
+
40
+ After `/zara` (or any persona), type `/accept yes` or `/accept no` plus one sentence. No CLI flags. Writes keep or skip for **local** evolution. Slash-only notes still count.
41
+
42
+ To send a correction to the **published** package: `/share` (preview) then `/share yes`. Redacted. Uses the HTTP endpoint if configured; otherwise a GitHub issue on joshirishi/analyzthis_design.
43
+
7
44
  ## v2.4.0 — Claude-path efficiency (1 Sep 2026)
8
45
 
9
46
  Same SHIP / REVISE / BLOCK. Fewer tokens on Claude Code and Claude Desktop. Not Caveman-speak. Not a proxy.
@@ -48,7 +85,7 @@ Pass `--global` to opt into the legacy merged behavior (read `config.sources` an
48
85
 
49
86
  Use `npx analyzthis_design run-unchunked` for the legacy single-pass orchestrator.
50
87
 
51
- **npm:** [analyzthis_design](https://www.npmjs.com/package/analyzthis_design) · **Current version:** 2.4.0 · **Step-by-step guide:** [HOW-TO-USE.md](./HOW-TO-USE.md)
88
+ **npm:** [analyzthis_design](https://www.npmjs.com/package/analyzthis_design) · **Current version:** 2.5.0 · **Step-by-step guide:** [HOW-TO-USE.md](./HOW-TO-USE.md)
52
89
 
53
90
  ---
54
91
 
@@ -74,7 +111,7 @@ npx analyzthis_design run-unchunked --task "Review invoice approval screen" --pr
74
111
 
75
112
  > **Security:** This package publishes **plain source** — no obfuscation, no minification, no dynamic require. Every file in `dist/` is readable and auditable. The `postinstall` script only prints a welcome message; it does **not** write to any AI-agent directories. Skill installation requires an explicit `npx analyzthis_design install --target <ide>` (or `npx analyzthis_design --target <ide>`).
76
113
  >
77
- > **MCP (universal):** `npx analyzthis_design mcp` starts a local MCP server. Default catalog is **lite** (router + retrieve + session + receipt). Full 19 named tools: `ANALYZTHIS_MCP_CATALOG=full` or `mcp --catalog full`. Auto-configures for Cursor, Claude Desktop, **Claude Code**, and Windsurf during install. For Lovable, v0, Bolt, Replit, ChatGPT: run `npx analyzthis_design mcp --configure <tool>` for a config snippet.
114
+ > **MCP (universal):** `npx analyzthis_design mcp` starts a local MCP server. Default catalog is **lite** (router + retrieve + session + receipt). Full 19 named tools: `ANALYZTHIS_MCP_CATALOG=full` or `mcp --catalog full`. Auto-configures for Cursor, Claude Desktop, **Claude Code**, and Windsurf during install. **Browser-only tools (Lovable, v0, Bolt, Replit, ChatGPT) cannot use MCP here** — our server speaks stdio, and a cloud-hosted tool cannot spawn a process on your machine. Paste the team in instead: `npx analyzthis_design system-prompt --mode both`, or copy it with one click from [the tool picker](https://analyzthis-lab.vercel.app/design#install-lovable). Note the paste path gives you the personas but no `/accept`, lessons, or trust scores — those need local state.
78
115
 
79
116
  ### Install by target IDE
80
117
 
@@ -149,6 +186,9 @@ Invoke critique personas for targeted, already-grounded questions. For **wirefra
149
186
  | `/knowledge-bank` | Auto-populated from your connected vault (or from Kavi collect). All personas read this first. |
150
187
  | `/design-reference` | CSV reference data (colors, typography, UX guidelines, stacks, …) |
151
188
  | `/collect-knowledge` | Alias for `/kavi` |
189
+ | `/accept` | Keep or skip the last persona note (yes / no). Local evolution — no CLI flags. |
190
+ | `/share` | Send a correction to the package (preview, then yes). Redacted. |
191
+ | `/receipt` | Inferred token receipt for this project. Not a bill. |
152
192
 
153
193
  ---
154
194
 
@@ -742,6 +782,10 @@ npx analyzthis_design status
742
782
 
743
783
  # Session (agentic)
744
784
  npx analyzthis_design session init|show|reset [--project id] [--all]
785
+ npx analyzthis_design accept --keep [--persona zara] # designer keep (slash: /accept yes)
786
+ npx analyzthis_design accept --fix --because "one sentence" # designer skip (slash: /accept no)
787
+ npx analyzthis_design share # preview notes for the package
788
+ npx analyzthis_design share --send # send (slash: /share yes)
745
789
  npx analyzthis_design session accept --persona <id> [--reject] [--comment "..."] [--correction "..."] [--rating 1-5] [--tags a,b]
746
790
 
747
791
  # Persona feedback (v1.16)
@@ -880,7 +924,7 @@ skills/
880
924
  |---------|-------------|
881
925
  | **MCP server** | `npx analyzthis_design mcp` starts a local MCP server exposing 19 tools — all 8 individual personas + 6 combination passes + 5 utilities. Any MCP-compatible client can discover and call them. |
882
926
  | **Auto-configure MCP** | `npx analyzthis_design mcp --configure cursor` (or `claude`, `windsurf`) writes the MCP config automatically. `--target all` now auto-configures MCP during install. |
883
- | **Universal IDE support** | Cursor, Claude Desktop, Windsurf auto-configured. Lovable, v0, Bolt, Replit, ChatGPT: run `mcp --configure <tool>` for a copy-paste config snippet. |
927
+ | **Universal IDE support** | Cursor, Claude Code, Claude Desktop, Windsurf auto-configured via MCP. Lovable, v0, Bolt, Replit, ChatGPT install nothing paste `system-prompt` output into the tool's instructions. |
884
928
  | **MCP lite + full** | Default: router (`analyzthis_design`) + retrieve + session + receipt. Full 19 named tools behind `--catalog full`. |
885
929
  | **System prompt fallback** | `analyzthis_system_prompt` tool generates a consolidated prompt for tools that don't support MCP yet |
886
930
 
@@ -945,7 +989,7 @@ skills/
945
989
 
946
990
  ## Marketing site
947
991
 
948
- The public lab site lives in `website/` and is deployed on Vercel as **analyzthis-lab** (site only — not the npm package). Copy now names two doors: lab products for people who already use Cursor or Claude, and custom teams that arrive in a firm’s existing tools. The Vercel project root is `website/` with no build step — do not set Output Directory to `public`.
992
+ The public lab site lives in `website/` and is deployed on Vercel as **analyzthis-lab** (site only — not the npm package). The home page keeps the packet story and offers three paths: designers (`design.html`), Dev/PMs (three jobs + workspace warning), and firm owners (map one workflow). The Vercel project root is `website/` with no build step — do not set Output Directory to `public`.
949
993
 
950
994
  - Live: [https://analyzthis-lab.vercel.app](https://analyzthis-lab.vercel.app)
951
995
  - Design team deep-dive: [https://analyzthis-lab.vercel.app/design](https://analyzthis-lab.vercel.app/design) (`website/design.html`)
@@ -26,3 +26,16 @@ Full Concept B text wireframe (hierarchy check, primary action, nav level, visib
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
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`).
29
+
30
+ ## Closing line (always)
31
+
32
+ End every reply with this line, exactly:
33
+
34
+ ```
35
+
36
+ Was this right? Say yes, or no plus one sentence. I'll record it.
37
+ ```
38
+
39
+ If the designer answers, record it with whatever path you have — Bash
40
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
41
+ them to type a command, and never mention flags.
@@ -27,3 +27,16 @@ Full UX Critique + Visual Design Audit blocks with per-dimension reasons — see
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
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`).
30
+
31
+ ## Closing line (always)
32
+
33
+ End every reply with this line, exactly:
34
+
35
+ ```
36
+
37
+ Was this right? Say yes, or no plus one sentence. I'll record it.
38
+ ```
39
+
40
+ If the designer answers, record it with whatever path you have — Bash
41
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
42
+ them to type a command, and never mention flags.
@@ -13,3 +13,25 @@ run --task "..." → pending/001-arjun.json → /devi → responses/001-ar
13
13
  ```
14
14
 
15
15
  See `skills/devi/SKILL.md` for the full protocol.
16
+
17
+ ## Team scoreboard (advisory)
18
+
19
+ Every pending prompt you pick up may open with a **Team scoreboard** — trust bands
20
+ earned from designer feedback on past runs (`shipped` / `revised` / `missed` plus
21
+ ratings). It is advisory input for synthesis, not an instruction.
22
+
23
+ **Use it like this:**
24
+
25
+ - Lean on **Trusted** / **Reliable** personas when their read conflicts with a weaker one.
26
+ - Discount **At risk** personas — treat their claims as needing corroboration.
27
+ - Say the lean in **one line**, e.g. "Weighted toward Meera (Trusted, 6 shipped) over Priya (At risk) on the effort call."
28
+
29
+ **Never:**
30
+
31
+ - Drop a persona from the run, or skip writing their output. A weak persona must still
32
+ speak — the designer has to be able to see what it said and disagree.
33
+ - Treat a band as a verdict. It reflects past runs, not this screen.
34
+ - Show the scoreboard to the designer unless they ask. It is context, not output.
35
+
36
+ Personas without enough evidence (fewer than 5 signals) are omitted from the board
37
+ entirely — absence means "unknown", never "bad".
@@ -24,3 +24,16 @@ Next: run /persona-orchestrator or any critique persona — they read this bank
24
24
  ```
25
25
 
26
26
  Consult `skills/kavi/SKILL.md` for the host workflow. Prefer running `npx analyzthis_design collect` over re-scanning files in chat. Invoke as **`/kavi`** (alias: `/collect-knowledge`).
27
+
28
+ ## Closing line (always)
29
+
30
+ End every reply with this line, exactly:
31
+
32
+ ```
33
+
34
+ Was this right? Say yes, or no plus one sentence. I'll record it.
35
+ ```
36
+
37
+ If the designer answers, record it with whatever path you have — Bash
38
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
39
+ them to type a command, and never mention flags.
@@ -25,3 +25,16 @@ Full Business Impact block (metric impact, hierarchy check, segment, GTM lever,
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
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`).
28
+
29
+ ## Closing line (always)
30
+
31
+ End every reply with this line, exactly:
32
+
33
+ ```
34
+
35
+ Was this right? Say yes, or no plus one sentence. I'll record it.
36
+ ```
37
+
38
+ If the designer answers, record it with whatever path you have — Bash
39
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
40
+ them to type a command, and never mention flags.
@@ -26,3 +26,16 @@ Full Concept A text wireframe (hierarchy, primary action, nav level, visible-on-
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
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`).
29
+
30
+ ## Closing line (always)
31
+
32
+ End every reply with this line, exactly:
33
+
34
+ ```
35
+
36
+ Was this right? Say yes, or no plus one sentence. I'll record it.
37
+ ```
38
+
39
+ If the designer answers, record it with whatever path you have — Bash
40
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
41
+ them to type a command, and never mention flags.
@@ -25,3 +25,16 @@ Full Feasibility Analysis block (score, blockers, ranked risks, effort, simpler
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
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`).
28
+
29
+ ## Closing line (always)
30
+
31
+ End every reply with this line, exactly:
32
+
33
+ ```
34
+
35
+ Was this right? Say yes, or no plus one sentence. I'll record it.
36
+ ```
37
+
38
+ If the designer answers, record it with whatever path you have — Bash
39
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
40
+ them to type a command, and never mention flags.
@@ -27,3 +27,16 @@ What [losing agent] gives up: [named]
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
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`).
30
+
31
+ ## Closing line (always)
32
+
33
+ End every reply with this line, exactly:
34
+
35
+ ```
36
+
37
+ Was this right? Say yes, or no plus one sentence. I'll record it.
38
+ ```
39
+
40
+ If the designer answers, record it with whatever path you have — Bash
41
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
42
+ them to type a command, and never mention flags.
@@ -28,3 +28,16 @@ Full Delight Pass block (surface, moment, type, specific addition, why-this-one,
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
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`).
31
+
32
+ ## Closing line (always)
33
+
34
+ End every reply with this line, exactly:
35
+
36
+ ```
37
+
38
+ Was this right? Say yes, or no plus one sentence. I'll record it.
39
+ ```
40
+
41
+ If the designer answers, record it with whatever path you have — Bash
42
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
43
+ them to type a command, and never mention flags.
@@ -313,21 +313,39 @@ Each persona reads the session state, so you do not need to repeat the task.
313
313
 
314
314
  ## 8. After the run — accept, reject, evolve
315
315
 
316
- ### Mark an output accepted
316
+ ### Designer path (remember this)
317
317
 
318
- ```bash
319
- npx analyzthis_design session accept --persona arjun
318
+ In chat, after `/zara` or any persona:
319
+
320
+ ```
321
+ /accept yes
322
+ ```
323
+
324
+ or
325
+
326
+ ```
327
+ /accept no — too much motion on the daily table
320
328
  ```
321
329
 
322
- ### Reject with correction
330
+ No terminal flags. `/accept` writes keep or skip for **local** evolution.
331
+
332
+ To send a correction to the published package:
333
+
334
+ ```
335
+ /share
336
+ ```
337
+
338
+ Then **yes** if the preview looks right. Redacted — no folder names, emails, or keys.
339
+
340
+ ### CLI (same thing, if you prefer the terminal)
323
341
 
324
342
  ```bash
325
- npx analyzthis_design session accept --persona arjun --reject \
326
- --comment "Invented tokens not in our DS" \
327
- --correction "Use --color-primary and spacing-4 from tokens.css" \
328
- --rating 2 --tags invented_tokens,missed_ds
343
+ npx analyzthis_design accept --keep --persona arjun
344
+ npx analyzthis_design accept --fix --persona arjun --because "Invented tokens use tokens.css"
329
345
  ```
330
346
 
347
+ The older `session accept` / `feedback record` flags still work.
348
+
331
349
  ### Make the team learn
332
350
 
333
351
  ```bash
package/dist/README.md CHANGED
@@ -4,6 +4,43 @@ 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
+ ## v2.5.0 — personas earn or lose trust
8
+
9
+ Marking a note now moves a score. Previously a rejection *raised* a persona's score by
10
+ 15 — `accept.fix()` recorded `outcome: 'revised'` and scoring counted outcomes without
11
+ reading their value. Punishment was a reward. Fixed.
12
+
13
+ - **Signed, rate-based scoring.** A persona starts at 50 and moves both ways:
14
+ `shipped` +15, `blocked_correctly` +10, `revised` −5, `missed` −15, plus
15
+ `(rating − 3) x 4` per rating. Scored as a **rate per signal**, not a running total,
16
+ so early wins can never make a persona immune to later failures.
17
+ - **Evidence gating.** Under 5 signals a persona reads `Baseline (insufficient
18
+ evidence)`. One bad note does not brand anyone.
19
+ - **Bands:** At risk · Developing · Baseline · Reliable · Trusted.
20
+ - **Devi gets a scoreboard** in every pending prompt and weights its synthesis,
21
+ saying the lean in one line. Advisory only — **no persona is ever dropped from a run.**
22
+ - **Feedback works with no terminal.** New `analyzthis_accept` MCP tool in the
23
+ **lite** catalog, so Claude Desktop can record keep/skip. Same shared core as the
24
+ CLI — both transports write identical state.
25
+ - **The persona asks.** Every note ends with one host-neutral line: *"Was this right?
26
+ Say yes, or no plus one sentence."* The designer answers in plain language; the
27
+ agent picks the transport. No flags, ever.
28
+ - **Lessons learn from rejections too**, tagged `polarity`, and de-duplicated so
29
+ re-marking a note cannot inflate a score.
30
+
31
+ ```bash
32
+ npx analyzthis_design scores # the whole team
33
+ npx analyzthis_design scores --persona arjun # one persona, with the breakdown
34
+ ```
35
+
36
+ Scores are derived on read — changing the weights re-scores history with no migration.
37
+
38
+ ## v2.4.1 — `/accept` and `/share` (designer keep / skip / send)
39
+
40
+ After `/zara` (or any persona), type `/accept yes` or `/accept no` plus one sentence. No CLI flags. Writes keep or skip for **local** evolution. Slash-only notes still count.
41
+
42
+ To send a correction to the **published** package: `/share` (preview) then `/share yes`. Redacted. Uses the HTTP endpoint if configured; otherwise a GitHub issue on joshirishi/analyzthis_design.
43
+
7
44
  ## v2.4.0 — Claude-path efficiency (1 Sep 2026)
8
45
 
9
46
  Same SHIP / REVISE / BLOCK. Fewer tokens on Claude Code and Claude Desktop. Not Caveman-speak. Not a proxy.
@@ -48,7 +85,7 @@ Pass `--global` to opt into the legacy merged behavior (read `config.sources` an
48
85
 
49
86
  Use `npx analyzthis_design run-unchunked` for the legacy single-pass orchestrator.
50
87
 
51
- **npm:** [analyzthis_design](https://www.npmjs.com/package/analyzthis_design) · **Current version:** 2.4.0 · **Step-by-step guide:** [HOW-TO-USE.md](./HOW-TO-USE.md)
88
+ **npm:** [analyzthis_design](https://www.npmjs.com/package/analyzthis_design) · **Current version:** 2.5.0 · **Step-by-step guide:** [HOW-TO-USE.md](./HOW-TO-USE.md)
52
89
 
53
90
  ---
54
91
 
@@ -74,7 +111,7 @@ npx analyzthis_design run-unchunked --task "Review invoice approval screen" --pr
74
111
 
75
112
  > **Security:** This package publishes **plain source** — no obfuscation, no minification, no dynamic require. Every file in `dist/` is readable and auditable. The `postinstall` script only prints a welcome message; it does **not** write to any AI-agent directories. Skill installation requires an explicit `npx analyzthis_design install --target <ide>` (or `npx analyzthis_design --target <ide>`).
76
113
  >
77
- > **MCP (universal):** `npx analyzthis_design mcp` starts a local MCP server. Default catalog is **lite** (router + retrieve + session + receipt). Full 19 named tools: `ANALYZTHIS_MCP_CATALOG=full` or `mcp --catalog full`. Auto-configures for Cursor, Claude Desktop, **Claude Code**, and Windsurf during install. For Lovable, v0, Bolt, Replit, ChatGPT: run `npx analyzthis_design mcp --configure <tool>` for a config snippet.
114
+ > **MCP (universal):** `npx analyzthis_design mcp` starts a local MCP server. Default catalog is **lite** (router + retrieve + session + receipt). Full 19 named tools: `ANALYZTHIS_MCP_CATALOG=full` or `mcp --catalog full`. Auto-configures for Cursor, Claude Desktop, **Claude Code**, and Windsurf during install. **Browser-only tools (Lovable, v0, Bolt, Replit, ChatGPT) cannot use MCP here** — our server speaks stdio, and a cloud-hosted tool cannot spawn a process on your machine. Paste the team in instead: `npx analyzthis_design system-prompt --mode both`, or copy it with one click from [the tool picker](https://analyzthis-lab.vercel.app/design#install-lovable). Note the paste path gives you the personas but no `/accept`, lessons, or trust scores — those need local state.
78
115
 
79
116
  ### Install by target IDE
80
117
 
@@ -149,6 +186,9 @@ Invoke critique personas for targeted, already-grounded questions. For **wirefra
149
186
  | `/knowledge-bank` | Auto-populated from your connected vault (or from Kavi collect). All personas read this first. |
150
187
  | `/design-reference` | CSV reference data (colors, typography, UX guidelines, stacks, …) |
151
188
  | `/collect-knowledge` | Alias for `/kavi` |
189
+ | `/accept` | Keep or skip the last persona note (yes / no). Local evolution — no CLI flags. |
190
+ | `/share` | Send a correction to the package (preview, then yes). Redacted. |
191
+ | `/receipt` | Inferred token receipt for this project. Not a bill. |
152
192
 
153
193
  ---
154
194
 
@@ -742,6 +782,10 @@ npx analyzthis_design status
742
782
 
743
783
  # Session (agentic)
744
784
  npx analyzthis_design session init|show|reset [--project id] [--all]
785
+ npx analyzthis_design accept --keep [--persona zara] # designer keep (slash: /accept yes)
786
+ npx analyzthis_design accept --fix --because "one sentence" # designer skip (slash: /accept no)
787
+ npx analyzthis_design share # preview notes for the package
788
+ npx analyzthis_design share --send # send (slash: /share yes)
745
789
  npx analyzthis_design session accept --persona <id> [--reject] [--comment "..."] [--correction "..."] [--rating 1-5] [--tags a,b]
746
790
 
747
791
  # Persona feedback (v1.16)
@@ -880,7 +924,7 @@ skills/
880
924
  |---------|-------------|
881
925
  | **MCP server** | `npx analyzthis_design mcp` starts a local MCP server exposing 19 tools — all 8 individual personas + 6 combination passes + 5 utilities. Any MCP-compatible client can discover and call them. |
882
926
  | **Auto-configure MCP** | `npx analyzthis_design mcp --configure cursor` (or `claude`, `windsurf`) writes the MCP config automatically. `--target all` now auto-configures MCP during install. |
883
- | **Universal IDE support** | Cursor, Claude Desktop, Windsurf auto-configured. Lovable, v0, Bolt, Replit, ChatGPT: run `mcp --configure <tool>` for a copy-paste config snippet. |
927
+ | **Universal IDE support** | Cursor, Claude Code, Claude Desktop, Windsurf auto-configured via MCP. Lovable, v0, Bolt, Replit, ChatGPT install nothing paste `system-prompt` output into the tool's instructions. |
884
928
  | **MCP lite + full** | Default: router (`analyzthis_design`) + retrieve + session + receipt. Full 19 named tools behind `--catalog full`. |
885
929
  | **System prompt fallback** | `analyzthis_system_prompt` tool generates a consolidated prompt for tools that don't support MCP yet |
886
930
 
@@ -945,7 +989,7 @@ skills/
945
989
 
946
990
  ## Marketing site
947
991
 
948
- The public lab site lives in `website/` and is deployed on Vercel as **analyzthis-lab** (site only — not the npm package). Copy now names two doors: lab products for people who already use Cursor or Claude, and custom teams that arrive in a firm’s existing tools. The Vercel project root is `website/` with no build step — do not set Output Directory to `public`.
992
+ The public lab site lives in `website/` and is deployed on Vercel as **analyzthis-lab** (site only — not the npm package). The home page keeps the packet story and offers three paths: designers (`design.html`), Dev/PMs (three jobs + workspace warning), and firm owners (map one workflow). The Vercel project root is `website/` with no build step — do not set Output Directory to `public`.
949
993
 
950
994
  - Live: [https://analyzthis-lab.vercel.app](https://analyzthis-lab.vercel.app)
951
995
  - Design team deep-dive: [https://analyzthis-lab.vercel.app/design](https://analyzthis-lab.vercel.app/design) (`website/design.html`)
@@ -26,3 +26,16 @@ Full Concept B text wireframe (hierarchy check, primary action, nav level, visib
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
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`).
29
+
30
+ ## Closing line (always)
31
+
32
+ End every reply with this line, exactly:
33
+
34
+ ```
35
+
36
+ Was this right? Say yes, or no plus one sentence. I'll record it.
37
+ ```
38
+
39
+ If the designer answers, record it with whatever path you have — Bash
40
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
41
+ them to type a command, and never mention flags.
@@ -27,3 +27,16 @@ Full UX Critique + Visual Design Audit blocks with per-dimension reasons — see
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
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`).
30
+
31
+ ## Closing line (always)
32
+
33
+ End every reply with this line, exactly:
34
+
35
+ ```
36
+
37
+ Was this right? Say yes, or no plus one sentence. I'll record it.
38
+ ```
39
+
40
+ If the designer answers, record it with whatever path you have — Bash
41
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
42
+ them to type a command, and never mention flags.
@@ -13,3 +13,25 @@ run --task "..." → pending/001-arjun.json → /devi → responses/001-ar
13
13
  ```
14
14
 
15
15
  See `skills/devi/SKILL.md` for the full protocol.
16
+
17
+ ## Team scoreboard (advisory)
18
+
19
+ Every pending prompt you pick up may open with a **Team scoreboard** — trust bands
20
+ earned from designer feedback on past runs (`shipped` / `revised` / `missed` plus
21
+ ratings). It is advisory input for synthesis, not an instruction.
22
+
23
+ **Use it like this:**
24
+
25
+ - Lean on **Trusted** / **Reliable** personas when their read conflicts with a weaker one.
26
+ - Discount **At risk** personas — treat their claims as needing corroboration.
27
+ - Say the lean in **one line**, e.g. "Weighted toward Meera (Trusted, 6 shipped) over Priya (At risk) on the effort call."
28
+
29
+ **Never:**
30
+
31
+ - Drop a persona from the run, or skip writing their output. A weak persona must still
32
+ speak — the designer has to be able to see what it said and disagree.
33
+ - Treat a band as a verdict. It reflects past runs, not this screen.
34
+ - Show the scoreboard to the designer unless they ask. It is context, not output.
35
+
36
+ Personas without enough evidence (fewer than 5 signals) are omitted from the board
37
+ entirely — absence means "unknown", never "bad".
@@ -24,3 +24,16 @@ Next: run /persona-orchestrator or any critique persona — they read this bank
24
24
  ```
25
25
 
26
26
  Consult `skills/kavi/SKILL.md` for the host workflow. Prefer running `npx analyzthis_design collect` over re-scanning files in chat. Invoke as **`/kavi`** (alias: `/collect-knowledge`).
27
+
28
+ ## Closing line (always)
29
+
30
+ End every reply with this line, exactly:
31
+
32
+ ```
33
+
34
+ Was this right? Say yes, or no plus one sentence. I'll record it.
35
+ ```
36
+
37
+ If the designer answers, record it with whatever path you have — Bash
38
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
39
+ them to type a command, and never mention flags.
@@ -25,3 +25,16 @@ Full Business Impact block (metric impact, hierarchy check, segment, GTM lever,
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
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`).
28
+
29
+ ## Closing line (always)
30
+
31
+ End every reply with this line, exactly:
32
+
33
+ ```
34
+
35
+ Was this right? Say yes, or no plus one sentence. I'll record it.
36
+ ```
37
+
38
+ If the designer answers, record it with whatever path you have — Bash
39
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
40
+ them to type a command, and never mention flags.
@@ -26,3 +26,16 @@ Full Concept A text wireframe (hierarchy, primary action, nav level, visible-on-
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
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`).
29
+
30
+ ## Closing line (always)
31
+
32
+ End every reply with this line, exactly:
33
+
34
+ ```
35
+
36
+ Was this right? Say yes, or no plus one sentence. I'll record it.
37
+ ```
38
+
39
+ If the designer answers, record it with whatever path you have — Bash
40
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
41
+ them to type a command, and never mention flags.
@@ -25,3 +25,16 @@ Full Feasibility Analysis block (score, blockers, ranked risks, effort, simpler
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
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`).
28
+
29
+ ## Closing line (always)
30
+
31
+ End every reply with this line, exactly:
32
+
33
+ ```
34
+
35
+ Was this right? Say yes, or no plus one sentence. I'll record it.
36
+ ```
37
+
38
+ If the designer answers, record it with whatever path you have — Bash
39
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
40
+ them to type a command, and never mention flags.
@@ -27,3 +27,16 @@ What [losing agent] gives up: [named]
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
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`).
30
+
31
+ ## Closing line (always)
32
+
33
+ End every reply with this line, exactly:
34
+
35
+ ```
36
+
37
+ Was this right? Say yes, or no plus one sentence. I'll record it.
38
+ ```
39
+
40
+ If the designer answers, record it with whatever path you have — Bash
41
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
42
+ them to type a command, and never mention flags.
@@ -28,3 +28,16 @@ Full Delight Pass block (surface, moment, type, specific addition, why-this-one,
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
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`).
31
+
32
+ ## Closing line (always)
33
+
34
+ End every reply with this line, exactly:
35
+
36
+ ```
37
+
38
+ Was this right? Say yes, or no plus one sentence. I'll record it.
39
+ ```
40
+
41
+ If the designer answers, record it with whatever path you have — Bash
42
+ (`npx analyzthis_design accept …`) or the `analyzthis_accept` MCP tool. Never ask
43
+ them to type a command, and never mention flags.