CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

category-narrative-mapper

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. 品类叙事/竞争叙事拆解/语言惯例/叙事演变

Quality

81%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body delivers a well-sequenced, contract-driven workflow with concrete paths, tool names, and completion criteria — genuinely actionable for an instruction-only skill. Its weaknesses are repetition of routing/scope boilerplate and the absence of example connector invocations or error-recovery guidance.

Suggestions

State the claims-routing rule (operation: propose via registry-events.py) once in the Skill Contract and reference it from steps 4 and Save Results instead of repeating the full boilerplate three times.

Add one example invocation each for scripts/connectors/firecrawl.py and wayback.py (arguments, expected output) so the scrape and archive-compare steps are copy-paste executable.

Add a short fallback for step 5 when no archived snapshot exists for a rival (e.g., mark Estimated and continue), and consolidate the Scope guard exclusions into the description where they already appear.

DimensionReasoningScore

Conciseness

The body is dense and domain-specific, but the claims-routing boilerplate ("via an authorized `operation: propose` request to `registry-events.py`") is repeated three times (Writes, step 4, Save Results), and the Scope guard paragraph restates the frontmatter's exclusions — fitting "mostly efficient but could be tightened" rather than the minor-instances bar of 4.

3 / 5

Actionability

Guidance is concrete: exact memory paths ("memory/narrative/category-narrative-mapper/YYYY-MM-DD-<topic>.md"), named connector scripts (firecrawl.py, tavily.py, wayback.py), labeling rules, and example prompts. However, no example invocations or arguments for the connector scripts are given, leaving minor execution gaps.

4 / 5

Workflow Clarity

Seven clearly sequenced numbered steps are reinforced by a "Done when" completion checklist, robots pre-flight, and per-row Measured/User-provided/Estimated labeling — but there is no error-recovery loop (e.g., what to do when a scrape fails or no archive snapshot exists), which the 5 anchor's feedback loops would require.

4 / 5

Progressive Disclosure

The body is a well-structured overview with a dedicated Reference Materials section and clearly signaled one-level-deep links. However, every referenced file lives outside the skill via deep ../../../ paths into a parent collection (no local references/, scripts/, or assets/ bundle exists), which is a minor organization and navigability gap.

4 / 5

Total

15

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: explicit trigger phrasing, a concrete and comprehensive statement of what the skill produces, and explicit negative boundaries against four neighboring skills. The only weakness is trigger-term coverage, which is good but not exhaustive of natural synonyms.

Suggestions

Add one or two common user phrasings as triggers (e.g., "analyze competitor messaging" or "map how competitors position themselves") to broaden natural-term coverage.

Consider dropping or shortening the trailing Chinese keyword summary ("品类叙事/竞争叙事拆解/语言惯例/叙事演变") since it duplicates the English triggers without adding distinct trigger value for non-Chinese users.

DimensionReasoningScore

Specificity

The description enumerates comprehensive, concrete outputs — "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" — in third person ("produces"), with no coverage gaps evident.

5 / 5

Completeness

It opens with an explicit "Use when the user asks to…" clause carrying concrete trigger phrases, then states clearly what the skill produces, matching the anchor that requires both what and when with concrete triggers; a 4 would require the when to be less explicit than it is.

5 / 5

Trigger Term Quality

Natural trigger phrases are quoted directly ("map the category narrative", "tear down how competitors tell their story", "find the language conventions in our market"), but common variations like "competitor messaging analysis" or "brand story" are missing, falling short of the comprehensive synonym coverage of the 5 anchor.

4 / 5

Distinctiveness Conflict Risk

It explicitly de-conflicts four adjacent skills ("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"), giving it a clear niche with minimal conflict risk.

5 / 5

Total

19

/

20

Passed

Validation

75%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 33 suspicious

Warning

referenced_paths_exist

Referenced path issues: 8 missing, 8 deeper-than-1-level

Warning

Total

12

/

16

Passed

Repository

aaron-he-zhu/aaron-marketing-skills

Path

narrative/trace/category-narrative-mapper/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.