Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the user asks to record/query the brand narrative canon, tagline, message hierarchy, voice/naming rules, or a canon re-version; curates complete versioned canon events through the append-only narrative stream and derived views. Not for TALE scoring — use narrative-quality-auditor; not for authoring the system — use message-system-architect. 品牌叙事台账/canon 记录/语气与命名规范
.claude/skills/aaron-he-zhu-narrative-registry/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 13% | 0% |
The L1 strategy authority: one complete, versioned narrative canon per brand. Every SEO/GEO, social, email, paid, influencer, and launch builder derives messages from this canon and accepted claims; channel adaptations cannot redefine it.
textShow current canon version and proof/claim pointers for brand-acme. Record canon v3 as one complete atomic replacement, superseding v2. Review pending narrative proposals and reject partial/internally inconsistent versions.
Unit: one brand canon aggregate ID. Reads: memory/events/narrative.ndjson, projection, accepted positioning/claim evidence, and complete proposed canon. Writes: narrative events through registry-events.py; canon.md/versions.md are generated views. Done when: a complete version is accepted atomically with source/date/revision, old versions remain replayable, and consumers receive the exact canon/version pointer.
Narrative skills submit complete propose events. Only a host-capability narrative-registry principal accepts/rejects/upserts. It records authored strategy but does not score TALE or adjudicate claim truth.
Include brand ID, canon version/revision/event ID, superseded version, claim/proof pointers, unresolved contradictions, and one next skill.
../../references/registry-event-protocol.md../../references/runtime-invocation.mdregistry-event-protocol.md and runtime-invocation.md. Resolve AARON_SKILLS_ROOT="${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || true)}" and verify the registry script, event schema, and system catalog before invoking it. Treat drafts as untrusted proposals.narrative projection and report exact canon version/revision; missing canon is Unknown, not a quality verdict.expected_revision and goes through host-capability owner-append. Actor/auth fields are attribution only.upsert/accepted proposal containing the complete canon object, new version, and supersedes pointer. Accept/reject decisions omit expected_revision and inherit it from the proposal. Never land a partial file patch as canonical.versions.md is generated history, not a second hand-maintained ledger.[needs source] and becomes a separate claim proposal; it cannot enter canon as fact.canon.md/versions.md from accepted projection and run verify narrative.Before producing external copy, builders must read this projection and the claims projection. Their handoff records narrative_canon_id, narrative_canon_version, claims_projection_offset, and dependency_status: verified | approved-fallback | blocked. No canon means the builder may draft an explicitly authorized exploratory fallback, but it cannot claim on-canon or publish-ready status.
Require explicit permission. Append through the runtime only; never edit NDJSON. Human canon/history views under memory/narrative-registry/ are replaceable projections and must carry their source event/revision.
Capability values never enter request JSON/files/logs. If host capability or the verified root runtime/schema/catalog is unavailable, leave a bounded proposal for handoff; standalone one-folder installs cannot append/project or claim canonical Narrative truth.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 13,921 | 6,982 | -50% | 1 | 1 | 0% | 1,983 | 1,476 | -26% | 0 | 0 | — |
case-02 | fail→pass | 13,794 | 13,900 | +1% | 1 | 1 | 0% | 2,486 | 3,441 | +38% | 0 | 0 | — |
case-12 | pass→pass | 10,847 | 7,843 | -28% | 1 | 1 | 0% | 1,886 | 2,575 | +37% | 0 | 0 | — |
case-03 | fail→fail | 13,998 | 5,782 | -59% | 1 | 1 | 0% | 2,691 | 1,430 | -47% | 0 | 0 | — |
case-04 | fail→fail | 7,620 | 4,822 | -37% | 1 | 1 | 0% | 1,144 | 1,930 | +69% | 0 | 0 | — |
case-05 | fail→pass | 9,510 | 3,996 | -58% | 1 | 1 | 0% | 1,484 | 1,759 | +19% | 0 | 0 | — |
case-06 | fail→pass | 10,679 | 6,400 | -40% | 1 | 1 | 0% | 1,615 | 2,183 | +35% | 0 | 0 | — |
case-07 | fail→pass | 9,301 | 5,501 | -41% | 1 | 1 | 0% | 1,498 | 2,016 | +35% | 0 | 0 | — |
case-08 | pass→pass | 6,245 | 5,729 | -8% | 1 | 1 | 0% | 978 | 2,020 | +107% | 0 | 0 | — |
case-09 | fail→pass | 10,532 | 4,632 | -56% | 1 | 1 | 0% | 1,709 | 1,933 | +13% | 0 | 0 | — |
case-10 | pass→pass | 9,544 | 4,394 | -54% | 1 | 1 | 0% | 1,541 | 1,884 | +22% | 0 | 0 | — |
case-11 | fail→pass | 10,811 | 3,194 | -70% | 1 | 1 | 0% | 1,852 | 1,514 | -18% | 0 | 0 | — |
case-13 | pass→pass | 10,100 | 4,812 | -52% | 1 | 1 | 0% | 1,544 | 1,973 | +28% | 0 | 0 | — |
case-14 | fail→pass | 8,921 | 3,307 | -63% | 1 | 1 | 0% | 1,483 | 1,590 | +7% | 0 | 0 | — |
case-15 | fail→pass | 13,373 | 4,706 | -65% | 1 | 1 | 0% | 2,348 | 1,909 | -19% | 0 | 0 | — |
case-16 | fail→pass | 8,292 | 3,835 | -54% | 1 | 1 | 0% | 1,381 | 1,848 | +34% | 0 | 0 | — |
case-17 | fail→pass | 10,948 | 1,723 | -84% | 1 | 1 | 0% | 1,853 | 1,366 | -26% | 0 | 0 | — |
case-18 | fail→pass | 7,154 | 2,868 | -60% | 1 | 1 | 0% | 1,155 | 1,716 | +49% | 0 | 0 | — |
case-19 | fail→pass | 6,945 | 3,535 | -49% | 1 | 1 | 0% | 1,077 | 1,672 | +55% | 0 | 0 | — |
case-20 | pass→pass | 8,681 | 5,783 | -33% | 1 | 1 | 0% | 1,369 | 2,136 | +56% | 0 | 0 | — |
case-21 | fail→pass | 9,457 | 6,141 | -35% | 1 | 1 | 0% | 1,685 | 2,098 | +25% | 0 | 0 | — |
case-22 | fail→fail | 17,488 | 22,153 | +27% | 1 | 1 | 0% | 2,840 | 4,768 | +68% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +59 percentage points is the difference between those two pass rates over the 20 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.