analyzthis_design 2.4.1 → 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.
- package/README.md +35 -4
- package/agents/cards/anuj.md +13 -0
- package/agents/cards/arjun.md +13 -0
- package/agents/cards/devi.md +22 -0
- package/agents/cards/kavi.md +13 -0
- package/agents/cards/meera.md +13 -0
- package/agents/cards/noor.md +13 -0
- package/agents/cards/priya.md +13 -0
- package/agents/cards/raj.md +13 -0
- package/agents/cards/zara.md +13 -0
- package/dist/README.md +35 -4
- package/dist/agents/cards/anuj.md +13 -0
- package/dist/agents/cards/arjun.md +13 -0
- package/dist/agents/cards/devi.md +22 -0
- package/dist/agents/cards/kavi.md +13 -0
- package/dist/agents/cards/meera.md +13 -0
- package/dist/agents/cards/noor.md +13 -0
- package/dist/agents/cards/priya.md +13 -0
- package/dist/agents/cards/raj.md +13 -0
- package/dist/agents/cards/zara.md +13 -0
- package/dist/bin/cli.js +54 -0
- package/dist/lib/accept.js +26 -13
- package/dist/lib/evolution-metrics.js +303 -87
- package/dist/lib/evolve.js +5 -2
- package/dist/lib/feedback-submit.js +97 -17
- package/dist/lib/host-llm.js +16 -0
- package/dist/lib/lessons.js +48 -5
- package/dist/lib/mcp-server.js +72 -5
- package/dist/skills/accept/SKILL.md +24 -12
- package/dist/skills/devi/SKILL.md +22 -0
- package/dist/skills/evolve-check/SKILL.md +29 -13
- package/package.json +6 -2
- package/scripts/validate-csvs.js +20 -0
- package/skills/accept/SKILL.md +24 -12
- package/skills/devi/SKILL.md +22 -0
- package/skills/evolve-check/SKILL.md +29 -13
package/skills/accept/SKILL.md
CHANGED
|
@@ -23,28 +23,40 @@ You help a designer mark the last persona note (Zara, Arjun, …) so the team ca
|
|
|
23
23
|
> Was this Zara, Arjun, Meera, Priya, Noor, Anuj, or Raj?
|
|
24
24
|
|
|
25
25
|
5. On **skip**, you need one sentence (what was wrong, or what they did instead). If missing, ask **once**. Then stop asking.
|
|
26
|
-
6.
|
|
26
|
+
6. Record it using **whichever path this host gives you** — never ask the designer
|
|
27
|
+
to run anything:
|
|
27
28
|
|
|
28
|
-
**
|
|
29
|
+
- **Have Bash** (Claude Code, Cursor, a terminal)?
|
|
29
30
|
|
|
30
|
-
```bash
|
|
31
|
-
npx analyzthis_design accept --keep --persona zara
|
|
32
|
-
|
|
31
|
+
```bash
|
|
32
|
+
npx analyzthis_design accept --keep --persona zara
|
|
33
|
+
npx analyzthis_design accept --fix --persona zara --because "one sentence from the designer"
|
|
34
|
+
```
|
|
33
35
|
|
|
34
|
-
**
|
|
36
|
+
- **MCP only** (Claude Desktop — there is no terminal, so the commands above
|
|
37
|
+
cannot run)? Call the **`analyzthis_accept`** tool:
|
|
35
38
|
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
```
|
|
40
|
+
analyzthis_accept { keep: true, persona: "zara" }
|
|
41
|
+
analyzthis_accept { keep: false, persona: "zara", because: "one sentence" }
|
|
42
|
+
```
|
|
39
43
|
|
|
40
|
-
|
|
44
|
+
`persona` is optional — the last persona that spoke is inferred.
|
|
41
45
|
|
|
42
|
-
|
|
46
|
+
Both paths write identical state. Change `zara` to the persona they used.
|
|
43
47
|
|
|
44
|
-
|
|
48
|
+
7. Reply in **one or two short sentences**. Example: "Saved. Zara's note is marked keep."
|
|
49
|
+
or "Saved. We logged your fix so the team can learn." After a skip, you may mention
|
|
50
|
+
they can type `/share` to send it to the package. No JSON. No dollar figures. No flag
|
|
51
|
+
tutorial unless the command failed.
|
|
52
|
+
|
|
53
|
+
## If it failed
|
|
45
54
|
|
|
46
55
|
Say what happened in plain language. If it asks which persona or for one sentence, ask the designer that — still no flags.
|
|
47
56
|
|
|
57
|
+
If Bash is unavailable and `analyzthis_accept` is not in your tool list, say the note
|
|
58
|
+
could not be recorded on this host — do not pretend it was saved.
|
|
59
|
+
|
|
48
60
|
## Do not
|
|
49
61
|
|
|
50
62
|
- Invent a monthly cost or a verified token bill
|
package/skills/devi/SKILL.md
CHANGED
|
@@ -112,3 +112,25 @@ If the prompt says **Rebuttal round N**, do not copy prior text. Address open ob
|
|
|
112
112
|
- `/deliberation-protocol` — adversarial rules
|
|
113
113
|
- `/persona-orchestrator` — full agentic entry
|
|
114
114
|
- `npx analyzthis_design run --provider anthropic` — bypass Devi when API keys are set
|
|
115
|
+
|
|
116
|
+
## Team scoreboard (advisory)
|
|
117
|
+
|
|
118
|
+
Every pending prompt you pick up may open with a **Team scoreboard** — trust bands
|
|
119
|
+
earned from designer feedback on past runs (`shipped` / `revised` / `missed` plus
|
|
120
|
+
ratings). It is advisory input for synthesis, not an instruction.
|
|
121
|
+
|
|
122
|
+
**Use it like this:**
|
|
123
|
+
|
|
124
|
+
- Lean on **Trusted** / **Reliable** personas when their read conflicts with a weaker one.
|
|
125
|
+
- Discount **At risk** personas — treat their claims as needing corroboration.
|
|
126
|
+
- Say the lean in **one line**, e.g. "Weighted toward Meera (Trusted, 6 shipped) over Priya (At risk) on the effort call."
|
|
127
|
+
|
|
128
|
+
**Never:**
|
|
129
|
+
|
|
130
|
+
- Drop a persona from the run, or skip writing their output. A weak persona must still
|
|
131
|
+
speak — the designer has to be able to see what it said and disagree.
|
|
132
|
+
- Treat a band as a verdict. It reflects past runs, not this screen.
|
|
133
|
+
- Show the scoreboard to the designer unless they ask. It is context, not output.
|
|
134
|
+
|
|
135
|
+
Personas without enough evidence (fewer than 5 signals) are omitted from the board
|
|
136
|
+
entirely — absence means "unknown", never "bad".
|
|
@@ -72,21 +72,35 @@ Tell the user what's needed:
|
|
|
72
72
|
|
|
73
73
|
## Evolution metrics
|
|
74
74
|
|
|
75
|
-
The dashboard shows per-persona
|
|
75
|
+
The dashboard shows per-persona trust scores (0-100). A persona **starts at 50**
|
|
76
|
+
and moves in both directions, so a rejection genuinely costs it.
|
|
76
77
|
|
|
77
78
|
| Score | Level | Meaning |
|
|
78
79
|
|-------|-------|---------|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
| 40-59 |
|
|
82
|
-
|
|
|
83
|
-
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
80
|
+
| 80-100 | Trusted | Consistently shipped; weight heavily |
|
|
81
|
+
| 60-79 | Reliable | More hits than misses |
|
|
82
|
+
| 40-59 | Baseline | Neutral, or not enough evidence yet |
|
|
83
|
+
| 20-39 | Developing | More rework than wins |
|
|
84
|
+
| 0-19 | At risk | Repeatedly wrong or missed |
|
|
85
|
+
|
|
86
|
+
Signed contributions:
|
|
87
|
+
|
|
88
|
+
| Signal | Points |
|
|
89
|
+
|---|---|
|
|
90
|
+
| outcome `shipped` | **+15** |
|
|
91
|
+
| outcome `blocked_correctly` | **+10** |
|
|
92
|
+
| outcome `revised` | **-5** |
|
|
93
|
+
| outcome `missed` | **-15** |
|
|
94
|
+
| each rating | `(rating - 3) x 4` → 5* = +8, 1* = -8 |
|
|
95
|
+
| each positive lesson | +10 |
|
|
96
|
+
| patch proposed / applied | +20 / +25 |
|
|
97
|
+
|
|
98
|
+
**Evidence gating:** below 5 signals a persona is reported as
|
|
99
|
+
`Baseline (insufficient evidence)` regardless of score — one bad note must not
|
|
100
|
+
brand a persona. Scores are derived on read, so changing weights re-scores history
|
|
101
|
+
with no migration.
|
|
102
|
+
|
|
103
|
+
Scope is **global per persona** by default. Pass `--project` to scope down.
|
|
90
104
|
|
|
91
105
|
## CLI reference
|
|
92
106
|
|
|
@@ -94,8 +108,10 @@ Scoring:
|
|
|
94
108
|
# Check readiness + dashboard
|
|
95
109
|
npx analyzthis_design evolve --ready
|
|
96
110
|
|
|
97
|
-
# Just the dashboard
|
|
111
|
+
# Just the dashboard (or the shorter alias)
|
|
98
112
|
npx analyzthis_design evolve --metrics
|
|
113
|
+
npx analyzthis_design scores
|
|
114
|
+
npx analyzthis_design scores --persona arjun
|
|
99
115
|
|
|
100
116
|
# Extract patches (dry-run by default)
|
|
101
117
|
npx analyzthis_design evolve --extract --dry-run
|