Agent skill · Audited from source
category-narrative-mapper
skill · aaron-he-zhu/aaron-marketing-skillsApache-2.0 licenceAudited 30 Oct 2026 · source a727cd638786
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit a727cd638786 and found no filesystem, network or shell access and no hard-coded secrets. What it does: Use when the user asks to "map the category narrative", "tear down how competitors tell their story", or "find the language conventions in our market"; produces a category narrative map — the dominant stories and points…
Cite
Cite this page
ModelsAtlas. “category-narrative-mapper (aaron-he-zhu/aaron-marketing-skills)”. Retrieved 30 Oct 2026. https://modelsatlas.com/skills/aaron-he-zhu/category-narrative-mapper
Trust audit
Audit 0.4.1 · source read 30 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (0)
No findings at any severity. We re-audit when the source changes.
Audit 0.4.1 · source sha a727cd638786 · 30 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisheraaron-he-zhu GitHub userOwner of the repository this skill is read from
- Source folderaaron-he-zhu/aaron-marketing-skills/narrative/trace/category-narrative-mapperThe exact folder we audited
- LicenceApache-2.0As the repository states it
- Commit pinned for this verdicta727cd638786A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Use when the user asks to "map the category narrative", "tear down how competitors tell their story", or "find the language conventions in our market"; produces a category narrative map — the dominant stories and points…
---
name: category-narrative-mapper
slug: aaron-category-narrative-mapper
displayName: "Category Narrative Mapper · 品类叙事地图"
summary: "品类主叙事/竞争叙事拆解/语言惯例/叙事演变"
description: 'Use when the user asks to "map the category narrative", "tear down how competitors tell their story", or "find the language conventions in our market"; produces a category narrative map — the dominant stories and points of view in the category, its language conventions and framing clichés, and a per-competitor narrative teardown (arc, claimed onlyness, proof pattern) plus how each rival''s messaging has shifted over time (scraped copy vs archived copy). Not for the positioning canvas itself — use positioning-mapper; not for the beachhead''s beliefs and objections — use audience-belief-mapper; not for SERP keyword targeting — use keyword-research; not for claim adjudication — use offer-claims-registry. 品类叙事/竞争叙事拆解/语言惯例/叙事演变'
version: "20.2.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 tracing the category's narrative landscape before authoring any brand canon: naming the dominant stories and points of view, recording the language conventions and framing clichés, teardown of each named competitor's narrative (arc, claimed onlyness, proof pattern), and how their messaging has drifted over time. The second move of the TALE Trace phase, feeding the Truth dimension's category-frame and named-alternatives sub-items. Not the positioning canvas and not audience belief work."
argument-hint: "<category / product> [named competitors] [competitor URLs]"
metadata: {"author": "aaron-he-zhu", "version": "20.2.0", "discipline": "narrative", "phase": "trace", "geo-relevance": "low", "hermes": {"tags": ["marketing", "narrative", "trace"], "category": "narrative"}, "openclaw": {"emoji": "📖", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
---
# Category Narrative Mapper
Maps the narrative landscape of the category — the dominant stories and points of view rivals tell, the language conventions and framing clichés everyone reaches for, and a per-competitor narrative teardown (each rival's arc, its claimed onlyness, its proof pattern) together with how that messaging has shifted over time (today's scraped copy against archived copy). It is the second move of the TALE **Trace** phase and feeds the [TALE](../../../references/tale-benchmark.md)-`T` (Truth) dimension directly: the *category frame chosen and defensible* sub-item (you cannot claim "the only \[frame\] that..." without knowing what frames the category already recognizes) and the *competitive alternatives named from win-loss and interviews, not a vendor feature matrix* sub-item — it supplies the narrative half of the named-alternatives set the `T1` differentiation veto is later judged against. It never scores; only [narrative-quality-auditor](../../evaluate/narrative-quality-auditor/SKILL.md) computes the TALE profile result.
**Scope guard**: this skill produces the category narrative map *document* only. It does **not** build the positioning canvas or the onlyness statement (reuse [positioning-mapper](../../../launch/research/positioning-mapper/SKILL.md)), capture the beachhead's beliefs, objections, or switching forces (that is [audience-belief-mapper](../audience-belief-mapper/SKILL.md)), do SERP keyword or ranking work ([keyword-research](../../../seo-geo/survey/keyword-research/SKILL.md)), reconcile positioning against the claims ledger ([positioning-truth-tracer](../positioning-truth-tracer/SKILL.md)), adjudicate any product or comparative claim ([offer-claims-registry](../../../protocol/offer-claims-registry/SKILL.md) is the sole writer of `memory/claims/claims-ledger.md`), or compute the TALE profile result. It works one lever — the category's narrative terrain — and hands off.
## Quick Start
```
Map the category narrative for [product / category]. Competitors: [names or "help me find them"].
```
```
Tear down how [Competitor A], [Competitor B], [Competitor C] tell their story — arc, claimed onlyness, proof pattern.
```
```
Show how [competitor]'s messaging has shifted over the last 2 years — scrape their site now and compare against the archive.
```
## Skill Contract
**Expected output**: a category narrative map — the dominant category stories and points of view, the language conventions and framing clichés (approved/overused terms), a per-competitor narrative teardown table (arc, claimed onlyness sentence, proof pattern, primary framing), and a messaging-drift note per rival (today's copy vs archived copy, with as-of dates) — every line labeled Measured / User-provided / Estimated, plus the standard handoff summary.
- **Reads**: prior [competitor-analysis](../../../seo-geo/survey/competitor-analysis/SKILL.md) findings in `memory/research/competitor-analysis/` when present; competitor public messaging via `scripts/connectors/firecrawl.py` (scrape) and `scripts/connectors/tavily.py` (search — proxy-labeled); archived competitor copy via `scripts/connectors/wayback.py` (change history); the user's own list of named competitors and URLs (User-provided). Robots pre-flight applies to every scrape.
- **Writes**: the category narrative map to `memory/narrative/category-narrative-mapper/`; any product or comparative claim it surfaces from a competitor that the user might echo is marked `[needs source]` and routed to `memory/events/claims.ndjson` via an authorized `operation: propose` request to `registry-events.py` — this skill never adjudicates it. Nothing durable is written to `memory/narrative-registry/` canonical files; canon is the sole domain of [narrative-registry](../../../protocol/narrative-registry/SKILL.md).
- **Promotes**: the named-competitor set and the category frame candidates to `memory/hot-cache.md` and `memory/open-loops.md` (ask before writing); do not write `decisions.md` directly.
- **Done when**: at lExcerpt, first 6,001 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit a727cd6
git clone https://github.com/aaron-he-zhu/aaron-marketing-skills git -C aaron-marketing-skills checkout a727cd638786
The author documents no install command, so this uses the repository directly. Our verdict covers commit a727cd638786 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| OpenClaw | Mentioned in its text, not tested | Skills for OpenClaw · About OpenClaw |
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
a727cd638786
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/aaron-he-zhu/category-narrative-mapper/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "build a B2B cold-outbound sequence", "design reply-triage branching", "plan a domain warmup / sending throttle", or "make my outbound CAN-SPAM / opt-in compliant"; produces a multi-step…
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "launch on Product Hunt / Hacker News", "prepare community or directory launch submissions", or "plan the launch submission waves"; produces per-platform submission packages — a Product Hunt…
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "log this subscriber''s opt-in", record unsubscribes/complaints, or query lawful basis; curates pseudonymous consent facts through the append-only consent stream and applies suppression/erasure…
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "write SEO content", "draft a blog post / landing page", "update outdated content", or "fix traffic/ranking decay"; two modes — new drafts pages with keywords, headers, snippets, and evidence…
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "pick which social channels to run", "should we be on X platform or 小红书", or "plan our organic social channel portfolio"; produces an audience/objective-first portfolio with capability/access…
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to register/query a social channel, record channel state, cadence, governance, voice adaptation, UGC permission, or advocacy facts; curates them through the append-only channels event stream and…
Add this badge to your README
[](https://modelsatlas.com/skills/aaron-he-zhu/category-narrative-mapper/)
<a href="https://modelsatlas.com/skills/aaron-he-zhu/category-narrative-mapper/"><img src="https://modelsatlas.com/skills/aaron-he-zhu/category-narrative-mapper/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about category-narrative-mapper
What does the category-narrative-mapper skill do?
Is category-narrative-mapper safe to install?
What can category-narrative-mapper access on my machine?
Which assistants does category-narrative-mapper work with?
How current is this page?
Sources
- github.com/aaron-he-zhu/aaron-marketing-skills/tree/main/narrati — the audited source at commit a727cd638786 and every finding aboveObserved · 30 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the category-narrative-mapper skill do?
- Is category-narrative-mapper safe to install?
- What can category-narrative-mapper access on my machine?