120 marketing skills — brand narrative, SEO/GEO, influencer, paid ads, email, launch, social — on one contract.
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 → narrative-quality-auditor (NQS) |
/aaron-marketing:narrative |
| SEO/GEO | 16 | research → build → optimize → monitor | CORE-EEAT → content-quality-auditor · CITE → domain-authority-auditor |
/aaron-marketing:seo-geo |
| Influencer | 16 | discover → plan → activate → measure | C³ → content-reviewer (ART); fit-scorer scores ACE |
/aaron-marketing:influencer |
| Paid ads | 16 | research → orchestrate → activate → scale | ROAS → ad-account-auditor (RQS) |
/aaron-marketing:ad |
| 16 | setup → engage → nurture → deliver | SEND → email-quality-auditor (EQS) |
/aaron-marketing:email |
|
| Launch | 16 | research → assemble → mobilize → prove | RAMP → launch-readiness-auditor (LQS) |
/aaron-marketing:launch |
| Social | 16 | explore → craft → host → observe | ECHO → social-quality-auditor (SQS) |
/aaron-marketing:social |
| 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. Everything is plain Markdown — the only code is a Bash hook runner, a Bash validator, and zero-dependency Python-stdlib data helpers (no pip, no build step). Every skill runs at Tier 1 with nothing but data you paste in; connectors only automate retrieval.
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.
- 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
| 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. |
| Markdown, not a framework | Skills are content. The only executable code is hooks/claude-hook.sh (Bash), scripts/validate-skill.sh (Bash), and scripts/connectors/*.py (Python standard library only). Nothing to install, audit, or keep up to date. |
| 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. A PostToolUse hook validates every gated artifact before it lands. |
| Truth lives in registries | Canonical facts (brand entities, creator dossiers, offer/claim substantiation, per-subject consent) live in dedicated protocol-layer registries with sole-writer rules — gates judge against them instead of re-deriving them. |
| 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. |
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 aaron-<skill-name> (e.g. aaron-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).
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 --mode audit
/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.
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 / paid / email / launch / social / protocol) 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.
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 · C³ | 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 | — | 8 truth registries + memory · 8 auditor gates · one skill contract | — |
Narrative is the message; the channels are the mediums that express it — remove any one channel and the record is intact; remove Narrative and every channel speaks an unsourced, ungoverned message. Each channel inherits voice and claims from L1 the same way every creative builder already reads the claims ledger today. Each discipline's 4-phase loop lives inside its layer (Narrative = Trace → Architect → Land → Evaluate).
All seven use phase directories (narrative/trace/…, seo-geo/research/…, influencer/discover/…, ad/research/…, email/setup/…, launch/research/…, social/explore/…). Note "activate" means creator outreach for influencer but account-gating for paid ads — same word, discipline-specific scope.
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 | NQS = floor(goal-weighted mean) (arithmetic) | T1/A1/L1/E1 |
| CORE-EEAT | Content quality (GEO = CORE avg, SEO = EEAT avg) | 80 items / 8 dimensions | per-dimension averages | T04, C01, R10 |
| CITE | Domain authority & citation trust | 40 items / 4 dimensions | arithmetic weighted mean | T03, T05, T09 |
| C³ | Influencer Creator / Content / Campaign | ACE / ART / ROI · 9 dimensions | CVI = (ACE × ART × ROI)^⅓ (geometric) | ACE A2/C1/E2, ART T1/T2 |
| ROAS | Paid ads Return / Offer / Audience / Spend-efficiency | R / O / A / S | RQS = floor(goal-weighted mean) (arithmetic) | R1/R2/O1/O2/A1 |
| SEND | Email marketing Sender-integrity / Engagement / Nurture / Direct-response | S / E / N / D | EQS = floor(goal-weighted mean) (arithmetic) | S1/S2/N1/D1 |
| RAMP | Product launch Readiness / Assets / Momentum / Proof | R / A / M / P · 40 items | LQS = floor(goal-weighted mean) (arithmetic) | R1/A1/M1/P1 (framework-qualified — distinct from ROAS R1/A1) |
| ECHO | Organic social Embeddedness / Craft / Hosting / Observability | E / C / H / O | SQS = floor(goal-weighted mean) (arithmetic) | 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 writes a gated artifact (class: auditor-output) validated by the PostToolUse hook. Gates are workflow steps, so each lives in its discipline and is counted there:
| Gate | Framework | Lives in | Verdict |
|---|---|---|---|
| narrative-quality-auditor | TALE NQS | narrative/evaluate/ (narrative) |
SHIP / FIX / BLOCK before the narrative is adopted |
| content-quality-auditor | CORE-EEAT | seo-geo/optimize/ (SEO/GEO) |
SHIP / FIX / BLOCK before publishing |
| domain-authority-auditor | CITE | seo-geo/monitor/ (SEO/GEO) |
TRUSTED / CAUTIOUS / UNTRUSTED |
| content-reviewer | C³ ART | influencer/activate/ (influencer) |
APPROVED / REVISIONS / REJECTED before a creator post ships |
| 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 LQS | launch/mobilize/ (launch) |
SHIP / FIX / BLOCK before the launch moment is committed |
| social-quality-auditor | ECHO SQS | social/host/ (social) |
SHIP / FIX / BLOCK before publishing |
Shared cap chassis: a single veto caps the affected dimension and the overall at min(raw, 60); two or more vetoes → BLOCKED (no final score). Verdicts are translated to plain language (no item IDs in user-facing reports). Gate mechanics — handoff schema, cap arithmetic, artifact-gate checklist — are specified once in auditor-runbook.md, and the arithmetic of all eight frameworks is locked by a deterministic golden test (see Quality guards).
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 store |
|---|---|---|---|
| entity-optimizer | Canonical brand/entity profile (Knowledge Graph, Wikidata, AI disambiguation) | SEO/GEO | memory/entities/ |
| creator-registry | Canonical creator roster/dossier — deduped handles, provenance-labeled audience stats, rates, compliance history | influencer | memory/creators/ |
| offer-claims-registry | Offer & claim-substantiation ledger — the record the O1/T2 claim checks are judged against | paid | memory/claims/ |
| consent-registry | Canonical per-subject consent/suppression record — the S2/N1 vetoes judge against it | memory/consent/ |
|
| launch-registry | Canonical launch dossier/calendar — tier, one-way lifecycle stage, authoritative dates/embargo, channel submission ledger; the launch truth SSOT the R1 stage-truth veto judges against | launch | memory/launch-registry/ |
| channel-registry | Canonical per-channel record — handles, ownership/authorization, platform norms, disclosure defaults; the channel truth SSOT the ECHO E1 channel-truth veto judges against | social | memory/channels/ |
| narrative-registry | Canonical brand-narrative canon — approved strategic narrative, message system, language/lexicon, proof points; the brand-canon SSOT the TALE T1 truth veto judges against | narrative | memory/narrative-registry/ |
| memory-management | HOT/WARM/COLD memory lifecycle (capture · promote · demote · archive · query) | all disciplines | memory/ |
The registries follow a sole-writer rule (other skills submit via candidates.md), 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 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, gated audit artifacts (memory/audits/), and the registries' canonical stores (memory/entities|creators|claims/). |
| COLD | memory/archive/ |
Demoted/older records, kept for recall. |
Hooks (hooks/hooks.json, runner hooks/claude-hook.sh) wire four Claude Code events:
| Event | Matcher | What it does |
|---|---|---|
SessionStart |
startup|resume|clear|compact |
Injects the sanitized hot-cache + an open-loops pointer (prompt-injection lines are redacted; symlinked caches are rejected). |
UserPromptSubmit |
(all) | Lightweight per-prompt context hook. |
PostToolUse |
Write|Edit |
Hot-cache size warning + the Artifact Gate: any file under memory/audits/ that declares class: auditor-output is validated against the handoff schema and cap fields, or the write is blocked. The eight auditor-class gates must declare that marker by contract; unmarked files are not auditor artifacts and pass through. |
Stop |
(all) | No-op (exits silently). |
The Artifact Gate is framework-agnostic — the same hook validates TALE, CORE-EEAT, CITE, C³, ROAS, SEND, RAMP, and ECHO artifacts with no per-framework code.
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.
Four phase directories under narrative/ (4 skills each) follow the TALE loop (Trace → Architect → Land → Evaluate); the gate (⛩ narrative-quality-auditor) sits in Evaluate. Only the gate computes the goal-weighted NQS — every other skill works one lever and hands off. 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.
Per-skill purpose (Narrative)
| 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 | T+A+L+E (NQS) | Auditor-class TALE gate: scores NQS, enforces T1/A1/L1/E1, emits SHIP/FIX/BLOCK; carries a narrative-adoption go/no-go mode. |
| 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.
Four phase directories (4 skills each) plus the discipline's two quality gates (marked ⛩).
| Phase | Skills |
|---|---|
| Research | keyword-research, competitor-analysis, serp-analysis, content-gap-analysis |
| Build | content-writer, geo-content-optimizer, serp-markup-builder, page-play-builder |
| Optimize | ⛩ content-quality-auditor, technical-seo-checker, on-page-seo-auditor, site-structure-optimizer |
| Monitor | ⛩ domain-authority-auditor, rank-tracker, performance-monitor, offsite-signal-analyzer |
Per-skill purpose (SEO/GEO)
| 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 | (merge: seo-content-writer + content-refresher) 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 | (merge: meta-tags-optimizer + schema-markup-generator) Title/meta/OG/Twitter tags plus JSON-LD / Schema.org structured data. |
| page-play-builder | (merge: programmatic + parasite + comparison + local SEO, 4 modes) 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-auditor | Audit page-level on-page health — headings, keyword placement, images, quality signals. |
| site-structure-optimizer | (merge: internal-linking-optimizer + site-architecture) 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 | (merge: performance-reporter + alert-manager) Multi-metric SEO/GEO reports, dashboards, and threshold alerts. |
| offsite-signal-analyzer | (merge: backlink-analyzer + ai-traffic) Backlink profile + link quality, plus referral traffic from AI assistants in your own GA4/GSC/logs. |
Four phase directories (4 skills each); the discipline's gate (⛩ content-reviewer) sits in Activate.
| Phase | Skills |
|---|---|
| Discover | audience-mapper, trend-spotter, influencer-discovery, fit-scorer |
| Plan | competitor-tracker, campaign-planner, brief-generator, budget-optimizer |
| Activate | outreach-manager, ⛩ content-reviewer, contract-helper, content-amplifier |
| Measure | landing-optimizer, performance-analyzer, roi-calculator, report-generator |
Per-skill purpose (Influencer)
| Skill | What it does |
|---|---|
| audience-mapper | (merge: audience-analyzer + niche-researcher) Profile the target audience and map its subculture / micro-community before partnering with creators. |
| trend-spotter | Campaign timing and themes — trending hashtags, sounds, formats, cultural moments. |
| influencer-discovery | Build a creator roster from scratch, expand to a new platform, source nano/micro at scale. |
| fit-scorer | Objective, weighted fit score for a shortlist (scored on C³ ACE). |
| competitor-tracker | A competitor's creators, campaigns, formats, estimated reach/spend, and gaps. |
| campaign-planner | Plan a campaign, product launch, tentpole, or always-on creator program. |
| brief-generator | Standardized influencer briefs and reusable team templates. |
| budget-optimizer | Allocate spend across tiers/platforms, project ROI, model scenarios (also serves paid-ads spend + bid-pacing). |
| outreach-manager | Pitch, follow-up cadence, re-engagement, rate negotiation, status tracking. |
| ⛩ content-reviewer | Pre-publish gate decision on a creator submission (C³ ART: FTC disclosure T1, claim integrity T2). |
| contract-helper | Draft/review creator agreements — usage rights, exclusivity, standard clauses. |
| content-amplifier | (merge: content-amplifier + ugc-repurposer) Extend organic creator content with paid spend and repurpose UGC across paid, web, email, and organic. |
| landing-optimizer | Landing pages for creator/paid traffic — message match, mobile, A/B (also serves paid post-click). |
| performance-analyzer | Evaluate creator results, compare creators, sentiment, conversions (also the paid cross-channel scorecard). |
| roi-calculator | Measure/project ROI, defend budgets, value creators/tiers (shared return-math engine, incl. paid). |
| report-generator | Written stakeholder reports after a period (also paid-ads reports). |
Four phase directories under ad/ (4 skills each) follow the ROAS loop; the gate (⛩ ad-account-auditor) sits in Activate. Only the gate computes the goal-weighted RQS — every other skill works one lever and hands off.
Per-skill purpose (Paid Ads)
| Skill | ROAS lever | What it does |
|---|---|---|
| campaign-architect | A + structure | Account/campaign structure, campaign-type fit, match types, negatives/exclusions, paid↔organic cannibalization; carries a recurring search-term-mining mode. |
| audience-segment-builder | A | Turns your own customer/CRM/GA4 export into seed audiences, lookalike seeds, exclusion segments, and a funnel-stage targeting map. |
| search-term-miner | A | (NEW) Mine the search-terms report for negatives, new keyword candidates, and match-type refinements. |
| product-feed-optimizer | O | (NEW) Shopping/PMax feed hygiene — titles, attributes, GTINs, category mapping, and disapproval fixes. |
| ad-creative-builder | O | RSA headlines/descriptions, hooks, and an angle matrix, message-matched to the destination page. |
| ad-test-designer | O (+S) | Design A/B/n & incrementality tests (hypothesis, variant matrix, sample size/power) and read out significance → promote/kill. |
| bid-strategy-planner | S | (NEW) Pick and configure bid strategy vs goal (tCPA/tROAS/max-conversions), seed targets, and plan learning-phase transitions. |
| landing-experience-checker | O | (NEW) Post-click page QA for ad relevance, load speed, mobile, and policy — the ad↔page message-match check. |
| ⛩ ad-account-auditor | R+O+A+S (RQS) | Auditor-class ROAS gate: scores RQS, enforces R1/R2/O1/O2/A1, emits SHIP/FIX/BLOCK; carries a launch go/no-go mode. |
| conversion-signal-qa | R | Pre-launch tracking QA (event firing, UTM hygiene, dedup gate, window alignment, iOS-ATT flags) — the R1/R2 prerequisite (builds the signal; the gate scores it). |
| placement-exclusion-manager | A | (NEW) Placement/audience exclusion lists — brand-safety blocks, junk-placement pruning, wasted-spend suppression. |
| conversion-value-mapper | R | (NEW) Map conversion actions to values/weights and value rules so tROAS bids on true margin, not raw counts. |
| paid-measurement-loop | R (+S) | Read one shipped change back against a control over a window → Promote / Keep-testing / Rollback / Unproven. |
| attribution-reconciler | R | Standing order-ID de-dup against the GA4/ecommerce truth set, window/currency normalization, model comparison, incrementality. |
| budget-pacing-monitor | S | (NEW) Track spend pace against budget over the flight, flag under/over-delivery, and recommend pacing corrections. |
| fatigue-frequency-manager | O | (NEW) Watch frequency and creative-decay signals, flag fatigued ads, and schedule refresh/rotation. |
Reused cross-discipline (counted in their home phases, not duplicated): budget-optimizer (spend + bid-pacing/learning-phase mode), landing-optimizer (post-click), roi-calculator (return math), report-generator, performance-analyzer.
Four phase directories under email/ (4 skills each) follow the SEND loop; the gate (⛩ email-quality-auditor) sits in Deliver. Only the gate computes the goal-weighted EQS — every other skill works one lever and hands off. Use-case-agnostic (B2C lifecycle / B2B cold outbound / newsletter-creator); the goal-weight column picks the emphasis.
Per-skill purpose (Email)
| Skill | SEND lever | What it does |
|---|---|---|
| deliverability-qa | S | Pre-flight SPF/DKIM/DMARC/BIMI auth, reputation, inbox-placement, spam-content, and list hygiene (the S1 check). |
| list-segment-builder | E | Behavioral + lifecycle-stage segments and suppression rules from your own list/CRM/GA4 export. |
| list-growth-designer | S (+N) | List-growth strategy — acquisition channels, lead-magnet concepts, a compliant opt-in capture-flow spec, and referral-loop mechanics; feeds S consent-quality captured at acquisition. |
| list-hygiene-monitor | S | (NEW) Ongoing list health — bounce/complaint pruning, sunset policies, re-permission, and inactive-segment suppression. |
| email-creative-builder | E (+D) | Subject/preheader/body/CTA, message-matched to the landing page, claims-ledger-aware. |
| subject-line-lab | E | (NEW) Subject/preheader ideation and scoring — length, spam-trigger, curiosity/clarity balance, variant sets for testing. |
| email-render-builder | E | (NEW) HTML email build/QA — client compatibility, dark-mode, accessibility, plain-text alt, and render-test checklist. |
| dynamic-content-personalizer | E | (NEW) Merge-tag/liquid personalization blocks, conditional content rules, and fallback-value safety. |
| email-sequence-designer | N | Lifecycle/automation flows (welcome, cart, post-purchase, win-back) + frequency governance. |
| newsletter-monetization-planner | D | Paid-sub, sponsorship inventory + rate card, and referral growth-loop economics. |
| preference-frequency-manager | N | (NEW) Preference-center design and send-frequency governance to cut fatigue and unsubscribes. |
| reactivation-specialist | N | (NEW) Win-back / re-engagement flows for dormant subscribers with sunset-or-recover decision rules. |
| ⛩ email-quality-auditor | S+E+N+D (EQS) | Auditor-class SEND gate: scores EQS, enforces S1/S2/N1/D1, emits SHIP/FIX/BLOCK; carries a pre-send go/no-go mode. |
| send-experiment-designer | E | A/B / send-time / hold-out design with sample-size + significance read (promote/kill). |
| inbox-placement-monitor | S | (NEW) Ongoing inbox-vs-spam placement tracking via seed lists and provider signals, with reputation-drift alerts. |
| cold-outbound-sequencer | D | (NEW) Compliant B2B cold-outbound cadences — deliverability-safe ramp, personalization tokens, and reply-handling steps. |
Reused cross-discipline (counted in their home phases, not duplicated): audience-mapper, landing-optimizer, roi-calculator, report-generator, performance-analyzer, offer-claims-registry.
Four phase directories under launch/ (4 skills each) follow the RAMP loop; the gate (⛩ launch-readiness-auditor) sits in Mobilize. Only the gate computes the goal-weighted LQS — every other skill works one lever and hands off. Use-case-agnostic (B2B SaaS sales-led / dev-tool community launch / mobile app-store launch); the goal-weight column picks the emphasis.
Per-skill purpose (Launch)
| Skill | RAMP lever | What it does |
|---|---|---|
| positioning-mapper | R | Dunford-style positioning canvas — named competitive alternatives, unique attributes, value themes, beachhead segment, onlyness statement. |
| launch-tier-planner | R | Tier decision (Tier 1 flagship / Tier 2 targeted / Tier 3 changelog-level), launch-type declaration, KPI targets, risk register with kill criteria. |
| launch-window-planner | R | Candidate-window comparison (conflicts / tailwinds / risk), launch-week vs rolling-release call, store-review buffer, embargo window definition. |
| early-access-designer | R | Waitlist→concept→alpha→beta→GA stage ladder with graduation criteria, cohort gating, feedback loop, referral mechanics (upstream of the R1 stage-truth veto). |
| message-house-builder | A | Message house (tagline, one-liner, value pillars, proof points) + working-backwards PR-FAQ spine + per-channel angle packs (upstream of A1). |
| launch-asset-packager | A | Tier-scoped launch asset manifest — press kit spec, demo/screenshot specs, launch FAQ, store-listing metadata, technical go-live checklist. |
| pricing-packaging-planner | A | Launch pricing & packaging — tier structure, value-to-price map, launch-offer ladder, beta pricing with graduation path, guarantee terms. |
| sales-enablement-kit | A | Internal enablement — battle cards, sales talk track, objection-handling table, internal FAQ + CS macros, embargo-disciplined internal announcement. |
| ⛩ launch-readiness-auditor | R+A+M+P (LQS) | Auditor-class RAMP gate: scores LQS, enforces R1/A1/M1/P1, emits SHIP/FIX/BLOCK; carries a T-1 go/no-go mode. |
| launch-day-conductor | M | Hour-blocked launch-day runbook — pre-conditions gate check, observation-window verdicts after irreversible pushes, P0–P3 incident ladder + rollback playbooks. |
| community-launch-runner | M | Per-platform submission packages (Product Hunt, Show HN, subreddits, directory waves, regional/Chinese channels) under a platform red-line check. |
| press-media-relations | M | Three-tier media/analyst list, embargo pitch timing, press-release draft in standard structure, analyst briefing outline. |
| launch-monitor | P | T-0→T+30 window watch — instrumentation verification (upstream of P1), rank/review/news polling, D0/W1/M1 KPI snapshots, spike-vs-sustain reads. |
| launch-feedback-synthesizer | P | Feedback theme digest, open→shipped status loop ("you asked, we shipped"), compliant social-proof harvest. |
| launch-retro-analyzer | P | D1/W1/M1 retro — per-channel actual-vs-target, 5-Whys on the largest miss, keep/kill/change decisions, outcome snapshot to the registry. |
| momentum-planner | P | T+1→T+30 momentum plan — launch-moment calendar, announcement-tier routing, relaunch legitimacy call, next Tier-1 moment. |
Reused cross-discipline (counted in their home phases, not duplicated): audience-mapper, trend-spotter, budget-optimizer, landing-optimizer, campaign-planner, outreach-manager, content-amplifier, email-creative-builder / email-sequence-designer / cold-outbound-sequencer, campaign-architect / ad-creative-builder, page-play-builder / content-writer, technical-seo-checker / serp-markup-builder, performance-monitor, keyword-research, entity-optimizer, offer-claims-registry, consent-registry, list-growth-designer, roi-calculator / performance-analyzer / report-generator — see ramp-benchmark.md.
Four phase directories under social/ (4 skills each) follow the ECHO loop; the gate (⛩ social-quality-auditor) sits in Host. Only the gate computes the goal-weighted SQS — every other skill works one lever and hands off. Use-case-agnostic (community/dev-tool / B2C brand / B2B founder-led); the goal-weight column picks the emphasis. The discipline ships no posting, engagement, or DM automation of any kind.
Per-skill purpose (Social)
| 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. |
| ⛩ social-quality-auditor | E+C+H+O (SQS) | Auditor-class ECHO gate: scores SQS, enforces E1/C1/C2/H1/H2/O1, emits SHIP/FIX/BLOCK; carries a pre-publish go/no-go mode. |
| engagement-inbox-manager | H | Reply/comment/DM triage playbook — response tiers, escalation, genuine-engagement discipline (no manufactured/baited engagement). |
| social-selling-planner | H | Founder/team social-selling motion — relationship-first outreach, no automated DMs. |
| crisis-response-planner | H | Pre-drafted crisis tiers, holding statements, escalation ladder, and pause-the-queue triggers. |
| social-pulse-monitor | O | Mentions/sentiment/topic pulse from keyless sources, spike-vs-sustain reads (proxy data labeled). |
| share-of-voice-tracker | O | Share-of-voice vs named competitors over a period-stable denominator. |
| dark-social-attributor | O | Attribute dark-social/unlinked traffic — UTM discipline, self-reported-attribution capture, referral parsing. |
| social-measurement-loop | O | Read one shipped change back against a baseline over a window → Promote / Keep-testing / Rollback. |
Reused cross-discipline (counted in their home phases, not duplicated): trend-spotter, audience-mapper, content-amplifier, outreach-manager, competitor-tracker, landing-optimizer, performance-analyzer, roi-calculator, report-generator, offer-claims-registry, community-launch-runner, creator-registry, page-play-builder, memory-management — see echo-benchmark.md.
The shared truth & memory machinery — see Architecture § The protocol layer for roles and sole-writer rules.
| Group | Skills |
|---|---|
| Protocol | entity-optimizer, creator-registry, offer-claims-registry, consent-registry, launch-registry, channel-registry, narrative-registry, memory-management |
Per-skill purpose (Protocol)
| Skill | What it does |
|---|---|
| entity-optimizer | Canonical entity profile for Knowledge Graph, Wikidata, AI disambiguation. |
| creator-registry | Canonical creator roster/dossier — deduped handles, provenance-labeled audience stats, rates, compliance history. |
| offer-claims-registry | Canonical offer & claim-substantiation ledger — the record the O1/T2 claim checks are judged against. |
| consent-registry | Canonical per-subject consent/suppression record — opt-in timestamp + lawful basis, double-opt-in proof, append-only unsub/bounce/complaint history; the record the S2/N1 vetoes judge against. |
| launch-registry | Canonical per-launch dossier + launch calendar — tier, launch type, one-way lifecycle stage (draft→…→GA), authoritative dates + embargo commitments, channel submission ledger, outcome snapshot; the launch truth SSOT. |
| channel-registry | Canonical per-channel record — handles, ownership/authorization, platform norms, disclosure defaults; the channel truth SSOT the ECHO E1 channel-truth veto judges against. |
| narrative-registry | Canonical brand-narrative canon — approved strategic narrative, message system, language/lexicon, proof points; the brand-canon SSOT the TALE T1 truth veto judges against. |
| memory-management | Review, promote, demote, and archive HOT/WARM/COLD project memory. |
Eight commands: /aaron-marketing:auto routes any goal across all seven disciplines, and each discipline has exactly one explicit entrypoint. Source: commands/.
| Command | Use it for | Narrowing |
|---|---|---|
/aaron-marketing:auto |
Describe any goal — infers intent and runs the smallest useful workflow | --deep (exhaustive / stress-test) |
/aaron-marketing:narrative |
Brand narrative (TALE loop): trace the current story & category, architect the strategic narrative & message system, land it across channels, the quality gate, resonance & drift | --phase trace|architect|land|evaluate |
/aaron-marketing:seo-geo |
SEO/GEO end-to-end: research demand/competitors, create content, audit quality/tech/visibility/authority, track rankings/reports/memory | --mode research|create|audit|track + per-mode flags (--competitors --map · --brief --series --refresh --publish --meta --schema --type · --full --tech --visibility --authority · --alert --report --remember --period) |
/aaron-marketing:influencer |
Influencer: audience insight, discovery & fit, planning, outreach, amplification, ROI | --phase discover|plan|activate|measure |
/aaron-marketing:ad |
Paid ads (ROAS loop): segments, structure, creative, experiment design, the audit gate, measurement | --phase research|orchestrate|activate|scale |
/aaron-marketing:email |
Email (SEND loop): deliverability/consent, segmentation, creative, lifecycle flows, monetization, send-testing, the audit gate | --phase setup|engage|nurture|deliver |
/aaron-marketing:launch |
Product launch (RAMP loop): positioning, tier & window, message house & assets, the readiness gate, launch-day run, monitoring & retro | --phase research|assemble|mobilize|prove |
/aaron-marketing:social |
Organic social (ECHO loop): channel portfolio & voice, calendar & creative, the quality gate, engagement/crisis hosting, pulse & measurement | --phase explore|craft|host|observe |
Daily work normally starts with /aaron-marketing:auto; the other seven are explicit discipline entrypoints, with --mode / --phase to narrow the stage.
Rename note: commands use the /aaron-marketing: prefix. The former research / create / audit / track commands are now modes of /aaron-marketing:seo-geo (flags unchanged). Older /seo:* and /aaron-seo-geo:* names recover via auto — e.g. /aaron-marketing:auto /aaron-seo-geo:audit https://example.com/blog/post returns /aaron-marketing:seo-geo https://example.com/blog/post --mode audit.
Skills name tools with ~~category placeholders (~~SEO tool, ~~web analytics, ~~ad platform, ~~email platform, …) instead of specific vendors, and every category has a keyless Tier-1 path. Full recipes — including the free/first-party endpoint for each category — are in CONNECTORS.md.
100+ documented integration paths across three engineered layers — and every one of them earns its place:
| Layer | What you get |
|---|---|
| 21 bundled zero-dependency connectors | Pure Python stdlib — no pip, no build step. Keyless live SERP + JS-rendered scraping (Firecrawl, Tavily), an AI-answer citation probe, DNS-over-HTTPS email-auth pulls, Wikipedia attention series, GDELT news mentions, real YouTube creator metrics, IndexNow + Baidu index push, Resend ESP automation, and a git-diffable measurement ledger that turns any of them into a before/after time series. |
| 60+ documented official/free APIs | Every row links the vendor's official documentation, carries a verified-on date, and every link is HTTP-checked before it ships. Includes the paths most tool lists miss: GSC URL Inspection, CrUX History (40 weeks of field CWV), the Gmail Postmaster Tools API, Meta's Ad Library, Microsoft Clarity's Data Export API. |
| Vendor MCP servers | 18 remote endpoints catalogued (never auto-registered — your /mcp list stays clean) plus the official self-hosted servers for Google Analytics, Search Console, Google Ads, and Microsoft Clarity. Two remote MCPs work with no key at all (Firecrawl, Tavily). |
What makes them trustworthy rather than just numerous:
- Three safety classes, engineered gates (SECURITY.md): hosted fetchers run a local robots.txt pre-flight before every delegated fetch and refuse on Disallow; anything that mutates external state (email sends, index pushes) is dry-run by default behind an explicit
--liveflag, with idempotency keys where the vendor supports them and no auto-retry where it doesn't. - Verified, then re-verified: endpoints are checked against primary vendor docs with dates, keyless paths are live-tested, a CI guard enforces version/tracking sync, and a pre-release live smoke catches endpoint drift (it has already caught real API changes — twice).
- Facts, not verdicts: connectors report record presence, parsed tags, and raw series; the auditor gates do the judging, and skills label every number Measured / User-provided / Estimated.
- A written playbook (docs/connector-playbook.md) governs every addition — qualify, verify, implement, test, wire, document, track, regress, record — so quality holds as the catalog grows.
| Tier | Requires | You get |
|---|---|---|
| Tier 1 (default) | Nothing | Paste data, or pull it from free/public sources. The full analysis framework runs either way. |
| Tier 2 | One free first-party API or MCP | Automatic retrieval of your own GSC / GA4 / Core Web Vitals data. |
| Tier 3 | A fuller MCP set | Fully automated multi-source workflows. |
- Bundled zero-dependency helpers under
scripts/connectors/(Python stdlib only) pull public/own data locally — e.g. PageSpeed/CrUX, Open PageRank, page crawl, Wayback CDX, Wikidata SPARQL, Common Crawl, advertools recipes — plusresend.py, direct Resend ESP automation for the email skills (free-tier key: domain-auth status, seed-test sends, suppression sync, broadcast scheduling; mutating subcommands dry-run by default and require--live), andfirecrawl.py+tavily.py, keyless hosted-fetcher automation for the research skills (Firecrawl: live web SERP + JS-rendered page markdown + site maps; Tavily: scored search + an AI answer engine's cited-sources probe for GEO + URL extract — both free with no key at all, both with a local robots.txt pre-flight built in). - Free/keyless sources documented per category: Google Search Console & GA4 (own data), PageSpeed/CrUX, Wikidata, Common Crawl, Open PageRank, Firecrawl keyless SERP/scrape, Tavily keyless AI-search, DNS-over-HTTPS email-auth records (
doh.py), Wikipedia attention series (pageviews.py), GDELT news mentions (gdelt.py), YouTube creator metrics on a free key (youtube.py), IndexNow + Baidu index push (indexpush.py, dry-run gated), the ad-transparency libraries (Meta/Google/TikTok), and recipe rows for crt.sh, the W3C validator, oEmbed, and HN Algolia. - Opt-in MCP servers (Ahrefs, Semrush, SE Ranking, SISTRIX, SimilarWeb, the self-hosted free OpenSEO suite, Cloudflare, Vercel, HubSpot, Amplitude, Notion, Webflow, Sanity, Contentful, Slack, Resend, the keyless Firecrawl and Tavily) are catalogued in
docs/mcp-catalog.jsonas a copy-paste reference only — the catalog sits outside the auto-registered plugin-root.mcp.jsonpath, so nothing is registered for you. Copy the entries you want into your own MCP config.
Paid-ads skills score from your own-account manual export (native ad-manager CSV, GA4, ecommerce). Keyed ad-platform APIs (Google Ads SDK, Meta Marketing API) are opt-in Tier-2/3 only and never a Tier-1 requirement. Email skills score the same way — from your own ESP export — and every deliverability signal is keyless (DNS lookups, a DMARC RUA report, and a seed-list inbox test), so a keyed ESP API is never a Tier-1 requirement either; when Resend is your ESP, the bundled resend.py automates the same loop on the free tier.
SEO/GEO
- Research —
keyword-research→competitor-analysis→content-gap-analysis - Build —
content-writer→geo-content-optimizer→serp-markup-builder/page-play-builder - Optimize —
content-quality-auditor(⛩ publish gate) →on-page-seo-auditor→technical-seo-checker→site-structure-optimizer - Monitor —
rank-tracker→performance-monitor→offsite-signal-analyzer;domain-authority-auditor(⛩) for the trust review
Influencer
- Discover —
audience-mapper→trend-spotter→influencer-discovery→fit-scorer(C³ ACE) - Plan —
competitor-tracker→campaign-planner→brief-generator→budget-optimizer - Activate —
outreach-manager→content-reviewer(⛩ ART gate) →contract-helper→content-amplifier - Measure —
landing-optimizer→performance-analyzer→roi-calculator→report-generator
Paid Ads (ROAS loop)
- Research —
audience-segment-builder→campaign-architect - Orchestrate —
ad-creative-builder→ad-test-designer(+landing-optimizerfor the page) - Activate —
conversion-signal-qa→ad-account-auditor(⛩ RQS gate) before any budget goes live - Scale —
paid-measurement-loop→attribution-reconciler→roi-calculator→report-generator
Email (SEND loop)
- Setup —
deliverability-qa→list-segment-builder - Engage —
email-creative-builder - Nurture —
email-sequence-designer→newsletter-monetization-planner - Deliver —
send-experiment-designer→email-quality-auditor(⛩ EQS gate) before send
For a full trust review, pair content-quality-auditor with domain-authority-auditor for a combined 120-item assessment. With memory-management active, handoffs and open loops persist in HOT/WARM/COLD memory automatically.
narrative/{trace,architect,land,evaluate}/ # Narrative — TALE (16, incl. its gate)
seo-geo/{research,build,optimize,monitor}/ # SEO/GEO (16, incl. its 2 gates)
influencer/{discover,plan,activate,measure}/ # Influencer (16, incl. its gate)
ad/research|orchestrate|activate|scale/ # Paid Ads — ROAS (16, incl. its gate)
email/setup|engage|nurture|deliver/ # Email — SEND (16, incl. its gate)
launch/research|assemble|mobilize|prove/ # Launch — RAMP (16, incl. its gate)
social/explore|craft|host|observe/ # Social — ECHO (16, incl. its gate)
protocol/ # Protocol layer (8) — truth registries + memory
commands/ # 8 slash commands (auto, narrative, seo-geo, influencer, ad, email, launch, social)
references/ # shared contract, state model, the 8 benchmarks, auditor runbook, platform packs
evals/ # per-skill structural eval cases + structure-manifest.json
hooks/ # hooks.json + claude-hook.sh (the only runtime logic)
scripts/ # validate-skill.sh + connectors/ (stdlib) + CI guards
memory/ # HOT/WARM/COLD scaffolding + registry stores (entities/creators/claims/consent/launch/channels/narrative-registry)
docs/ # localized README (zh)
.claude-plugin/ # plugin.json + marketplace.json mirror
- Skills are content. The only code is the Bash validator, the Bash hook runner, and zero-dependency Python-stdlib connector/check helpers. No third-party /
pipdependencies, ever — enforced by a dependency-creep guard. - Keyless first. Every
~~categoryhas a free/own-data recipe; MCP and paid tools are pure convenience. - Surgical & MECE. Each skill owns one job with a crisp scope boundary; overlapping work ships as a mode of an existing skill rather than a new thin skill. Registries curate, gates judge, analyzers feed gates.
- No invented numbers. Skills label every figure Measured / User-provided / Estimated and ship an AI-slop / banned-phrase detector.
- Compliance is guidance, not law. FTC-disclosure and claim-integrity checks flag risk; they are not legal advice.
Every change runs against a set of fail-closed guards (all in scripts/ and tests/):
| Guard | Checks |
|---|---|
validate-skill.sh |
Frontmatter, required sections, version consistency, plugin-relative links across all 120 skills. |
golden-auditor-math.py |
Deterministic weight-sum + worked-example arithmetic for all eight frameworks. |
check-evals.py |
Eval structural lint + structure-manifest.json (120/120 skills carry eval cases). |
check-pii.py |
Blocks committed secrets / PII (token-level allowlist, fail-closed). |
check-stdlib-only.sh |
Dependency-creep guard + the Paid-Ads keyed-API red line. |
check-versions.sh |
Version-sync guard: bundle version identical across plugin.json / both marketplace mirrors / both README badges / CLAUDE.md / VERSIONS.md release line + changelog entry, and every SKILL.md version matches its VERSIONS.md row. |
tests/test_connectors_local.py |
Offline unit tests for every connector's pure request-builders (no network in CI). |
tests/test_hook_artifact_gate.sh |
Behavior tests for the hook's Artifact Gate + SessionStart sanitization. |
Live endpoint drift is covered separately by the manual scripts/connectors/smoke-live.sh — one minimal real call per hosted connector with shape assertions (rate-limit answers count as SKIP); run it before a release, never in CI.
- CONTRIBUTING.md — authoring rules, the contribution checklist, and the authoritative 8-file tracking list.
- VERSIONS.md — per-skill versions + changelog (current bundle:
16.0.2). - SECURITY.md · PRIVACY.md · CODE_OF_CONDUCT.md — security, privacy, and community policy.
- CLAUDE.md / AGENTS.md — agent-facing context for this repo.
These skills assist brand-narrative, SEO/GEO, influencer-marketing, paid-ads, email-marketing, product-launch, and organic-social workflows but do not guarantee rankings, AI citations, traffic, engagement, conversions, ROAS, deliverability, or business outcomes. Influencer-, ad-, email-, and social-compliance checks (FTC disclosure, claim integrity, platform policy, consent/opt-in, material-connection disclosure) are guidance, not legal advice. Verify recommendations with qualified professionals before relying on them for major strategy, financial, or legal decisions.
Apache License 2.0 — see LICENSE.