Aaron Marketing Skills
120 marketing skills — brand narrative, SEO/GEO, influencer, paid ads, email, launch, social — on one contract.
English | Deutsch | Español | Français | Italiano | 日本語 | 한국어 | Português | 简体中文 | 繁體中文
A library of Claude Skills and slash commands that turns a chat agent into a marketing operator. Seven disciplines and a shared protocol layer, at a glance:
| Layer | Skills | Lifecycle (phase directories) | Framework → gate | Entrypoint |
|---|---|---|---|---|
| Narrative | 16 | trace → architect → land → evaluate | TALE truth / system / effectiveness profiles | /aaron-marketing:narrative |
| SEO/GEO | 16 | survey → implement → tune → evaluate | CORE-EEAT → content-quality-auditor · CITE → domain-authority-auditor |
/aaron-marketing:seo-geo |
| Social | 16 | explore → craft → host → observe | ECHO asset / program-maturity profiles | /aaron-marketing:social |
| 16 | setup → engage → nurture → deliver | SEND → email-quality-auditor (EQS) |
/aaron-marketing:email |
|
| Paid ads | 16 | research → orchestrate → activate → scale | ROAS → ad-account-auditor (RQS) |
/aaron-marketing:ad |
| Influencer | 16 | scout → target → activate → report | STAR → creator-content-auditor (SQS); fit-scorer produces the Suitability (S) read |
/aaron-marketing:influencer |
| Launch | 16 | research → assemble → mobilize → prove | RAMP preflight / execution / outcome profiles | /aaron-marketing:launch |
| Protocol layer | 8 | — (shared machinery, outside the phase flows) | 7 truth registries (entity · creator · offer/claims · consent · launch · channel · narrative) + HOT/WARM/COLD memory | — |
/aaron-marketing:auto routes any natural-language goal across all of it. Skills and commands are plain Markdown; small Bash/Python-stdlib runtimes provide hooks, validation, scoring, registry events, connectors, and CI checks (no pip, no build step). Every skill runs at Tier 1 with data you provide; connectors only automate retrieval or an explicitly approved mutation.
The authoritative typed topology is references/system-catalog.json; see the generated system architecture for the readable four-layer map, all 120 paths, registry owners, auditor sinks, and distribution profiles.
The pre-merge standalone repos are now signpost repos pointing here — seo-geo-claude-skills (final 20-skill line preserved at tag
v9.9.12) and influencer-marketing-agent-skills (final IMPACT line at tagstandalone-final). Sibling-repo policy: docs/repo-family.md.
Contents
- Why this library
- Install
- First run
- Architecture
- Skill catalog
- Commands
- Connectors & enhancement tiers
- Recommended workflows
- Repository layout
- Design philosophy
- Quality guards (CI)
- Contributing & project docs
- Disclaimer
- License
Why this library
| Principle | What it means in practice |
|---|---|
| Keyless by default | Every skill works at Tier 1 with data you paste or pull from free/first-party sources. Paid tools and MCP servers are an opt-in convenience, never a precondition. Paid-ads skills score from your own-account manual export — keyed ad APIs are never required. |
| Content-first, executable contracts | Skills remain Markdown. Small Bash/Python-stdlib runtimes make scoring, state, safety, and conformance deterministic without adding package dependencies. |
| One shared contract | All 120 skills expose the same seven sections and self-declare discipline + phase metadata, so the library behaves like one operating system: each skill knows its inputs, outputs, and the next best skill to hand off to. |
| Gated quality | Eight benchmarks drive eight auditor-class gates that emit structured, machine-checkable verdicts — not vibes. Success/failure/batch hooks surface invalid writes through bounded checks. Pre-commit/CI protect committed Git content from PII; they do not validate ignored runtime artifacts. |
| Truth lives in events | Seven append-only registry streams are canonical; owner-controlled projections expose entity, creator, claims, consent, launch, channel, and narrative state without destructive queues. |
| Memory across turns | A HOT/WARM/COLD memory model carries findings, scores, and open loops between skills and sessions, sanitized on the way in. |
| Plain voice | Skills ship an AI-slop detector and a banned-phrase list so output reads like a human wrote it. |
Install
Use it with Claude Code, any Agent Skills-compatible host, or a plain git clone:
| Host | Install |
|---|---|
| Claude Code | /plugin marketplace add aaron-he-zhu/aaron-marketing-skills then /plugin install aaron-marketing@aaron |
| Codex · Cursor · OpenCode · Antigravity · Gemini CLI · Copilot CLI · OpenClaw · Hermes · 70+ hosts | npx skills add aaron-he-zhu/aaron-marketing-skills |
| SkillHub.cn (中文社区) | skillhub install <frontmatter-slug> (e.g. aaron-campaign-architect or legacy unprefixed slugs like keyword-research) |
| Any host | git clone https://github.com/aaron-he-zhu/aaron-marketing-skills |
In Claude Code, marketplace add only registers the catalog — run /plugin install aaron-marketing@aaron (or pick it from /plugin) to actually enable the skills and commands. To pull a single skill on a generic host: npx skills add aaron-he-zhu/aaron-marketing-skills -s keyword-research. Browse the bundle on the skills.sh registry. Per-agent directories, frontmatter quirks, and what degrades outside the plugin: docs/agent-compatibility.md (verified 120/120 installable, 2026-07).
Installing the plugin adds nothing to your /mcp list — the MCP catalogue lives in docs/mcp-catalog.json, deliberately outside the plugin-root .mcp.json path that Claude Code auto-registers, so it is a copy-paste reference only (see Connectors).
First run
If your host supports automatic skill routing, just describe the goal:
Research keywords for my SaaS product targeting small teams
Find TikTok creators for a skincare launch and score their fit
Audit this Google Ads account before I scale — exports attached
Or use the slash commands — /auto for routing, or a discipline entrypoint:
/aaron-marketing:auto turn our pricing page into an AI-citable comparison hub
/aaron-marketing:seo-geo https://example.com/blog/my-article --phase tune
/aaron-marketing:auto infers intent and runs the smallest useful workflow, stopping only at blocking decisions. Every skill works with pasted data; optional tools are documented in CONNECTORS.md.
Architecture
The shared skill contract
Every skill follows the same activation contract — seven sections in a fixed order:
- Trigger / when-to-use — when the skill should fire.
- Quick Start — copy-paste prompts.
- Skill Contract — Expected output · Reads · Writes · Promotes · Done-when · Primary next skill.
- Handoff Summary — the standard hand-off shape so the next skill picks up cleanly.
- Data Sources —
~~categoryplaceholders, each with a keyless Tier-1 path. - Instructions — the numbered method (treats all exports as untrusted input).
- Next Best Skill — where to go next (with visited-set + max-depth termination rules).
Every skill also self-declares metadata.discipline (narrative / seo-geo / influencer / ad / email / launch / social / protocol, where ad is Paid Ads/ROAS) and metadata.phase, so routing and clustering work uniformly. The contract is documented once in skill-contract.md; the shared cross-skill state lives in state-model.md.
The system: a four-layer marketing operating system
One brand voice, expressed through five always-on channels, concentrated into launch moments, all reading and writing a shared system of record. Seven disciplines, four altitudes — a system, not a pile.
| Layer | Adopt | Disciplines | Cadence |
|---|---|---|---|
| L1 · Strategy — what we say / who we are | crawl | Narrative · TALE | always-on |
| L2 · Channels — always-on engines that express the strategy (owned → bought) | walk | SEO/GEO · CORE-EEAT + CITE · Organic Social · ECHO · Email · SEND · Paid Ads · ROAS · Influencer · STAR | always-on (influencer episodic-leaning) |
| L3 · Orchestration — the time-boxed moment across channels | run | Product Launch · RAMP | episodic |
| L4 · Protocol — the shared system of record | — | 7 truth registries + working memory · 8 auditor gates · one skill contract | — |
Narrative is the message; the channels are the mediums that express it. Each core builder records the exact canon ID/version and claims-projection offset it used, or an explicit approved fallback/block. Each discipline's 4-phase loop lives inside its layer (Narrative = Trace → Architect → Land → Evaluate).
All seven use phase directories in the catalog order: Narrative → SEO/GEO → Social → Email → Paid → Influencer → Launch. Note "activate" means creator outreach for influencer but account-gating for paid ads — same word, discipline-specific scope.
Quality system: eight frameworks, eight gates
Eight benchmarks make "good" measurable. Each defines dimensions, a rollup method, and a small set of veto items (hard fails that cap or block a score regardless of the rest):
| Framework | Scores | Items / dimensions | Rollup | Veto items |
|---|---|---|---|---|
| TALE | Brand narrative Truth / Architecture / Landing / Evidence | T / A / L / E | Separate truth, system, and effectiveness profile results; no overall composite | T1/A1/L1/E1 |
| CORE-EEAT | Content quality with diagnostic CORE/GEO and EEAT/SEO views | 80 items / 8 dimensions | complete profile-weighted result; diagnostic views are not separate totals | T04, C01, R10 |
| CITE | Domain authority & citation trust | 40 items / 4 dimensions | arithmetic weighted mean | T03, T05, T09 |
| STAR | Influencer Suitability / Trust / Appeal / Return | S / T / A / R · 40 items / 4 dimensions | SQS = floor(profile-weighted mean) (arithmetic) | STAR-S2/S6, STAR-T1/T2/T3 |
| ROAS | Paid ads Return / Offer / Audience / Spend-efficiency | R / O / A / S | RQS = floor(profile-weighted mean) (arithmetic) | R1/R2/O1/O2/A1 |
| SEND | Email marketing Sender-integrity / Engagement / Nurture / Direct-response | S / E / N / D | EQS = floor(profile-weighted mean) (arithmetic) | S1/S2/N1/D1 |
| RAMP | Product launch Readiness / Assets / Momentum / Proof | R / A / M / P · 40 stable IDs | Separate preflight, execution, and outcome profile results; never average time horizons | R1/A1/M1/P1 (framework-qualified — distinct from ROAS R1/A1) |
| ECHO | Organic social Embeddedness / Craft / Hosting / Observability | E / C / H / O · 40 stable IDs | One asset-gate or program-maturity profile per run; never combine asset and operating constructs | E1/C1/C2/H1/H2/O1 (framework-qualified — distinct from ROAS O1/O2) |
Each framework is enforced by an auditor-class gate — a skill that emits a typed artifact (class: auditor-output) checked by the deterministic validator and bounded lifecycle hooks. Repository CI regression-tests the validator and contract; it does not inspect ignored host-runtime artifacts. Gates are workflow steps, so each lives in its discipline and is counted there:
| Gate | Framework | Lives in | Verdict |
|---|---|---|---|
| narrative-quality-auditor | TALE profile gate | narrative/evaluate/ (narrative) |
Separate truth/system/effectiveness results before adoption |
| content-quality-auditor | CORE-EEAT | seo-geo/tune/ (SEO/GEO) |
SHIP / FIX / BLOCK before publishing |
| domain-authority-auditor | CITE | seo-geo/evaluate/ (SEO/GEO) |
SHIP / FIX / BLOCK / UNDECIDED; trust labels are explanatory only |
| creator-content-auditor | STAR SQS | influencer/activate/ (influencer) |
SHIP / FIX / BLOCK / UNDECIDED plus creator-facing translation |
| ad-account-auditor | ROAS RQS | ad/activate/ (paid) |
SHIP / FIX / BLOCK before budgets scale |
| email-quality-auditor | SEND EQS | email/deliver/ (email) |
SHIP / FIX / BLOCK before send |
| launch-readiness-auditor | RAMP lifecycle-profile gate | launch/mobilize/ (launch) |
SHIP / FIX / BLOCK for one declared lifecycle read |
| social-quality-auditor | ECHO asset/program gate | social/host/ (social) |
SHIP / FIX / BLOCK for one declared unit/profile |
Shared veto policy: one verified veto caps the final score at min(raw, 59); two or more verified vetoes produce status: DONE + verdict: BLOCK and no final score. Missing evidence is Unknown, resulting in NEEDS_INPUT/UNDECIDED, never an automatic failure. Gate mechanics live in auditor-runbook.md and are executed by the typed scorer.
The protocol layer
The protocol/ directory holds the shared truth & memory machinery that sits outside the discipline phase-flows — 8 skills, counted separately:
| Skill | Job | Anchored to | Canonical stream / role |
|---|---|---|---|
| entity-registry | Owns machine-facing entity identity and recognition facts | SEO/GEO | memory/events/entities.ndjson |
| creator-registry | Owns creator identity, audience, rights, terms, and compliance facts | influencer | memory/events/creators.ndjson |
| offer-claims-registry | Owns accepted offer/claim wording and substantiation pointers | paid | memory/events/claims.ndjson |
| consent-registry | Owns pseudonymous consent/suppression facts and live safety state | memory/events/consent.ndjson |
|
| launch-registry | Owns launch stage, dates, submissions, manifests, and outcomes | launch | memory/events/launches.ndjson |
| channel-registry | Owns channel state, cadence, voice pointers, and UGC permissions | social | memory/events/channels.ndjson |
| narrative-registry | Owns complete versioned narrative canon records | narrative | memory/events/narrative.ndjson |
| memory-management | Manages authorized HOT/WARM/COLD working notes without impersonating a registry | all disciplines | non-canonical memory/ working state |
The registries follow a sole-writer rule (other skills submit via registry-events.py proposal events), and they curate — the gates judge. The genuinely horizontal layer beneath everything is the references/ protocols (auditor-runbook, state-model, skill-contract, humanizer-slop, measurement-protocol) — shared by design as documents, not skills.
Memory & automation hooks
Memory is temperature-tiered, so context survives across skills and sessions without bloating the prompt:
| Tier | Location | Behavior |
|---|---|---|
| HOT | memory/hot-cache.md |
Auto-loaded each session; capped at 80 lines AND 25 KB (whichever trips first). |
| WARM | memory/<subdir>/ |
Per-skill working state and permissioned audit artifacts; registry projections are separate rebuildable views. |
| COLD | memory/archive/ |
Demoted/older records, kept for recall. |
Hooks (hooks/hooks.json, runner hooks/claude-hook.sh) wire seven Claude Code events:
| Event | Matcher | What it does |
|---|---|---|
SessionStart |
startup|resume|clear|compact |
Injects the sanitized hot-cache + load-time over-limit & oldest-dated-entry staleness signals + an open-loops pointer (prompt-injection lines are redacted; symlinked caches are rejected). |
UserPromptSubmit |
(all) | Lightweight per-prompt context hook. |
PreToolUse |
known write-capable tools | Exact-path direct memory/** writes must be Git-ignored; opaque shell/MCP memory mutations are unsupported and denied when identified. Registry writes repeat exact final/temp/lock checks inside their runtime. |
PostToolUse |
known write-capable tools | After successful writes, audits the full operational-memory namespace and validates the exact audit target or bounded reserved-sink sweep. |
PostToolUseFailure |
known write-capable tools | Runs the same post-state privacy and Artifact Gate checks after a tool reports failure, because a failed command may still have written files. |
PostToolBatch |
(all) | Rechecks operational memory and the complete reserved sink after each parallel tool batch. |
Stop |
(all) | Performs a final bounded sweep and can block once for repair. The required stop_hook_active loop guard permits the subsequent stop. Pre-commit/CI remain Git/PII backstops only; they do not validate ignored runtime artifacts. |
The Artifact Gate is framework-agnostic — the same hook validates TALE, CORE-EEAT, CITE, STAR, ROAS, SEND, RAMP, and ECHO artifacts with no per-framework code.
Skill catalog
Skill links open each SKILL.md. Expand the Details under each discipline for a one-line purpose per skill. Catalog order follows the four-layer strata — Narrative (L1 · Strategy) first, the five always-on channels next, Launch (L3 · Orchestration), then the Protocol layer.
Narrative — TALE (16) · 📖 Discipline guide
Four phase directories under narrative/ (4 skills each) follow the TALE loop (Trace → Architect → Land → Evaluate); the gate (⛩ narrative-quality-auditor) sits in Evaluate. It runs truth, system, and effectiveness profiles separately; a full review links three results and never averages them. Narrative is the L1 · Strategy layer: one brand voice the five always-on channels inherit. It absorbs positioning — positioning-mapper stays physically in launch/ but reads logically as the front of TALE Trace.
| Skill | TALE lever | What it does |
|---|---|---|
| narrative-baseline-mapper | T | Capture the current, actual brand story as it lives across owned surfaces — the honest starting point before any redesign. |
| category-narrative-mapper | T | Map the category's dominant narratives and named alternatives so the brand can claim a defensible, differentiated position. |
| audience-belief-mapper | T | Surface what the target audience already believes, doubts, and cares about — the beliefs the narrative must move. |
| positioning-truth-tracer | T | Trace every positioning claim back to substantiation, retiring anything unsupported (upstream of the T1 truth veto). |
| strategic-narrative-designer | A | Design the core strategic narrative — the change-in-the-world story arc, stakes, and resolution the brand leads with. |
| message-system-architect | A | Architect the message system — tagline, pillars, proof points, and per-audience angles as one coherent structure. |
| brand-language-codifier | A | Codify voice, tone, lexicon, and do/don't language so every channel sounds like one brand. |
| story-bank-builder | A | Build a reusable bank of proof stories, customer narratives, and analogies channels can draw from. |
| narrative-cascade-planner | L | Plan how the narrative cascades into each channel and moment without dilution or drift. |
| pitch-narrative-builder | L | Shape the narrative into pitch form — deck spine, demo story, and investor/press framing. |
| narrative-enablement-kit | L | Enablement kit that lets every team tell the story consistently — talk track, FAQ, and message map. |
| proof-point-packager | L | Package proof points into channel-ready, claims-ledger-aware assets. |
| ⛩ narrative-quality-auditor | Truth / system / effectiveness profiles | Auditor-class TALE gate: scores one typed profile, enforces T1/A1/L1/E1 when applicable, and emits SHIP/FIX/BLOCK; full mode preserves three linked results. |
| message-test-designer | E | Design message tests — variant matrix, audience cells, and resonance read for the strategic narrative. |
| narrative-resonance-monitor | E | Track how the narrative is landing across channels from keyless sources (proxy data labeled). |
| narrative-drift-monitor | E | Watch for narrative drift — where channels have wandered off the approved canon — and flag corrections. |
Reused cross-discipline (counted in their home phases, not duplicated): positioning-mapper (logically the front of Trace, physically in launch/), message-house-builder, audience-mapper, share-of-voice-tracker (resonance denominator). No new connector — narrative resonance reuses bluesky.py / gdelt.py / tavily.py / wayback.py — see tale-benchmark.md.
SEO/GEO — SITE (16) · 📖 Discipline guide
Four phase directories (4 skills each) plus the discipline's two quality gates (marked ⛩).
| Skill | What it does |
|---|---|
| keyword-research | Start keyword work for a page/topic/campaign — intent, demand, and striking-distance opportunities. |
| competitor-analysis | Analyze a competitor's SEO strategy, compare domains, surface their keywords and gaps. |
| serp-analysis | Read a SERP — features, snippets, People Also Ask, ranking patterns for a query. |
| content-gap-analysis | Find missing topics and coverage holes versus competitors. |
| content-writer | Write and refresh SEO-optimized articles, landing pages, and product copy. |
| geo-content-optimizer | Optimize content for AI engines (ChatGPT, Perplexity, AI Overviews, Gemini, Claude, Copilot). |
| serp-markup-builder | Title/meta/OG/Twitter tags plus JSON-LD / Schema.org structured data. |
| page-play-builder | Template-driven page plays — programmatic pages, parasite platforms, comparison pages, local/GBP. |
| ⛩ content-quality-auditor | 80-item CORE-EEAT publish-readiness gate (SHIP/FIX/BLOCK). |
| technical-seo-checker | Site speed, Core Web Vitals, indexing, crawlability, robots. |
| on-page-seo-checker | Audit page-level on-page health — headings, keyword placement, images, quality signals. |
| site-structure-optimizer | Internal links, anchor-text, orphan pages, page hierarchy, URL taxonomy, hub/spoke clusters. |
| ⛩ domain-authority-auditor | 40-item CITE domain-trust gate (TRUSTED/CAUTIOUS/UNTRUSTED). |
| rank-tracker | Track keyword rankings, position changes, and drops. |
| performance-monitor | Multi-metric SEO/GEO reports, dashboards, and threshold alerts. |
| offsite-signal-analyzer | Backlink profile + link quality, plus referral traffic from AI assistants in your own GA4/GSC/logs. |
Social — ECHO (16) · 📖 Discipline guide
Four phase directories under social/ (4 skills each) follow the ECHO loop; the gate (⛩ social-quality-auditor) sits in Host. Each run selects the asset gate or one program-maturity profile; those constructs are never combined. The discipline ships no posting, engagement, or DM automation of any kind.
| Skill | ECHO lever | What it does |
|---|---|---|
| channel-portfolio-planner | E | Pick the platform mix and per-channel role/cadence from where the audience actually is (records channels to the registry). |
| voice-dossier-builder | E | Brand voice, tone, persona, and do/don't lexicon for consistent human-sounding presence. |
| platform-norm-profiler | E | Per-platform norms, formats, ranking signals, and red-line rules before you post there. |
| participation-warmup-planner | E | Non-promotional community warm-up plan — where to show up and add value before selling. |
| social-calendar-builder | C | Editorial calendar — themes, series, cadence balanced to real capacity (no over-posting). |
| social-creative-builder | C | Platform-native posts (hook/body/CTA), message-matched and claims-ledger-aware. |
| short-video-scripter | C | Short-form video scripts — hook, beats, on-screen text, retention structure. |
| advocacy-program-designer | C | Employee/community advocacy program — opt-in, disclosure defaults, sharable asset kit. |
| ⛩ s |
No comments yet
Be the first to share your take.