You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Verified against a real claude.ai export (8 conversations + 10 design_chats):
- merge EVERY chat-bearing JSON in the export (conversations.json + design_chats/* +
projects/*), handling both schemas (chat_messages/sender/text and messages/role/
nested-content) via a robust deep-text extractor — no longer just conversations.json
- score axes from the USER's messages (intent), never from how much Claude wrote back
(old code counted Claude's code fences as the user's CODER stat)
- web now uses self-relative SHAPE scoring (scoreAxesShape): top axis = 100, others
proportional, volume carried by level — a casual user gets a full varied radar instead
of a flat low card
- README scoring section updated to describe CLI fixed-anchor vs web shape model
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
| PILOT | driving a real browser | chrome-devtools / playwright MCP tools |
68
68
69
-
Score per axis: `min(100, round(100 * sqrt(x / REF)))` — a square-root curve, so early activity climbs fast and the top end is hard to max.
69
+
**CLI** uses fixed anchors so two Claude Code users' cards are directly comparable:
70
+
`score = min(100, round(100 * sqrt(x / REF)))` — a square-root curve, so early activity climbs fast and the top end is hard to max.
70
71
71
-
REF anchors (what 100 means), v1:
72
+
REF anchors (what 100 means on the CLI path), v1:
72
73
73
-
| axis | REF (CLI units) | REF (web units) |
74
-
|---|---|---|
75
-
| automator | 25000 | 1200 |
76
-
| researcher | 15000 | 1500 |
77
-
| coder | 15000 | 800 |
78
-
| integrator | 8000 | 400 |
79
-
| writer | 4000 | 2500 |
80
-
| pilot | 4000 | 100 |
81
-
82
-
**Honest calibration note:** the v1 anchors are derived from a single heavy daily user's corpus (~426 sessions / ~57k tool calls over ~6 weeks, snapshot 2026-06-12). They represent "heavy daily user" as one data point, not a population study. Expect recalibration in later versions.
74
+
| axis | REF (CLI units) |
75
+
|---|---|
76
+
| automator | 25000 |
77
+
| researcher | 15000 |
78
+
| coder | 15000 |
79
+
| integrator | 8000 |
80
+
| writer | 4000 |
81
+
| pilot | 4000 |
82
+
83
+
**Web** uses **self-relative shape** scoring instead: your strongest axis is the reference (100) and the rest are proportional (`(x / max) ^ 0.7`). Volume is carried by the **level**, not the axis heights — so a casual user still gets a full, varied radar (like an RPG class whose stat *shape* is the same at level 5 and level 50), rather than a flat low card. Web axes are counted from **your own messages** (what you ask for), never from how much Claude wrote back. The web card is a rough estimate and is not comparable to a CLI card.
84
+
85
+
**Honest calibration note:** the CLI anchors are derived from a single heavy daily user's corpus (~426 sessions / ~57k tool calls, snapshot 2026-06-12) — one data point, not a population study. Expect recalibration in later versions.
83
86
84
87
Level: `floor(sqrt(effort / 25))`, where effort = total tool calls (CLI) or total messages × 4 (web). Minimum level 1.
0 commit comments