Narrative registry skill
Use when the user asks to record/query the brand narrative canon, tagline, message hierarchy, voice/naming rules, or a canon re-version.
by aaron-he-zhu·Apache-2.0 license·★ 2,858 Stars on the repo·GitHub ↗
npx degit aaron-he-zhu/aaron-marketing-skills/protocol/narrative-registry#main ~/.claude/skills/narrative-registryChecked ·commit main
Files of Narrative registry
Show the full text88 lines
Narrative Registry
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.
Quick Start
Show 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.
Skill Contract
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.
Handoff Summary
Include brand ID, canon version/revision/event ID, superseded version, claim/proof pointers, unresolved contradictions, and one next skill.
Data Sources
- Accepted positioning truth and named alternatives.
- Complete message hierarchy/narrative authored by Narrative skills.
- Accepted claim IDs and proof pointers from the claims projection.
- Brand voice/naming rules and user-owned examples.
- Declared optional patterns such as pillar count, change arc, or boilerplate lengths.
Instructions
Runtime Reads
../../references/registry-event-protocol.md../../references/runtime-invocation.md
Procedure
- Read
registry-event-protocol.mdandruntime-invocation.md. ResolveAARON_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. - Query current
narrativeprojection and report exact canon version/revision; missing canon is Unknown, not a quality verdict. - Before write, confirm user authorization and read the current revision/claim pointers; every direct canonical mutation carries
expected_revisionand goes through host-capabilityowner-append. Actor/auth fields are attribution only. - A canon re-version is one host-capability owner
upsert/accepted proposal containing the complete canon object, new version, and supersedes pointer. Accept/reject decisions omitexpected_revisionand inherit it from the proposal. Never land a partial file patch as canonical. - Preserve old versions in the event stream.
versions.mdis generated history, not a second hand-maintained ledger. - Validate internal references and claim IDs. Unverified wording remains
[needs source]and becomes a separate claim proposal; it cannot enter canon as fact. - Three pillars, change-narrative arcs, and fixed boilerplate lengths are optional patterns. Store the chosen architecture; do not require absent patterns.
- Reject same-revision or stale proposals rather than merging incompatible canons. Genuine alternatives remain pending/open decisions.
- Regenerate
canon.md/versions.mdfrom accepted projection and runverify narrative.
Downstream Dependency
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.
Save Results
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.
Reference Materials
Next Best Skill
- Author system: message-system-architect
- Verify truth: positioning-truth-tracer
- Cascade: narrative-cascade-planner
- Audit profile: narrative-quality-auditor
| 1 | |
| 2 | name narrative-registry |
| 3 | slug aaron-narrative-registry |
| 4 | displayName "Narrative Registry · 品牌叙事台账" |
| 5 | summary "品牌叙事 canon/版本史/语气与命名唯一真相" |
| 6 | description '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 记录/语气与命名规范' |
| 7 | version "20.1.0" |
| 8 | license Apache-2.0 |
| 9 | compatibility "Claude Code and compatible agent-skill hosts" |
| 10 | homepage "https://github.com/aaron-he-zhu/aaron-marketing-skills" |
| 11 | when_to_use "Use when recording/querying a brand's canonical positioning, narrative, message hierarchy, proof/claim pointers, voice/naming rules, conditional boilerplates, or accepting/rejecting a complete canon-version proposal." |
| 12 | argument-hint "<brand aggregate-id, canon version, or pending-proposal review>" |
| 13 | metadata {"author": "aaron-he-zhu", "version": "20.1.0", "discipline": "protocol", "phase": "protocol", "geo-relevance": "low", "hermes": {"tags": ["marketing", "protocol"], "category": "protocol"}, "openclaw": {"emoji": "📖", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}} |
| 14 | |
| 15 | |
| 16 | # Narrative Registry |
| 17 | |
| 18 | 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. |
| 19 | |
| 20 | ## Quick Start |
| 21 | |
| 22 | |
| 23 | Show current canon version and proof/claim pointers for brand-acme. |
| 24 | Record canon v3 as one complete atomic replacement, superseding v2. |
| 25 | Review pending narrative proposals and reject partial/internally inconsistent versions. |
| 26 | |
| 27 | |
| 28 | ## Skill Contract |
| 29 | |
| 30 | **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. |
| 31 | |
| 32 | 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. |
| 33 | |
| 34 | ### Handoff Summary |
| 35 | |
| 36 | Include brand ID, canon version/revision/event ID, superseded version, claim/proof pointers, unresolved contradictions, and one next skill. |
| 37 | |
| 38 | ## Data Sources |
| 39 | |
| 40 | Accepted positioning truth and named alternatives. |
| 41 | Complete message hierarchy/narrative authored by Narrative skills. |
| 42 | Accepted claim IDs and proof pointers from the claims projection. |
| 43 | Brand voice/naming rules and user-owned examples. |
| 44 | Declared optional patterns such as pillar count, change arc, or boilerplate lengths. |
| 45 | |
| 46 | ## Instructions |
| 47 | |
| 48 | ### Runtime Reads |
| 49 | |
| 50 | `../../references/registry-event-protocol.md` |
| 51 | `../../references/runtime-invocation.md` |
| 52 | |
| 53 | ### Procedure |
| 54 | |
| 55 | Read [`registry-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. |
| 56 | Query current `narrative` projection and report exact canon version/revision; missing canon is Unknown, not a quality verdict. |
| 57 | Before write, confirm user authorization and read the current revision/claim pointers; every direct canonical mutation carries `expected_revision` and goes through host-capability `owner-append`. Actor/auth fields are attribution only. |
| 58 | A canon re-version is one host-capability owner `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. |
| 59 | Preserve old versions in the event stream. `versions.md` is generated history, not a second hand-maintained ledger. |
| 60 | Validate internal references and claim IDs. Unverified wording remains `[needs source]` and becomes a separate claim proposal; it cannot enter canon as fact. |
| 61 | Three pillars, change-narrative arcs, and fixed boilerplate lengths are optional patterns. Store the chosen architecture; do not require absent patterns. |
| 62 | Reject same-revision or stale proposals rather than merging incompatible canons. Genuine alternatives remain pending/open decisions. |
| 63 | Regenerate `canon.md`/`versions.md` from accepted projection and run `verify narrative`. |
| 64 | |
| 65 | ## Downstream Dependency |
| 66 | |
| 67 | 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. |
| 68 | |
| 69 | ## Save Results |
| 70 | |
| 71 | 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. |
| 72 | |
| 73 | 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. |
| 74 | |
| 75 | ## Reference Materials |
| 76 | |
| 77 | [Registry event protocol] |
| 78 | [TALE benchmark] |
| 79 | [Claims registry] |
| 80 | [Security] |
| 81 | |
| 82 | ## Next Best Skill |
| 83 | |
| 84 | **Author system:** [message-system-architect] |
| 85 | **Verify truth:** [positioning-truth-tracer] |
| 86 | **Cascade:** [narrative-cascade-planner] |
| 87 | **Audit profile:** [narrative-quality-auditor] |
| 88 |
Discussion
Alternatives
Browse more free Claude skills or everything in Content creator.