Skip to main content
skill CX Codex

narrative-registry — Claude Code skill: what it does, how to install

Maintains the versioned brand narrative canon, message hierarchy, and voice rules in an append-only event stream. Keeps downstream copy aligned with approved brand strategy.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aaron-he-zhu/aaron-marketing-skills --skill narrative-registry -a claude-code
Open on GitHub

What narrative-registry does

The skill acts as the single source of truth for a brand's narrative, taglines, voice guidelines, and messaging structure. It logs state changes into memory/events/narrative.ndjson using registry-events.py. Human-readable files like canon.md and versions.md are automatically generated projections rather than manually edited files.

Every canon update must be an atomic replacement that completely supersedes the prior version. The registry rejects partial file patches and uncoordinated changes to prevent contradictions. Any unverified wording gets flagged as [needs source] and turned into a separate claim proposal before entering the canon.

Standalone single-folder setups without the host runtime and schema scripts cannot append directly to the canon. In those cases, the skill leaves only bounded proposals for handoff. It manages strategic storage, leaving message authoring to message-system-architect and quality scoring to narrative-quality-auditor.

What it helps with

  • record a versioned brand narrative canon and voice guidelines
  • prevent contradictory copy across social, email, and paid campaigns
  • reject partial patches in favor of atomic strategy replacements
  • track historical changes in an append-only event stream

Example prompts for the agent

  • 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 versions.

How to install narrative-registry

1Skills CLI (Vercel)

npx skills add aaron-he-zhu/aaron-marketing-skills --skill narrative-registry -a claude-code

2Manually: put the files in place

~/.claude/skills/narrative-registry/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/narrative-registry/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about narrative-registry

How to install narrative-registry in Claude Code?

Run npx skills add aaron-he-zhu/aaron-marketing-skills --skill narrative-registry -a claude-code in your terminal.

What does narrative-registry do?

It records and queries canonical brand positioning, voice rules, and messaging hierarchies through an append-only event stream. Downstream builders use its generated projections to verify marketing copy before publishing.

How does narrative-registry differ from message-system-architect?

This skill acts as a storage and validation authority for approved brand canons. It does not author new narrative systems, which is handled by message-system-architect.

Source text

SKILL.md · Apache-2.0
---
name: narrative-registry
slug: aaron-narrative-registry
displayName: "Narrative Registry · 品牌叙事台账"
summary: "品牌叙事 canon/版本史/语气与命名唯一真相"
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 记录/语气与命名规范'
version: "20.1.0"
license: Apache-2.0
compatibility: "Claude Code and compatible agent-skill hosts"
homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
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."
argument-hint: "<brand aggregate-id, canon version, or pending-proposal review>"
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"}}
---

# 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

```text
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

1. Read [`registry-event-protocol.md`](../../references/registry-event-protocol.md) and [`runtime-invocation.md`](../../references/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.
2. Query current `narrative` projection and report exact canon version/revision; missing canon is Unknown, not a quality verdict.
3. 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.
4. 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.
5. Preserve old versions in the event stream. `versions.md` is generated history, not a second hand-maintained ledger.
6. Validate internal references and claim IDs. Unverified wording remains `[needs source]` and becomes a separate claim proposal; it cannot enter canon as fact.
7. Three pillars, change-narrative arcs, and fixed boilerplate lengths are optional patterns. Store the chosen architecture; do not require absent patterns.
8. Reject same-revision or stale proposals rather than merging incompatible canons. Genuine alternatives remain pending/open decisions.
9. Regenerate `canon.md`/`versions.md` from accepted projection and run `verify 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

- [Registry event protocol](../../references/registry-event-protocol.md)
- [TALE benchmark](../../references/tale-benchmark.md)
- [Claims registry](../offer-claims-registry/SKILL.md)
- [Security](../../SECURITY.md)

## Next Best Skill

- **Author system:** [message-system-architect](../../narrative/architect/message-system-architect/SKILL.md)
- **Verify truth:** [positioning-truth-tracer](../../narrative/trace/positioning-truth-tracer/SKILL.md)
- **Cascade:** [narrative-cascade-planner](../../narrative/land/narrative-cascade-planner/SKILL.md)
- **Audit profile:** [narrative-quality-auditor](../../narrative/evaluate/narrative-quality-auditor/SKILL.md)

© aaron-he-zhu · Apache-2.0 · aaron-he-zhu/aaron-marketing-skills

Similar skills

Everything for Marketing and content →

From the same set116

category-narrative-mapper This skill maps the stories a category repeats, breaks down competitor messaging, and compares current copy with archived versions. CX Codex +1 1,000installs strategic-narrative-designer Turns positioning facts and a belief map into a five-beat change narrative: old world, the shift, winners and losers, the promised land, and the evidence behind it. CX Codex +1 1,000installs audience-belief-mapper Turns customer interview notes and lost-deal feedback into a structured map of buyer beliefs, objection reframes, and JTBD switching forces. CX Codex +1 1,000installs brand-language-codifier This skill drafts brand voice and naming rules for products, features, and tiers. Use it to establish a shared language guide before adapting copy for individual channels. CX Codex +1 1,000installs participation-warmup-planner Prepares a pre-promotion warmup plan for accounts entering external or owned communities. Sets give-before-ask ledgers and graduation criteria. CX Codex +1 1,000installs narrative-resonance-monitor Measures how a brand narrative lands: echo rate, how AI answer engines describe the brand, and share of voice on a locked panel. CX Codex +1 1,000installs entity-registry Audits and maintains machine-facing entity identity across Knowledge Graph, Wikidata, and schema.org. Use it to resolve duplicate IDs and track AI recognition signals. CX Codex +1 958installs creator-content-auditor Evaluates influencer drafts against campaign briefs using the STAR framework, flags disclosure issues, and calculates the profile-weighted SQS quality score. CX Codex +1 925installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor