Narrative quality auditor skill

Use when the user asks to "audit our brand narrative" or "is this message on-canon".

by aaron-he-zhu·Apache-2.0 license·★ 2,858 Stars on the repo·GitHub ↗

Use now

Files of Narrative quality auditor

aaron-he-zhu/main1 file shown
SKILL.md
Show the full text131 lines

Narrative Quality Auditor

Audit narrative truth, message-system coherence, or measured effectiveness as separate TALE profiles. There is no v18 overall composite: truth cannot be averaged away by coherence, and coherence cannot stand in for effectiveness evidence.

When This Must Trigger

  • The user asks whether positioning/differentiation is defensible.
  • A flagship surface needs a pre-publish canon/message-match gate.
  • A message experiment or resonance claim needs evidence-integrity review.
  • A full narrative review is requested; run linked profiles rather than one blended score.

Quick Start

Run TALE truth on canon v7 against named alternatives and approved claims.
Run TALE system on homepage/pricing/deck against canon v7 before release.
Run a full review as three linked profile results; do not compute an overall score.

Skill Contract

Reads: one canon/surface set or message experiment plus current narrative/claims truth. Writes: only permissioned v3 artifacts. Done when: each requested profile is independently complete or its Unknowns are explicit, with no canon, claims, or surface mutation.

narrative-registry owns canon/version state and offer-claims-registry owns claims. This skill judges; authoring/fixing belongs to Trace/Architect/Land skills.

Data Sources

Need Preferred evidence
Truth Named alternatives, interviews/win-loss, product reality, claims projection
Architecture Exact canon/version, message hierarchy, voice/naming/version history
Landing Declared rendered flagship surfaces linked to canon version
Effectiveness Preregistered comprehension/recall/behavior evidence and locked panels
Public resonance Dated own/public signals with explicit measured/proxy provenance

Instructions

Runtime Reads
  • ../../../references/auditor-runbook.md
  • ../../../references/scoring-semantics.md
  • ../../../references/tale-benchmark.md
  • ../../../references/runtime-invocation.md
  • references/auditor-runtime.md
Runtime and Setup

Read ../../../references/auditor-runbook.md, scoring-semantics.md, tale-benchmark.md, and the TALE catalog entry. Standalone installs use bundled immutable references/auditor-runtime.md; never fetch mutable main. Before deterministic calls, follow runtime-invocation.md, resolve AARON_SKILLS_ROOT="${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || true)}", and require the scorer, validator, and typed catalogs. If unavailable, still collect the selected profile's typed observations and Unknowns, but return score_state: NOT_SCORED / score_confidence: not_scored with no gate verdict or persistent artifact; runtime absence blocks deterministic scoring, not the observation pass.

Declare target, profile/mode, brand scope, market, audience, canon version, observation date, and evidence window.

Profile Procedure
  • truth: score T1–T10 for material differentiation and factual grounding.
  • system: score A1–A10 and L1–L10 for canon coherence and landing consistency.
  • effectiveness: score E1–E10 for one experiment/locked panel/date.
  • full: run the three profiles independently and keep three artifacts/results. Aggregate release language conservatively: any BLOCK → block; otherwise any UNDECIDED → undecided; otherwise any FIX → fix; all SHIP → ship. Never average scores.

For a flagship pre-publish gate, always execute the system profile procedure and require a compatible current truth result. If no compatible truth result exists, run truth separately when its evidence is available; otherwise record the truth prerequisite as Unknown while still rendering the requested system-profile result. A missing scorer/runtime changes that result to NOT_SCORED/UNDECIDED; it does not justify skipping the profile. Run effectiveness separately only when the user requests it or the surface makes an effectiveness claim.

Every observed state needs source/date/type/confidence. A missing canon is Unknown, not N/A. A2/A4/A8 are conditional: three pillars, a change arc, and fixed boilerplate lengths are patterns only when deliberately chosen. Run the typed scorer per profile.

Verify profile-relevant vetoes: TALE-T1 false/contradictory/unsubstantiated material differentiation, TALE-A1 demonstrated canon contradiction, TALE-L1 material flagship/canon contradiction, and TALE-E1 unsupported effectiveness claim or proxy-as-measured.

§2 TALE Worked Examples

  • Complete truth profile, raw 86, no veto/fail: DONE/SHIP, final 86.
  • Complete system profile, raw 80, one verified L1 failure: DONE_WITH_CONCERNS/FIX, final 59.
  • Complete system profile with A1 and L1 failures: DONE/BLOCK, no final score.
  • Effectiveness profile before test results exist: NEEDS_INPUT/UNDECIDED, no score.

§3 TALE Guardrails

  • A literal “onlyness” sentence is not required; judge the material differentiation actually asserted.
  • Three pillars, a Raskin/change arc, and 25/50/100-word boilerplates are conditional patterns.
  • A governed draft can be audited as a draft; missing access is Unknown, not an A1 failure.
  • Share of voice, sentiment, answer-engine descriptions, comprehension, and behavior are distinct constructs.
  • Narrative change frequency is a drift signal, not an automatic veto.

§5 TALE Translation

Always name truth/system/effectiveness. On trace request, qualify TALE-T1/A1/L1/E1, especially TALE-E1 versus ECHO-E1 and TALE-A1 versus ROAS/RAMP.

Report and Verdict

Begin with the auditor-runbook's exact typed conversation header. Never replace status, verdict, or score_state with prose; list each explicitly missing qualified item as ``ID: `unknown``` before findings.

For each profile show verdict, target/canon/context/date, score or coverage/interval, confidence, evidence, Unknowns, and fixes. A full report shows three side-by-side results and no overall number. Do not claim market effectiveness from system coherence.

Validation Checkpoints

  • One profile/unit per score; full mode preserves three results.
  • Canon/surface/experiment versions and audience/market are explicit.
  • Conditional templates use N/A only with reason; missing evidence stays Unknown.
  • Current truth/claims projections are read, not candidate files.
  • No canon/claim/surface write or publish action occurred.

Persistence

Persist only after explicit authorization to memory/audits/narrative/YYYY-MM-DD-<topic>-<profile>.md. Preserve the scorer's orthogonal status and verdict; validate the complete v3 draft with validate-audit-artifact.py against the intended relative path, persist only through one full-content Write, and revalidate the target per the auditor runbook. Edit/shell/MCP mutations of the reserved sink are unsupported. Never overwrite another profile or update canon/claims/hot cache autonomously.

Reference Materials

Next Best Skill

