Narrative Registry

Narrative registry

by aaron-he-zhu · Apache-2.0 license · ★ 2,858 on GitHub · v20.1.0

Narrative registry cover

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.…

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

Overview

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.

Manual install (npx, ZIP)
Claude Codenpx skills add aaron-he-zhu/aaron-marketing-skills --skill narrative-registry -g -a claude-code
Claude Code (degit)npx degit aaron-he-zhu/aaron-marketing-skills/protocol/narrative-registry#main ~/.claude/skills/narrative-registry
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md6.4 KB
Read SKILL.md here
aaron-he-zhu/main1 file shown
SKILL.md
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
  1. 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.
  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

Next Best Skill

1---
2name: narrative-registry
3slug: aaron-narrative-registry
4displayName: "Narrative Registry · 品牌叙事台账"
5summary: "品牌叙事 canon/版本史/语气与命名唯一真相"
6description: '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 记录/语气与命名规范'
7version: "20.1.0"
8license: Apache-2.0
9compatibility: "Claude Code and compatible agent-skill hosts"
10homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
11when_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."
12argument-hint: "<brand aggregate-id, canon version, or pending-proposal review>"
13metadata: {"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 
18The 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```text
23Show current canon version and proof/claim pointers for brand-acme.
24Record canon v3 as one complete atomic replacement, superseding v2.
25Review 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 
32Narrative 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 
36Include 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 
551. 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.
562. Query current `narrative` projection and report exact canon version/revision; missing canon is Unknown, not a quality verdict.
573. 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.
584. 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.
595. Preserve old versions in the event stream. `versions.md` is generated history, not a second hand-maintained ledger.
606. Validate internal references and claim IDs. Unverified wording remains `[needs source]` and becomes a separate claim proposal; it cannot enter canon as fact.
617. Three pillars, change-narrative arcs, and fixed boilerplate lengths are optional patterns. Store the chosen architecture; do not require absent patterns.
628. Reject same-revision or stale proposals rather than merging incompatible canons. Genuine alternatives remain pending/open decisions.
639. Regenerate `canon.md`/`versions.md` from accepted projection and run `verify narrative`.
64 
65## Downstream Dependency
66 
67Before 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 
71Require 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 
73Capability 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](../../references/registry-event-protocol.md)
78- [TALE benchmark](../../references/tale-benchmark.md)
79- [Claims registry](../offer-claims-registry/SKILL.md)
80- [Security](../../SECURITY.md)
81 
82## Next Best Skill
83 
84- **Author system:** [message-system-architect](../../narrative/architect/message-system-architect/SKILL.md)
85- **Verify truth:** [positioning-truth-tracer](../../narrative/trace/positioning-truth-tracer/SKILL.md)
86- **Cascade:** [narrative-cascade-planner](../../narrative/land/narrative-cascade-planner/SKILL.md)
87- **Audit profile:** [narrative-quality-auditor](../../narrative/evaluate/narrative-quality-auditor/SKILL.md)
88 
View all files on GitHub →

Details

Version
20.1.0
License
Apache-2.0
Stars on the repo
★ 2,858
Checked
Source
aaron-he-zhu/aaron-marketing-skills ↗
Creator
aaron-he-zhu · 99 listings
View creator

Similar skills

See all →
SkillArticle Illustration GeneratorJimLiu/baoyu-skills · by JimLiuAnalyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style × Palette three-dimension approach. Use when user asks to "illustrate article", "add images", "generate images for article", or "为文章配图".★ 26.6k GitHub starsSkillArticle Cover DesignerJimLiu/baoyu-skills · by JimLiuGenerates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 11 color palettes and 7 rendering styles. Supports cinematic (2.35:1), widescreen (16:9), and square (1:1) aspects. Use when user asks to "generate cover image", "create article cover", or "make cover".★ 26.6k GitHub starsSkillArticle Content Extractormichalparkola/tapestry-skills · by michalparkolaExtract clean article content from URLs (blog posts, articles, tutorials) and save as readable text. Use when user wants to download, extract, or save an article/blog post from a URL without ads, navigation, or clutter.★ 553 GitHub starsSkillArticle CTA Designersamber/cc-skills · by samberDesigns end-of-article CTAs — copy, layout, placement, A/B test plan, accessibility — for blog posts, newsletters, and essays. Use whenever the user asks to write, review, or improve a CTA at the bottom of an article; mentions "end-of-post CTA", "call-to-action", "signup box", "newsletter CTA", "subscribe block", or "what should I put at the bottom"; or asks how to turn readers into subscribers, leads, customers, or paying supporters. Covers personal blogs, paid newsletters (Substack, beehiiv, Ghost), and brand content-marketing blogs. Do NOT use for opening hooks, ledes, or post titles — use samber/cc-skills@copywriting-hooks instead. Not for landing-page, ad, or email copy.★ 222 GitHub starsSkillBrand Story Video Promptscharlesdove977/UGC-Factory · by charlesdove977Generate brand storytelling and narrative video prompts for Seedance 2.0 on Higgsfield. Use whenever the user wants to create a brand story video, company origin story, mission video, about us video, brand film, corporate narrative, founder story, brand anthem, company culture video, or emotional brand content. Triggers on: brand story, brand video, company story, origin story, about us, mission video, brand film, brand anthem, corporate video, company culture, founder story, brand narrative, or any request for brand/company storytelling video. Use even for "tell our company story" or "make a video about our mission.★ 83 GitHub starsSkillArticle Writer From Notesmattpocock/skills · by mattpocockHand over your messy notes, transcripts and half-thoughts on a topic, and get back a finished article that flows from one point to the next.★ 267k GitHub stars

More from aaron-he-zhu

SkillAd Test Designeraaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "design an A/B test", "set up a creative/landing test", "run an incrementality test", or "is this result statistically and practically material?"; produces a hypothesis, variant matrix, sample-size/duration/power plan, and a documented effect/uncertainty read from own exported results. It applies only a precommitted owner-approved action rule; the statistical helper never chooses a business action. Not for producing variants — use ad-creative-builder; not for reading back one shipped change — use paid-measurement-loop. 广告AB测试设计/实验设计/显著性判定/增效测试★ 2.9k GitHub starsSkillAdvocacy Program Designeraaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "design an employee advocacy program", "set up founder-led sharing", or "build a share kit for the team"; produces an advocacy program blueprint in two modes — participation-driven opt-in (default) or top-down assigned with its coercion and authenticity risks flagged — with a voluntary opt-in roster spec submitted as channel-registry proposal events, share kits with mandatory per-person variation, staggered human posting windows plus anti-pod guardrails (no coordinated identical reshares, no engagement rings), per-person material-connection disclosure lines per FTC and 《互联网广告管理办法》, and a Slack/Teams distribution spec. Not for paid creator campaigns — use campaign-planner. 员工倡导/创始人IP分享/内部分享计划/披露合规★ 2.9k GitHub starsSkillBuyer Belief Mapperaaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "map what our buyers believe", "capture the objections we keep hearing", or "find the switching forces that move the beachhead"; produces a belief map of the beachhead — held beliefs and mental models, the recurring objections and their reframes, and the JTBD four forces (push of the problem, pull of the new, anxiety of switching, habit of the present) — each item sourced from interviews or win-loss notes (User-provided) and labeled Measured / User-provided / Estimated, with any unverified quote or comparative claim marked "[needs source]" and routed to the claims candidates, never adjudicated here. Not for demographic or persona profiling — use audience-mapper; not for the positioning canvas — use positioning-truth-tracer. 受众信念/异议地图/切换四力/流失语言★ 2.9k GitHub starsSkillTarget Audience Profileraaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "analyze my target audience", "build an audience profile for influencer targeting", "research a niche community", or "deep-dive a subculture before partnering with creators"; in audience mode produces demographic/psychographic profiles, a platform-priority matrix, named personas, and an influencer-selection criteria set, and in niche mode produces a community map, culture decode (language/norms/taboos), key-voice tiers, a Brand Fit Score, and a phased entry strategy. Not for finding specific creators to contract — use influencer-discovery; not for scoring a shortlist on Suitability — use fit-scorer. 目标受众画像/人群分析 · 细分社群/亚文化调研★ 2.9k GitHub starsSkillAudience Segment Builderaaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "build audience segments from my customer list", "make value-based / lookalike seed lists", "set up exclusion / suppression segments", or "map audiences to funnel stages across platforms"; turns the user''s OWN customer/CRM/GA4 export into seed audiences, value-based lookalike SEED lists, exclusion/suppression segments, and a cross-platform funnel-stage targeting map, informing the ROAS A (Audience) dimension. Not for building account structure or match types — use campaign-architect; not for organic SERP intent — use keyword-research. 付费广告受众分群/种子人群/排除人群/相似人群种子★ 2.9k GitHub starsSkillBrand Voice Codifieraaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "codify our brand voice", "define naming rules for our products and tiers", or "write the tone-of-voice guide with banned phrases"; produces the brand-level voice canon (register, tone spectrum, banned-phrase list, few-shot examples drawn only from the brand''s own published material) and the naming tax (product / feature / tier naming rules plus approved and banned terms) that seeds the narrative-registry canon and that every channel''s voice adaptation points up to. Not for per-platform voice adaptation — use channel-registry''s voice-dossier; not for finished copy or blog posts — use content-writer; not for the message hierarchy itself — use message-system-architect; not for claim adjudication — use offer-claims-registry. 品牌语气/词汇表/命名税/禁用词/品牌语言规范★ 2.9k GitHub stars