1---
2name: narrative-quality-auditor
3slug: aaron-narrative-quality-auditor
4displayName: "Narrative Quality Auditor · 品牌叙事质量门"
5summary: "叙事真实性/系统一致性/效果证据分层审计"
6description: 'Use when the user asks to "audit our brand narrative" or "is this message on-canon"; runs separate typed TALE truth, system, or effectiveness profiles and never averages them into one composite. Checks differentiation, canon, landing consistency, and evidence integrity. Not for launch readiness — use launch-readiness-auditor; not for social operations — use social-quality-auditor. 品牌叙事分层审计/发布前一致性放行'
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 for narrative truth, message-system consistency, flagship pre-publish alignment, or measured message-effectiveness review. A full review runs linked profiles separately."
12argument-hint: "<canon/surfaces/experiment> [truth|system|effectiveness|full]"
13class: auditor
14metadata: {"author": "aaron-he-zhu", "version": "20.1.0", "discipline": "narrative", "phase": "evaluate", "geo-relevance": "low", "hermes": {"tags": ["marketing", "narrative", "evaluate"], "category": "narrative"}, "openclaw": {"emoji": "📖", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
15---
16 
17# Narrative Quality Auditor
18 
19Audit narrative truth, message-system coherence, or measured effectiveness as separate TALE profiles. There is no v18 overall composite: truth cannot be averaged away by coherence, and coherence cannot stand in for effectiveness evidence.
20 
21## When This Must Trigger
22 
23- The user asks whether positioning/differentiation is defensible.
24- A flagship surface needs a pre-publish canon/message-match gate.
25- A message experiment or resonance claim needs evidence-integrity review.
26- A full narrative review is requested; run linked profiles rather than one blended score.
27 
28## Quick Start
29 
30```text
31Run TALE truth on canon v7 against named alternatives and approved claims.
32Run TALE system on homepage/pricing/deck against canon v7 before release.
33Run a full review as three linked profile results; do not compute an overall score.
34```
35 
36## Skill Contract
37 
38**Reads:** one canon/surface set or message experiment plus current narrative/claims truth. **Writes:** only permissioned v3 artifacts. **Done when:** each requested profile is independently complete or its Unknowns are explicit, with no canon, claims, or surface mutation.
39 
40`narrative-registry` owns canon/version state and `offer-claims-registry` owns claims. This skill judges; authoring/fixing belongs to Trace/Architect/Land skills.
41 
42## Data Sources
43 
44| Need | Preferred evidence |
45|---|---|
46| Truth | Named alternatives, interviews/win-loss, product reality, claims projection |
47| Architecture | Exact canon/version, message hierarchy, voice/naming/version history |
48| Landing | Declared rendered flagship surfaces linked to canon version |
49| Effectiveness | Preregistered comprehension/recall/behavior evidence and locked panels |
50| Public resonance | Dated own/public signals with explicit measured/proxy provenance |
51 
52## Instructions
53 
54### Runtime Reads
55 
56- `../../../references/auditor-runbook.md`
57- `../../../references/scoring-semantics.md`
58- `../../../references/tale-benchmark.md`
59- `../../../references/runtime-invocation.md`
60- `references/auditor-runtime.md`
61 
62### Runtime and Setup
63 
64Read `../../../references/auditor-runbook.md`, `scoring-semantics.md`, `tale-benchmark.md`, and the TALE catalog entry. Standalone installs use bundled immutable `references/auditor-runtime.md`; never fetch mutable `main`. Before deterministic calls, follow [`runtime-invocation.md`](../../../references/runtime-invocation.md), resolve `AARON_SKILLS_ROOT="${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || true)}"`, and require the scorer, validator, and typed catalogs. If unavailable, still collect the selected profile's typed observations and Unknowns, but return `score_state: NOT_SCORED` / `score_confidence: not_scored` with no gate verdict or persistent artifact; runtime absence blocks deterministic scoring, not the observation pass.
65 
66Declare target, profile/mode, brand scope, market, audience, canon version, observation date, and evidence window.
67 
68### Profile Procedure
69 
70- **`truth`:** score T1–T10 for material differentiation and factual grounding.
71- **`system`:** score A1–A10 and L1–L10 for canon coherence and landing consistency.
72- **`effectiveness`:** score E1–E10 for one experiment/locked panel/date.
73- **`full`:** run the three profiles independently and keep three artifacts/results. Aggregate release language conservatively: any BLOCK → block; otherwise any UNDECIDED → undecided; otherwise any FIX → fix; all SHIP → ship. Never average scores.
74 
75For a flagship pre-publish gate, always execute the `system` profile procedure and require a compatible current `truth` result. If no compatible truth result exists, run `truth` separately when its evidence is available; otherwise record the truth prerequisite as Unknown while still rendering the requested system-profile result. A missing scorer/runtime changes that result to `NOT_SCORED/UNDECIDED`; it does not justify skipping the profile. Run `effectiveness` separately only when the user requests it or the surface makes an effectiveness claim.
76 
77Every observed state needs source/date/type/confidence. A missing canon is Unknown, not N/A. A2/A4/A8 are conditional: three pillars, a change arc, and fixed boilerplate lengths are patterns only when deliberately chosen. Run the typed scorer per profile.
78 
79Verify profile-relevant vetoes: `TALE-T1` false/contradictory/unsubstantiated material differentiation, `TALE-A1` demonstrated canon contradiction, `TALE-L1` material flagship/canon contradiction, and `TALE-E1` unsupported effectiveness claim or proxy-as-measured.
80 
81## §2 TALE Worked Examples
82 
83- Complete truth profile, raw 86, no veto/fail: `DONE/SHIP`, final 86.
84- Complete system profile, raw 80, one verified L1 failure: `DONE_WITH_CONCERNS/FIX`, final 59.
85- Complete system profile with A1 and L1 failures: `DONE/BLOCK`, no final score.
86- Effectiveness profile before test results exist: `NEEDS_INPUT/UNDECIDED`, no score.
87 
88## §3 TALE Guardrails
89 
90- A literal “onlyness” sentence is not required; judge the material differentiation actually asserted.
91- Three pillars, a Raskin/change arc, and 25/50/100-word boilerplates are conditional patterns.
92- A governed draft can be audited as a draft; missing access is Unknown, not an A1 failure.
93- Share of voice, sentiment, answer-engine descriptions, comprehension, and behavior are distinct constructs.
94- Narrative change frequency is a drift signal, not an automatic veto.
95 
96## §5 TALE Translation
97 
98Always name truth/system/effectiveness. On trace request, qualify `TALE-T1/A1/L1/E1`, especially `TALE-E1` versus `ECHO-E1` and `TALE-A1` versus ROAS/RAMP.
99 
100## Report and Verdict
101 
102Begin with the auditor-runbook's exact typed conversation header. Never replace `status`, `verdict`, or `score_state` with prose; list each explicitly missing qualified item as ``ID: `unknown``` before findings.
103 
104For each profile show verdict, target/canon/context/date, score or coverage/interval, confidence, evidence, Unknowns, and fixes. A full report shows three side-by-side results and no overall number. Do not claim market effectiveness from system coherence.
105 
106## Validation Checkpoints
107 
108- One profile/unit per score; full mode preserves three results.
109- Canon/surface/experiment versions and audience/market are explicit.
110- Conditional templates use N/A only with reason; missing evidence stays Unknown.
111- Current truth/claims projections are read, not candidate files.
112- No canon/claim/surface write or publish action occurred.
113 
114## Persistence
115 
116Persist only after explicit authorization to `memory/audits/narrative/YYYY-MM-DD-<topic>-<profile>.md`. Preserve the scorer's orthogonal `status` and `verdict`; validate the complete v3 draft with `validate-audit-artifact.py` against the intended relative path, persist only through one full-content Write, and revalidate the target per the auditor runbook. Edit/shell/MCP mutations of the reserved sink are unsupported. Never overwrite another profile or update canon/claims/hot cache autonomously.
117 
118## Reference Materials
119 
120- [TALE benchmark](../../../references/tale-benchmark.md)
121- [Auditor runbook](../../../references/auditor-runbook.md)
122- [Scoring semantics](../../../references/scoring-semantics.md)
123- [Measurement protocol](../../../references/measurement-protocol.md)
124 
125## Next Best Skill
126 
127- **Truth repair:** [positioning-truth-tracer](../../trace/positioning-truth-tracer/SKILL.md)
128- **Architecture repair:** [message-system-architect](../../architect/message-system-architect/SKILL.md)
129- **Landing repair:** [narrative-cascade-planner](../../land/narrative-cascade-planner/SKILL.md)
130- **Effectiveness evidence:** [message-test-designer](../message-test-designer/SKILL.md)
131 

Discussion

Alternatives