Compare commits

..

190 Commits

Author SHA1 Message Date
Corey Haines 7f4af1ea8e Merge pull request #343 from coreyhaines31/development
Fold into v2.3.0: add budget, growth, and team frameworks to marketing-plan
2026-05-29 15:10:13 -07:00
Corey Haines 3c6b8928fc Merge pull request #342 from coreyhaines31/chore/expand-v2.3.0-release-notes-with-budget-growth-team
chore: expand v2.3.0 release notes with budget/growth/team frameworks
2026-05-29 15:09:27 -07:00
Corey Haines 8dd104c6c1 chore: expand v2.3.0 release notes with budget/growth/team frameworks
The budget-planning, growth-patterns, and team-and-agency-model
reference files were intended to ship with the original v2.3.0
release but were added in a follow-up PR (#341). Updating the
v2.3.0 release notes paragraph in VERSIONS.md so the published
v2.3.0 description matches what the release actually contains
when the tag is moved to include the follow-up content.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 15:09:12 -07:00
Corey Haines 88414ceeba Merge pull request #341 from coreyhaines31/feature/marketing-plan-budget-growth-team
feat(marketing-plan): add budget, growth, and team frameworks (1.0.0 → 1.1.0)
2026-05-29 15:06:55 -07:00
Corey Haines 27f06a2b7b feat(marketing-plan): add budget, growth-patterns, and team-and-agency-model reference docs
Three new substantive frameworks integrated from Founding Marketing
(Corey Haines book) into the marketing-plan skill. Bumps
marketing-plan from 1.0.0 to 1.1.0.

New reference files:

- references/budget-planning.md (168 lines) — two scientific methods
  for setting the marketing budget: Method 1 Revenue-Based (5-40% of
  ARR with conservative/standard/aggressive postures) and Method 2
  Goal-Based (formula: [(New ARR / (ARPC * 12)) * CAC] / annual
  retention rate). Includes the 3-3-2-2-2 VC growth path (3x in years
  1-2, 2x in years 3-7 from $1M ARR), the 10-20% experimental buffer
  rule, blended CAC calculation (must include salaries, content,
  tools, retainers - not just paid spend), and the forecasting reality
  check (no startup under $100M ARR reliably hits monthly forecasts).

- references/growth-patterns.md (148 lines) — the real shape of SaaS
  growth. Phase identification ($0-10K, $10K-100K, $100K-1M, $1M+)
  with binding constraints per phase. Linear vs step-function vs
  layered S-curve growth patterns. Channel x Product x Market S-curve
  layering principle (start the next curve before the current one
  plateaus). Includes the "long slow SaaS ramp of death" framing and
  the case against the exponential-growth myth.

- references/team-and-agency-model.md (278 lines) — strategy
  in-house, execution outsourced principle. Three core marketing
  functions (Growth = demand engine, Product = story engine, Content
  = trust engine). pi-shaped marketer framework (vs T-shaped) with
  high-leverage skill-set combinations. Title progression (Manager
  -> Lead -> Director -> VP -> Chief) — don't inflate the first hire.
  Agency selection framework (Individual contractors / Small niche /
  Small generalist). Three-stage scaling model (Early / Growth /
  Scale) with internal-vs-external ratio guidance.

Enhanced existing files to wire in the new frameworks:

- SKILL.md (244 -> 270 lines) — new sections "Setting the budget
  scientifically," "Growth patterns," "Team and agency model" with
  pointers to the new reference docs. Expanded "What every plan must
  customize" from 7 items to 9 (added unit economics + phase of
  growth). Description still 949 chars (under 1024).

- references/funding-stage-unlocks.md — Related docs pointer block.

- references/measurement-framework.md — Related docs pointer block,
  new "Anchoring against the VC growth path" section, new
  "Forecasting reality check" section.

- references/methodology.md — Intake 5 (Team) now probes for
  pi-shaped vs T-shaped vs tactical-only marketing owner. Intake 6
  (Budget) now probes for blended CAC, ARPC, retention rate.

- references/plan-template.md — Section 3 adds Phase of SaaS Growth.
  Section 8 adds required unit economics table. Section 10 adds
  budget-method framing block at top + per-quarter S-curve position
  field. Section 11 adds RACI table mapping the three core functions
  to internal-owner and external-executor.

Total new content: ~600 lines across three new reference docs plus
~120 lines of integration edits. SKILL.md remains well under the
500-line convention (270).

Validates: 43/43 skills pass validate-skills.sh.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 15:04:15 -07:00
Corey Haines 4286bbdc23 Merge pull request #338 from coreyhaines31/development
hotfix: drop CF audit-marketing reference from v2.3.0 release notes (VERSIONS.md)
2026-05-29 13:36:00 -07:00
Corey Haines ed63ccd0eb Merge pull request #337 from coreyhaines31/fix/versions-md-strip-internal-skill-ref
fix(versions): drop CF audit-marketing reference from v2.3.0 release notes
2026-05-29 13:25:13 -07:00
Corey Haines 3f4b4ffeb5 fix(versions): drop CF audit-marketing reference from v2.3.0 release notes
Marketplace install verification turned up one remaining reference to
the internal-only `audit-marketing` skill in VERSIONS.md release notes
for v2.3.0 — the strip sweep in PR #335 only covered skills/marketing-plan/.

The release notes described the rubric as "mapping CF audit-marketing
17-section rubric" — that's inaccurate now (the rubric is self-contained,
not a mapping of the external skill) and leaks the internal skill name.

Rewrote to "self-contained 17-section scoring rubric."

Repo-wide sweep confirms zero remaining references.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 13:24:52 -07:00
Corey Haines d9987d25c3 Merge pull request #336 from coreyhaines31/chore/sync-development-readme-post-v2.3.0
chore: sync development with README auto-commit from main (post-v2.3.0)
2026-05-29 13:21:28 -07:00
coreyhaines31 0b83502e5e chore: sync skills with marketplace.json, plugin.json, and README 2026-05-29 19:59:40 +00:00
Corey Haines 6441f8c067 Merge pull request #334 from coreyhaines31/development
Release v2.3.0: marketing-plan skill (AARRR-structured fCMO plan generator)
2026-05-29 12:59:28 -07:00
Corey Haines a6811561b7 Merge pull request #335 from coreyhaines31/fix/marketing-plan-strip-internal-skill-refs
fix(marketing-plan): strip internal-skill refs + add evals + reverse cross-refs
2026-05-29 12:58:00 -07:00
Corey Haines e57899f2d5 fix(marketing-plan): rename research.md template section to current-state rubric
Sweep missed one heading in the research.md template embedded in
methodology.md — "## Audit-marketing scores" was a section the
planner uses to capture rubric output in research.md. Renamed to
"## Current-state rubric scores" and pointed at the embedded rubric.

Surfaced during /review on the fix branch.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 12:56:31 -07:00
Corey Haines 1300f2ad4d feat: add reverse cross-references from marketing-ideas and customer-research to marketing-plan
The marketing-plan skill references both heavily — Section 12 of every
plan cross-references all 139 marketing-ideas, and Section 2 (Strategic
frame) builds on customer-research output. Adding the reverse pointers
so users browsing those skills can discover the comprehensive-plan
deliverable.

Not adding to product-marketing because it has no Related Skills
section to extend.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 12:43:52 -07:00
Corey Haines b02566d7b1 feat(marketing-plan): add evals.json for parity with other 42 skills
Marketing-plan was the only skill in the repo without an evals/
directory. Added 6 representative evals covering:

1. Standard fCMO engagement (Series A B2B SaaS) — happy path 13-section plan
2. Pre-seed bootstrapped — Tier 1 budget profile, funding-stage unlocks
3. Existing audit ingestion — don't re-score, use prior output
4. Resumable workflow — state machine, ~/marketing-plans/{slug}/progress.md
5. Hybrid hardware+software archetype — client-types.md variations
6. "Quick plan" pushback — resist short-plan request, recommend channel skill

Total skills with evals: 43/43.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 12:43:43 -07:00
Corey Haines fb2fff94eb fix(marketing-plan): strip references to internal-only audit-marketing and positioning skills
The marketing-plan skill was authored in an environment where the
internal `audit-marketing` and `positioning` skills (cf-skills repo,
not publicly installable) were available. Public users of this skill
would see 27 references to a skill they cannot install, plus an
explicit private-repo path.

Sweep across 7 files:

- `SKILL.md` frontmatter description rewritten to drop "see audit-marketing"
  and "see positioning"; replaced positioning reference with
  product-marketing (its public-skill equivalent for foundational
  positioning/ICP/voice capture)
- `SKILL.md` body: "Cross-references" and "Related skills" sections
  reorganized around skills that actually live in this repo
- `methodology.md` Step 1.5 rewritten — instead of "offer to run
  /audit-marketing," it now describes scoring from materials or
  ingesting a separately scored audit
- `current-state-rubric.md` intro rewritten — the rubric is now the
  source of truth for Section 3, not a derivative of audit-marketing.
  Removed cf-skills repo path. Removed the "Path A vs Path B" framing.
- `plan-template.md`, `ops-stack-mapping.md`, `client-types.md`,
  `example-quietude.md` updated to remove `audit-marketing` and
  `positioning` from skill lists

The rubric content itself (17 sections with scoring guides) was already
embedded in current-state-rubric.md, so external users have everything
they need to execute Section 3 of the plan.

validate-skills.sh: 43/43 passing. Description still 949 chars.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 12:42:09 -07:00
Corey Haines 8ced1fc9ef Merge pull request #331 from coreyhaines31/feature/plan-skill
feat: add `marketing-plan` skill — comprehensive AARRR marketing plan generator
2026-05-29 12:15:35 -07:00
Corey Haines 54c29da8ab fix(marketing-plan): close remaining anonymization leaks in example
Earlier sweep (f8ac011) missed three real-brand instances and several
real partner/venue names. Surfaced during PR #331 review.

- `olo` (original brand name surviving as a repo name) ->
  `quietude-app` to match the other quietude-* repos in the example
- `EHA` (real venue) -> `Aurora`
- `Moonrise`, `Alchemy Springs` (real partner venues) -> `Lumen`, `Stillwater`
- `€257K` (suspiciously precise contract value tied to anonymized partner) ->
  `~€250K` so the teaching value of "B2B install size" stays while the
  identifying precision drops

Funnel numbers, $430K/install economics, budget shape, and structural
lessons preserved per the example file disclaimer.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 12:09:39 -07:00
Corey Haines f8ac011df5 fix(marketing-plan): anonymize Olo reference example and sweep all leaks
Replaces all client-identifying details in the canonical example and
6 other reference files. Numbers and structural lessons preserved so
the example retains its teaching value.

Anonymizations applied:
- Client: Olo to Quietude (incl. all olo.app/space/audio/center domains)
- Team: Markus to Alex, Catarina to Sam, Corey Haines to Casey Reed,
  Shariq to Devon
- Product: Ona (AI) to Mira
- Repos: olo-* and Olo-Space/* to quietude-* and Quietude-Inc/*
- Endorser/investor specifics: Bryan Johnson to longevity-influencer
  (generic), Mark Pincus + OpenAI angels to consumer-tech angels,
  Andre Hurd/Daybreakers to partner-event-business
- Journal: Psychophysiology study to peer-reviewed psychophysiology study
- Substack: Coffee with Catarina to Sams newsletter

Other changes:
- Renamed references/example-olo.md to references/example-quietude.md
- Updated disclaimer at top of example to explain anonymization
- Updated VERSIONS.md changelog and plan-template.md reference
- Fixed an earlier blockquote that broke the AARRR table layout

Verified zero remaining identifying refs across all marketing-plan files.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 10:19:12 -07:00
Corey Haines bc9522e750 fix(marketing-plan): address review findings from codex + local audit
Resolves 12 issues found during comprehensive review:

Spec compliance:
- Trim description from 1025 to 963 chars (was over 1024 limit)
- Drop non-standard top-level version field (VERSIONS.md tracks repo-wide)

Cross-marketplace clarity:
- Note that audit-marketing/positioning live in adjacent cf-skills repo
- Document optional external skills in ops-stack-mapping (typefully, etc.)

Idea cross-reference fixes:
- Correct Activation count (7 -> 8) and Acquisition count (88 -> 116)
- Rename "ideas" to "entries" for accurate row vs unique-idea distinction
- Add "How to read this doc" legend explaining 139 unique / 144 entries
- Remove #86 Lifetime Deals from Revenue (off-brand, kept in Skip note)
- Replace machine-local ~/.claude paths with repo-relative references

AARRR consistency:
- Move signups from Acquisition to Activation per signup boundary rule
- Add explicit signup-intent vs signup-completion distinction

Resumption + state model:
- Define progress.md schema (phase, current_section, plan_version, etc.)
- Replace ambiguous resume condition with explicit decision tree
- Protect finalized plans from silent overwrite (terminal state check)
- Mandate sections/01..13.md as canonical persisted artifacts
- Codify draft order (2..13 then 1, present 1..13)
- Align file layout in SKILL.md with methodology.md

Other:
- Add ## 1. Executive summary header to example-olo.md (was missing)
- Reconcile budget tier numbers ($5-15K canonical, was $5-10K elsewhere)
- Soften verification check to allow documented external skills

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 18:52:08 -07:00
Corey Haines 0c166511c8 refactor: rename plan skill to marketing-plan
Avoids name collision with Claude Codes built-in Plan agent and matches
existing repo naming patterns (marketing-ideas, audit-marketing).

- Renames skills/plan/ to skills/marketing-plan/
- Updates name field and slash-command references in SKILL.md
- Updates canonical example reference in example-olo.md
- Updates VERSIONS.md row and changelog entry

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 18:30:49 -07:00
Corey Haines ec31133ad9 feat: add plan skill — comprehensive AARRR marketing plan generator
A new skill (`/plan {client-name}`) that produces an exhaustive 13-section
Notion-paste-ready marketing plan structured by AARRR (Acquisition,
Activation, Retention, Referral, Revenue), customized to the client's
current budget, team, stage, and tooling stack, mapped to future
funding-stage capability unlocks.

Three-phase workflow:
- INIT: research + structured 10-topic intake; pulls data from wired
  MCPs (Ahrefs, GA4, Stripe, Customer.io, etc.); offers to run
  /audit-marketing first
- REVIEW: section-by-section interactive draft with user confirmation
  on each of the 13 sections; resumable across sessions
- FINALIZE: compile, verification pass (cross-references, machine paths,
  brand voice), and optional publish to a shared GitHub repo

The 13 sections:
1. Executive summary
2. Strategic frame
3. Current state (scored against the 17-section audit-marketing rubric)
4. Acquisition
5. Activation
6. Retention
7. Referral
8. Revenue
9. 90-day roadmap (AARRR-tagged, owner-assigned)
10. 12-month outlook (with funding-stage milestones)
11. Marketing operations stack (skills + MCPs per AARRR stage)
12. Tactical idea bank (all 139 ideas from `marketing-ideas` mapped to
    AARRR + client-specific status: Now / Q2 / Q3+ / Q4+ / Skip)
13. Measurement, RACI, open decisions, appendix

References:
- methodology.md — full three-phase workflow
- plan-template.md — 13-section template with per-section guidance
- aarrr-framework.md — AARRR primer + diagnostic rules for which stage
  is the binding constraint
- current-state-rubric.md — 17-section audit-marketing rubric mapped
  to AARRR
- ops-stack-mapping.md — all 26+ marketing skills + MCP/API integrations
  mapped to AARRR stages
- idea-cross-reference.md — all 139 marketing-ideas mapped to AARRR
  with timing defaults
- funding-stage-unlocks.md — 5 standard funding tiers (pre-seed through
  Series B+) with budget profiles and capability unlocks
- measurement-framework.md — north-star patterns by business model,
  leading indicators by AARRR stage, review cadence
- client-types.md — variations by client archetype (B2B SaaS, D2C
  consumer app, hybrid hardware+software, marketplace, dev tool,
  deep-tech/clinical, commerce)
- example-olo.md — canonical reference plan from a real fCMO engagement

Updates:
- plugin.json + marketplace.json bumped to 2.3.0
- marketplace description updated to 43 skills
- VERSIONS.md entry added

Total skills: 43.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 17:38:31 -07:00
Corey Haines 692b76118c Merge pull request #328 from coreyhaines31/development
Release v2.2.0: prospecting skill + ads RSA spec + plugin.json fix + community PRs
2026-05-26 11:22:42 -07:00
Corey Haines b69b236246 Merge pull request #327 from coreyhaines31/chore/sync-main-pre-v2.2.0
chore: sync development with vendor PRs landed on main (pre-v2.2.0)
2026-05-26 11:21:45 -07:00
Corey Haines a10be10a9f merge main into development (vendor PRs that landed on main) before v2.2.0 release 2026-05-26 11:21:04 -07:00
Corey Haines f86637eace feat: add prospecting skill + truelist integration (#308)
* feat: add prospecting skill + truelist integration

New skill: skills/prospecting/
- SKILL.md (251 lines, well under 500 limit): branch picker for SaaS / B2B /
  Local SMB, shared 5-phase framework (ICP -> discovery -> qualify -> score ->
  output), compliance guardrails, tool selection quick-picks, output formats
- references/saas-prospecting.md: tech stack signals, funding/hiring triggers,
  SaaS-specific sources and qualification
- references/b2b-prospecting.md: industry/firmographic signals, trigger events,
  decision-maker mapping, B2B-specific sources
- references/local-prospecting.md: 4-tier website status classification,
  browser-assisted research workflow (generalized from the local-client-
  prospector pattern), proximity scoring
- references/data-sources.md: deep dives on Apollo, Clay, ZoomInfo, Clearbit,
  Hunter, Snov, Truelist, LinkedIn Sales Nav, BuiltWith, Crunchbase, RB2B,
  with sequencing recommendations across the three branches
- references/compliance.md: CAN-SPAM, GDPR, CASL, platform ToS (LinkedIn,
  Google Maps, Apollo/ZI/Clearbit), anti-patterns, audit checklist
- evals/evals.json: 6 evals (2 SaaS, 2 B2B, 1 Local SMB, 1 deliverability)

New integration:
- tools/integrations/truelist.md: email deliverability validation
  (Deliverable / Risky / Undeliverable / Unknown classification)

Registry + marketplace wiring:
- tools/REGISTRY.md: truelist row + new Email Verification category section
- .claude-plugin/marketplace.json: bumped to 2.1.0, prospecting added to
  plugin description
- VERSIONS.md: prospecting 1.0.0 + 2.1.0 changelog entry
- README.md: skill table re-synced, prospecting added to ASCII flow under
  Sales & GTM column

All 41 skills pass validation. sync-skills.js is idempotent.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat(prospecting): add GitHub stargazers/forks/watchers as discovery channel

Net-new in this commit:
- tools/clis/github-prospects.js: zero-dep Node CLI with commands
  stargazers / forks / watchers / user / rate-limit. Pagination via Link header,
  optional --enrich for full profile data, --with-email / --with-company /
  --with-blog filters, --format csv|json output, --dry-run preview. Uses
  GITHUB_TOKEN for 5000/hr rate limit (vs 60/hr unauthenticated).
- tools/integrations/github.md: integration guide covering auth, rate limits,
  endpoints, workflows for SaaS prospecting, compliance notes (public API, not
  scraping), CLI reference.

Skill updates:
- skills/prospecting/SKILL.md: added GitHub to the tool selection quick picks
  and to the tool integrations table.
- skills/prospecting/references/saas-prospecting.md: added GitHub to Tier 3
  buying signals plus a dedicated "GitHub prospecting pattern (when audience
  is developers)" subsection with end-to-end workflow.
- skills/prospecting/references/data-sources.md: added GitHub deep-dive
  section between RB2B and Free fallbacks.

Registry:
- tools/REGISTRY.md: github row in Tool Index, new Developer Intent / GitHub
  category section.

All 41 skills still pass validation. sync-skills.js still no-op.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* refactor(prospecting): apply review suggestions

CLI hardening + optimization:
- github-prospects.js: encodeURIComponent on username path interpolation
  (defense in depth; GitHub usernames are restricted enough that this is safe
  in practice, but good hygiene).
- github-prospects.js: refactored enrichUsers to filter inline and support
  --target N early termination. Previously, --with-email on a 1000-star repo
  would enrich all 1000 users before filtering down to the ~50 that match.
  Now you can pass --target 25 to stop as soon as 25 matches are found,
  saving API quota on restrictive filters.
- github.md: documented the new --target flag.

Reverse cross-references (so prospecting is discoverable from sibling skills):
- cold-email: added prospecting as the natural upstream skill
- customer-research: added "Translating customer research into an ICP for
  outbound" hand-off to prospecting
- competitor-profiling: distinguished from prospecting ("this skill does deep
  research on specific accounts; prospecting builds the initial list")

All 41 skills still pass validation. sync-skills.js still no-op.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(truelist): align integration doc with actual OpenAPI spec

Source of truth: Truelist-Labs/truelist-openapi (OpenAPI 3.1).

The earlier integration doc had inferred (and wrong) endpoint paths, request
shapes, and status enum values. Corrected against the published spec:

Base URL: https://api.truelist.io
Endpoints (real):
- POST /api/v1/verify_inline?email=... (sync single, email is query param)
- POST /api/v1/verify (async bulk, body: {emails: [...]})
- GET /me (account info)

Real email_state enum:
- ok, email_invalid, risky, unknown, accept_all
(not the inferred "Deliverable / Risky / Undeliverable / Unknown")

Real email_sub_state enum:
- email_ok, is_disposable, is_role, unknown_error, failed_smtp_check

Also corrected:
- Truelist has an official MCP server (Truelist-Labs/truelist-mcp) — was
  marked as MCP unavailable
- Truelist has 7 official SDKs (Node, Python, Ruby, PHP, Go, Java, .NET) +
  framework integrations (Django, Laravel, Next.js, Rails, React, Svelte,
  Vue, WordPress) — was marked as SDK unavailable
- Native integrations with Mailchimp, Klaviyo, HubSpot, Zapier, Make, n8n,
  Clay, Salesforce, ActiveCampaign, Brevo, ConvertKit, Drip, BigCommerce,
  Go High Level — was unlisted
- Rate limits: 10 req/s per endpoint (was unspecified)

Files updated:
- tools/integrations/truelist.md: full rewrite against spec
- tools/REGISTRY.md: MCP and SDK columns now show ✓ for truelist; classifier
  note in the Email Verification section reflects real enum values
- skills/prospecting/evals/evals.json: eval #6 expected_output and assertions
  use real email_state values and mention the MCP server
- skills/prospecting/references/data-sources.md: Truelist deep-dive uses real
  endpoint paths, real enum values, and lists the MCP/SDK ecosystem

All 41 skills still pass validation. sync-skills.js still no-op.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat(prospecting): add Firecrawl + Browserbase for single-target site research

Both tools are programmatic scrapers, but their use in prospecting is
strictly bounded: extract content from individual public business sites
(the prospect's own website URL), never from the platforms hosting them
(Google Maps, LinkedIn, Yelp, Apollo, etc.). This matches the line drawn
by the original local-client-prospector reference skill and our own
compliance section.

New integration docs:
- tools/integrations/firecrawl.md: REST + MCP + SDKs (Node/Python/Go/Rust);
  scrape / map / crawl / extract / search endpoints; explicit "when NOT to
  use" section listing the prohibited platforms.
- tools/integrations/browserbase.md: real Chromium via Playwright/Puppeteer
  or Stagehand (AI-friendly natural-language extraction); session
  recordings; useful when rendering or interaction is required.

Prospecting skill updates:
- SKILL.md: added Firecrawl + Browserbase to tool selection quick picks
  and tool integrations table.
- references/data-sources.md: new "Firecrawl / Browserbase (single-target
  site research)" section between RB2B and Free fallbacks. Includes the
  compliance line inline so the framing isn't lost.
- references/local-prospecting.md: optional "programmatic verification"
  paragraph in the browser research workflow — once you have a candidate's
  URL from manual Maps discovery, you can hit it programmatically.
- references/compliance.md: anti-pattern #1 now explicitly clarifies that
  Firecrawl/Browserbase are fine for the prospect's own website but not
  for the platforms hosting prospects.

Registry:
- tools/REGISTRY.md: firecrawl + browserbase rows in Tool Index, new "Site
  Scraping (single-target only)" category section with the compliance
  framing in the agent recommendation.

All 41 skills still pass validation. sync-skills.js still no-op.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 11:20:26 -07:00
erionjuniordeandrade-a11y 13fa45674c fix(ads): add Google RSA output spec with hard limits and ordering (#318)
The ads skill output was missing structural enforcement for Google RSA
platform limits, causing AI agents to generate non-compliant ads:
- variable headline/description counts (not exactly 15/4)
- character lengths exceeded (>30 chars headlines, >90 chars descriptions)
- missing negative keyword lists
- missing ad group structure labels

This commit adds a 'Google RSA Output Spec' section that:
- Enforces 15 headlines (≤30 chars) / 4 descriptions (≤90 chars) per RSA
- Requires explicit ad group structure, sitelinks (≥4), callouts (≥4)
- Requires labeled negative keyword list (≥8 entries)
- Specifies mandatory output ORDER (Negatives + sitelinks before RSAs)
  so they survive output truncation in long generations
- Adds CFM (Brazilian medical regulation) forbidden-term list for
  pt-BR medical practice contexts
- Adds a pre-response self-check checklist

Validated on a marketing-eval harness across 3 medical sites: scores
moved from 47/47/20 (all critical-fail) to 100/100/87 (all critical-pass)
after applying the spec.

Co-authored-by: Erion De Andrade <231011322+erionjuniordeandrade-a11y@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 11:15:19 -07:00
Nicolay aa3cef76f9 docs: add Sequenzy integration (#312)
Co-authored-by: Nic <nic@sequenzy.com>
2026-05-26 11:14:36 -07:00
sebsalasenroute 3fb8bb625d chore: ignore skill install artifacts (#317)
`npx skills add` writes .agents/, .claude/, and skills-lock.json into
consumer projects. Ignore them in this source repo so the install can be
run from inside the repo without polluting git status.

https://claude.ai/code/session_01HStJ5nara1i4H6yrXrio2w

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-26 11:13:50 -07:00
Corey Haines e40125a746 fix: keep plugin.json version in sync with marketplace.json (closes #323) (#326)
Plugin.json's version field had been stuck at 1.9.0 across three releases
(v2.0, v2.0.1, v2.1.0) while marketplace.json was bumped each time. Claude
Code uses plugin.json's version for the update check, so
`claude plugin update marketing-skills@marketingskills` reported "already
at the latest version (1.9.0)" and refused to pull anything new — even
when main had real new content (sms skill, refreshed ai-seo / image / video).

Three changes:

1. .claude-plugin/plugin.json: bumped 1.9.0 → 2.1.0 to clear the current
   drift.

2. .github/scripts/sync-skills.js: added updatePluginVersion() that reads
   marketplace.json's metadata.version and copies it into plugin.json's
   version field. Idempotent — no-op when they already match.

3. .github/workflows/sync-skills.yml: added marketplace.json to the
   `paths` filter so the sync workflow runs whenever marketplace.json
   changes (previously it only ran on skills/** changes, which is why
   release commits that only bumped marketplace.json never triggered the
   sync). Also added .claude-plugin/plugin.json to the file_pattern so
   the bot commit captures the auto-bump.

Verified locally: script bumped 1.9.0 → 2.1.0, then a second run reported
"Everything is already in sync."

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 11:12:39 -07:00
Corey Haines 0f39e12b76 Merge pull request #320 from coreyhaines31/development
Release v2.1.0: add sms skill + 5 SMS platform integrations
2026-05-21 16:46:11 -07:00
Corey Haines d36433703b feat: add sms skill + 5 SMS platform integration docs (#307)
New skill: skills/sms/
- SKILL.md (336 lines, under 500 limit): strategy, when SMS beats email,
  compliance overview, sequence types, copy guidelines, platform selection,
  measurement, common mistakes
- references/compliance.md: TCPA, A2P 10DLC, EU GDPR, CASL, Australia,
  opt-in disclosure templates, STOP/HELP response templates, audit checklist
- references/sequence-templates.md: full copy templates with character
  counts for welcome, abandoned cart, browse abandonment, post-purchase,
  win-back, promotional, transactional, re-engagement, replenishment, VIP
- references/platforms.md: platform deep-dives across Klaviyo SMS,
  Postscript, Attentive, Twilio, Plivo, AudienceTap, Brevo, SimpleTexting,
  Customer.io
- evals/evals.json: 6 evals covering getting started, abandoned cart,
  TCPA compliance, opt-out diagnosis, A2P throughput, emoji segment cost

New integration docs:
- tools/integrations/twilio.md
- tools/integrations/postscript.md
- tools/integrations/attentive.md
- tools/integrations/plivo.md
- tools/integrations/audiencetap.md

Registry + marketplace wiring:
- tools/REGISTRY.md: 5 new entries + new SMS / Messaging category section
- .claude-plugin/marketplace.json: bumped to 2.1.0, SMS added to plugin description
- VERSIONS.md: sms 1.0.0 + 2.1.0 changelog entry
- README.md: skill table re-sorted via sync-skills.js, sms added to ASCII flow

All 41 skills pass validation. sync-skills.js is idempotent on current state.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 16:44:47 -07:00
Corey Haines 114587831e Merge pull request #316 from coreyhaines31/development
Release v2.0.1: ai-seo Google guide alignment + image/video model refresh
2026-05-18 22:29:35 -07:00
Corey Haines 908500123b Merge pull request #315 from coreyhaines31/chore/sync-main-pre-v2.0.1
chore: sync development with vendor PRs landed on main
2026-05-18 22:28:29 -07:00
Corey Haines 0fd7bb5ad9 merge main into development (sync vendor PRs landed on main) before v2.0.1 release 2026-05-18 22:27:56 -07:00
Corey Haines 4b54b0dd6f chore(release): bump to v2.0.1 (#314)
Patch release rolling up two content updates that just landed:

- ai-seo (#313): aligned with Google's official AI features optimization
  guide — Google's stance, query fan-out, agentic experiences (UCP),
  what-not-to-do, Search Console expectations; reframed
  llms.txt/pricing.md/schema as "not required by Google but helpful for
  non-Google AI engines"; moved content-type tactics to
  references/content-types.md
- image (#311): refreshed model lineup to current May 2026 releases —
  Nano Banana family, Flux Pro 1.1 + Kontext, Ideogram 3.0, ChatGPT
  Images 2.0, Midjourney v7, Recraft V3, SD 3.5 / SDXL
- video (#311): refreshed model lineup — Sora 2 promoted from
  limited-availability caveat, Kling 2.5/3.0, added Seedance, Hailuo /
  MiniMax, Hunyuan Video / Wan 2, Pika 2.x; new "Quick picks" guide

No new skills, no breaking changes. Only the three affected SKILL.md
files bumped to 2.0.1; the other 37 stay at 2.0.0.

- marketplace.json: 2.0.0 → 2.0.1
- VERSIONS.md: ai-seo, image, video rows bumped; 2.0.1 changelog entry
  added
- skills/{ai-seo,image,video}/SKILL.md: metadata.version → 2.0.1

All 40 skills pass validation. sync-skills.js still no-op.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 22:26:38 -07:00
Corey Haines 8b0a54eef9 fix(ai-seo): align with Google's official AI features optimization guide (#313)
Source: https://developers.google.com/search/docs/fundamentals/ai-optimization-guide

The skill was framed as "optimize for AI systems," which mis-states Google's
explicit position: AI Overviews and AI Mode are powered by core Search ranking,
so SEO best practices ARE the optimization strategy. Don't write separate
content "for AI."

The structural patterns the skill recommends (FAQ schema, comparison tables,
40-60 word answer blocks, llms.txt, /pricing.md) still help non-Google AI
engines (ChatGPT, Claude, Perplexity, Copilot) materially. The skill now
calls out the platform split explicitly rather than implying universal
benefit.

Major changes:

- New section "Google's Official Stance vs. Multi-Platform Reality":
  Frames Google's "don't optimize for AI" position alongside the reality that
  other AI engines reward extractable structure. Quotes Google's own
  phrasing.

- New section "Query Fan-Out (Google AI Search)":
  Explains Google's documented behavior of generating concurrent related
  queries. Reframes content strategy from per-query targeting to topical
  cluster coverage.

- New section "Agentic Experiences":
  Browser agents accessing sites via visual rendering, DOM inspection, and
  accessibility tree. Semantic HTML, JS-free meaningful render, clean a11y
  tree. Mentions the emerging Universal Commerce Protocol (UCP).

- New section "What NOT to Do":
  Explicit Google guidance: don't write for AI, don't chunk content for AI,
  don't scale variations (scaled content abuse spam policy), don't pursue
  inauthentic mentions, don't block AI crawlers if you want citation.

- Machine-Readable Files section reframed:
  Now opens with Google's stance ("not required") + the reason to include
  them anyway (non-Google AI engines).

- Schema markup note reframed:
  Notes Google's position that structured data is "not required for
  generative AI search" but still recommended.

- Search Console expectations added:
  Sets correct expectation that no AI-specific Search Console reporting
  exists; standard SEO metrics + third-party tools are the measurement
  options.

- Moved "AI SEO for Different Content Types" to references/content-types.md:
  Kept SKILL.md under 500 lines. Added a local-business/ecom subsection
  (Merchant Center + Google Business Profile + Business Agent) per
  Google's emphasis.

All 40 skills still pass validation.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 22:24:17 -07:00
Corey Haines c08ae5ff3d fix: refresh image + video model lists to current releases (May 2026) (#311)
Video (skills/video/SKILL.md):
- Sora 2 promoted from "limited availability" caveat to a first-class model
- Kling updated to 2.5/3.0 from Kuaishou
- Added Seedance (ByteDance) as a fast, low-cost batch option
- Added Hailuo / MiniMax for character-consistency use case
- Pika updated to 2.x
- Added Hunyuan Video / Wan 2 (open-weight, self-hosted)
- New "Quick picks" guide for cinematic / batch / character-consistent /
  self-hosted / storyboard / image-to-video use cases
- Trigger phrases updated to include Sora, Seedance, Hailuo, MiniMax,
  Hunyuan, Wan

Image (skills/image/SKILL.md):
- Gemini Image labelled with Nano Banana / Nano Banana Pro family names
- Flux entry annotates Pro 1.1, Kontext, Dev, Schnell variants (Kontext for
  in-image editing)
- Ideogram bumped to 3.0
- GPT Image entry renamed to "ChatGPT Images 2.0 / GPT Image" reflecting the
  newer family
- Midjourney bumped to v7
- Added Recraft V3 for vector + brand illustration use case
- Stable Diffusion 3.5 / SDXL specifics noted
- Updated "When to Use Which" decision tree to match
- Trigger phrases updated to include Flux Kontext, ChatGPT Images, Nano
  Banana, Recraft

All 40 skills still pass validation.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 22:24:09 -07:00
Salvatore Apicella dc7fea85bf Update tool names for static ad images category (#269)
New model to generate images is released by OpenAI, it can be used to improve ad generation
2026-05-18 14:06:44 -07:00
Teo 4b37de5228 feat: add Exa AI-powered search tool (#266)
Adds Exa as an AI search integration for content research, competitor
discovery, link prospecting, news monitoring, and audience research.

- CLI (tools/clis/exa.js): zero-dep Node.js wrapper for /search,
  /findSimilar, and /contents with neural/auto/fast/deep search types,
  category + domain + text + date filtering, and composable content
  retrieval (text, highlights, summary) in a single request
- Integration guide (tools/integrations/exa.md): auth, endpoints,
  common agent operations, parameters, and linked skills
- Registry entry under new 'AI Search' category + MCP-enabled list
- Uses EXA_API_KEY env var with --dry-run support and masked credentials
2026-05-18 14:05:40 -07:00
Abhi Bavishi 75e8221af8 Add RankParse to SEO tools registry (#304)
RankParse is an agent-friendly SEO data API offering backlinks, domain
authority, tech stack, and on-page metadata at credit-based pricing.

- New integration guide: tools/integrations/rankparse.md
- New CLI wrapper: tools/clis/rankparse.js
- Registry entry under SEO category (API + MCP + CLI)
2026-05-18 14:05:36 -07:00
Berner Setterwall 148fe208ed feat: add cogny MCP gateway to tools registry (#275)
* feat: add cogny MCP gateway to tools registry

Adds Cogny as an integration-layer entry alongside Composio. Cogny is a
marketing-focused MCP gateway (Search Console, Bing Webmaster, Semrush,
LinkedIn / Reddit / TikTok Ads, Plausible, Fathom) with managed OAuth
and a per-channel MCP URL.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(cogny): use federated app.cogny.com/mcp endpoint and claude.ai connector setup

Switches the setup instructions and examples from the per-channel
mcp.cogny.com URLs to the federated https://app.cogny.com/mcp endpoint,
using the Claude.ai custom-connector flow (Settings → Connectors → Add
custom connector). Drops the per-channel path columns and the vendor-
review framing since they aren't needed for the federated setup.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 14:04:33 -07:00
Corey Haines bd8eb1a0e5 Merge pull request #297 from coreyhaines31/development
Release v2.0: skill renames, CRO consolidation, full eval coverage
2026-05-13 22:12:05 -07:00
Corey Haines bf173b731b Merge pull request #299 from coreyhaines31/chore/establish-merge-ancestry
chore: establish merge ancestry between main and development
2026-05-13 22:11:51 -07:00
Corey Haines 0e2ef1301b merge main into development to establish ancestry for v2.0 release
# Conflicts:
#	.claude-plugin/marketplace.json
2026-05-13 22:11:26 -07:00
Corey Haines 76f18f0156 chore: sync skills with marketplace.json and README (#298) 2026-05-13 22:10:14 -07:00
Corey Haines 30f9b9a729 feat: v2.0 skill renames and CRO consolidation (#291)
* feat: v2.0 skill renames and CRO consolidation

BREAKING CHANGE: Users must reinstall skills after this update.

## Skill Renames (16)
- ab-test-setup → ab-testing
- analytics-tracking → analytics
- aso-audit → aso
- competitor-alternatives → competitors
- email-sequence → emails
- free-tool-strategy → free-tools
- launch-strategy → launch
- onboarding-cro → onboarding
- paywall-upgrade-cro → paywalls
- popup-cro → popups
- pricing-strategy → pricing
- product-marketing-context → product-marketing
- referral-program → referrals
- schema-markup → schema
- signup-flow-cro → signup
- social-content → social

## Consolidations (1)
- page-cro + form-cro → cro (form content in references/form.md)

## Why 2.0?
- Shorter, cleaner skill names
- Consistent naming (no -strategy, -setup, -cro suffixes)
- All cross-references updated across 100+ files

Total skills: 40

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(v2.0): update evals for renamed skills, fix validate script, clear warnings

- Update 32 evals.json files to reference new skill names (page-cro → cro,
  product-marketing-context → product-marketing, etc.) — these were missed
  in the initial v2.0 rename pass since only SKILL.md and marketplace.json
  were updated.
- Fix validate-skills.sh: replace GNU-only `head -n -1` with portable awk
  so frontmatter extraction works on macOS.
- Move Copy Editing Checklist (56 lines) to references/checklist.md to
  bring copy-editing SKILL.md under the 500-line limit (508 → 457).
- Add "see X" pointers to marketing-psychology description for skill
  discovery (cro, pricing, copywriting).
- Update skill-request.yml issue template placeholder (page-cro → cro).

All 40 skills now pass validation with zero warnings.

* fix(v2.0): add evals for 8 missing skills, strip stale frontmatter from cro/form.md

Adds 48 new eval cases (6 per skill) for skills that previously had no evals:
aso, co-marketing, community-marketing, competitor-profiling, directory-submissions,
image, lead-magnets, video. All 40 skills now have eval coverage (251 total cases).

Strips leftover frontmatter from skills/cro/references/form.md — it was inherited
from the old form-cro SKILL.md before consolidation. Reference files don't need
frontmatter.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): rename paid-ads → ads

One more v2.0 simplification — drops the redundant 'paid-' qualifier. Updates
the skill directory, SKILL.md frontmatter, evals.json, README skill table, the
v2.0 rename table in VERSIONS.md (now 17 renames), and all cross-references in
related skills (ad-creative, aso, competitor-profiling, customer-research,
lead-magnets, marketing-ideas) plus the tools/integrations guides.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): bump SKILL.md frontmatter version to 2.0.0 for all 40 skills

VERSIONS.md was already updated to 2.0.0 but the metadata.version field inside
each SKILL.md was still on 1.x. That mismatch would have caused the update-check
flow to perpetually report 'update available' since it compares VERSIONS.md
against local SKILL.md metadata versions.

Caught by codex review (P1).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): add legacy product-marketing-context.md filename fallback

Before this fix, users upgrading from v1.x who had a `product-marketing-context.md`
file would lose automatic context loading — every skill only checked the new
`product-marketing.md` filename. Now all 40 skills also accept the legacy
filename (in either `.agents/` or `.claude/`), and the README migration command
covers both legacy and current filenames.

Caught by codex review (P1 + P2).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): re-sort README skills table alphabetically, fix ads box width

The skills table had a few entries out of alphabetical order from the renames
(co-marketing was after cold-email, ads was at the renamed position).
Re-sorted alphabetically per sync-skills.js. Also padded the 'ads' cell in the
ASCII flow diagram to keep the box width consistent.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): document folder cleanup on upgrade, stop sync-skills from re-adding skills array

README upgrade guide now includes:
- A clear cleanup step for stale v1.x skill folders (renamed + consolidated) so
  users don't end up with both old and new folders side-by-side after upgrading
- The full v1 to v2 rename map for reference
- Existing product-marketing-context.md migration steps (preserved)

sync-skills.js no longer (re-)introduces a `skills` array on marketplace.json --
Claude Code's plugin schema discovers skills via the `skills/` directory, and the
explicit array was failing validation. The script now refreshes the description
count and strips the stale array if present.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-13 22:05:15 -07:00
Corey Haines f3990f7f99 feat: expand directory-submissions with 185+ dofollow backlink directories (#276)
Add 6 new tiers (8-13) covering profile & content platforms, local business
directories, forums & communities, press release sites, social bookmarking,
and niche verticals. Also expand existing tiers 2, 3, and 5 with new entries.

Codex-verified: removed 5 dead/expired domains (nancheng.fun, startuplister.com,
designernews.co, sitewebdirectory.com, atoalinks.com), corrected GPTForge DR
from 88 to ~30 (domain created 2025), fixed sitepromotondirectory typo, and
normalized cross-file naming inconsistencies.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-13 16:11:49 -07:00
coreyhaines31 906c2fb28e chore: sync skills with marketplace.json and README 2026-05-06 06:41:11 +00:00
Corey Haines 34a39b0eb1 Merge pull request #290 from coreyhaines31/development
Release v1.10.0
2026-05-05 23:41:01 -07:00
Corey Haines 0c933b277e feat: add co-marketing skill (#289)
* feat: add co-marketing skill for partner identification and joint campaigns

Adds skill for finding co-marketing partners and brainstorming campaign ideas:
- Partner scoring criteria and identification framework
- Campaign types (content, webinars, integrations, community)
- Outreach templates and partnership structuring
- Brainstorming prompts for specific partners

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: add co-marketing to README skills table and categories

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: add co-marketing to README diagram

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: improve co-marketing skill based on review

- Add quoted description with expanded trigger phrases
- Add metadata.version field (1.0.0)
- Add "Before Starting" section for product context
- Add Task-Specific Questions section
- Add Tool Integrations section (Crossbeam, Introw, PartnerStack)
- Add Co-Marketing Checklist (identification, planning, execution, post-campaign)
- Clarify Related Skills with better context
- Add horizontal rules for section separation (matches other skills)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-05 23:32:23 -07:00
Corey Haines 1bcff9fc79 fix: remove re-introduced skills array from marketplace.json, bump plugin to v1.9.0
PR #264 was based on pre-fix main and re-introduced the inline skills
array that #273 removed. plugin.json with "skills": "./skills" is
the authority.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 11:50:23 -07:00
Pierson Marks e0829df01d fix: remove flagged phishing URL from directory-submissions (#264) 2026-04-24 11:42:39 -07:00
coreyhaines31 b70440fa5f chore: sync skills with marketplace.json and README 2026-04-24 18:39:30 +00:00
Corey Haines fd99bb8085 Merge branch 'development'
# Conflicts:
#	.claude-plugin/marketplace.json
2026-04-24 11:39:07 -07:00
Corey Haines b831842fb7 release: v1.9.0 — image skill, video skill, plugin fix
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 11:38:22 -07:00
Corey Haines 07db354ccc feat: add image skill for AI image generation and marketing visuals (#259)
* feat: add image skill for AI image generation and marketing visuals

Covers AI image generation (Gemini, Flux, Ideogram, DALL-E, Midjourney),
design tools (Canva, Figma), marketing workflows (blog heroes, social
graphics, product mockups, profile/listing banners, brand assets), image
optimization, and OG/social preview images.

Includes prompting reference guide with model-specific tips.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: apply accuracy fixes from Codex review

- OpenAI: DALL-E 3 → GPT Image family (DALL-E 3 deprecated)
- Gemini: use official naming, keep Nano Banana as context
- Ideogram: remove ungrounded ~90% accuracy claim
- All pricing: replace hard numbers with doc links
- LinkedIn company cover: note recommended 4200x700
- WebP/AVIF: adjust browser support to ~96%/~94%
- Flux: remove specific reference image count (varies by variant)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 11:36:54 -07:00
Corey Haines 64136709b6 feat: add video skill for AI video production (#258)
* feat: add video skill for AI video production

New skill covering programmatic video (Remotion, Hyperframes), AI video
generation (Veo, Runway, Kling), AI avatars (HeyGen, Synthesia), and
editing/repurposing workflows. Includes AI video prompting reference.

New tool integrations: HeyGen (MCP-enabled), Hyperframes (open source).
Updated tools registry with Video category expansion.

Total skills: 39

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: apply accuracy fixes from Codex review

- Hyperframes: Node.js requirement 18+ → 22+ (confirmed via npm)
- Veo 3: soften 4K claim to "Up to 1080p (4K varies)"
- Sora: replace shutdown claim with availability caveat
- HeyGen: remove dollar amounts, link to pricing page
- Remotion: soften license wording

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 11:33:41 -07:00
Corey Haines affc3aab49 feat: add short-form video section to social-content skill (#257)
Add TikTok/Reels/Shorts frameworks: 3-second rule, video structures,
caption best practices, content ideas by business type. Detailed hook
library, scripting template, audio/visual strategy in reference file.

Inspired by #200 (vendor-neutral parts only).

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 11:31:38 -07:00
Corey Haines 0cdc990715 fix: marketplace.json source fails Claude Code schema validation (#273)
* fix: marketplace.json source fails Claude Code schema validation (#270)

The source field used a bare dot which failed schema validation.
Changed to github source object and added proper plugin.json manifest.

- Added .claude-plugin/plugin.json with skills list and metadata
- Changed marketplace.json source from "." to github repo object
- Removed inline skills array and strict:false from marketplace.json

closes #270

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: use ./ source and simplify plugin.json skills path

Codex review found two issues with the initial fix:
- GitHub source object causes redundant clone, may fail without SSH
- skills paths in plugin.json need ./ prefix

Changed source to "./" (matches Anthropic's own marketplace pattern)
and simplified skills to "./skills" (auto-discovers all skill dirs).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 11:31:30 -07:00
Corey Haines 737c3c6ea2 chore: sync main with v1.8.0 post-release fixes (#255)
chore: sync main with v1.8.0 post-release fixes
2026-04-21 15:08:47 -07:00
Corey Haines 6b068a2c92 fix: update README diagram with all 38 skills
Added aso-audit, directory-submissions, community-marketing,
lead-magnets, competitor-profiling. Clarified competitor-alternatives
vs competitor-profiling as separate entries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 15:07:36 -07:00
Corey Haines 17923c78a9 fix: update marketplace.json version to 1.8.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 15:06:07 -07:00
Corey Haines 194afa2f09 fix: correct v1.8.0 changelog — aso-audit, community-marketing, customer-research shipped in prior releases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 15:01:34 -07:00
coreyhaines31 4036e776e2 chore: sync skills with marketplace.json and README 2026-04-21 21:59:45 +00:00
Corey Haines 11e3b0ff69 release: v1.8.0 — 5 new skills, security hardening, plugin fix
release: v1.8.0
2026-04-21 14:59:34 -07:00
Corey Haines e18a04403b chore: update VERSIONS.md and paid-ads version for v1.8.0
Add 4 new skills to version table (aso-audit, community-marketing,
customer-research, directory-submissions). Bump paid-ads to 1.2.0.
Add v1.8.0 changelog entry.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 14:55:09 -07:00
Corey Haines 34501dd36c Merge pull request #249: add conversion tracking reference
feat: add conversion tracking reference to paid-ads skill
2026-04-21 14:53:30 -07:00
Corey Haines 20443e1361 Merge pull request #253: fix CLI credential leakage
fix: harden CLI tools against credential leakage
2026-04-21 14:53:28 -07:00
Corey Haines 9698318a30 fix: harden CLI tools against credential leakage
Move Supermetrics API key from query string to x-api-key header.
Mask ZoomInfo JWT by default in auth command (use --show-token to reveal).

Cherry-picked from #201.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 13:32:33 -07:00
Corey Haines c8e2d11556 Merge pull request #252 from coreyhaines31/fix/merge-competitor-profiling
feat: add competitor-profiling skill (from PR #225)
2026-04-21 13:28:23 -07:00
Corey Haines a45a348b08 Merge PR #225: add competitor-profiling skill
Resolves marketplace.json conflict (strips ./ prefix, adds competitor-profiling, updates count to 38).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 13:24:26 -07:00
Corey Haines 5d48b351be Merge pull request #251 from coreyhaines31/fix/merge-directory-submissions
feat: add directory-submissions skill (from PR #232)
2026-04-21 13:23:56 -07:00
Corey Haines cafdd38e58 Merge PR #232: add directory-submissions skill
Resolves marketplace.json conflict (strips ./ prefix, adds directory-submissions, updates count to 37).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 13:23:27 -07:00
Corey Haines c38fd75ec5 Merge pull request #215 from basseko/feat/international-seo-audit
feat(seo-audit): add International SEO & Localization section
2026-04-21 13:22:36 -07:00
Corey Haines dfe912224e Merge pull request #250 from coreyhaines31/fix/marketplace-plugin-paths
fix: remove ./ prefix from plugin skill paths (closes #243)
2026-04-21 13:22:02 -07:00
Corey Haines 2ea0f0c2c7 fix: remove ./ prefix from plugin skill paths
Claude Code plugin validator rejects bare ./ prefixes as escaping
the plugin directory. Strips ./ from all skill paths and source field
so the plugin loads correctly.

Closes #243

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 13:21:42 -07:00
Corey Haines f23b665461 feat: add conversion tracking reference to paid-ads skill
Cross-platform pixel setup guide covering Google Ads, Meta, LinkedIn,
and TikTok — installation, event configuration, server-side tracking,
and validation. Covers the marketer-level setup that was missing between
the high-level checklists and deep code-level implementation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 12:02:57 -07:00
Corey Haines 880386085e Merge pull request #247 from xiaolai/fix/nlpm-zapier-webhook-url-validation
fix: validate https:// scheme for hooks send webhook URL in zapier.js
2026-04-21 12:01:13 -07:00
Corey Haines dffa2fd3cb Merge pull request #240 from dgalarza/fix/community-marketing-yaml
Fix invalid YAML in community-marketing SKILL.md
2026-04-21 12:01:10 -07:00
claude[bot] db34fa2a21 fix: validate https:// scheme for hooks send webhook URL
The `hooks send` command accepted any user-supplied URL without validation.
This adds an https:// scheme check and a comment clarifying the intended use
(Zapier webhook catch hooks), matching Zapier's own webhook URL format.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-04-21 06:42:16 +00:00
Damian Galarza 0d586e4952 fix: quote community-marketing description to valid YAML
The unquoted description contained "Trigger phrases:" which YAML parsed
as a nested mapping, causing the skills CLI to silently drop the skill
during discovery. Wrap the value in double quotes and escape inner
quotes.
2026-04-14 18:18:17 -04:00
coreyhaines31 9125d8216e chore: sync skills with marketplace.json and README 2026-04-13 07:15:47 +00:00
Corey Haines 50e72e0a2d chore: sync development with main after v1.7.0 release 2026-04-13 00:10:59 -07:00
Corey Haines 978051caf1 Merge pull request #238 from coreyhaines31/release/v1.7.0
release: v1.7.0 — ASO audit skill, Zapier SDK, community & platform fixes
2026-04-13 00:10:14 -07:00
Corey Haines e8623ad57d Merge pull request #227 from coreyhaines31/feature/zapier-sdk
feat: add Zapier SDK integration for 8,000+ app access
2026-04-13 00:08:26 -07:00
Corey Haines e659c764dd Merge pull request #223 from coreyhaines31/fix/platform-limits-cleanup
fix: add line break between platform reference links
2026-04-13 00:08:26 -07:00
Corey Haines 58a9947df4 Merge pull request #222 from coreyhaines31/fix/community-content-additions
fix: add missing sections to community-marketing skill
2026-04-13 00:08:26 -07:00
Corey Haines ea4704a905 Merge pull request #221 from coreyhaines31/fix/aso-audit-content-additions
fix: clean up aso-audit skill for cross-agent compatibility
2026-04-13 00:08:26 -07:00
Corey Haines 883f9b6380 Merge pull request #205 from basseko/feature/aso-audit
feat: add aso-audit skill for App Store and Google Play optimization
2026-04-13 00:08:06 -07:00
Corey Haines 743f718a7c Merge pull request #227 from coreyhaines31/feature/zapier-sdk
feat: add Zapier SDK integration for 8,000+ app access
2026-04-13 00:07:23 -07:00
Josh Gonsalves 4eaf647eef Add directory-submissions skill
New skill covering directory-driven distribution: startup/SaaS/AI/agent/MCP/no-code
directories, Product Hunt prep, Reviews playbook (G2/Capterra 10-in-30 protocol),
GEO optimization, destination pages strategy, and Reddit/LinkedIn community loops.

Includes:
- SKILL.md (376 lines) with workflow, PH 3-week timeline, reviews protocol, KPIs
- references/directory-list.md — full tiered catalog with DR, dofollow, notes
- references/positioning-variations.md — per-tier copy templates (7 tiers)
- references/submission-tracker-template.csv — ready-to-use tracker with 78 rows

Registered in marketplace.json and README skill table (alphabetical).
2026-04-10 11:34:42 -04:00
Corey Haines 5616e31192 feat: add Zapier SDK integration for 8,000+ app access
The Zapier SDK (@zapier/zapier-sdk) gives AI agents direct TypeScript
access to 8,000+ app integrations without building OAuth flows. Updates
the integration guide with SDK quick start, CLI commands, methods, and
marketing automation examples.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 11:09:35 -07:00
njcameron 138dc3a9be chore: remove PR_DESCRIPTION.md 2026-04-07 12:08:50 +00:00
njcameron 2b4cccbfcf feat: persist raw scrape, SEO, and review data to disk 2026-04-07 12:07:48 +00:00
njcameron a04b00d810 feat: add competitor-profiling skill 2026-04-07 12:01:10 +00:00
Corey Haines 2570f6ad4e Merge pull request #223 from coreyhaines31/fix/platform-limits-cleanup
fix: add line break between platform reference links
2026-04-06 14:45:31 -07:00
Corey Haines eb4256891a Merge pull request #222 from coreyhaines31/fix/community-content-additions
fix: add missing sections to community-marketing skill
2026-04-06 14:45:28 -07:00
Corey Haines 3448f557de Merge pull request #221 from coreyhaines31/fix/aso-audit-content-additions
fix: clean up aso-audit skill for cross-agent compatibility
2026-04-06 14:45:26 -07:00
Corey Haines 9f9c2d6f59 fix: add missing sections to community-marketing skill
- Add Task-Specific Questions section
- Add Related Skills section (referral-program, churn-prevention,
  social-content, customer-research)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 12:00:21 -07:00
Corey Haines 7df49f2be8 fix: clean up aso-audit skill for cross-agent compatibility
- Replace Playwright-specific tool references with generic instructions
- Convert description from YAML multiline to quoted string (repo convention)
- Add Task-Specific Questions section
- Add Related Skills section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 12:00:17 -07:00
coreyhaines31 2c7c108bd5 chore: sync skills with marketplace.json and README 2026-04-06 18:33:57 +00:00
Corey Haines fe670959f7 Merge pull request #220 from coreyhaines31/release/v1.6.0
release: v1.6.0 — community-marketing skill, 3 new tools, skill enhancements
2026-04-06 11:33:38 -07:00
Corey Haines 4874fe8979 Merge pull request #214 from coreyhaines31/feature/copy-editing-content-refresh
feat: add content refresh editing to copy-editing
2026-04-03 17:02:17 -07:00
Corey Haines d88009d1a4 Merge pull request #213 from coreyhaines31/feature/copy-editing-expert-panel
feat: add expert panel scoring to copy-editing
2026-04-03 17:02:17 -07:00
Corey Haines 78da95de86 Merge pull request #212 from coreyhaines31/feature/social-content-repurposing
feat: expand content repurposing in social-content
2026-04-03 17:02:17 -07:00
Corey Haines 7c2e29c526 Merge pull request #211 from coreyhaines31/feature/ab-test-growth-experiments
feat: add growth experimentation program to ab-test-setup
2026-04-03 17:02:17 -07:00
Corey Haines 49f520f4eb Merge pull request #210 from coreyhaines31/feature/add-rb2b-tool
feat: add RB2B and Gong to tools registry
2026-04-03 17:02:17 -07:00
Corey Haines ef8e08ffd2 Merge pull request #209 from coreyhaines31/feature/add-sparktoro
feat: add SparkToro audience research tool
2026-04-03 17:02:17 -07:00
Corey Haines e10c33406c Merge pull request #208 from coreyhaines31/feature/ai-seo-pricing-md
feat: add pricing.md guidance to ai-seo skill
2026-04-03 17:02:17 -07:00
Corey Haines c31adfe89e Merge pull request #207 from MarianoGarciaGz/feat/platform-limits-reference
feat: add platform limits reference for social-content skill
2026-04-03 17:02:12 -07:00
Corey Haines 1f295fa5c8 Merge pull request #78 from pangerlkr/feature/new-skill-community-marketing
feat: add community-marketing skill
2026-04-03 17:02:07 -07:00
Corey Haines af9fe5fb09 Merge pull request #214 from coreyhaines31/feature/copy-editing-content-refresh
feat: add content refresh editing to copy-editing
2026-04-03 16:58:45 -07:00
Corey Haines bb54a76215 fix: move content refresh to references, fix version and scope
- Move full content refresh content to references/content-refresh.md
  to stay under 500 lines when merged with expert panel PR
- Bump version to 1.3.0 (expert panel PR takes 1.2.0)
- Fix scope creep: remove structured data from step 6, keep it
  focused on scannable formatting
- Add content-refresh.md to References section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 16:56:24 -07:00
Corey Haines 884cf5e108 feat: add content refresh editing to copy-editing skill
Adds guidance for refreshing existing content — when to refresh vs.
rewrite, a 6-step refresh checklist (freshness, accuracy, voice, SEO,
proof, structure), and recommended cadence by content type. Bumps to v1.2.0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 16:56:24 -07:00
Corey Haines 295f1eef37 Merge pull request #213 from coreyhaines31/feature/copy-editing-expert-panel
feat: add expert panel scoring to copy-editing
2026-04-03 16:56:10 -07:00
Corey Haines 5c90bb8075 Merge pull request #212 from coreyhaines31/feature/social-content-repurposing
feat: expand content repurposing in social-content
2026-04-03 16:56:03 -07:00
Corey Haines 2fe1310881 Merge pull request #211 from coreyhaines31/feature/ab-test-growth-experiments
feat: add growth experimentation program to ab-test-setup
2026-04-03 16:55:52 -07:00
Corey Haines 6020ef6943 Merge pull request #210 from coreyhaines31/feature/add-rb2b-tool
feat: add RB2B and Gong to tools registry
2026-04-03 16:55:44 -07:00
Corey Haines 42ac956cb7 fix: correct Gong API endpoints and RB2B integration model
Gong: fix endpoints to POST (not GET), remove non-existent /v2/deals,
use tenant-specific base URL, correct recording limitation, add source
links. RB2B: clarify API Partner Program vs native integrations, add
pricing volatility note and source links. Registry: fix '10k calls'
to '10k API calls'.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 16:50:28 -07:00
Corey Haines d10c161c04 feat: add RB2B and Gong to tools registry
RB2B for B2B website visitor identification (person-level de-anonymization,
intent signals, outreach routing). Gong for revenue intelligence (call
transcripts, competitive intel, deal insights, rep coaching).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 16:50:28 -07:00
Corey Haines 76d1f89df9 Merge pull request #209 from coreyhaines31/feature/add-sparktoro
feat: add SparkToro audience research tool
2026-04-03 16:48:36 -07:00
Corey Haines 85b93be6d6 Merge pull request #208 from coreyhaines31/feature/ai-seo-pricing-md
feat: add pricing.md guidance to ai-seo skill
2026-04-03 16:48:29 -07:00
Bassel Koshak d97425f15b feat(seo-audit): add International SEO & Localization section
Add comprehensive internationalization coverage to the SEO audit skill,
backed by 40+ sources from Google Search Central, John Mueller, and
authoritative SEO publications.

New section covers:
- Hreflang implementation (placement, reciprocal refs, x-default, scale)
- Canonicalization for multilingual sites (self-referencing, conflict rules)
- International sitemaps (structure, size limits, Next.js caveats)
- Locale URL structure (subdirectories vs ccTLDs, content negotiation)
- Content quality across locales (AI translation stance, thin pages, HCU)

Also adds:
- Multilingual/Multi-Regional site type to Common Issues
- references/international-seo.md with evidence and source URLs
- Version bump to 1.2.0
2026-04-02 10:50:44 +03:00
Corey Haines dba8570870 fix: add line break between platform reference links
Separates the two reference links so they render as distinct lines
instead of a single block.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 17:54:46 -07:00
Corey Haines 28e8684fdd Merge pull request #205 from basseko/feature/aso-audit
feat: add aso-audit skill for App Store and Google Play optimization
2026-04-01 17:46:11 -07:00
Corey Haines 07a893efd0 Merge pull request #207 from MarianoGarciaGz/feat/platform-limits-reference
feat: add platform limits reference for social-content skill
2026-04-01 17:44:48 -07:00
Corey Haines fdb1202f12 Merge pull request #78 from pangerlkr/feature/new-skill-community-marketing
feat: add community-marketing skill
2026-04-01 17:40:43 -07:00
Corey Haines 314230b6db fix: address review feedback on expert panel scoring
- Add bridge sentence connecting to Seven Sweeps workflow
- Fix scoring criteria conflict: all personas 7+ with 8+ average
- Aligns step 5 target with the scoring rubric

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 16:38:10 -07:00
Corey Haines 330d220aca fix: address review feedback on social-content repurposing
- Soften unsourced "85%" stat to "most social video"
- Add "or audiograms" for audio-only podcast repurposing
- Broaden content atoms intro to apply across all formats

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 15:47:57 -07:00
Corey Haines c4cb25cb6c fix: address codex review feedback on growth experiments
Soften win-rate language to context-aware guidance. Clarify weekly
cadence to monitor guardrails while avoiding premature winner calls.
Expand playbook template with sample size, CI, guardrails, segment
deltas, and implementation status.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 15:46:03 -07:00
Corey Haines 4ceaf88e96 feat: add expert panel scoring to copy-editing skill
Multi-persona review technique for high-stakes copy. Assemble 3-5 expert
personas, score 1-10, iterate until 8+. Includes recommended panels for
landing pages, email sequences, and sales pages. Bumps to v1.2.0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 15:17:01 -07:00
Corey Haines 7d85256e19 feat: expand content repurposing in social-content skill
Adds podcast/video repurposing with content atom extraction (quotable
moments, story arcs, tactical tips, controversial takes). Also adds
webinar and newsletter repurposing workflows. Bumps to v1.2.0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 15:16:14 -07:00
Corey Haines 7c13fccdd9 feat: add growth experimentation program to ab-test-setup
Adds experiment loop, ICE prioritization, hypothesis generation sources,
experiment velocity tracking, and playbook pattern for promoting winners.
Turns ab-test-setup from a single-test skill into a continuous growth engine.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 15:15:18 -07:00
Corey Haines b902ed2d79 feat: add SparkToro as audience research tool
Add SparkToro integration guide, registry entry, and references in
customer-research skill. SparkToro reveals where your ICP spends time
using clickstream, search, and social data — essential for finding
podcasts, YouTube channels, subreddits, and websites your audience
engages with.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 13:50:02 -07:00
Corey Haines 47db68aaba feat: add pricing.md recommendation to ai-seo skill
AI agents are increasingly evaluating SaaS products on behalf of buyers.
Adding guidance on machine-readable pricing files (pricing.md/pricing.txt)
so companies don't get filtered out of AI-mediated buying journeys.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 13:24:53 -07:00
Mariano García fcac7f27b0 feat: add platform limits reference for social-content skill
Add hashtag limits, character counts, and visible text thresholds
for Instagram, Facebook, TikTok, LinkedIn, Twitter/X, YouTube,
Pinterest, and Threads.
2026-03-31 15:33:54 -06:00
Bassel Koshak fd98062849 fix: add product marketing context check to aso-audit skill 2026-03-31 16:31:24 +03:00
Bassel Koshak 40f20b2736 feat: add aso-audit skill for App Store and Google Play optimization
Live ASO audit skill that fetches real store listings, scores across 6
weighted dimensions (Title, Description, Visuals, Ratings, Metadata,
Conversion), and produces a prioritized action plan.

Features brand maturity system (Dominant/Established/Challenger) that
adjusts scoring to avoid penalizing deliberate brand choices by
household-name apps.

Backed by official Apple/Google developer docs and industry benchmarks
from AppTweak, SplitMetrics, and Sensor Tower.
2026-03-30 16:32:32 +03:00
Corey Haines 7c8c087486 release: v1.5.0 — customer-research skill, Nitrosend, Resend CLI, Firehose, Introw, Claude Code injection docs (#203)
* feat: add customer-research skill (#186)

* feat: add customer-research skill (#185)

Adds a new skill for conducting and synthesizing customer research —
covering analysis of existing assets (transcripts, surveys, support
tickets, NPS) and digital watering hole research (Reddit, G2, forums,
communities, review sites). Includes persona generation framework,
JTBD extraction, VOC quote banking, and competitive intel from reviews.

Also adds a detailed source-guides reference with per-platform playbooks
(Reddit operators, G2 review tiers, LinkedIn job posting mining, etc.)
and 10 evals covering the main trigger scenarios.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: address Codex review of customer-research skill

- Fix evals.json schema to match repo convention (skill_name wrapper,
  integer IDs, expected_output, files fields)
- Add product-marketing-context.md assertion to all evals
- Add 2 new evals: B2C drop-off scenario and zero-research bootstrap
- Collapse 'Where to Look' in SKILL.md to a decision table; detail
  lives in source-guides.md
- Add Research Quality Guardrails section (confidence labels,
  recency window, sample bias, minimum viable sample)
- Add Related Skills section cross-linking 7 downstream skills
- Expand source-guides.md with full B2C section (app stores,
  TikTok/Instagram, consumer Reddit, Discord)
- Add Source Reliability and Confidence Scoring reference guide

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: correct alphabetical ordering of customer-research in manifest and README

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: add customer-research to skills relationship diagram

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: move customer-research into Strategy column in diagram

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: Resend CLI docs + Firehose integration (#188)

* feat: add Resend CLI docs and Firehose integration

- resend.md: update CLI availability (now official), add CLI install,
  setup, and common commands section
- firehose.md: new integration guide for real-time web content streaming
  API — query syntax, stream setup, marketing use cases (brand monitoring,
  competitive intel, lead triggers, PR/link building)
- REGISTRY.md: add firehose under Competitive Intelligence

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: document Claude Code dynamic content injection pattern

Add Claude Code-specific enhancement section to AGENTS.md explaining
the !`command` syntax for injecting shell output into skills at
invocation time. Marked as Claude Code-only to preserve cross-agent
compatibility of SKILL.md files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Revert "docs: document Claude Code dynamic content injection pattern"

This reverts commit 8e1ce7b363.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: document Claude Code dynamic content injection pattern (#189)

Add Claude Code-specific enhancement section to AGENTS.md explaining
the !`command` syntax for injecting shell output into skills at
invocation time. Marked as Claude Code-only to preserve cross-agent
compatibility of SKILL.md files.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add Introw PRM as partner ecosystem integration (#193)

Great contribution — clean integration guide with solid MCP tool coverage, and the cross-references into referral-program, revops, launch-strategy, and sales-enablement are well-placed. Thanks!

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Tibo <72124096+CoopahG@users.noreply.github.com>
2026-03-27 23:48:16 -07:00
coreyhaines31 fcf4b4e784 chore: sync skills with marketplace.json and README 2026-03-28 06:32:23 +00:00
Corey Haines cc1a9c106b feat: add Nitrosend integration for AI-native email sequencing (#202)
* feat: add customer-research skill (#186)

* feat: add customer-research skill (#185)

Adds a new skill for conducting and synthesizing customer research —
covering analysis of existing assets (transcripts, surveys, support
tickets, NPS) and digital watering hole research (Reddit, G2, forums,
communities, review sites). Includes persona generation framework,
JTBD extraction, VOC quote banking, and competitive intel from reviews.

Also adds a detailed source-guides reference with per-platform playbooks
(Reddit operators, G2 review tiers, LinkedIn job posting mining, etc.)
and 10 evals covering the main trigger scenarios.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: address Codex review of customer-research skill

- Fix evals.json schema to match repo convention (skill_name wrapper,
  integer IDs, expected_output, files fields)
- Add product-marketing-context.md assertion to all evals
- Add 2 new evals: B2C drop-off scenario and zero-research bootstrap
- Collapse 'Where to Look' in SKILL.md to a decision table; detail
  lives in source-guides.md
- Add Research Quality Guardrails section (confidence labels,
  recency window, sample bias, minimum viable sample)
- Add Related Skills section cross-linking 7 downstream skills
- Expand source-guides.md with full B2C section (app stores,
  TikTok/Instagram, consumer Reddit, Discord)
- Add Source Reliability and Confidence Scoring reference guide

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: correct alphabetical ordering of customer-research in manifest and README

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: add customer-research to skills relationship diagram

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: move customer-research into Strategy column in diagram

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: Resend CLI docs + Firehose integration (#188)

* feat: add Resend CLI docs and Firehose integration

- resend.md: update CLI availability (now official), add CLI install,
  setup, and common commands section
- firehose.md: new integration guide for real-time web content streaming
  API — query syntax, stream setup, marketing use cases (brand monitoring,
  competitive intel, lead triggers, PR/link building)
- REGISTRY.md: add firehose under Competitive Intelligence

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: document Claude Code dynamic content injection pattern

Add Claude Code-specific enhancement section to AGENTS.md explaining
the !`command` syntax for injecting shell output into skills at
invocation time. Marked as Claude Code-only to preserve cross-agent
compatibility of SKILL.md files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Revert "docs: document Claude Code dynamic content injection pattern"

This reverts commit 8e1ce7b363.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: document Claude Code dynamic content injection pattern (#189)

Add Claude Code-specific enhancement section to AGENTS.md explaining
the !`command` syntax for injecting shell output into skills at
invocation time. Marked as Claude Code-only to preserve cross-agent
compatibility of SKILL.md files.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add Introw PRM as partner ecosystem integration (#193)

Great contribution — clean integration guide with solid MCP tool coverage, and the cross-references into referral-program, revops, launch-strategy, and sales-enablement are well-placed. Thanks!

* feat: add Nitrosend integration for AI-native email sequencing

Adds Nitrosend as a tool option for teams building email sequences via
AI agents — no dashboard required, full MCP control.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Tibo <72124096+CoopahG@users.noreply.github.com>
2026-03-27 23:32:13 -07:00
marfert cb4451c9a1 Update SKILL.md (#199)
Great catch — technically accurate and a clean improvement. Thanks!
2026-03-27 23:24:57 -07:00
Corey Haines 9d4d29a795 Merge pull request #181 from coreyhaines31/development
v1.4.0 release
2026-03-14 02:06:23 -07:00
Corey Haines b0fbcabc5f Merge pull request #180 from coreyhaines31/docs/v1.4.0-release
Update VERSIONS.md for v1.4.0 release
2026-03-14 02:06:06 -07:00
Corey Haines 6d08784211 docs: update VERSIONS.md for v1.4.0 release
Add lead-magnets skill, bump all 32 existing skills to 1.2.0,
and document all changes since v1.3.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 01:52:43 -07:00
coreyhaines31 b5a9bb57a9 chore: sync skills with marketplace.json and README 2026-03-14 00:04:30 +00:00
Corey Haines 6e47b53faf Merge pull request #179 from coreyhaines31/development
Release: Composio integration layer + lead-magnets skill + headless CMS guides
2026-03-13 17:04:20 -07:00
Corey Haines b970e9d8e4 Merge pull request #178 from coreyhaines31/feature/composio-integration
Add Composio as integration layer for OAuth-heavy tools
2026-03-13 17:03:53 -07:00
Corey Haines 869321e949 feat: add Composio as integration layer for OAuth-heavy marketing tools
Adds Composio MCP server as an alternative integration method for tools
lacking native MCP support (HubSpot, Salesforce, Meta Ads, LinkedIn Ads,
Google Sheets, Slack, Notion, etc.). Existing CLIs and MCP servers are
unchanged — Composio is additive only.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 15:37:59 -07:00
Corey Haines 1c32ad3dbf feat: add lead-magnets skill (#177)
* feat: add lead-magnets skill

Covers strategy for creating, gating, promoting, and measuring
downloadable/content-based lead magnets (ebooks, checklists, cheat
sheets, templates, swipe files, mini-courses, quizzes, webinars).

Includes format-guide and benchmarks reference files. Adds cross-
references in free-tool-strategy, email-sequence, and popup-cro.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: align H1 title with skill name

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 15:21:10 -07:00
Corey Haines 51146da746 Add headless CMS reference and integration guides (#174)
* feat: add headless CMS reference and integration guides

Add CMS selection guide, content modeling patterns, and editorial
workflow reference for marketers. Add integration guides for Sanity
(GROQ API), Contentful (CDA/CMA), and Strapi (v5 REST). Register
all three in REGISTRY.md and link from content-strategy skill.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address review feedback on headless CMS guides

- Use {curly_brace} placeholder convention for Strapi relation example
- Add note that Contentful CMA create uses PUT with client-generated ID
- Add URL-encoding note for Sanity GROQ query parameter
- Switch Sanity mutation example from createOrReplace to create (no _id needed)
- Add Content-Type header to Contentful update entry example
- Fix outdated "Assembly" product name to "Studio" for Contentful

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:21:58 -07:00
Pangerkumzuk Longkumer 8657fd4f78 feat: add community-marketing skill
Added a comprehensive guide on community marketing strategies, including principles, playbooks, platform selection, and health metrics.
2026-03-06 07:48:29 +05:30
Corey Haines 2f5db8d95c Merge pull request #76 from coreyhaines31/development
Release: skill descriptions, evals, and writing audit for all 32 skills
2026-03-04 16:44:37 -08:00
Corey Haines 3a8d01283d Merge branch 'main' into development 2026-03-04 16:07:41 -08:00
Corey Haines 68f5eaf64e Merge pull request #75 from coreyhaines31/feature/skill-writing-audit
Audit skill bodies: replace rigid imperatives with reasoning
2026-03-04 15:59:35 -08:00
Corey Haines 51e29954fb Merge pull request #74 from coreyhaines31/feature/skill-evals
Add evals for all 32 skills (197 total evals, 1261 assertions)
2026-03-04 15:59:31 -08:00
Corey Haines a3ab09378b Merge pull request #73 from coreyhaines31/feature/skill-description-optimization
Optimize all 32 skill descriptions for better triggering
2026-03-04 15:59:27 -08:00
Corey Haines 926c624d07 fix: address eval review - assertion mismatches and factual error
- marketing-psychology eval 4: BJ Fogg assertion did not match expected_output
  which lists Goal-Gradient Effect. Fixed.
- sales-enablement eval 2: all 6 categories assertion contradicted expected_output
  which only categorizes the 3 given objections. Fixed.
- ad-creative eval 5: TikTok hard limit corrected to recommended (80 chars
  recommended, 100 max) per SKILL.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 15:51:28 -08:00
Corey Haines 8c8090ed92 fix: resolve trigger phrase conflicts found in review
- sales-enablement: "ROI calculator" → "deal-specific ROI analysis" to avoid
  conflict with free-tool-strategy which also claims "ROI calculator"
- sales-enablement: clarified scope boundary to competitor-alternatives for
  battle cards (competitor-alternatives owns battle card creation)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:29:15 -08:00
Corey Haines b325e41c91 fix: address review — two more rigid imperatives caught
- sales-enablement: "Never demo without discovery" → "Demo after discovery, not before"
- site-architecture: "No exceptions" → explains why (backlink equity, broken pages)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:28:30 -08:00
Corey Haines b0a3a23699 refactor: replace rigid imperatives with reasoning-based guidance
Audit all 32 SKILL.md files against Anthropic's skill-creator writing
guidance ("why > MUST" pattern). Replaces ALWAYS/NEVER/MUST/IMPORTANT
imperatives with explanations of WHY the guidance matters.

17 edits across 14 skills:
- ad-creative: character limits reasoning, CTA headline reasoning
- seo-audit: schema detection warning softened, reasoning added
- programmatic-seo: subfolder vs subdomain reasoning
- paid-ads: exclusion list reasoning
- copywriting: honesty principle reasoning
- cold-email: follow-up value reasoning
- ai-seo: freshness signal reasoning
- churn-prevention: post-cancel path reasoning
- product-marketing-context: verbatim language reasoning
- popup-cro: close button visibility reasoning
- signup-flow-cro: label visibility reasoning
- form-cro: label visibility reasoning
- revops: fallback owner reasoning
- ab-test-setup: DON'T → Avoid

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:19:09 -08:00
Corey Haines 7e7e7a09d8 fix: align eval assertions with SKILL.md content per Codex review
Fixes 5 issues identified by independent Codex review:
- product-marketing-context: match auto-draft workflow, section flexibility
- marketing-psychology: replace phantom models with actual SKILL.md models
- ad-creative: correct RSA pinning guidance to match skill
- free-tool-strategy: boundary test now defers to related skill (page-cro)
- paywall-upgrade-cro: boundary test references only related skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:07:38 -08:00
Corey Haines 11e9ea811f feat: add evals for all 29 remaining skills (197 total evals across 32 skills)
Each skill now has 5-8 evals covering:
- Core framework usage with realistic prompts
- Casual trigger phrase variants
- Sub-type and section-specific coverage
- Boundary tests (skill deferral to related skills)
- Structured assertions for grading

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 13:37:01 -08:00
Corey Haines 831dbe9616 fix: improve evals with assertions, coverage gaps, and boundary tests
Changes per skill:

page-cro (5 -> 7 evals):
- Added structured assertions array to all evals
- Added Blog Post CRO eval (was missing)
- Added boundary eval: signup form should defer to signup-flow-cro
- Replaced feature page A/B test eval with fuller feature page eval

copywriting (5 -> 7 evals):
- Added structured assertions array to all evals
- Added About Page eval with voice/tone adaptation test
- Added boundary eval: email sequence should defer to email-sequence
- Added Quick Quality Check eval (buzzword/jargon/exclamation detection)
- Added meta content assertion to homepage eval

seo-audit (5 -> 8 evals):
- Added structured assertions array to all evals
- Added Local Business eval (NAP, GBP, location pages)
- Added Core Web Vitals / site speed eval
- Added boundary eval: FAQ schema should defer to schema-markup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 13:12:20 -08:00
Corey Haines 6b1da2158e feat: add evals for page-cro, copywriting, and seo-audit skills
5 eval prompts per skill testing realistic user scenarios:
- page-cro: landing page audit, pricing page, homepage, feature page, redesign regression
- copywriting: homepage copy, headline rewrite, pricing page, landing page, CTA improvement
- seo-audit: full site audit, ranking diagnosis, migration recovery, e-commerce technical, blog content

Follows the skill-creator eval format with prompt + expected_output assertions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 13:07:12 -08:00
Corey Haines e4283c6616 feat: optimize all 32 skill descriptions for better triggering
Following Anthropic skill-creator guidance that Claude undertriggers
skills, make descriptions pushier across all 32 skills:

- Add casual/frustrated user phrases
- Add implicit need triggers where users need the skill but dont name it
- Add catch-all sentences explaining when to use
- Add missing cross-references between related skills
- Ensure consistent format across all descriptions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 13:02:05 -08:00
Corey Haines 633f9c642d Merge branch 'development' 2026-03-04 12:57:50 -08:00
Corey Haines 89fd57a8b0 Merge pull request #70 from coreyhaines31/feature/new-connector-tools
Add 10 new CLI tools and integration guides
2026-03-04 12:51:35 -08:00
Corey Haines a2e646c2e6 fix: update MCP tools list in CLAUDE.md, fix REGISTRY.md inconsistencies
- Add 6 new MCP-enabled tools to CLAUDE.md (zoominfo, clay, supermetrics,
  coupler, outreach, crossbeam)
- Fix broken Payments table in REGISTRY.md (blank row between stripe/paddle)
- Fix category name mismatch: "Competitive Intel" → "Competitive Intelligence"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 12:42:15 -08:00
Corey Haines 9a2bb97784 fix: address codex review findings across new CLI tools
- supermetrics: fix query endpoint /query → /query/data/json
- airops: fix base URL /v1 → /public_api/v1
- zoominfo: fix auth --dry-run leaking real JWT, add response validation
- outreach: remove parseInt() on JSON:API string IDs (caused NaN)
- similarweb: add encodeURIComponent on domain in all URL paths
- coupler: fix dry-run auth mask from '***' to 'Bearer ***'
- clay: allow name-based enrich (--first-name + --last-name + --domain)
- pendo.md: fix guide state from 'published' to 'public'
- close.md: fix rate limit header names to ratelimit-*

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:08:36 -08:00
Corey Haines 4ff486a702 feat: add 10 new CLI tools and integration guides from Claude connectors
New tools: Clay, Outreach, ZoomInfo, Close, Pendo, Similarweb,
Supermetrics, AirOps, Crossbeam, and Coupler.io. Each includes a
zero-dependency Node.js CLI and an integration guide.

Updates REGISTRY.md with new tool index entries, categories, and
MCP-enabled tools list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:59:51 -08:00
Corey Haines a3516be13d Merge development into main for v1.3.0 release 2026-03-02 11:32:29 -08:00
Corey Haines edd613d33f fix: correct typos and add missing skill in README relationship diagram
Fix "Measuremnt" typo, spell out truncated skill names (cold-email,
competitor, sales-enable), and add site-architecture to the diagram.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 11:31:41 -08:00
coreyhaines31 90a7e84d0e chore: sync skills with marketplace.json and README 2026-02-27 17:37:54 +00:00
Corey Haines cac82f3a40 Merge pull request #69 from coreyhaines31/development
Release: v1.1.0 -- agent-agnostic migration, 7 new skills, 51 CLI tools
2026-02-27 12:37:43 -05:00
Corey Haines 3a13e58808 fix: correct skill count and branding in marketplace.json
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 09:35:35 -08:00
Corey Haines e47e3a3073 Merge pull request #68 from coreyhaines31/feature/agents-directory-migration
Migrate context paths from .claude/ to .agents/
2026-02-27 12:28:04 -05:00
Corey Haines 8ea7487545 docs: rebrand to "Marketing Skills for AI Agents" with multi-agent support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 09:19:51 -08:00
Corey Haines 1622c8e398 docs: add upgrading instructions for .agents/ migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 09:16:12 -08:00
Corey Haines ee28bc4359 fix: add missing version metadata to cold-email skill
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 09:06:33 -08:00
Corey Haines f5badfe416 feat: migrate context paths from .claude/ to .agents/ for agent-agnostic compatibility
The .agents/skills/ directory is the emerging cross-agent standard adopted by
OpenAI Codex, Cursor, Windsurf, and npx skills. All 32 skills now check
.agents/product-marketing-context.md first with .claude/ fallback for older
setups. Install paths in README updated accordingly. Bumps all skills to 1.1.0.

Closes #50

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 09:01:33 -08:00
Corey Haines bc3253d30d Merge pull request #63 from coreyhaines31/feature/revops-sales-enablement
Add revops and sales-enablement skills
2026-02-23 14:55:08 -05:00
Corey Haines 12c34eb714 fix: resolve merge conflicts with development after site-architecture merge
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:54:56 -08:00
Corey Haines c4bc2fcc49 Merge pull request #62 from coreyhaines31/feature/sitemap-planner-skill
Add site-architecture skill
2026-02-23 14:54:22 -05:00
Corey Haines 0c24410a0b Merge pull request #67 from coreyhaines31/development
Merge development into main
2026-02-23 14:52:55 -05:00
Corey Haines 066c420416 Merge pull request #66 from coreyhaines31/docs/readme-updates
Add Magister link, skill relationship diagram, and issues encouragement
2026-02-23 14:51:04 -05:00
Corey Haines 08c100bc7b docs: add Magister link, skill relationship diagram, and issues encouragement
Add Magister CTA to intro, skill dependency diagram showing how all 31
skills relate through product-marketing-context, and a link to open
issues for questions/problems.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:48:17 -08:00
Corey Haines 8618c5bad2 feat: add revops and sales-enablement skills
Fill the revenue operations and internal sales collateral gaps in the
marketing skills collection. revops covers lead lifecycle, scoring,
routing, pipeline management, and CRM automation. sales-enablement
covers pitch decks, one-pagers, objection handling, demo scripts, and
sales playbooks. Cross-references added to 6 existing skills.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 15:31:43 -08:00
Corey Haines 488d09cda5 feat: add site-architecture skill for website structure planning
Fills the gap between content strategy and SEO skills — covers page
hierarchy, navigation design, URL structure, and internal linking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 03:29:50 -08:00
277 changed files with 32188 additions and 610 deletions
+4 -36
View File
@@ -5,47 +5,15 @@
"url": "https://corey.co"
},
"metadata": {
"description": "Marketing skills for Claude Code — conversion optimization, copywriting, SEO, paid ads, and growth",
"version": "1.0.0",
"description": "Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, and growth",
"version": "2.3.0",
"repository": "https://github.com/coreyhaines31/marketingskills"
},
"plugins": [
{
"name": "marketing-skills",
"description": "29 marketing skills for technical marketers and founders: CRO, copywriting, cold email, SEO, AI SEO, paid ads, ad creative, churn prevention, pricing strategy, referral programs, and more",
"source": "./",
"strict": false,
"skills": [
"./skills/ab-test-setup",
"./skills/ad-creative",
"./skills/ai-seo",
"./skills/analytics-tracking",
"./skills/churn-prevention",
"./skills/cold-email",
"./skills/competitor-alternatives",
"./skills/content-strategy",
"./skills/copy-editing",
"./skills/copywriting",
"./skills/email-sequence",
"./skills/form-cro",
"./skills/free-tool-strategy",
"./skills/launch-strategy",
"./skills/marketing-ideas",
"./skills/marketing-psychology",
"./skills/onboarding-cro",
"./skills/page-cro",
"./skills/paid-ads",
"./skills/paywall-upgrade-cro",
"./skills/popup-cro",
"./skills/pricing-strategy",
"./skills/product-marketing-context",
"./skills/programmatic-seo",
"./skills/referral-program",
"./skills/schema-markup",
"./skills/seo-audit",
"./skills/signup-flow-cro",
"./skills/social-content"
]
"description": "43 marketing skills for technical marketers and founders: CRO, copywriting, cold email, prospecting, SEO, AI SEO, paid ads, SMS, ad creative, video production, image generation, co-marketing, churn prevention, pricing, referrals, revenue operations, sales enablement, customer research, site architecture, comprehensive AARRR-structured marketing plans, and more",
"source": "./"
}
]
}
+12
View File
@@ -0,0 +1,12 @@
{
"name": "marketing-skills",
"description": "Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth",
"version": "2.3.0",
"author": {
"name": "Corey Haines"
},
"homepage": "https://github.com/coreyhaines31/marketingskills",
"repository": "https://github.com/coreyhaines31/marketingskills",
"license": "MIT",
"skills": "./skills"
}
+1 -1
View File
@@ -69,6 +69,6 @@ body:
attributes:
label: Related existing skills
description: Are there existing skills this relates to or differs from?
placeholder: "Similar to page-cro but focused on..."
placeholder: "Similar to cro but focused on..."
validations:
required: false
+42 -15
View File
@@ -11,6 +11,7 @@ const path = require("path");
const SKILLS_DIR = "skills";
const MARKETPLACE_FILE = ".claude-plugin/marketplace.json";
const PLUGIN_FILE = ".claude-plugin/plugin.json";
const README_FILE = "README.md";
/**
@@ -132,27 +133,51 @@ function updateReadme(skills) {
}
/**
* Update marketplace.json with skills list
* Update marketplace.json — refresh the skill count in the plugin description
* and strip any `skills` array if present. Claude Code's plugin schema discovers
* skills via the `skills/` directory; the explicit array fails validation, so
* this script must never (re-)introduce it.
*/
function updateMarketplace(skills) {
const marketplace = JSON.parse(fs.readFileSync(MARKETPLACE_FILE, "utf8"));
const plugin = marketplace.plugins[0];
const existingSkills = plugin.skills || [];
const currentSkills = skills.map((s) => s.path);
if (JSON.stringify(currentSkills) === JSON.stringify(existingSkills)) {
const oldDescription = plugin.description;
const newDescription = updateSkillCount(plugin.description, skills.length);
const hadStaleSkillsArray = "skills" in plugin;
if (newDescription === oldDescription && !hadStaleSkillsArray) {
return { updated: false };
}
plugin.skills = currentSkills;
plugin.description = updateSkillCount(plugin.description, currentSkills.length);
plugin.description = newDescription;
delete plugin.skills;
fs.writeFileSync(MARKETPLACE_FILE, JSON.stringify(marketplace, null, 2) + "\n");
const added = currentSkills.filter((s) => !existingSkills.includes(s));
const removed = existingSkills.filter((s) => !currentSkills.includes(s));
return { updated: true, removedSkillsArray: hadStaleSkillsArray };
}
return { updated: true, added, removed };
/**
* Update plugin.json's `version` field to match marketplace.json's
* `metadata.version`. Claude Code uses plugin.json's version for the update
* check (`claude plugin update`); if it drifts from marketplace.json the
* update path silently breaks.
*/
function updatePluginVersion() {
if (!fs.existsSync(PLUGIN_FILE)) return { updated: false };
const marketplace = JSON.parse(fs.readFileSync(MARKETPLACE_FILE, "utf8"));
const plugin = JSON.parse(fs.readFileSync(PLUGIN_FILE, "utf8"));
const marketplaceVersion = marketplace.metadata && marketplace.metadata.version;
if (!marketplaceVersion) return { updated: false };
if (plugin.version === marketplaceVersion) return { updated: false };
const oldVersion = plugin.version;
plugin.version = marketplaceVersion;
fs.writeFileSync(PLUGIN_FILE, JSON.stringify(plugin, null, 2) + "\n");
return { updated: true, oldVersion, newVersion: marketplaceVersion };
}
function main() {
@@ -160,22 +185,24 @@ function main() {
const marketplaceResult = updateMarketplace(skills);
const readmeUpdated = updateReadme(skills);
const pluginResult = updatePluginVersion();
if (!marketplaceResult.updated && !readmeUpdated) {
if (!marketplaceResult.updated && !readmeUpdated && !pluginResult.updated) {
console.log("Everything is already in sync");
return;
}
if (marketplaceResult.updated) {
if (marketplaceResult.added.length) {
console.log(`Added: ${marketplaceResult.added.join(", ")}`);
}
if (marketplaceResult.removed.length) {
console.log(`Removed: ${marketplaceResult.removed.join(", ")}`);
if (marketplaceResult.removedSkillsArray) {
console.log("Stripped stale `skills` array from marketplace.json");
}
console.log(`Updated marketplace.json (${skills.length} skills)`);
}
if (pluginResult.updated) {
console.log(`Bumped plugin.json version: ${pluginResult.oldVersion}${pluginResult.newVersion}`);
}
if (readmeUpdated) {
console.log("Updated README.md skills table");
}
+3 -2
View File
@@ -5,6 +5,7 @@ on:
branches: [main]
paths:
- 'skills/**'
- '.claude-plugin/marketplace.json'
jobs:
sync:
@@ -26,5 +27,5 @@ jobs:
with:
commit_user_name: Coreybot
commit_user_email: coreybot+github-actions[bot]@users.noreply.github.com
commit_message: "chore: sync skills with marketplace.json and README"
file_pattern: ".claude-plugin/marketplace.json README.md"
commit_message: "chore: sync skills with marketplace.json, plugin.json, and README"
file_pattern: ".claude-plugin/marketplace.json .claude-plugin/plugin.json README.md"
+7 -2
View File
@@ -1,6 +1,11 @@
# Dependencies
node_modules/
# Skill install artifacts (npx skills add)
.agents/
.claude/
skills-lock.json
# Environment variables / secrets
.env
.env.*
@@ -14,8 +19,8 @@ node_modules/
* 2.*
* 2/
# Remotion video project
video/
# Remotion video project (root only, not skills/video/)
/video/
# Editor
*.swp
+46 -9
View File
@@ -4,7 +4,7 @@ Guidelines for AI agents working in this repository.
## Repository Overview
This repository contains **Agent Skills** for AI agents following the [Agent Skills specification](https://agentskills.io/specification.md). It also serves as a **Claude Code plugin marketplace** via `.claude-plugin/marketplace.json`.
This repository contains **Agent Skills** for AI agents following the [Agent Skills specification](https://agentskills.io/specification.md). Skills install to `.agents/skills/` (the cross-agent standard). This repo also serves as a **Claude Code plugin marketplace** via `.claude-plugin/marketplace.json`.
- **Name**: Marketing Skills
- **GitHub**: [coreyhaines31/marketingskills](https://github.com/coreyhaines31/marketingskills)
@@ -22,6 +22,7 @@ marketingskills/
│ └── SKILL.md # Required skill file
├── tools/
│ ├── clis/ # Zero-dependency Node.js CLI tools (51 tools)
│ ├── composio/ # Composio integration layer (quick start + toolkit mapping)
│ ├── integrations/ # API integration guides per tool
│ └── REGISTRY.md # Tool index with capabilities
├── CONTRIBUTING.md
@@ -73,7 +74,7 @@ description: What this skill does and when to use it. Include trigger phrases.
- No consecutive hyphens (`--`)
- Must match parent directory name exactly
**Valid**: `page-cro`, `email-sequence`, `ab-test-setup`
**Valid**: `cro`, `emails`, `ab-testing`
**Invalid**: `Page-CRO`, `-page`, `page--cro`
### Optional Skill Directories
@@ -123,7 +124,7 @@ The `description` is critical for skill discovery. Include:
3. Related skills for scope boundaries
```yaml
description: When the user wants to optimize conversions on any marketing page. Use when the user says "CRO," "conversion rate optimization," "this page isn't converting." For signup flows, see signup-flow-cro.
description: When the user wants to optimize conversions on any marketing page. Use when the user says "CRO," "conversion rate optimization," "this page isn't converting." For signup flows, see signup.
```
## Claude Code Plugin
@@ -150,7 +151,7 @@ See [Claude Code plugins documentation](https://code.claude.com/docs/en/plugins.
Follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
- `feat: add skill-name skill`
- `fix: improve clarity in page-cro`
- `fix: improve clarity in cro`
- `docs: update README`
### Pull Request Checklist
@@ -167,7 +168,8 @@ This repository includes a tools registry for agent-compatible marketing tools.
- **Tool discovery**: Read `tools/REGISTRY.md` to see available tools and their capabilities
- **Integration details**: See `tools/integrations/{tool}.md` for API endpoints, auth, and common operations
- **MCP-enabled tools**: ga4, stripe, mailchimp, google-ads, resend, zapier
- **MCP-enabled tools**: ga4, stripe, mailchimp, google-ads, resend, zapier, zoominfo, clay, supermetrics, coupler, outreach, crossbeam, introw, composio
- **Composio** (integration layer): Adds MCP access to OAuth-heavy tools without native MCP servers (HubSpot, Salesforce, Meta Ads, LinkedIn Ads, Google Sheets, Slack, etc.). See `tools/integrations/composio.md`
### Registry Structure
@@ -184,10 +186,12 @@ tools/
### When to Use Tools
Skills reference relevant tools for implementation. For example:
- `referral-program` skill → rewardful, tolt, dub-co, mention-me guides
- `analytics-tracking` skill → ga4, mixpanel, segment guides
- `email-sequence` skill → customer-io, mailchimp, resend guides
- `paid-ads` skill → google-ads, meta-ads, linkedin-ads guides
- `referrals` skill → rewardful, tolt, dub-co, mention-me guides
- `analytics` skill → ga4, mixpanel, segment guides
- `emails` skill → customer-io, mailchimp, resend guides
- `ads` skill → google-ads, meta-ads, linkedin-ads guides
For tools without native MCP servers (HubSpot, Salesforce, Meta Ads, LinkedIn Ads, Google Sheets, Slack, Notion), Composio provides MCP access via a single server. See `tools/integrations/composio.md` for setup and `tools/composio/marketing-tools.md` for the full toolkit mapping.
## Checking for Updates
@@ -215,3 +219,36 @@ When using any skill from this repository:
## Skill Categories
See `README.md` for the current list of skills organized by category. When adding new skills, follow the naming patterns of existing skills in that category.
## Claude Code-Specific Enhancements
These patterns are **Claude Code only** and must not be added to `SKILL.md` files directly, as skills are designed to be cross-agent compatible (Codex, Cursor, Windsurf, etc.). Apply them locally in your own project's `.claude/skills/` overrides instead.
### Dynamic content injection with `!`command``
Claude Code supports embedding shell commands in SKILL.md using `` !`command` `` syntax. When the skill is invoked, Claude Code runs the command and injects the output inline — the model sees the result, not the instruction.
**Most useful application: auto-inject the product marketing context file**
Instead of every skill telling the agent "go check if `.agents/product-marketing.md` exists and read it," you can inject it automatically:
```markdown
Product context: !`cat .agents/product-marketing.md 2>/dev/null || echo "No product context file found — ask the user about their product before proceeding."`
```
Place this at the top of a skill's body (after frontmatter) to make context available immediately without any file-reading step.
**Other useful injections:**
```markdown
# Inject today's date for recency-sensitive skills
Today's date: !`date +%Y-%m-%d`
# Inject current git branch (useful for workflow skills)
Current branch: !`git branch --show-current 2>/dev/null`
# Inject recent commits for context
Recent commits: !`git log --oneline -5 2>/dev/null`
```
**Why this is Claude Code-only**: Other agents that load skills will see the literal `` !`command` `` string rather than executing it, which would appear as garbled instructions. Keep cross-agent skill files free of this syntax.
+1 -1
View File
@@ -33,7 +33,7 @@ Optional frontmatter fields: `license` (default: MIT), `metadata` (author, versi
### 3. Follow the naming conventions
- **Directory name**: lowercase, hyphens only (e.g., `email-sequence`)
- **Directory name**: lowercase, hyphens only (e.g., `emails`)
- **Name field**: must match directory name exactly
- **Description**: 1-1024 characters, include trigger phrases
+166 -53
View File
@@ -1,51 +1,104 @@
# Marketing Skills for Claude Code
# Marketing Skills for AI Agents
A collection of AI agent skills focused on marketing tasks. Built for technical marketers and founders who want Claude Code (or similar AI coding assistants) to help with conversion optimization, copywriting, SEO, analytics, and growth engineering.
A collection of AI agent skills focused on marketing tasks. Built for technical marketers and founders who want AI coding agents to help with conversion optimization, copywriting, SEO, analytics, and growth engineering. Works with Claude Code, OpenAI Codex, Cursor, Windsurf, and any agent that supports the [Agent Skills spec](https://agentskills.io).
Built by [Corey Haines](https://corey.co?ref=marketingskills). Need hands-on help? Check out [Conversion Factory](https://conversionfactory.co?ref=marketingskills) — Corey's agency for conversion optimization, landing pages, and growth strategy. Want to learn more about marketing? Subscribe to [Swipe Files](https://swipefiles.com?ref=marketingskills).
Built by [Corey Haines](https://corey.co?ref=marketingskills). Need hands-on help? Check out [Conversion Factory](https://conversionfactory.co?ref=marketingskills) — Corey's agency for conversion optimization, landing pages, and growth strategy. Want to learn more about marketing? Subscribe to [Swipe Files](https://swipefiles.com?ref=marketingskills). Want an autonomous AI agent that uses these skills to be your CMO? Try [Magister](https://magistermarketing.com?ref=marketingskills).
New to the terminal and coding agents? Check out the companion guide [Coding for Marketers](https://codingformarketers.com?ref=marketingskills).
**Contributions welcome!** Found a way to improve a skill or have a new one to add? [Open a PR](#contributing).
Run into a problem or have a question? [Open an issue](https://github.com/coreyhaines31/marketingskills/issues) — we're happy to help.
## What are Skills?
Skills are markdown files that give AI agents specialized knowledge and workflows for specific tasks. When you add these to your project, Claude Code can recognize when you're working on a marketing task and apply the right frameworks and best practices.
Skills are markdown files that give AI agents specialized knowledge and workflows for specific tasks. When you add these to your project, your agent can recognize when you're working on a marketing task and apply the right frameworks and best practices.
## How Skills Work Together
Skills reference each other and build on shared context. The `product-marketing` skill is the foundation — every other skill checks it first to understand your product, audience, and positioning before doing anything.
```
┌──────────────────────────────────────┐
│ product-marketing │
│ (read by all other skills first) │
└──────────────────┬───────────────────┘
┌──────────────┬─────────────┬─────────────┼─────────────┬──────────────┬──────────────┐
▼ ▼ ▼ ▼ ▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌─────────────┐ ┌───────────┐
│ SEO & │ │ CRO │ │Content & │ │ Paid & │ │ Growth & │ │ Sales & │ │ Strategy │
│ Content │ │ │ │ Copy │ │Measurement │ │Retention │ │ GTM │ │ │
├──────────┤ ├──────────┤ ├──────────┤ ├────────────┤ ├──────────┤ ├─────────────┤ ├───────────┤
│seo-audit │ │cro │ │copywritng│ │ads │ │referrals │ │revops │ │mktg-ideas │
│ai-seo │ │signup │ │copy-edit │ │ad-creative │ │free-tools│ │sales-enable │ │mktg-psych │
│site-arch │ │onboarding│ │cold-email│ │ab-testing │ │churn- │ │launch │ │customer- │
│programm │ │popups │ │emails │ │analytics │ │ prevent │ │pricing │ │ research │
│schema │ │paywalls │ │social │ │ │ │community │ │competitors │ │ │
│content │ │ │ │video │ │ │ │lead-magnt│ │comp-profile │ │ │
│aso │ │ │ │image │ │ │ │co-mktg │ │directory │ │ │
│ │ │ │ │sms │ │ │ │ │ │prospecting │ │ │
└────┬─────┘ └────┬─────┘ └────┬─────┘ └─────┬──────┘ └────┬─────┘ └──────┬──────┘ └─────┬─────┘
│ │ │ │ │ │ │
└────────────┴─────┬──────┴──────────────┴─────────────┴──────────────┴──────────────┘
Skills cross-reference each other:
copywriting ↔ cro ↔ ab-testing
revops ↔ sales-enablement ↔ cold-email
seo-audit ↔ schema ↔ ai-seo
customer-research → copywriting, cro, competitors
```
See each skill's **Related Skills** section for the full dependency map.
## Available Skills
<!-- SKILLS:START -->
| Skill | Description |
|-------|-------------|
| [ab-test-setup](skills/ab-test-setup/) | When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B... |
| [ab-testing](skills/ab-testing/) | When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program.... |
| [ad-creative](skills/ad-creative/) | When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad... |
| [ads](skills/ads/) | When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X,... |
| [ai-seo](skills/ai-seo/) | When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers.... |
| [analytics-tracking](skills/analytics-tracking/) | When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions... |
| [analytics](skills/analytics/) | When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions... |
| [aso](skills/aso/) | When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO... |
| [churn-prevention](skills/churn-prevention/) | When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or... |
| [co-marketing](skills/co-marketing/) | When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use... |
| [cold-email](skills/cold-email/) | Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails,... |
| [competitor-alternatives](skills/competitor-alternatives/) | When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when... |
| [community-marketing](skills/community-marketing/) | Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a... |
| [competitor-profiling](skills/competitor-profiling/) | When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions... |
| [competitors](skills/competitors/) | When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when... |
| [content-strategy](skills/content-strategy/) | When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also... |
| [copy-editing](skills/copy-editing/) | When the user wants to edit, review, or improve existing marketing copy. Also use when the user mentions 'edit this... |
| [copy-editing](skills/copy-editing/) | When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the... |
| [copywriting](skills/copywriting/) | When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages,... |
| [email-sequence](skills/email-sequence/) | When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email... |
| [form-cro](skills/form-cro/) | When the user wants to optimize any form that is NOT signup/registration — including lead capture forms, contact forms,... |
| [free-tool-strategy](skills/free-tool-strategy/) | When the user wants to plan, evaluate, or build a free tool for marketing purposes — lead generation, SEO value, or... |
| [launch-strategy](skills/launch-strategy/) | When the user wants to plan a product launch, feature announcement, or release strategy. Also use when the user... |
| [cro](skills/cro/) | When the user wants to optimize, improve, or increase conversions on any marketing page or form — including homepage,... |
| [customer-research](skills/customer-research/) | When the user wants to conduct, analyze, or synthesize customer research. Use when the user mentions "customer... |
| [directory-submissions](skills/directory-submissions/) | When the user wants to submit their product to startup, SaaS, AI, agent, MCP, no-code, or review directories for... |
| [emails](skills/emails/) | When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email... |
| [free-tools](skills/free-tools/) | When the user wants to plan, evaluate, or build a free tool for marketing purposes — lead generation, SEO value, or... |
| [image](skills/image/) | When the user wants to create, generate, edit, or optimize images for marketing — blog heroes, social graphics, product... |
| [launch](skills/launch/) | When the user wants to plan a product launch, feature announcement, or release strategy. Also use when the user... |
| [lead-magnets](skills/lead-magnets/) | When the user wants to create, plan, or optimize a lead magnet for email capture or lead generation. Also use when the... |
| [marketing-ideas](skills/marketing-ideas/) | When the user needs marketing ideas, inspiration, or strategies for their SaaS or software product. Also use when the... |
| [marketing-plan](skills/marketing-plan/) | When the user needs a comprehensive marketing plan for a client, a company they advise, or their own product. Also use... |
| [marketing-psychology](skills/marketing-psychology/) | When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when... |
| [onboarding-cro](skills/onboarding-cro/) | When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value. Also... |
| [page-cro](skills/page-cro/) | When the user wants to optimize, improve, or increase conversions on any marketing page — including homepage, landing... |
| [paid-ads](skills/paid-ads/) | When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X,... |
| [paywall-upgrade-cro](skills/paywall-upgrade-cro/) | When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use... |
| [popup-cro](skills/popup-cro/) | When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also... |
| [pricing-strategy](skills/pricing-strategy/) | When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions... |
| [product-marketing-context](skills/product-marketing-context/) | When the user wants to create or update their product marketing context document. Also use when the user mentions... |
| [onboarding](skills/onboarding/) | When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value. Also... |
| [paywalls](skills/paywalls/) | When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use... |
| [popups](skills/popups/) | When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also... |
| [pricing](skills/pricing/) | When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions... |
| [product-marketing](skills/product-marketing/) | When the user wants to create or update their product marketing context document. Also use when the user mentions... |
| [programmatic-seo](skills/programmatic-seo/) | When the user wants to create SEO-driven pages at scale using templates and data. Also use when the user mentions... |
| [referral-program](skills/referral-program/) | When the user wants to create, optimize, or analyze a referral program, affiliate program, or word-of-mouth strategy.... |
| [schema-markup](skills/schema-markup/) | When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user... |
| [prospecting](skills/prospecting/) | When the user wants to find, qualify, and build a list of prospects to reach out to — across B2B SaaS, general B2B, or... |
| [referrals](skills/referrals/) | When the user wants to create, optimize, or analyze a referral program, affiliate program, or word-of-mouth strategy.... |
| [revops](skills/revops/) | When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes.... |
| [sales-enablement](skills/sales-enablement/) | When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts. Also... |
| [schema](skills/schema/) | When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user... |
| [seo-audit](skills/seo-audit/) | When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO... |
| [signup-flow-cro](skills/signup-flow-cro/) | When the user wants to optimize signup, registration, account creation, or trial activation flows. Also use when the... |
| [social-content](skills/social-content/) | When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram,... |
| [signup](skills/signup/) | When the user wants to optimize signup, registration, account creation, or trial activation flows. Also use when the... |
| [site-architecture](skills/site-architecture/) | When the user wants to plan, map, or restructure their website's page hierarchy, navigation, URL structure, or internal... |
| [sms](skills/sms/) | When the user wants to plan, build, or optimize SMS or MMS marketing — including welcome flows, abandoned cart texts,... |
| [social](skills/social/) | When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram,... |
| [video](skills/video/) | When the user wants to create, generate, or produce video content using AI tools or programmatic frameworks. Also use... |
<!-- SKILLS:END -->
## Installation
@@ -59,13 +112,13 @@ Use [npx skills](https://github.com/vercel-labs/skills) to install skills direct
npx skills add coreyhaines31/marketingskills
# Install specific skills
npx skills add coreyhaines31/marketingskills --skill page-cro copywriting
npx skills add coreyhaines31/marketingskills --skill cro copywriting
# List available skills
npx skills add coreyhaines31/marketingskills --list
```
This automatically installs to your `.claude/skills/` directory.
This automatically installs to your `.agents/skills/` directory (and symlinks into `.claude/skills/` for Claude Code compatibility).
### Option 2: Claude Code Plugin
@@ -85,7 +138,7 @@ Clone the entire repo and copy the skills folder:
```bash
git clone https://github.com/coreyhaines31/marketingskills.git
cp -r marketingskills/skills/* .claude/skills/
cp -r marketingskills/skills/* .agents/skills/
```
### Option 4: Git Submodule
@@ -93,10 +146,10 @@ cp -r marketingskills/skills/* .claude/skills/
Add as a submodule for easy updates:
```bash
git submodule add https://github.com/coreyhaines31/marketingskills.git .claude/marketingskills
git submodule add https://github.com/coreyhaines31/marketingskills.git .agents/marketingskills
```
Then reference skills from `.claude/marketingskills/skills/`.
Then reference skills from `.agents/marketingskills/skills/`.
### Option 5: Fork and Customize
@@ -113,83 +166,143 @@ Use [SkillKit](https://github.com/rohitg00/skillkit) to install skills across mu
npx skillkit install coreyhaines31/marketingskills
# Install specific skills
npx skillkit install coreyhaines31/marketingskills --skill page-cro copywriting
npx skillkit install coreyhaines31/marketingskills --skill cro copywriting
# List available skills
npx skillkit install coreyhaines31/marketingskills --list
```
## Upgrading from v1.x to v2.0
v2.0 renames 17 skills and consolidates `page-cro` + `form-cro` into a single `cro` skill. If you installed the v1.x skills, you'll have **stale old-name folders** in your install directory after upgrading — the new skills install alongside the old ones, so you'll see both `skills/page-cro/` and `skills/cro/`, etc. Clean them up:
```bash
# From the directory where you installed the skills (e.g., .agents/skills/ or .claude/skills/)
rm -rf page-cro form-cro \
ab-test-setup analytics-tracking aso-audit competitor-alternatives \
email-sequence free-tool-strategy launch-strategy onboarding-cro \
paid-ads paywall-upgrade-cro popup-cro pricing-strategy \
product-marketing-context referral-program schema-markup \
signup-flow-cro social-content
```
Then reinstall the v2.0 skills via your usual method (e.g., `npx skills add coreyhaines31/marketingskills`).
### Migrate the product marketing context file
In v2.0 the context file moved from `.claude/` to `.agents/` and was renamed from `product-marketing-context.md` to `product-marketing.md`. Move your existing context file:
```bash
mkdir -p .agents
# v2.0 file (or pre-v2.0 file with new name)
mv .claude/product-marketing.md .agents/product-marketing.md 2>/dev/null
# pre-v2.0 file with legacy name
mv .claude/product-marketing-context.md .agents/product-marketing.md 2>/dev/null
```
Skills will still check `.claude/` and the legacy `product-marketing-context.md` filename as fallbacks, so nothing breaks if you don't migrate.
### Full rename map
| Old | New |
|-----|-----|
| `ab-test-setup` | `ab-testing` |
| `analytics-tracking` | `analytics` |
| `aso-audit` | `aso` |
| `competitor-alternatives` | `competitors` |
| `email-sequence` | `emails` |
| `form-cro` | merged into `cro` |
| `free-tool-strategy` | `free-tools` |
| `launch-strategy` | `launch` |
| `onboarding-cro` | `onboarding` |
| `page-cro` | `cro` |
| `paid-ads` | `ads` |
| `paywall-upgrade-cro` | `paywalls` |
| `popup-cro` | `popups` |
| `pricing-strategy` | `pricing` |
| `product-marketing-context` | `product-marketing` |
| `referral-program` | `referrals` |
| `schema-markup` | `schema` |
| `signup-flow-cro` | `signup` |
| `social-content` | `social` |
## Usage
Once installed, just ask Claude Code to help with marketing tasks:
Once installed, just ask your agent to help with marketing tasks:
```
"Help me optimize this landing page for conversions"
→ Uses page-cro skill
→ Uses cro skill
"Write homepage copy for my SaaS"
→ Uses copywriting skill
"Set up GA4 tracking for signups"
→ Uses analytics-tracking skill
→ Uses analytics skill
"Create a 5-email welcome sequence"
→ Uses email-sequence skill
→ Uses emails skill
```
You can also invoke skills directly:
```
/page-cro
/email-sequence
/cro
/emails
/seo-audit
```
## Skill Categories
### Conversion Optimization
- `page-cro` - Any marketing page
- `signup-flow-cro` - Registration flows
- `onboarding-cro` - Post-signup activation
- `form-cro` - Lead capture forms
- `popup-cro` - Modals and overlays
- `paywall-upgrade-cro` - In-app upgrade moments
- `cro` - Pages and forms
- `signup` - Registration flows
- `onboarding` - Post-signup activation
- `popups` - Modals and overlays
- `paywalls` - In-app upgrade moments
### Content & Copy
- `copywriting` - Marketing page copy
- `copy-editing` - Edit and polish existing copy
- `cold-email` - B2B cold outreach emails and sequences
- `email-sequence` - Automated email flows
- `social-content` - Social media content
- `emails` - Automated email flows
- `social` - Social media content
- `image` - AI image generation, design tools, and optimization
### SEO & Discovery
- `seo-audit` - Technical and on-page SEO
- `ai-seo` - AI search optimization (AEO, GEO, LLMO)
- `programmatic-seo` - Scaled page generation
- `competitor-alternatives` - Comparison and alternative pages
- `schema-markup` - Structured data
- `site-architecture` - Page hierarchy, navigation, URL structure
- `competitors` - Comparison and alternative pages
- `schema` - Structured data
### Paid & Distribution
- `paid-ads` - Google, Meta, LinkedIn ad campaigns
- `ads` - Google, Meta, LinkedIn ad campaigns
- `ad-creative` - Bulk ad creative generation and iteration
- `social-content` - Social media scheduling and strategy
- `social` - Social media scheduling and strategy
### Measurement & Testing
- `analytics-tracking` - Event tracking setup
- `ab-test-setup` - Experiment design
- `analytics` - Event tracking setup
- `ab-testing` - Experiment design
### Retention
- `churn-prevention` - Cancel flows, save offers, dunning, payment recovery
### Growth Engineering
- `free-tool-strategy` - Marketing tools and calculators
- `referral-program` - Referral and affiliate programs
- `co-marketing` - Partner identification and joint campaigns
- `free-tools` - Marketing tools and calculators
- `referrals` - Referral and affiliate programs
### Strategy & Monetization
- `marketing-ideas` - 140 SaaS marketing ideas
- `marketing-psychology` - Mental models and psychology
- `launch-strategy` - Product launches and announcements
- `pricing-strategy` - Pricing, packaging, and monetization
- `launch` - Product launches and announcements
- `pricing` - Pricing, packaging, and monetization
### Sales & RevOps
- `revops` - Lead lifecycle, scoring, routing, pipeline management
- `sales-enablement` - Sales decks, one-pagers, objection docs, demo scripts
## Contributing
+159 -29
View File
@@ -4,38 +4,168 @@ Current versions of all skills. Agents can compare against local versions to che
| Skill | Version | Last Updated |
|-------|---------|--------------|
| ab-test-setup | 1.0.0 | 2026-01-27 |
| ad-creative | 1.0.0 | 2026-02-17 |
| ai-seo | 1.0.0 | 2026-02-18 |
| analytics-tracking | 1.0.0 | 2026-01-27 |
| churn-prevention | 1.0.0 | 2026-02-18 |
| cold-email | 1.0.0 | 2026-02-14 |
| competitor-alternatives | 1.0.0 | 2026-01-27 |
| content-strategy | 1.0.0 | 2026-01-27 |
| copy-editing | 1.0.0 | 2026-01-27 |
| copywriting | 1.0.0 | 2026-01-27 |
| email-sequence | 1.0.0 | 2026-01-27 |
| form-cro | 1.0.0 | 2026-01-27 |
| free-tool-strategy | 1.0.0 | 2026-01-27 |
| launch-strategy | 1.0.0 | 2026-01-27 |
| marketing-ideas | 1.0.0 | 2026-01-27 |
| marketing-psychology | 1.0.0 | 2026-01-27 |
| onboarding-cro | 1.0.0 | 2026-01-27 |
| page-cro | 1.0.0 | 2026-01-27 |
| paid-ads | 1.0.0 | 2026-01-27 |
| paywall-upgrade-cro | 1.0.0 | 2026-01-27 |
| popup-cro | 1.0.0 | 2026-01-27 |
| pricing-strategy | 1.0.0 | 2026-01-27 |
| product-marketing-context | 1.0.0 | 2026-01-27 |
| programmatic-seo | 1.0.0 | 2026-01-27 |
| referral-program | 1.0.0 | 2026-01-27 |
| schema-markup | 1.0.0 | 2026-01-27 |
| seo-audit | 1.0.0 | 2026-01-27 |
| signup-flow-cro | 1.0.0 | 2026-01-27 |
| social-content | 1.0.0 | 2026-01-27 |
| ab-testing | 2.0.0 | 2026-05-05 |
| ad-creative | 2.0.0 | 2026-05-05 |
| ai-seo | 2.0.1 | 2026-05-18 |
| analytics | 2.0.0 | 2026-05-05 |
| aso | 2.0.0 | 2026-05-05 |
| churn-prevention | 2.0.0 | 2026-05-05 |
| co-marketing | 2.0.0 | 2026-05-05 |
| cold-email | 2.0.0 | 2026-05-05 |
| community-marketing | 2.0.0 | 2026-05-05 |
| competitor-profiling | 2.0.0 | 2026-05-05 |
| competitors | 2.0.0 | 2026-05-05 |
| content-strategy | 2.0.0 | 2026-05-05 |
| copy-editing | 2.0.0 | 2026-05-05 |
| copywriting | 2.0.0 | 2026-05-05 |
| cro | 2.0.0 | 2026-05-05 |
| customer-research | 2.0.0 | 2026-05-05 |
| directory-submissions | 2.0.0 | 2026-05-05 |
| emails | 2.0.0 | 2026-05-05 |
| free-tools | 2.0.0 | 2026-05-05 |
| image | 2.0.1 | 2026-05-18 |
| launch | 2.0.0 | 2026-05-05 |
| lead-magnets | 2.0.0 | 2026-05-05 |
| marketing-ideas | 2.0.0 | 2026-05-05 |
| marketing-plan | 1.1.0 | 2026-05-29 |
| marketing-psychology | 2.0.0 | 2026-05-05 |
| onboarding | 2.0.0 | 2026-05-05 |
| ads | 2.0.1 | 2026-05-26 |
| paywalls | 2.0.0 | 2026-05-05 |
| popups | 2.0.0 | 2026-05-05 |
| pricing | 2.0.0 | 2026-05-05 |
| product-marketing | 2.0.0 | 2026-05-05 |
| programmatic-seo | 2.0.0 | 2026-05-05 |
| prospecting | 1.0.0 | 2026-05-26 |
| referrals | 2.0.0 | 2026-05-05 |
| revops | 2.0.0 | 2026-05-05 |
| sales-enablement | 2.0.0 | 2026-05-05 |
| schema | 2.0.0 | 2026-05-05 |
| seo-audit | 2.0.0 | 2026-05-05 |
| signup | 2.0.0 | 2026-05-05 |
| site-architecture | 2.0.0 | 2026-05-05 |
| sms | 1.0.0 | 2026-05-21 |
| social | 2.0.0 | 2026-05-05 |
| video | 2.0.1 | 2026-05-18 |
## Recent Changes
### 2.3.0 (2026-05-27)
- Added `marketing-plan` skill — comprehensive AARRR-structured marketing plan generator. Produces a 13-section Notion-paste-ready plan document (executive summary, strategic frame, current state, AARRR breakdown, 90-day roadmap, 12-month outlook with funding-stage capability unlocks, marketing operations stack mapping skills + MCPs to AARRR stages, tactical idea bank cross-referencing all 139 `marketing-ideas` to AARRR + client-specific status, measurement framework, RACI, open decisions). Customized for current budget, team, stage, and tooling stack. Three-phase workflow: INIT (research + intake), REVIEW (section-by-section walkthrough), FINALIZE (compile + verify + optional publish to shared repo). References include methodology, plan-template, aarrr-framework, current-state-rubric (self-contained 17-section scoring rubric), ops-stack-mapping, idea-cross-reference (139-idea AARRR mapping), funding-stage-unlocks, measurement-framework, client-types (variations by B2B SaaS / D2C / hardware-hybrid / marketplace / dev tool / clinical / commerce), example-quietude (anonymized canonical reference plan, based on a real fCMO engagement with names/identifying details changed), budget-planning (two scientific methods for setting the marketing budget — Revenue-Based 540% of ARR, and Goal-Based formula reverse-engineered from the revenue target; plus blended CAC calculation, the 1020% experimental buffer rule, the 3-3-2-2-2 VC growth path, and the forecasting reality check), growth-patterns (the real shape of SaaS growth — $010K / $10K100K / $100K1M phases with binding constraints, linear vs step-function vs S-curve patterns, and Channel × Product × Market layering), and team-and-agency-model (the strategy-in-house / execution-outsourced principle, three core functions Growth/Product/Content, π-shaped marketer framework, title progression Manager → Lead → Director → VP → Chief, agency selection framework, and the three-stage scaling model Early/Growth/Scale). Budget, growth-pattern, and team frameworks drawn from *Founding Marketing* by Corey Haines.
- Total skills: 43.
### 2.2.0 (2026-05-26)
- Added `prospecting` skill for building qualified prospect lists across SaaS, B2B, and local SMB motions. Includes shared 5-phase framework (ICP → discovery → qualify → score → output) plus branch-specific references (saas-prospecting, b2b-prospecting, local-prospecting), data-sources guide covering Apollo / Clay / ZoomInfo / Clearbit / Hunter / Snov / Truelist / RB2B / Sales Nav / BuiltWith / Crunchbase / GitHub, and compliance reference (CAN-SPAM, GDPR, CASL, platform ToS).
- Added `tools/clis/github-prospects.js` CLI for pulling GitHub stargazers, forkers, and watchers as a developer-intent signal — with pagination, enrichment, filter-based early termination, and CSV output.
- Added new tool integration docs: `truelist` (email deliverability validation, OpenAPI-aligned), `github` (REST API for prospecting), `firecrawl` (single-target page scraping), `browserbase` (real Chromium for JS-heavy pages or interaction).
- **ads** (2.0.0 → 2.0.1): added Google RSA Output Spec section enforcing 15 headlines × 30 chars, 4 descriptions × 90 chars, ad group structure labels, ≥8 negative keywords, ≥4 sitelinks/callouts, output ordering to avoid truncation, and a self-check before responding. Includes optional Brazilian medical (CFM) compliance rules when product context indicates that vertical.
- Added `sequenzy` tool integration (email marketing platform with MCP support).
- Fixed plugin.json version drift (was stuck at 1.9.0 across three releases) — `sync-skills.js` now auto-syncs `plugin.json` version to `marketplace.json` on every change. Closes #323.
- Added skill install artifacts (`.agents/`, `.claude/`, `skills-lock.json`) to `.gitignore`.
- Total skills: 42.
### 2.1.0 (2026-05-21)
- Added `sms` skill for SMS/MMS marketing — welcome flows, abandoned cart, post-purchase, win-back, promotional sends, and transactional/auth. Includes compliance reference (TCPA, A2P 10DLC, GDPR, CASL), sequence templates with character counts, and platform comparison (Klaviyo, Postscript, Attentive, Twilio, Brevo, SimpleTexting, Customer.io).
- Total skills: 41
### 2.0.1 (2026-05-18)
Content patch — no breaking changes, no new skills.
- **ai-seo** (2.0.0 → 2.0.1): aligned with Google's official AI features optimization guide. Added sections for Google's stance on AI optimization, query fan-out, agentic experiences (including UCP), explicit "what NOT to do" (scaled content abuse, etc.), and Search Console expectations. Reframed llms.txt / pricing.md / schema markup recommendations as "Google says not required, helpful for non-Google AI engines." Moved content-type tactics to `references/content-types.md` (added local/ecom Merchant Center + Business Profile guidance per Google).
- **image** (2.0.0 → 2.0.1): refreshed model lineup to current May 2026 releases — Nano Banana / Nano Banana Pro family naming, Flux Pro 1.1 + Kontext + Dev + Schnell variants, Ideogram 3.0, ChatGPT Images 2.0 / GPT Image, Midjourney v7, Recraft V3, SD 3.5 / SDXL. Updated decision tree and trigger phrases.
- **video** (2.0.0 → 2.0.1): refreshed model lineup — Sora 2 promoted from limited-availability caveat, Kling 2.5/3.0, added Seedance (ByteDance), Hailuo / MiniMax (character consistency), Hunyuan Video / Wan 2 (open-weight self-hosted), Pika 2.x. New "Quick picks" guide.
Total skills: 40 (unchanged).
### 2.0.0 (2026-05-05)
**Breaking changes** — Users must reinstall skills after this update.
#### Skill Renames (17)
| Old Name | New Name |
|----------|----------|
| ab-test-setup | ab-testing |
| analytics-tracking | analytics |
| aso-audit | aso |
| competitor-alternatives | competitors |
| email-sequence | emails |
| free-tool-strategy | free-tools |
| launch-strategy | launch |
| onboarding-cro | onboarding |
| paid-ads | ads |
| paywall-upgrade-cro | paywalls |
| popup-cro | popups |
| pricing-strategy | pricing |
| product-marketing-context | product-marketing |
| referral-program | referrals |
| schema-markup | schema |
| signup-flow-cro | signup |
| social-content | social |
#### Consolidations (1)
- `page-cro` + `form-cro``cro` (form content moved to `references/form.md`)
#### Why 2.0?
- Shorter, cleaner skill names
- Consistent naming conventions (no more `-strategy`, `-setup`, `-cro` suffixes)
- Consolidated CRO into single skill with references
- All cross-references updated across 100+ files
**Total skills: 40**
### 1.10.0 (2026-05-04)
- Added `co-marketing` skill for partner identification, joint campaigns, and co-marketing strategy
- Total skills: 41
### 2026-04-24
- Added `image` skill for AI image generation, design tools, profile/listing banners, and optimization
- Added `video` skill for AI video production (Hyperframes, HeyGen, Veo, Runway, Kling)
- Added short-form video section to `social` (1.3.0) — TikTok, Reels, Shorts frameworks
- Added HeyGen and Hyperframes tool integration guides
- Fixed plugin marketplace: `source` field now passes Claude Code schema validation (#270)
- Added proper `plugin.json` manifest with `"skills": "./skills"`
- Total skills: 40
### 2026-04-21
- Added `directory-submissions` skill for Product Hunt, G2, AI directories, and backlink strategy
- Added `competitor-profiling` skill for competitive intelligence research
- Added international SEO & localization section to `seo-audit` (1.2.0)
- Added conversion tracking reference to `ads` (cross-platform pixel setup)
- Added Zapier SDK integration for 8,000+ app access
- Fixed plugin loading: removed `./` prefix from marketplace.json skill paths (#243)
- Hardened CLI tools: Supermetrics API key moved to header, ZoomInfo JWT masked by default
- Fixed community-marketing YAML frontmatter (#240)
- Fixed Zapier webhook URL validation (#247)
- Added missing skills to VERSIONS.md (aso, community-marketing, customer-research — shipped in prior releases)
- Total skills: 38
### 2026-03-14
- Added `lead-magnets` skill for lead magnet strategy, format selection, and conversion optimization
- Added Composio integration layer for MCP access to OAuth-heavy tools (HubSpot, Salesforce, Meta Ads, LinkedIn Ads, Google Sheets, Slack, Notion, etc.)
- Added headless CMS integration guides (Sanity, Contentful, Strapi) with headless-cms reference
- Added 197 evals across all 33 skills for automated quality testing
- Optimized all 32 skill descriptions for better trigger phrase matching
- Replaced rigid imperatives with reasoning-based guidance across all skills
- Added 10 new CLI tools (airops, clay, close, coupler, crossbeam, outreach, pendo, similarweb, supermetrics, zoominfo)
- Added 13 new integration guides
- Bumped all 32 existing skills from 1.1.0 → 1.2.0
### 2026-02-27
- Migrated context path from `.claude/` to `.agents/` for agent-agnostic compatibility
- All skills now check `.agents/product-marketing.md` first, with `.claude/` fallback for older setups
- Updated install paths in README to reference `.agents/skills/`
- Bumped all 32 skills from 1.0.0 → 1.1.0
### 2026-02-22
- Added `revops` skill for revenue operations, lead lifecycle, scoring, routing, pipeline management, and CRM automation
- Added `sales-enablement` skill for sales decks, one-pagers, objection handling, demo scripts, and sales playbooks
### 2026-02-21
- Added `site-architecture` skill for website structure planning, page hierarchy, navigation design, URL structure, and internal linking strategy
### 2026-02-18
- Added `ai-seo` skill for AI search optimization (AEO, GEO, LLMO, AI Overviews)
- Moved AEO/GEO content patterns from `seo-audit` references to `ai-seo` skill
@@ -1,8 +1,8 @@
---
name: ab-test-setup
description: When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," or "hypothesis." For tracking implementation, see analytics-tracking.
name: ab-testing
description: When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics. For page-level conversion optimization, see cro.
metadata:
version: 1.0.0
version: 2.0.0
---
# A/B Test Setup
@@ -12,7 +12,7 @@ You are an expert in experimentation and A/B testing. Your goal is to help desig
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before designing a test, understand:
@@ -180,7 +180,7 @@ We'll know this is true when [metrics].
- Check segment quality
- Document external factors
**DON'T:**
**Avoid:**
- Peek at results and stop early
- Make changes to variants
- Add traffic from new sources
@@ -229,6 +229,93 @@ Document every test with:
---
## Growth Experimentation Program
Individual tests are valuable. A continuous experimentation program is a compounding asset. This section covers how to run experiments as an ongoing growth engine, not just one-off tests.
### The Experiment Loop
```
1. Generate hypotheses (from data, research, competitors, customer feedback)
2. Prioritize with ICE scoring
3. Design and run the test
4. Analyze results with statistical rigor
5. Promote winners to a playbook
6. Generate new hypotheses from learnings
→ Repeat
```
### Hypothesis Generation
Feed your experiment backlog from multiple sources:
| Source | What to Look For |
|--------|-----------------|
| Analytics | Drop-off points, low-converting pages, underperforming segments |
| Customer research | Pain points, confusion, unmet expectations |
| Competitor analysis | Features, messaging, or UX patterns they use that you don't |
| Support tickets | Recurring questions or complaints about conversion flows |
| Heatmaps/recordings | Where users hesitate, rage-click, or abandon |
| Past experiments | "Significant loser" tests often reveal new angles to try |
### ICE Prioritization
Score each hypothesis 1-10 on three dimensions:
| Dimension | Question |
|-----------|----------|
| **Impact** | If this works, how much will it move the primary metric? |
| **Confidence** | How sure are we this will work? (Based on data, not gut.) |
| **Ease** | How fast and cheap can we ship and measure this? |
**ICE Score** = (Impact + Confidence + Ease) / 3
Run highest-scoring experiments first. Re-score monthly as context changes.
### Experiment Velocity
Track your experimentation rate as a leading indicator of growth:
| Metric | Target |
|--------|--------|
| Experiments launched per month | 4-8 for most teams |
| Win rate | 20-30% is common for mature programs (sustained higher rates may indicate conservative hypotheses) |
| Average test duration | 2-4 weeks |
| Backlog depth | 20+ hypotheses queued |
| Cumulative lift | Compound gains from all winners |
### The Experiment Playbook
When a test wins, don't just implement it — document the pattern:
```
## [Experiment Name]
**Date**: [date]
**Hypothesis**: [the hypothesis]
**Sample size**: [n per variant]
**Result**: [winner/loser/inconclusive] — [primary metric] changed by [X%] (95% CI: [range], p=[value])
**Guardrails**: [any guardrail metrics and their outcomes]
**Segment deltas**: [notable differences by device, segment, or cohort]
**Why it worked/failed**: [analysis]
**Pattern**: [the reusable insight — e.g., "social proof near pricing CTAs increases plan selection"]
**Apply to**: [other pages/flows where this pattern might work]
**Status**: [implemented / parked / needs follow-up test]
```
Over time, your playbook becomes a library of proven growth patterns specific to your product and audience.
### Experiment Cadence
**Weekly (30 min)**: Review running experiments for technical issues and guardrail metrics. Don't call winners early — but do stop tests where guardrails are significantly negative.
**Bi-weekly**: Conclude completed experiments. Analyze results, update playbook, launch next experiment from backlog.
**Monthly (1 hour)**: Review experiment velocity, win rate, cumulative lift. Replenish hypothesis backlog. Re-prioritize with ICE.
**Quarterly**: Audit the playbook. Which patterns have been applied broadly? Which winning patterns haven't been scaled yet? What areas of the funnel are under-tested?
---
## Common Mistakes
### Test Design
@@ -261,6 +348,6 @@ Document every test with:
## Related Skills
- **page-cro**: For generating test ideas based on CRO principles
- **analytics-tracking**: For setting up test measurement
- **cro**: For generating test ideas based on CRO principles
- **analytics**: For setting up test measurement
- **copywriting**: For creating variant copy
+105
View File
@@ -0,0 +1,105 @@
{
"skill_name": "ab-testing",
"evals": [
{
"id": 1,
"prompt": "I want to A/B test our homepage headline. We currently say 'The All-in-One Project Management Tool' and want to test something benefit-focused. We get about 15,000 visitors/month and our current signup rate is 3.2%.",
"expected_output": "Should check for product-marketing.md first. Should build a proper hypothesis using the framework: 'Because [observation], we believe [change] will cause [outcome], which we'll measure by [metric].' Should identify this as an A/B test (two variants). Should calculate or reference sample size needs based on 15,000 monthly visitors and 3.2% baseline. Should define primary metric (signup rate), secondary metrics, and guardrail metrics. Should warn about the peeking problem and recommend a fixed test duration. Should provide the test plan in the structured output format.",
"assertions": [
"Checks for product-marketing.md",
"Uses the hypothesis framework with observation, belief, outcome, and metric",
"Identifies as A/B test type",
"Addresses sample size calculation based on traffic and baseline rate",
"Defines primary metric (signup rate)",
"Defines secondary and guardrail metrics",
"Warns about the peeking problem",
"Provides structured test plan output"
],
"files": []
},
{
"id": 2,
"prompt": "we want to test like 4 different CTA button colors on our pricing page. is that a good idea?",
"expected_output": "Should trigger on casual phrasing. Should identify this as an A/B/n test (multiple variants). Should caution that testing 4 variants requires significantly more traffic than a simple A/B test. Should reference the sample size quick reference showing traffic multipliers for multiple variants. Should question whether button color alone is likely to produce meaningful lift vs testing CTA copy, placement, or surrounding context. Should recommend either reducing to 2 variants or ensuring sufficient traffic. Should still provide hypothesis framework and test setup if proceeding.",
"assertions": [
"Triggers on casual phrasing",
"Identifies as A/B/n test (multiple variants)",
"Cautions about increased traffic needs for 4 variants",
"References sample size requirements",
"Questions whether button color alone is high-impact",
"Suggests alternative higher-impact elements to test",
"Provides hypothesis framework"
],
"files": []
},
{
"id": 3,
"prompt": "Our test has been running for 3 days and Variant B is winning with 95% confidence. Should we call it?",
"expected_output": "Should immediately address the peeking problem. Should explain that checking results early inflates false positive rates. Should recommend running for the full pre-calculated duration regardless of early results. Should explain why early significance can be misleading (regression to the mean, day-of-week effects, audience mix shifts). Should provide guidance on when it IS appropriate to stop early (sequential testing methods). Should recommend the pre-test commitment to duration.",
"assertions": [
"Addresses the peeking problem directly",
"Explains why early significance is misleading",
"Recommends running for full pre-calculated duration",
"Mentions day-of-week effects or audience mix shifts",
"Explains false positive rate inflation from peeking",
"Mentions sequential testing as alternative approach"
],
"files": []
},
{
"id": 4,
"prompt": "Help me set up a multivariate test on our landing page. I want to test the headline, hero image, and CTA button simultaneously.",
"expected_output": "Should identify this as a Multivariate Test (MVT). Should explain that MVT tests combinations of elements and requires much more traffic than A/B tests. Should calculate or reference traffic needs (combinations multiply: e.g., 2 headlines × 2 images × 2 CTAs = 8 combinations). Should recommend MVT only if traffic supports it, otherwise suggest sequential A/B tests. Should build hypotheses for each element being tested. Should define interaction effects to watch for. Should provide structured test plan.",
"assertions": [
"Identifies as multivariate test (MVT)",
"Explains MVT tests combinations of elements",
"Addresses dramatically higher traffic requirements",
"Calculates number of combinations",
"Suggests sequential A/B tests as alternative if traffic insufficient",
"Builds hypotheses for each element",
"Provides structured test plan"
],
"files": []
},
{
"id": 5,
"prompt": "What metrics should I track for an A/B test on our trial signup page? We're testing a longer form (adds company size and role fields) against the current short form.",
"expected_output": "Should apply the metrics selection framework with three tiers: primary, secondary, and guardrail metrics. Primary: form completion rate (the direct conversion metric). Secondary: lead quality metrics (SQL conversion rate, activation rate post-signup). Guardrail: overall signup volume (ensure longer form doesn't tank total signups below acceptable threshold). Should explain the tradeoff between conversion quantity and lead quality. Should note that this test needs longer observation window to measure downstream metrics.",
"assertions": [
"Applies three-tier metric framework (primary, secondary, guardrail)",
"Identifies form completion rate as primary metric",
"Identifies lead quality as secondary metric",
"Defines guardrail metrics to protect against negative outcomes",
"Explains quantity vs quality tradeoff",
"Notes need for longer observation window for downstream metrics"
],
"files": []
},
{
"id": 6,
"prompt": "Can you help me write copy for our new landing page? We want to test it against the current version.",
"expected_output": "Should recognize this is primarily a copywriting task, not a test setup task. Should defer to or cross-reference the copywriting skill for writing the actual copy. May help frame the test hypothesis and setup, but should make clear that copywriting is the right skill for creating the page copy itself.",
"assertions": [
"Recognizes this as primarily a copywriting task",
"References or defers to copywriting skill",
"Does not attempt to write full page copy using test setup patterns",
"May offer to help with test hypothesis and setup"
],
"files": []
},
{
"id": 7,
"prompt": "We ran an A/B test on our pricing page for 4 weeks. Control: 2.1% conversion. Variant: 2.4% conversion. 12,000 visitors per variant. Is this statistically significant? Should we ship it?",
"expected_output": "Should evaluate the results against statistical significance criteria. Should calculate or estimate whether the sample size is sufficient to detect a 0.3 percentage point lift from a 2.1% baseline (this is a ~14% relative lift). Should reference the 95% confidence threshold. Should discuss practical significance vs statistical significance. Should recommend whether to ship, continue testing, or iterate. Should consider segment analysis if results are borderline.",
"assertions": [
"Evaluates against statistical significance criteria",
"Addresses whether sample size is sufficient for this effect size",
"References 95% confidence threshold",
"Distinguishes statistical significance from practical significance",
"Provides clear recommendation on shipping",
"Suggests segment analysis or follow-up if borderline"
],
"files": []
}
]
}
+7 -7
View File
@@ -1,8 +1,8 @@
---
name: ad-creative
description: "When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform. Also use when the user mentions 'ad copy variations,' 'ad creative,' 'generate headlines,' 'RSA headlines,' 'bulk ad copy,' 'ad iterations,' 'creative testing,' or 'ad performance optimization.' This skill covers generating ad creative at scale, iterating based on performance data, and enforcing platform character limits. For campaign strategy and targeting, see paid-ads. For landing page copy, see copywriting."
description: "When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform. Also use when the user mentions 'ad copy variations,' 'ad creative,' 'generate headlines,' 'RSA headlines,' 'bulk ad copy,' 'ad iterations,' 'creative testing,' 'ad performance optimization,' 'write me some ads,' 'Facebook ad copy,' 'Google ad headlines,' 'LinkedIn ad text,' or 'I need more ad variations.' Use this whenever someone needs to produce ad copy at scale or iterate on existing ads. For campaign strategy and targeting, see ads. For landing page copy, see copywriting."
metadata:
version: 1.0.0
version: 2.0.0
---
# Ad Creative
@@ -12,7 +12,7 @@ You are an expert performance creative strategist. Your goal is to generate high
## Before Starting
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
@@ -64,7 +64,7 @@ Pull performance data → Identify winning patterns → Generate new variations
## Platform Specs
**Always enforce these limits.** Never deliver creative that exceeds platform character limits.
Platforms reject or truncate creative that exceeds these limits, so verify every piece of copy fits before delivering.
### Google Ads (Responsive Search Ads)
@@ -320,7 +320,7 @@ For large-scale creative production (Anthropic's growth team generates 100+ vari
- **Writing headlines that only work together** — RSA headlines get combined randomly
- **Ignoring character limits** — Platforms truncate without warning
- **All variations sound the same** — Vary angles, not just word choice
- **No CTA headlines** — Always include action-oriented headlines
- **No CTA headlines** — RSAs need action-oriented headlines to drive clicks; include at least 2-3
- **Generic descriptions** — "Learn more about our solution" wastes the slot
- **Iterating without data** — Gut feelings are less reliable than metrics
- **Testing too many things at once** — Change one variable per test cycle
@@ -355,8 +355,8 @@ node tools/clis/google-ads.js reports get --type ad_performance --date-range las
## Related Skills
- **paid-ads**: For campaign strategy, targeting, budgets, and optimization
- **ads**: For campaign strategy, targeting, budgets, and optimization
- **copywriting**: For landing page copy (where ad traffic lands)
- **ab-test-setup**: For structuring creative tests with statistical rigor
- **ab-testing**: For structuring creative tests with statistical rigor
- **marketing-psychology**: For psychological principles behind high-performing creative
- **copy-editing**: For polishing ad copy before launch
+90
View File
@@ -0,0 +1,90 @@
{
"skill_name": "ad-creative",
"evals": [
{
"id": 1,
"prompt": "Generate ad creative for our Meta (Facebook/Instagram) campaign. We sell an AI writing assistant for content marketers. Main value prop: write blog posts 5x faster. Target audience: content marketing managers at B2B SaaS companies. Budget: $5k/month.",
"expected_output": "Should check for product-marketing.md first. Should generate creative following the angle-based approach: identify 3-5 angles (speed, quality, ROI, pain of blank page, competitive edge). For each angle, should generate primary text (≤125 chars), headline (≤40 chars), and description (≤30 chars) respecting Meta character limits. Should provide multiple variations per angle. Should suggest image/visual direction for each. Should organize output with angle name, hook, body, CTA for each variation. Should recommend which angles to test first.",
"assertions": [
"Checks for product-marketing.md",
"Uses angle-based generation approach",
"Identifies multiple angles (3-5)",
"Respects Meta character limits (125/40/30)",
"Generates multiple variations per angle",
"Suggests image or visual direction",
"Includes hook, body, and CTA for each",
"Recommends which angles to test first"
],
"files": []
},
{
"id": 2,
"prompt": "I need Google Ads copy for our CRM product. We're targeting the keyword 'best CRM for small business'. Need responsive search ads.",
"expected_output": "Should generate Google RSA creative respecting character limits: headlines (≤30 chars each, need 10-15 variations) and descriptions (≤90 chars each, need 4+ variations). Should note that pinning should be used sparingly as it reduces optimization. Should include the target keyword in headlines. Should provide multiple angle-based variations. Should suggest ad extensions (sitelinks, callouts, structured snippets). Should follow Google Ads best practices for RSA.",
"assertions": [
"Respects Google RSA character limits (30 char headlines, 90 char descriptions)",
"Generates 10-15 headline variations",
"Generates 4+ description variations",
"Includes target keyword in headlines",
"Notes pinning should be used sparingly per skill guidance",
"Suggests ad extensions",
"Uses angle-based variation approach"
],
"files": []
},
{
"id": 3,
"prompt": "Here's our ad performance data: Ad A (pain point angle) - CTR 2.1%, CPC $3.20, Conv rate 4.5%. Ad B (social proof angle) - CTR 1.4%, CPC $4.10, Conv rate 6.2%. Ad C (feature angle) - CTR 0.8%, CPC $5.50, Conv rate 2.1%. Help me iterate on these.",
"expected_output": "Should activate the iteration-from-performance mode (not generate-from-scratch). Should analyze the data: Ad A has best CTR, Ad B has best conversion rate (highest efficiency despite lower CTR), Ad C is underperforming on all metrics. Should recommend doubling down on the pain point angle (high CTR) and social proof angle (high conversion), while pausing or reworking the feature angle. Should generate new variations that combine winning elements (pain point hook + social proof). Should suggest specific iterations on Ad A and Ad B.",
"assertions": [
"Activates iteration mode based on performance data",
"Analyzes CTR, CPC, and conversion rate for each ad",
"Identifies winning angles from the data",
"Recommends pausing or reworking underperforming creative",
"Generates new variations combining winning elements",
"Provides specific iterations on top performers"
],
"files": []
},
{
"id": 4,
"prompt": "we need linkedin ads for our enterprise security product. audience is CISOs and IT directors.",
"expected_output": "Should trigger on casual phrasing. Should generate LinkedIn ad creative respecting character limits: introductory text (≤150 chars), headline (≤70 chars), description (≤100 chars). Should adapt tone and messaging for enterprise security audience (CISOs, IT directors) — more formal, compliance-focused, risk-reduction language. Should provide multiple angles relevant to security buyers (risk reduction, compliance, incident response time, cost of breaches). Should suggest ad format recommendations for LinkedIn (sponsored content, message ads, etc.).",
"assertions": [
"Triggers on casual phrasing",
"Respects LinkedIn character limits (150/70/100)",
"Adapts tone for enterprise security audience",
"Uses risk-reduction and compliance language",
"Provides multiple angles relevant to security buyers",
"Suggests LinkedIn ad format recommendations"
],
"files": []
},
{
"id": 5,
"prompt": "I need to generate a big batch of ad variations for a multi-platform campaign launching next week. We're a meal delivery service targeting busy professionals. Need ads for Google, Meta, and TikTok.",
"expected_output": "Should activate the batch generation workflow. Should generate creative for all three platforms respecting each platform's character limits: Google RSA (30/90), Meta (125/40/30), TikTok (80 chars recommended, 100 max). Should identify 3-5 angles that work across platforms (convenience, health, time savings, variety, cost vs eating out). Should generate variations per angle per platform. Should note platform-specific creative considerations (TikTok needs video concepts, not just text). Should organize output clearly by platform.",
"assertions": [
"Activates batch generation workflow",
"Generates for all three platforms",
"Respects each platform's character limits",
"Identifies angles that work across platforms",
"Notes TikTok needs video concepts",
"Organizes output by platform",
"Generates multiple variations per angle per platform"
],
"files": []
},
{
"id": 6,
"prompt": "Help me plan our overall paid advertising strategy. We have a $20k monthly budget and want to figure out which platforms to use and how to allocate spend.",
"expected_output": "Should recognize this is a paid advertising strategy task, not ad creative generation. Should defer to or cross-reference the ads skill, which handles campaign strategy, platform selection, and budget allocation. May briefly mention creative considerations but should make clear that ads is the right skill for strategy.",
"assertions": [
"Recognizes this as paid ads strategy, not creative generation",
"References or defers to ads skill",
"Does not attempt full campaign strategy using creative generation patterns"
],
"files": []
}
]
}
@@ -8,7 +8,7 @@ Reference for using AI image generators, video generators, and code-based video
| Need | Tool Category | Best Fit |
|------|---------------|----------|
| Static ad images (banners, social) | Image generation | Nano Banana Pro, Flux, Ideogram |
| Static ad images (banners, social) | Image generation | ChatGPT Images 2.0, Nano Banana Pro, Flux, Ideogram |
| Ad images with text overlays | Image generation (text-capable) | Ideogram, Nano Banana Pro |
| Short video ads (6-30 sec) | Video generation | Veo, Kling, Runway, Sora, Seedance |
| Video ads with voiceover | Video gen + voice | Veo/Sora (native), or Runway + ElevenLabs |
@@ -1,8 +1,8 @@
---
name: paid-ads
description: "When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' or 'audience targeting.' This skill covers campaign strategy, audience targeting, and optimization. For bulk ad creative generation and iteration, see ad-creative."
name: ads
description: "When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' 'audience targeting,' 'Google Ads,' 'Facebook ads,' 'LinkedIn ads,' 'ad budget,' 'cost per click,' 'ad spend,' or 'should I run ads.' Use this for campaign strategy, audience targeting, bidding, and optimization. For bulk ad creative generation and iteration, see ad-creative. For landing page optimization, see cro."
metadata:
version: 1.0.0
version: 2.0.1
---
# Paid Ads
@@ -12,7 +12,7 @@ You are an expert performance marketer with direct access to ad platform account
## Before Starting
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
@@ -122,7 +122,7 @@ LI_LeadGen_CMOs-SaaS_Whitepaper_Mar24
- **Lookalikes**: Base on best customers (by LTV), not all customers
- **Retargeting**: Segment by funnel stage (visitors vs. cart abandoners)
- **Exclusions**: Always exclude existing customers and recent converters
- **Exclusions**: Exclude existing customers and recent converters — showing ads to people who already bought wastes spend
**For detailed targeting strategies by platform**: See [references/audience-targeting.md](references/audience-targeting.md)
@@ -245,6 +245,8 @@ Before launching campaigns, ensure proper tracking and account setup.
**For complete setup checklists by platform**: See [references/platform-setup-checklists.md](references/platform-setup-checklists.md)
**For conversion pixel installation and event setup**: See [references/conversion-tracking.md](references/conversion-tracking.md)
### Universal Pre-Launch Checklist
- [ ] Conversion tracking tested with real conversion
- [ ] Landing page loads fast (<3 sec)
@@ -255,6 +257,97 @@ Before launching campaigns, ensure proper tracking and account setup.
---
## Google RSA Output Spec (mandatory when generating RSAs)
When the user requests Google Ads RSAs (Responsive Search Ads), output MUST comply with these platform limits and structural requirements. Do not output any RSA that violates them.
### Hard limits per RSA (enforce before responding)
- **Headlines:** exactly **15** per RSA, each **≤ 30 characters** (count characters, including spaces). Render as `1. ... (NN chars)` so the reader can verify.
- **Descriptions:** exactly **4** per RSA, each **≤ 90 characters**.
- **Paths:** up to 2 path fields, each **≤ 15 characters**.
- **Final URL:** present, https.
- **Pinning:** state any pinned positions explicitly. Default = unpinned unless user asks.
- **Per-account guardrail:** Google enforces **3 RSAs max per ad group**. When the user asks for >3, group them by ad group.
### Required sidecar artifacts (always include with RSA request)
1. **Ad group structure**, labeled `Ad group structure:` — list each ad group with its theme, target keywords (match types), and which RSAs map to it.
2. **Negative keyword list**, labeled `Negative keywords:` — minimum **8** entries, group-level vs campaign-level called out.
3. **Sitelinks** (≥ 4), **Callouts** (≥ 4 ≤25 chars), **Structured snippets** if relevant.
### Medical / CFM compliance (when product context indicates pt-BR medical practice)
If `.agents/product-marketing.md` indicates a Brazilian medical practice (CFM-regulated), the following terms are **forbidden** in headlines, descriptions, sitelinks, and callouts:
- Superlatives: `#1`, `melhor`, `o melhor`, `melhor do brasil`, `top`, `referência`
- Outcome promises: `garantido`, `garantia`, `cura`, `cura definitiva`, `100%`, `resultado garantido`, `livre da dor`
- Comparative claims vs other doctors/clinics
Use neutral framing: `atendimento`, `consulta`, `avaliação`, `segunda opinião`, `agende sua consulta`, `tire suas dúvidas`. Geo modifier (`Porto Alegre`, `POA`, `Zona Sul POA`) required where the prompt specifies a region.
### Output ORDER (mandatory — emit in this order to avoid truncation)
1. **Ad group structure** (short)
2. **Negative keywords** (≥8, MANDATORY — emit BEFORE RSAs so it isn't dropped if output runs long)
3. **Sitelinks** (≥4)
4. **Callouts** (≥4)
5. **RSA1, RSA2, RSA3** (largest section, last — safe to truncate gracefully)
### Output template (mandatory shape)
```
Ad group structure:
- AG1 [theme]: keywords (match types) → RSA1, RSA2
- AG2 [theme]: ...
Negative keywords:
Campaign-level:
- <kw>
- <kw>
(≥4 here)
Ad-group level:
- AG1: <kw>, <kw>
- AG2: <kw>, <kw>
(≥4 more here — TOTAL ≥8 entries)
Sitelinks (≥4):
- <title (≤25)> | <desc1 (≤35)> | <desc2 (≤35)> | URL
Callouts (≥4, each ≤25 chars):
- <callout>
RSA1 — [ad group name]
Final URL: https://...
Path1: ... Path2: ...
Headlines (15, each ≤30 chars):
1. <headline> (NN chars)
...
15. <headline> (NN chars)
Descriptions (4, each ≤90 chars):
1. <description> (NN chars)
...
4. <description> (NN chars)
Pinning: H1=none; H2=none; ... (or explicit pins)
RSA2 — ...
RSA3 — ...
```
### Self-check before responding
Before sending the output, run this checklist mentally:
- [ ] Each RSA has exactly 15 headlines, exactly 4 descriptions.
- [ ] Every headline is ≤30 chars; every description is ≤90 chars. Character counts printed.
- [ ] Negative keyword list labeled and ≥8 entries.
- [ ] Ad group structure labeled.
- [ ] If medical (CFM): no forbidden superlative/outcome words; geo modifier present where required; language is pt-BR.
If any check fails, rewrite before responding. Do not ship partial RSAs.
---
## Common Mistakes to Avoid
### Strategy
@@ -302,7 +395,7 @@ For implementation, see the [tools registry](../../tools/REGISTRY.md). Key adver
| **LinkedIn Ads** | B2B, job title targeting | - | [linkedin-ads.md](../../tools/integrations/linkedin-ads.md) |
| **TikTok Ads** | Younger demographics, video | - | [tiktok-ads.md](../../tools/integrations/tiktok-ads.md) |
For tracking, see also: [ga4.md](../../tools/integrations/ga4.md), [segment.md](../../tools/integrations/segment.md)
For tracking setup, see [references/conversion-tracking.md](references/conversion-tracking.md), [ga4.md](../../tools/integrations/ga4.md), [segment.md](../../tools/integrations/segment.md)
---
@@ -310,6 +403,6 @@ For tracking, see also: [ga4.md](../../tools/integrations/ga4.md), [segment.md](
- **ad-creative**: For generating and iterating ad headlines, descriptions, and creative at scale
- **copywriting**: For landing page copy that converts ad traffic
- **analytics-tracking**: For proper conversion tracking setup
- **ab-test-setup**: For landing page testing to improve ROAS
- **page-cro**: For optimizing post-click conversion rates
- **analytics**: For proper conversion tracking setup
- **ab-testing**: For landing page testing to improve ROAS
- **cro**: For optimizing post-click conversion rates
+90
View File
@@ -0,0 +1,90 @@
{
"skill_name": "ads",
"evals": [
{
"id": 1,
"prompt": "Help me plan a paid advertising strategy. We're a B2B SaaS tool for HR teams, selling at $99/month per seat. We have $15k/month to spend on ads and want to generate demo requests. Where should we advertise?",
"expected_output": "Should check for product-marketing.md first. Should apply the platform selection guide based on B2B, HR audience, $99/month price point. Should recommend LinkedIn (B2B targeting by job title/industry), Google Ads (search intent for HR software keywords), and potentially Meta (retargeting). Should recommend campaign structure with naming conventions. Should define audience targeting strategy for each platform. Should set budget allocation across platforms. Should define success metrics and attribution approach. Should recommend starting structure and scaling plan.",
"assertions": [
"Checks for product-marketing.md",
"Applies platform selection guide",
"Recommends platforms appropriate for B2B HR audience",
"Recommends campaign structure with naming conventions",
"Defines audience targeting per platform",
"Sets budget allocation across platforms",
"Defines success metrics",
"Recommends starting structure and scaling plan"
],
"files": []
},
{
"id": 2,
"prompt": "Our Google Ads CPC is $12 and our cost per lead is $180. Is that good? We're getting about 80 leads/month from a $15k budget.",
"expected_output": "Should evaluate the metrics in context. Should assess: $12 CPC for B2B (reasonable depending on industry), $180 CPL (depends on LTV — need to compare against customer lifetime value), 80 leads/month from $15k (math checks out). Should apply the campaign optimization framework: check quality score, search term relevance, landing page conversion rate, negative keywords. Should recommend specific optimization levers to reduce CPC and CPL. Should frame performance against industry benchmarks if applicable. Should ask about downstream conversion rates (lead → demo → customer).",
"assertions": [
"Evaluates metrics in context",
"Compares CPL against LTV considerations",
"Applies campaign optimization framework",
"Recommends specific optimization levers",
"Asks about downstream conversion rates",
"Provides industry context for benchmarking"
],
"files": []
},
{
"id": 3,
"prompt": "we want to run retargeting ads for people who visited our site but didn't convert. how should we set this up?",
"expected_output": "Should trigger on casual phrasing. Should apply the retargeting strategies section, specifically the funnel-based approach. Should recommend audience segments: all visitors (broad), pricing page visitors (high intent), blog readers (lower intent), and cart/signup abandoners (highest intent). Should recommend different messaging and offers for each segment. Should address frequency capping to avoid ad fatigue. Should recommend retargeting platforms (Meta, Google Display, LinkedIn). Should include duration windows for each audience.",
"assertions": [
"Triggers on casual phrasing",
"Applies funnel-based retargeting approach",
"Recommends audience segments by intent level",
"Recommends different messaging per segment",
"Addresses frequency capping",
"Recommends retargeting platforms",
"Includes audience duration windows"
],
"files": []
},
{
"id": 4,
"prompt": "Should we advertise on TikTok? We sell accounting software to small businesses. Our current ads are on Google and Meta.",
"expected_output": "Should apply the platform selection guide for TikTok specifically. Should evaluate TikTok fit for accounting software + small business audience: likely a weaker fit than Google/Meta for this category (lower purchase intent, younger skewing audience, less B2B targeting). Should discuss when TikTok CAN work for B2B (brand awareness, creative content, younger business owners). Should provide an honest recommendation with caveats. Should suggest a small test budget approach if they want to try.",
"assertions": [
"Applies platform selection guide for TikTok",
"Evaluates fit for accounting + small business audience",
"Provides honest assessment of likely weaker fit",
"Discusses when TikTok can work for B2B",
"Suggests small test budget if proceeding",
"Compares to their existing Google/Meta performance"
],
"files": []
},
{
"id": 5,
"prompt": "How do we structure our Google Ads campaigns? We have 50+ keywords we want to target for our CRM product.",
"expected_output": "Should apply the campaign structure and naming conventions framework. Should recommend organizing campaigns by theme/intent (brand, competitor, product features, pain points). Should recommend ad group structure (tightly themed, 5-15 keywords per group). Should define naming conventions for campaigns and ad groups. Should recommend match types strategy. Should include negative keyword lists. Should provide a sample campaign structure.",
"assertions": [
"Applies campaign structure framework",
"Organizes campaigns by theme/intent",
"Recommends tight ad group structure",
"Defines naming conventions",
"Recommends match types strategy",
"Includes negative keyword lists",
"Provides sample campaign structure"
],
"files": []
},
{
"id": 6,
"prompt": "Can you write some ad copy for our Facebook ads? We need headlines and descriptions for 5 different angles.",
"expected_output": "Should recognize this is an ad creative generation task, not campaign strategy. Should defer to or cross-reference the ad-creative skill, which handles platform-specific ad copy generation with character limits, angle-based variation, and batch generation. May provide brief ad copy framework guidance but should make clear that ad-creative is the right skill for generating ad copy at scale.",
"assertions": [
"Recognizes this as ad creative generation",
"References or defers to ad-creative skill",
"Does not attempt bulk ad copy generation using campaign strategy patterns"
],
"files": []
}
]
}
@@ -0,0 +1,361 @@
# Conversion Tracking Setup
How to set up conversion tracking pixels across ad platforms. This guide covers installation, event configuration, and validation — everything a marketer needs to ensure ad spend is properly attributed.
---
## Why This Matters
Without conversion tracking:
- Ad platforms can't optimize for your actual goals
- You're flying blind on ROAS and CPA
- Retargeting audiences can't be built
- You'll waste budget on impressions that don't convert
Get tracking right before spending a dollar on ads.
---
## Platform Pixels Overview
| Platform | Pixel/Tag Name | Events API | Key Events |
|----------|---------------|:----------:|------------|
| **Google Ads** | Google tag (gtag.js) | Enhanced Conversions | purchase, sign_up, generate_lead |
| **Meta** | Meta Pixel + CAPI | Conversions API | Purchase, Lead, ViewContent, AddToCart |
| **LinkedIn** | Insight Tag | Conversions API | conversion (URL or event-based) |
| **TikTok** | TikTok Pixel | Events API | Purchase, ViewContent, AddToCart, CompleteRegistration |
| **Twitter/X** | Twitter Pixel | - | Purchase, SignUp, Download |
---
## Google Ads
### Install the Google tag
Add to every page, in `<head>`:
```html
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-XXXXXXXXX');
</script>
```
Replace `AW-XXXXXXXXX` with your Conversion ID from Google Ads > Tools > Conversions.
### Set up conversion actions
In Google Ads > Goals > Conversions > New conversion action:
| Conversion | Category | Value | Count |
|-----------|----------|-------|-------|
| Purchase | Purchase | Dynamic (order value) | Every |
| Sign up / Lead | Sign-up | Fixed ($X estimated value) | One |
| Demo request | Lead | Fixed ($X estimated value) | One |
| Free trial start | Sign-up | Fixed ($X estimated value) | One |
### Fire conversion events
```javascript
// Purchase
gtag('event', 'conversion', {
'send_to': 'AW-XXXXXXXXX/CONVERSION_LABEL',
'value': 99.00,
'currency': 'USD',
'transaction_id': 'ORDER-123'
});
// Lead / Sign up
gtag('event', 'conversion', {
'send_to': 'AW-XXXXXXXXX/CONVERSION_LABEL',
'value': 50.00,
'currency': 'USD'
});
```
### Enhanced Conversions
Sends hashed first-party data (email, phone) to improve attribution after cookie restrictions. Enable in Google Ads > Goals > Settings > Enhanced conversions.
```javascript
gtag('set', 'user_data', {
'email': 'user@example.com', // auto-hashed by gtag
'phone_number': '+11234567890'
});
```
### Google Tag Manager alternative
If using GTM instead of inline gtag.js:
1. Install GTM container on all pages
2. Create Google Ads conversion tags in GTM
3. Set triggers for conversion events (form submissions, purchases)
4. Use the Data Layer to pass dynamic values (order amount, transaction ID)
5. Test with GTM Preview mode before publishing
---
## Meta (Facebook/Instagram)
### Install the Meta Pixel
Add to every page, in `<head>`:
```html
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
```
Replace `YOUR_PIXEL_ID` from Meta Events Manager.
### Standard events
```javascript
// View a product or key page
fbq('track', 'ViewContent', {
content_name: 'Pro Plan',
content_category: 'Pricing',
value: 29.00,
currency: 'USD'
});
// Lead capture (form submit, demo request)
fbq('track', 'Lead', {
content_name: 'Demo Request',
value: 50.00,
currency: 'USD'
});
// Purchase
fbq('track', 'Purchase', {
value: 99.00,
currency: 'USD',
content_type: 'product',
contents: [{ id: 'pro-plan', quantity: 1 }]
});
// Add to cart (e-commerce)
fbq('track', 'AddToCart', {
content_ids: ['SKU-123'],
content_type: 'product',
value: 49.00,
currency: 'USD'
});
```
### Conversions API (CAPI)
Server-side tracking that works alongside the pixel. Required for accurate tracking after iOS 14+ and cookie restrictions.
Set up via:
- **Direct integration** — send events from your server to Meta's API
- **Partner integrations** — Shopify, WooCommerce, Segment, etc. have built-in CAPI support
- **Conversions API Gateway** — Meta's managed solution via AWS
Key: send the same events from both pixel (browser) AND CAPI (server), with a shared `event_id` for deduplication.
### Aggregated Event Measurement
Required for iOS 14+ tracking. In Events Manager > Aggregated Event Measurement:
1. Verify your domain
2. Configure and prioritize your top 8 events in order of business importance
3. Purchase should typically be #1, Lead #2
---
## LinkedIn
### Install the Insight Tag
Add to every page, before `</body>`:
```html
<script type="text/javascript">
_linkedin_partner_id = "YOUR_PARTNER_ID";
window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
window._linkedin_data_partner_ids.push(_linkedin_partner_id);
(function(l) {
if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])};
window.lintrk.q=[]}
var s = document.getElementsByTagName("script")[0];
var b = document.createElement("script");
b.type = "text/javascript";b.async = true;
b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
s.parentNode.insertBefore(b, s);})(window.lintrk);
</script>
```
### Conversion tracking
LinkedIn supports two methods:
**URL-based**: Fires when someone visits a specific URL (e.g., `/thank-you`).
Set up in Campaign Manager > Analyze > Conversion Tracking > Create Conversion.
**Event-based**: Fire manually on specific actions:
```javascript
window.lintrk('track', { conversion_id: YOUR_CONVERSION_ID });
```
### LinkedIn CAPI
For server-side tracking, LinkedIn offers a Conversions API. Set up via partner integrations (Segment, Tealium) or direct API calls. Deduplicates with the Insight Tag automatically when configured correctly.
---
## TikTok
### Install the TikTok Pixel
Add to every page, in `<head>`:
```html
<script>
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];
ttq.methods=["page","track","identify","instances","debug","on","off",
"once","ready","alias","group","enableCookie","disableCookie","holdConsent",
"revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e)
{t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};
for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);
ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;
n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e};
ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",
o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,
ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},
ttq._o[e]=n||{};var s=document.createElement("script");
s.type="text/javascript",s.async=!0,s.src=r+"?sdkid="+e+"&lib="+t;
var a=document.getElementsByTagName("script")[0];
a.parentNode.insertBefore(s,a)};
ttq.load('YOUR_PIXEL_ID');
ttq.page();
}(window, document, 'ttq');
</script>
```
### Standard events
```javascript
// View content
ttq.track('ViewContent', {
content_id: 'pro-plan',
content_type: 'product',
content_name: 'Pro Plan',
value: 29.00,
currency: 'USD'
});
// Complete registration / sign up
ttq.track('CompleteRegistration', {
content_name: 'Free Trial'
});
// Purchase
ttq.track('Purchase', {
content_id: 'pro-plan',
content_type: 'product',
value: 99.00,
currency: 'USD',
quantity: 1
});
// Add to cart
ttq.track('AddToCart', {
content_id: 'SKU-123',
content_type: 'product',
value: 49.00,
currency: 'USD'
});
```
### Events API (server-side)
TikTok's Events API works like Meta's CAPI — send the same events from your server for better attribution. Use `event_id` for deduplication with browser pixel events.
### Advanced Matching
Pass hashed user data for better attribution:
```javascript
ttq.identify({
email: 'user@example.com', // auto-hashed
phone_number: '+11234567890'
});
```
---
## Validation Checklist
After installing any pixel, verify before going live:
### Browser-side checks
- [ ] Pixel fires on every page (check via browser extension)
- [ ] Conversion events fire at the right moment (after confirmed action, not on button click)
- [ ] Event parameters contain correct values (currency, amount, content IDs)
- [ ] No duplicate events firing on the same action
- [ ] Events fire on both desktop and mobile
### Platform-side checks
- [ ] Events appear in the platform's event manager/diagnostics
- [ ] Test conversions show correct values
- [ ] Event match quality is acceptable (Meta: score > 6)
- [ ] Server-side events are deduplicating with browser events (not double-counting)
### Debugging tools
| Platform | Tool |
|----------|------|
| Google | Google Tag Assistant, Chrome DevTools Network tab |
| Meta | Meta Pixel Helper (Chrome extension), Events Manager Test Events |
| LinkedIn | Insight Tag Validator in Campaign Manager |
| TikTok | TikTok Pixel Helper (Chrome extension), Events Manager |
| All | GTM Preview Mode (if using Google Tag Manager) |
---
## Common Mistakes
- **Firing purchase events on button click instead of confirmed payment** — always fire on the success/thank-you page or after server confirmation
- **Missing deduplication between pixel and server events** — without a shared `event_id`, you'll double-count conversions
- **Not testing on mobile** — many pixels break on mobile browsers or in-app webviews
- **Hardcoded test values** — remove test transaction amounts before going live
- **Forgetting to exclude internal traffic** — your team's visits inflate conversion data
- **Installing pixels without consent management** — GDPR/CCPA require user consent before firing tracking pixels in applicable regions
- **Pixel installed but no conversion actions created** — the pixel collects data, but the ad platform won't optimize without defined conversion actions
---
## When to Use Server-Side Tracking
Browser-only tracking is increasingly unreliable due to:
- iOS 14+ App Tracking Transparency
- Third-party cookie deprecation
- Ad blockers (30%+ of tech audiences)
**Use server-side (CAPI/Events API) when:**
- Running Meta or TikTok ads (strongly recommended)
- Your audience is tech-savvy (higher ad blocker usage)
- You need accurate purchase/revenue attribution
- You're spending >$5K/month on any platform
**Server-side is optional when:**
- Running Google Ads only (Enhanced Conversions covers most gaps)
- Low ad spend / testing phase
- B2B with LinkedIn only (Insight Tag is still reliable)
+136 -49
View File
@@ -1,8 +1,8 @@
---
name: ai-seo
description: "When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers. Also use when the user mentions 'AI SEO,' 'AEO,' 'GEO,' 'LLMO,' 'answer engine optimization,' 'generative engine optimization,' 'LLM optimization,' 'AI Overviews,' 'optimize for ChatGPT,' 'optimize for Perplexity,' 'AI citations,' 'AI visibility,' or 'zero-click search.' This skill covers content optimization for AI answer engines, monitoring AI visibility, and getting cited as a source. For traditional technical and on-page SEO audits, see seo-audit. For structured data implementation, see schema-markup."
description: "When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers. Also use when the user mentions 'AI SEO,' 'AEO,' 'GEO,' 'LLMO,' 'answer engine optimization,' 'generative engine optimization,' 'LLM optimization,' 'AI Overviews,' 'optimize for ChatGPT,' 'optimize for Perplexity,' 'AI citations,' 'AI visibility,' 'zero-click search,' 'how do I show up in AI answers,' 'LLM mentions,' or 'optimize for Claude/Gemini.' Use this whenever someone wants their content to be cited or surfaced by AI assistants and AI search engines. For traditional technical and on-page SEO audits, see seo-audit. For structured data implementation, see schema."
metadata:
version: 1.0.0
version: 2.0.1
---
# AI SEO
@@ -12,7 +12,7 @@ You are an expert in AI search optimization — the practice of making content d
## Before Starting
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
@@ -66,6 +66,45 @@ In traditional search, you need to rank on page 1. In AI search, a well-structur
- Optimized content gets cited 3x more often than non-optimized
- Statistics and citations boost visibility by 40%+ across queries
### Google's Official Stance vs. Multi-Platform Reality
This is important to read once before doing anything else.
**Google's position** ([AI features optimization guide](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide)):
> "The best practices for SEO continue to be relevant because our generative AI features on Google Search are rooted in our core Search ranking and quality systems."
Google explicitly says:
- **No special markup or files are required** for AI Overviews or AI Mode
- **Don't chunk content for AI** — write for people, organize with normal headings and paragraphs
- **Don't write separate content for AI** — that risks "scaled content abuse" spam policy
- **Helpful, reliable, people-first content** wins — same E-E-A-T standards as regular Search
- **No AI-specific Search Console reporting** — use standard SEO metrics
**Other AI engines (ChatGPT, Claude, Perplexity, Copilot) behave differently:**
- They actively reward extractable structure — passages, FAQs, comparison tables, definition blocks
- They parse `llms.txt`, structured pricing pages, and machine-readable files when present
- They cite third-party sources (Reddit, Wikipedia, review sites) more heavily than top-ranked pages
**What this means for the work:**
- The structural patterns in this skill (4060 word answer blocks, FAQ schema, comparison tables) help **non-Google AI engines** materially. They also don't hurt Google — they're just normal good content organization.
- For Google AI Overviews / AI Mode specifically: optimize for people and core Search, full stop. Strong E-E-A-T, original information, semantic HTML, clean indexability.
- For ChatGPT/Claude/Perplexity: layer on the extractable structure + llms.txt + machine-readable files.
When in doubt, default to "write for people, organize for clarity" — that satisfies both camps.
### Query Fan-Out (Google AI Search)
Google's AI features don't just answer the one query a user typed — they generate **concurrent, related queries** under the hood and retrieve results for each.
Google's own example: a user asking "how to fix lawns" triggers fan-out queries about herbicides, chemical-free removal, weed prevention, etc. The AI synthesizes across all of them.
**Implications:**
- Single-page-per-keyword targeting is less effective. Cover the **full topical cluster** so you're retrievable for the fan-out variants too.
- Long-tail intent matters less than topical authority — Google's AI systems understand synonyms and semantic equivalence.
- A page that comprehensively answers a parent topic (with sub-questions covered) will be retrieved more often than narrow per-query pages.
**Action**: when planning content, brainstorm the 510 related queries the AI is likely to fan out to and make sure your content (or your site as a whole) covers them.
---
## AI Visibility Audit
@@ -226,6 +265,54 @@ AI systems don't just cite your website — they cite where you appear.
- Create YouTube content for key how-to queries
- Answer relevant Quora questions with depth
### Machine-Readable Files for AI Agents
> **Google's stance**: not required for AI Overviews or AI Mode. Their guide explicitly says you don't need new markup, AI files, or markdown to appear in generative AI search.
>
> **Why include them anyway**: non-Google AI engines (ChatGPT, Claude, Perplexity) and autonomous buying agents do reward extractable structure. The files below help with those engines without harming Google.
AI agents aren't just answering questions — they're becoming buyers. When an AI agent evaluates tools on behalf of a user, it needs structured, parseable information. If your pricing is locked in a JavaScript-rendered page or a "contact sales" wall, agents will skip you and recommend competitors whose information they can actually read.
Add these machine-readable files to your site root:
**`/pricing.md` or `/pricing.txt`** — Structured pricing data for AI agents
```markdown
# Pricing — [Your Product Name]
## Free
- Price: $0/month
- Limits: 100 emails/month, 1 user
- Features: Basic templates, API access
## Pro
- Price: $29/month (billed annually) | $35/month (billed monthly)
- Limits: 10,000 emails/month, 5 users
- Features: Custom domains, analytics, priority support
## Enterprise
- Price: Custom — contact sales@example.com
- Limits: Unlimited emails, unlimited users
- Features: SSO, SLA, dedicated account manager
```
**Why this matters now:**
- AI agents increasingly compare products programmatically before a human ever visits your site
- Opaque pricing gets filtered out of AI-mediated buying journeys
- A simple markdown file is trivially parseable by any LLM — no rendering, no JavaScript, no login walls
- Same principle as `robots.txt` (for crawlers), `llms.txt` (for AI context), and `AGENTS.md` (for agent capabilities)
**Best practices:**
- Use consistent units (monthly vs. annual, per-seat vs. flat)
- Include specific limits and thresholds, not just feature names
- List what's included at each tier, not just what's different
- Keep it updated — stale pricing is worse than no file
- Link to it from your sitemap and main pricing page
**`/llms.txt`** — Context file for AI systems (see [llmstxt.org](https://llmstxt.org))
If you don't have one yet, add an `llms.txt` that gives AI systems a quick overview of what your product does, who it's for, and links to key pages (including your pricing).
### Schema Markup for AI
Structured data helps AI systems understand your content. Key schemas:
@@ -240,7 +327,32 @@ Structured data helps AI systems understand your content. Key schemas:
| Reviews | `Review`, `AggregateRating` | Trust signals |
| Organization | `Organization` | Entity recognition |
Content with proper schema shows 30-40% higher AI visibility. For implementation, use the **schema-markup** skill.
Content with proper schema shows 30-40% higher AI visibility on non-Google AI engines. **Google's note**: structured data is "not required for generative AI search" but is recommended for overall SEO strategy. For implementation, use the **schema** skill.
---
## Agentic Experiences
Beyond AI search engines summarizing content, autonomous agents are starting to access sites directly — clicking, reading, comparing, even buying on behalf of users. Google's guide flags this as an emerging category to plan for.
**How agents access your site:**
- **Visual rendering** — they screenshot/read the page like a user would
- **DOM inspection** — they parse the page's HTML structure
- **Accessibility tree** — they rely on the same semantic information assistive tech uses (labels, roles, landmarks, headings)
**What to do:**
- **Render meaningful content without heavy JS gymnastics** — if the page is blank until 4 frameworks finish loading, agents see blank
- **Semantic HTML** — use `<main>`, `<nav>`, `<article>`, `<button>`, proper heading hierarchy, `alt` text on images
- **Clean accessibility tree** — every interactive element labelled; ARIA used correctly (or not at all when native HTML suffices)
- **Stable selectors / predictable layouts** — agents struggle with sites that re-render every interaction
- **Visible pricing, specs, contact info** — anything an agent would need to make a buying recommendation should be on a public, indexable page (this is where `/pricing.md` and similar files help)
**Emerging — Universal Commerce Protocol (UCP):**
Google references UCP as a forthcoming protocol that will give agents standardized hooks for commerce interactions (catalog discovery, pricing, checkout). Watch for adoption; for now, the structural recommendations above are the precursor.
For ecom and local business specifically, Google highlights:
- **Merchant Center feeds** + **Google Business Profile** for product/service visibility in AI Search
- **Business Agent** for conversational customer engagement (where applicable)
---
@@ -296,55 +408,29 @@ Monthly manual check:
3. Record: Are you cited? Who is? What page?
4. Log in a spreadsheet, track month-over-month
### Search Console expectations
Google's guide is explicit: **there is no AI-specific Search Console reporting**. AI Overviews and AI Mode use core Search ranking, so the standard Search Console reports (Performance, Coverage, Core Web Vitals) are still what you measure with for Google. The third-party tools above are the only way to see cross-platform AI citation behavior.
---
## AI SEO for Different Content Types
## What NOT to Do
### SaaS Product Pages
Google's guide calls these out explicitly — they hurt across both traditional Search and AI features.
**Goal:** Get cited in "What is [category]?" and "Best [category]" queries.
1. **Write separate content "for AI"**. Same content should serve people and AI. Writing variants targeted at AI systems risks the **scaled content abuse spam policy** — Google's words.
2. **Chunk pages into AI-bait fragments**. Google's guide is direct: *"Don't break your content into tiny pieces for AI to better understand it."* Use normal paragraph + heading structure.
3. **Generate at scale for ranking manipulation**. AI-generated content is fine *if* it meets Search Essentials and spam policies. Mass-producing thin variations does not.
4. **Pursue inauthentic mentions**. Don't fabricate citations or bulk-spam Reddit/Wikipedia for AI visibility. Real participation only.
5. **Block AI crawlers if you want citation**. Blocking GPTBot, PerplexityBot, ClaudeBot, Google-Extended means those engines literally cannot cite you. Block training-only crawlers (CCBot) if you must, not the search-and-cite ones.
6. **Hide your main content behind JS that doesn't render**. Both core Search and AI agents need to see your content; JS-only rendering loses both audiences.
7. **Skip E-E-A-T fundamentals**. Author identity, first-hand experience, expertise signals, transparent sourcing — Google's guide leans heavily on these for AI features.
**Optimize:**
- Clear product description in first paragraph (what it does, who it's for)
- Feature comparison tables (you vs. category, not just competitors)
- Specific metrics ("processes 10,000 transactions/sec" not "blazing fast")
- Customer count or social proof with numbers
- Pricing transparency (AI cites pages with visible pricing)
- FAQ section addressing common buyer questions
---
### Blog Content
## AI SEO by Content Type
**Goal:** Get cited as an authoritative source on topics in your space.
**Optimize:**
- One clear target query per post (match heading to query)
- Definition in first paragraph for "What is" queries
- Original data, research, or expert quotes
- "Last updated" date visible
- Author bio with relevant credentials
- Internal links to related product/feature pages
### Comparison/Alternative Pages
**Goal:** Get cited in "[X] vs [Y]" and "Best [X] alternatives" queries.
**Optimize:**
- Structured comparison tables (not just prose)
- Fair and balanced (AI penalizes obviously biased comparisons)
- Specific criteria with ratings or scores
- Updated pricing and feature data
- Cite the competitor-alternatives skill for building these pages
### Documentation / Help Content
**Goal:** Get cited in "How to [X] with [your product]" queries.
**Optimize:**
- Step-by-step format with numbered lists
- Code examples where relevant
- HowTo schema markup
- Screenshots with descriptive alt text
- Clear prerequisites and expected outcomes
For tactical guidance on SaaS product pages, blog content, comparison/alternative pages, documentation, and local/ecom (Google's emphasis on Merchant Center + Business Profile), see [references/content-types.md](references/content-types.md).
---
@@ -353,11 +439,12 @@ Monthly manual check:
- **Ignoring AI search entirely** — ~45% of Google searches now show AI Overviews, and ChatGPT/Perplexity are growing fast
- **Treating AI SEO as separate from SEO** — Good traditional SEO is the foundation; AI SEO adds structure and authority on top
- **Writing for AI, not humans** — If content reads like it was written to game an algorithm, it won't get cited or convert
- **No freshness signals** — Undated content loses to dated content. Always show when content was last updated
- **No freshness signals** — Undated content loses to dated content because AI systems weight recency heavily. Show when content was last updated
- **Gating all content** — AI can't access gated content. Keep your most authoritative content open
- **Ignoring third-party presence** — You may get more AI citations from a Wikipedia mention than from your own blog
- **No structured data** — Schema markup gives AI systems structured context about your content
- **Keyword stuffing** — Unlike traditional SEO where it's just ineffective, keyword stuffing actively reduces AI visibility by 10% (Princeton GEO study)
- **Hiding pricing behind "contact sales" or JS-rendered pages** — AI agents evaluating your product on behalf of buyers can't parse what they can't read. Add a `/pricing.md` file
- **Blocking AI bots** — If GPTBot, PerplexityBot, or ClaudeBot are blocked in robots.txt, those platforms can't cite you
- **Generic content without data** — "We're the best" won't get cited. "Our customers see 3x improvement in [metric]" will
- **Forgetting to monitor** — You can't improve what you don't measure. Check AI visibility monthly at minimum
@@ -391,8 +478,8 @@ For implementation, see the [tools registry](../../tools/REGISTRY.md).
## Related Skills
- **seo-audit**: For traditional technical and on-page SEO audits
- **schema-markup**: For implementing structured data that helps AI understand your content
- **schema**: For implementing structured data that helps AI understand your content
- **content-strategy**: For planning what content to create
- **competitor-alternatives**: For building comparison pages that get cited
- **competitors**: For building comparison pages that get cited
- **programmatic-seo**: For building SEO pages at scale
- **copywriting**: For writing content that's both human-readable and AI-extractable
+90
View File
@@ -0,0 +1,90 @@
{
"skill_name": "ai-seo",
"evals": [
{
"id": 1,
"prompt": "How do I make sure our SaaS product shows up in AI search results? We're a project management tool and we keep getting left out of ChatGPT and Perplexity recommendations when people ask about project management software.",
"expected_output": "Should check for product-marketing.md first. Should apply the three pillars framework: Structure (make content extractable), Authority (make content citable), Presence (be where AI looks). Should run through the AI Visibility Audit checklist across platforms (Google AI Overviews, ChatGPT, Perplexity, etc.). Should check content extractability (clear definitions, structured comparisons, statistics). Should reference Princeton GEO research findings (citations improve visibility +40%, statistics +37%). Should check AI bot access in robots.txt. Should provide a prioritized action plan.",
"assertions": [
"Checks for product-marketing.md",
"Applies three pillars framework (Structure, Authority, Presence)",
"Runs AI Visibility Audit across platforms",
"Checks content extractability",
"References Princeton GEO research findings",
"Checks AI bot access in robots.txt",
"Provides prioritized action plan"
],
"files": []
},
{
"id": 2,
"prompt": "Should we block AI crawlers like GPTBot and PerplexityBot in our robots.txt? We're worried about content theft.",
"expected_output": "Should address the AI bot access question directly. Should explain the tradeoff: blocking AI bots prevents training on your content but also prevents AI platforms from citing and recommending you. Should reference the specific bots and their purposes (GPTBot, Google-Extended, PerplexityBot, ClaudeBot, etc.). Should provide the recommended robots.txt configuration. Should explain that blocking may hurt AI visibility more than it protects content. Should provide a nuanced recommendation based on business goals.",
"assertions": [
"Addresses the blocking tradeoff directly",
"Explains impact on AI visibility vs content protection",
"Lists specific AI bot user agents",
"Provides recommended robots.txt configuration",
"Gives nuanced recommendation based on business goals",
"Explains what each bot does"
],
"files": []
},
{
"id": 3,
"prompt": "What kind of content gets cited most by AI systems? We want to create content specifically optimized for AI search.",
"expected_output": "Should reference the content types that get cited most, including comparisons (~33% of AI citations), definitive guides (~15%), and other high-citation content types. Should explain why these formats work (they provide the structured, extractable, authoritative information AI systems need). Should provide specific recommendations for creating AI-optimized content: clear definitions, structured data, original statistics, comparison tables, expert quotes. Should reference the Princeton GEO research on what increases citation probability.",
"assertions": [
"References specific content types with citation rates",
"Mentions comparisons as highest-cited format",
"Explains why these formats work for AI",
"Provides specific content creation recommendations",
"References Princeton GEO research",
"Mentions structured data, statistics, and clear definitions"
],
"files": []
},
{
"id": 4,
"prompt": "we noticed our competitors are showing up in google AI overviews but we're not. what do we need to change?",
"expected_output": "Should trigger on casual phrasing. Should focus specifically on Google AI Overviews visibility. Should explain how AI Overviews selects sources (authoritative, well-structured, directly answers queries). Should run through the Structure pillar checklist: content extractability, heading hierarchy, answer-first format, structured data. Should check Authority signals: domain authority, citations, E-E-A-T. Should recommend specific content structure changes. Should suggest monitoring approach.",
"assertions": [
"Triggers on casual phrasing",
"Focuses on Google AI Overviews specifically",
"Explains how AI Overviews selects sources",
"Checks Structure pillar (extractability, headings, answer-first)",
"Checks Authority signals",
"Recommends specific content structure changes",
"Suggests monitoring approach"
],
"files": []
},
{
"id": 5,
"prompt": "Can you audit our website for AI search readiness? We want to know how visible we are across ChatGPT, Perplexity, Google AI Overviews, and other AI platforms.",
"expected_output": "Should run the full AI Visibility Audit. Should check each platform in the landscape (Google AI Overviews, ChatGPT, Perplexity, Claude, Gemini, Copilot). Should evaluate all three pillars: Structure (content extractability, JSON-LD, clear definitions), Authority (citations, backlinks, E-E-A-T signals), Presence (AI bot access, platform-specific factors). Should provide findings organized by pillar. Should provide a prioritized action plan with specific fixes.",
"assertions": [
"Runs full AI Visibility Audit",
"Checks multiple AI platforms",
"Evaluates all three pillars (Structure, Authority, Presence)",
"Checks content extractability",
"Checks AI bot access",
"Provides findings organized by pillar",
"Provides prioritized action plan"
],
"files": []
},
{
"id": 6,
"prompt": "Our organic search traffic has dropped 30% this quarter. Can you do a full SEO audit to figure out what's going on?",
"expected_output": "Should recognize this is a traditional SEO audit request, not specifically an AI SEO task. Should defer to or cross-reference the seo-audit skill, which handles comprehensive traditional SEO audits including crawlability, technical foundations, on-page optimization, and content quality. May mention AI search as one factor to investigate but should make clear that seo-audit is the primary skill for this task.",
"assertions": [
"Recognizes this as a traditional SEO audit request",
"References or defers to seo-audit skill",
"Does not attempt a full traditional SEO audit using AI SEO patterns",
"May mention AI search as one factor to consider"
],
"files": []
}
]
}
+71
View File
@@ -0,0 +1,71 @@
# AI SEO by Content Type
Tactical guidance for optimizing specific content types for AI search citation. These tactics work for non-Google AI engines (ChatGPT, Claude, Perplexity, Copilot) and don't hurt Google AI Overviews / AI Mode.
For the cross-cutting strategy, see [SKILL.md](../SKILL.md).
---
## SaaS Product Pages
**Goal:** Get cited in "What is [category]?" and "Best [category]" queries.
**Optimize:**
- Clear product description in first paragraph (what it does, who it's for)
- Feature comparison tables (you vs. category, not just competitors)
- Specific metrics ("processes 10,000 transactions/sec" not "blazing fast")
- Customer count or social proof with numbers
- Pricing transparency (AI cites pages with visible pricing) — add a `/pricing.md` file so AI agents can parse your plans without rendering your page (see "Machine-Readable Files" in the main skill)
- FAQ section addressing common buyer questions
---
## Blog Content
**Goal:** Get cited as an authoritative source on topics in your space.
**Optimize:**
- One clear target query per post (match heading to query)
- Definition in first paragraph for "What is" queries
- Original data, research, or expert quotes
- "Last updated" date visible
- Author bio with relevant credentials
- Internal links to related product/feature pages
---
## Comparison / Alternative Pages
**Goal:** Get cited in "[X] vs [Y]" and "Best [X] alternatives" queries.
**Optimize:**
- Structured comparison tables (not just prose)
- Fair and balanced (AI penalizes obviously biased comparisons)
- Specific criteria with ratings or scores
- Updated pricing and feature data
- Cite the `competitors` skill for building these pages
---
## Documentation / Help Content
**Goal:** Get cited in "How to [X] with [your product]" queries.
**Optimize:**
- Step-by-step format with numbered lists
- Code examples where relevant
- HowTo schema markup
- Screenshots with descriptive alt text
- Clear prerequisites and expected outcomes
---
## Local Business / Ecom (Google emphasis)
Google's AI features pull from product feeds and business profiles for local + ecom queries. Optimize:
- **Merchant Center feeds** kept current with accurate inventory, pricing, attributes
- **Google Business Profile** complete with hours, services, photos, posts, Q&A answered
- **Reviews** — recent + sufficient volume; respond to reviews to signal active management
- **Service area schema** for local services
- **Business Agent** (where available) for conversational customer engagement
@@ -1,8 +1,8 @@
---
name: analytics-tracking
description: When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," or "tracking plan." For A/B test measurement, see ab-test-setup.
name: analytics
description: When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "attribution," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure marketing results. For A/B test measurement, see ab-testing.
metadata:
version: 1.0.0
version: 2.0.0
---
# Analytics Tracking
@@ -12,7 +12,7 @@ You are an expert in analytics implementation and measurement. Your goal is to h
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before implementing tracking, understand:
@@ -303,6 +303,7 @@ For implementation, see the [tools registry](../../tools/REGISTRY.md). Key analy
## Related Skills
- **ab-test-setup**: For experiment tracking
- **ab-testing**: For experiment tracking
- **seo-audit**: For organic traffic analysis
- **page-cro**: For conversion optimization (uses this data)
- **cro**: For conversion optimization (uses this data)
- **revops**: For pipeline metrics, CRM tracking, and revenue attribution
+90
View File
@@ -0,0 +1,90 @@
{
"skill_name": "analytics",
"evals": [
{
"id": 1,
"prompt": "Help me set up analytics tracking for our B2B SaaS product. We use GA4 and GTM. We need to track signups, feature usage, and upgrade events.",
"expected_output": "Should check for product-marketing.md first. Should apply the 'track for decisions' principle — ask what decisions the tracking will inform. Should use the event naming convention (object_action, lowercase with underscores). Should define essential events for SaaS: signup_completed, trial_started, feature_used, plan_upgraded, etc. Should provide GA4 implementation details with proper event parameters. Should include GTM data layer push examples. Should organize output as a tracking plan with event name, trigger, parameters, and purpose for each event.",
"assertions": [
"Checks for product-marketing.md",
"Applies 'track for decisions' principle",
"Uses object_action naming convention",
"Defines essential SaaS events (signup, feature usage, upgrade)",
"Provides GA4 implementation details",
"Includes GTM data layer examples",
"Output follows tracking plan format"
],
"files": []
},
{
"id": 2,
"prompt": "What UTM parameters should we use? We run ads on Google, Meta, and LinkedIn, plus send a weekly newsletter and post on LinkedIn organically.",
"expected_output": "Should apply the UTM parameter strategy framework. Should define consistent UTM conventions: source (google, meta, linkedin, newsletter), medium (cpc, paid-social, email, organic-social), campaign (naming convention with date or identifier). Should provide specific UTM examples for each channel mentioned. Should warn about common UTM mistakes (inconsistent casing, redundant parameters, missing medium). Should recommend a UTM tracking spreadsheet or naming convention document.",
"assertions": [
"Applies UTM parameter strategy",
"Defines source, medium, and campaign conventions",
"Provides specific UTM examples for each channel",
"Uses consistent naming conventions (lowercase)",
"Warns about common UTM mistakes",
"Recommends tracking documentation"
],
"files": []
},
{
"id": 3,
"prompt": "our tracking seems broken — we're seeing duplicate events and our conversion numbers in GA4 don't match what our database shows. help?",
"expected_output": "Should trigger on casual phrasing. Should apply the debugging and validation framework. Should systematically check for common issues: duplicate GTM tags firing, missing event deduplication, incorrect trigger conditions, cross-domain tracking issues, consent mode filtering. Should provide specific debugging steps: use GA4 DebugView, GTM Preview mode, browser developer tools. Should address the GA4 vs database discrepancy (common causes: consent mode, ad blockers, client-side vs server-side tracking, session timeout differences).",
"assertions": [
"Triggers on casual phrasing",
"Applies debugging and validation framework",
"Checks for duplicate tag firing",
"Provides specific debugging tools (GA4 DebugView, GTM Preview)",
"Addresses GA4 vs database discrepancy",
"Lists common causes of data mismatches",
"Provides systematic troubleshooting steps"
],
"files": []
},
{
"id": 4,
"prompt": "We're launching an e-commerce store and need to set up tracking from scratch. What events do we absolutely need?",
"expected_output": "Should reference the essential events by site type, specifically e-commerce. Should define the e-commerce event taxonomy: product_viewed, product_added_to_cart, cart_viewed, checkout_started, checkout_step_completed, purchase_completed, product_removed_from_cart. Should include enhanced e-commerce parameters (item_id, item_name, price, quantity, etc.). Should follow object_action naming convention. Should organize as a tracking plan with priorities (must-have vs nice-to-have).",
"assertions": [
"References essential events for e-commerce site type",
"Defines full e-commerce event taxonomy",
"Includes enhanced e-commerce parameters",
"Follows object_action naming convention",
"Organizes by priority (must-have vs nice-to-have)",
"Provides tracking plan format output"
],
"files": []
},
{
"id": 5,
"prompt": "We need to make sure our tracking is GDPR compliant. We have European users and we're using GA4, Hotjar, and Facebook Pixel.",
"expected_output": "Should apply the privacy and compliance framework. Should address GDPR requirements for each tool: consent before tracking, consent management platform (CMP) setup, GA4 consent mode configuration, conditional loading of Hotjar and Facebook Pixel. Should recommend a consent hierarchy (necessary, analytics, marketing). Should provide GTM implementation for consent-based tag firing. Should mention data retention settings in GA4. Should address cookie banner requirements.",
"assertions": [
"Applies privacy and compliance framework",
"Addresses GDPR requirements specifically",
"Recommends consent management platform",
"Covers GA4 consent mode configuration",
"Addresses conditional loading for each tool",
"Provides consent hierarchy",
"Mentions data retention settings"
],
"files": []
},
{
"id": 6,
"prompt": "Help me set up tracking for our A/B test. We want to measure which version of our pricing page converts better.",
"expected_output": "Should recognize this overlaps with A/B test setup, not just analytics tracking. Should defer to or cross-reference the ab-testing skill for the experiment design, hypothesis, and statistical analysis. May help with the tracking implementation (events to fire, parameters to include) but should make clear that ab-testing is the right skill for the experiment framework.",
"assertions": [
"Recognizes overlap with A/B test setup",
"References or defers to ab-testing skill",
"May help with tracking implementation specifics",
"Does not attempt to design the full experiment"
],
"files": []
}
]
}
+312
View File
@@ -0,0 +1,312 @@
---
name: aso
description: "When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO audit,' 'app store optimization,' 'optimize my app listing,' 'improve app visibility,' 'app store ranking,' 'audit my listing,' 'why aren't people downloading my app,' 'improve my app conversion,' 'keyword optimization for app,' or 'compare my app to competitors.' Use when the user shares an App Store or Google Play URL and wants to improve it."
metadata:
version: 2.0.0
---
# ASO Audit
Analyze App Store and Google Play listings against ASO best practices. Fetches
live listing data, scores metadata, visuals, and ratings, then produces a
prioritized action plan.
## When to Use
- User shares an App Store or Google Play URL
- User asks to audit or optimize an app listing
- User wants to compare their app against competitors
- User asks about app store ranking, visibility, or download conversion
## Before Auditing
**Check for product marketing context first:**
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
## Phase 1 — Identify Store & Fetch
### Detect store type from URL
```
Apple: apps.apple.com/{country}/app/{name}/id{digits}
Google: play.google.com/store/apps/details?id={package}
```
If the user gives an app name instead of a URL, search the web for:
`site:apps.apple.com "{app name}"` or `site:play.google.com "{app name}"`
### Fetch the listing
Use WebFetch to retrieve the listing page. Extract every available field:
**Apple App Store fields:**
- App name (title) — 30 char limit
- Subtitle — 30 char limit
- Description (long) — not indexed for search, but matters for conversion
- Promotional text — 170 chars, updatable without new release
- Category (primary + secondary)
- Screenshots (count, order, caption text)
- Preview video (presence, duration)
- Rating (average + count)
- Recent reviews (visible ones)
- Price / in-app purchases
- Developer name
- Last updated date
- Version history notes
- Age rating
- Size
- Languages / localizations listed
- In-app events (if any visible)
**Google Play fields:**
- App name (title) — 30 char limit
- Short description — 80 char limit
- Full description — 4,000 char limit, IS indexed for search
- Category + tags
- Feature graphic (presence)
- Screenshots (count, order)
- Preview video (presence)
- Rating (average + count)
- Recent reviews (visible ones)
- Price / in-app purchases
- Developer name
- Last updated date
- What's new text
- Downloads range
- Content rating
- Data safety section
- Languages listed
If WebFetch returns incomplete data (stores render client-side), note gaps and
work with what's available. Ask the user to paste missing fields if critical.
### Visual asset assessment
WebFetch cannot extract screenshot images or caption text. **Take a screenshot
of the listing page** to get visual data:
1. Navigate to the listing URL and capture a full-page screenshot
2. Assess the screenshot for: icon quality, screenshot count, caption text,
messaging quality, preview video presence, feature graphic (Google Play)
3. If browser tools are unavailable, ask the user to share a screenshot of the
listing page
**Promotional text (Apple):** This 170-char field appears above the description
but is often indistinguishable from it in scraped HTML. If you cannot confirm
its presence, note this and recommend the user check App Store Connect.
---
## Phase 1.5 — Assess Brand Maturity
Before scoring, classify the app into one of three tiers. This determines how
you interpret "textbook ASO" deviations — a deliberate brand choice by a
household name is not the same as a missed opportunity by an unknown app.
### Tier definitions
| Tier | Signals | Examples |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------- |
| **Dominant** | Household name, 1M+ ratings, top-10 in category, near-universal brand recognition. Users search by brand name, not generic keywords. | Instagram, Uber, Spotify, WhatsApp, Netflix |
| **Established** | Well-known in their category, 100K+ ratings, strong organic installs, recognized brand but not universally known. | Strava, Notion, Duolingo, Cash App, Calm |
| **Challenger** | Building awareness, <100K ratings, needs discovery through keywords and ASO tactics. Most apps fall here. | Your app, most indie/startup apps |
### How tier affects scoring
**Dominant apps** get adjusted scoring in these areas:
- **Title:** Brand-only or brand-first titles are valid (score 8+ if brand is the keyword). These apps don't need generic keyword discovery.
- **Description:** Score purely on conversion quality, not keyword presence. If the app is a household name, a well-crafted brand description beats a keyword-stuffed one.
- **Visual Assets:** Lifestyle/brand photography instead of UI demos is a legitimate conversion strategy. No video is acceptable if the product is hard to demo in 30s or brand awareness is near-universal.
- **What's New:** Generic release notes at weekly+ cadence are acceptable (score 8+). At scale, detailed changelogs have minimal ROI and risk backlash.
- **In-app events:** Missing events for utility apps with massive install bases (Uber, WhatsApp) is not a penalty. These apps don't need discovery help.
- **Localization:** Score relative to actual market, not absolute count. A US-only fintech with 2 languages (English + Spanish) is appropriately localized.
**Established apps** get partial adjustment:
- Brand-first titles are fine but should still include 1-2 keywords
- Strategic description choices get benefit of the doubt
- Other dimensions scored normally
**Challenger apps** are scored strictly against textbook ASO best practices — every character, screenshot, and keyword matters.
**Key principle:** Before docking points, ask: "Is this a mistake or a deliberate
choice by a team that has data I don't?" If the app has 1M+ ratings and a
dedicated ASO team, assume their choices are data-informed unless clearly wrong.
---
## Phase 2 — Score Each Dimension
Score each dimension 0-10 using the criteria in `references/scoring-criteria.md`.
Apply the brand maturity tier adjustments from Phase 1.5.
Reference files for platform specs and benchmarks:
- `references/apple-specs.md` — Official Apple character limits, screenshot/video specs, CPP/PPO rules, rejection triggers
- `references/google-play-specs.md` — Official Google Play limits, screenshot specs, Android Vitals thresholds, policies
- `references/benchmarks.md` — Conversion data, rating impact, video lift, screenshot behavior, CPP/event benchmarks
### Dimensions and Weights
| # | Dimension | Weight | What It Covers |
| --- | -------------------- | ------ | ------------------------------------------------------------------------- |
| 1 | Title & Subtitle | 20% | Character usage, keyword presence, clarity, brand + keyword balance |
| 2 | Description | 15% | First 3 lines, keyword density (Google), CTA, structure, promotional text |
| 3 | Visual Assets | 25% | Screenshot count/quality/messaging, video, icon, feature graphic |
| 4 | Ratings & Reviews | 20% | Average rating, volume, recency, developer responses |
| 5 | Metadata & Freshness | 10% | Category choice, update recency, localization count, data safety |
| 6 | Conversion Signals | 10% | Price positioning, IAP transparency, social proof, download range |
**Final score** = weighted sum, out of 100.
### Score interpretation
| Score | Grade | Meaning |
| ------ | ----- | --------------------------------------------------------- |
| 85-100 | A | Well-optimized; focus on A/B testing and iteration |
| 70-84 | B | Good foundation; clear opportunities to improve |
| 50-69 | C | Significant gaps; prioritized fixes will have high impact |
| 30-49 | D | Major optimization needed across multiple dimensions |
| 0-29 | F | Listing needs a complete overhaul |
---
## Phase 3 — Competitor Comparison (Optional)
If the user provides competitor URLs or asks for comparison:
1. Fetch 2-3 top competitors in the same category
2. Run the same scoring on each
3. Build a comparison table highlighting where the user's app is weaker/stronger
4. Identify keyword gaps — terms competitors rank for that the user's app doesn't target
If no competitors are specified, suggest the user provide 2-3 or offer to search
for top apps in their category.
---
## Phase 4 — Generate Report
Use the template in `references/report-template.md` to structure the output.
The report must include:
1. **Score card** — table with all 6 dimensions, scores, and grade
2. **Top 3 quick wins** — changes that take <1 hour and have highest impact
3. **Detailed findings** — per-dimension breakdown with specific issues and fixes
4. **Keyword suggestions** — based on title/description analysis and competitor gaps
5. **Visual asset recommendations** — specific screenshot/video improvements
6. **Priority action plan** — ordered list of changes by impact vs effort
### Report rules
- Every recommendation must be **specific and actionable** ("Change subtitle from X to Y" not "Improve subtitle")
- Include character counts for all text recommendations
- Flag platform-specific differences (Apple vs Google) when relevant
- Note what CANNOT be assessed without paid tools (search volume, exact rankings)
- When suggesting keyword changes, explain WHY each keyword matters
---
## Platform-Specific Rules
### Apple App Store — Key Facts
- Title (30 chars) + Subtitle (30 chars) + Keyword field (100 **bytes**, hidden) = indexed text
- Keywords field is bytes not chars — Arabic/CJK use 2-3 bytes per char
- Long description is NOT indexed for search — optimize for conversion only
- Promotional text (170 chars) does NOT affect search (Apple confirmed)
- Never repeat words across title/subtitle/keyword field (Apple indexes each word once)
- Keyword field: commas, no spaces ("photo,editor,filter" not "photo, editor, filter")
- Screenshots: up to 10 per device. First 3 visible in search — 90% never scroll past 3rd
- Screenshot captions indexed since June 2025 (AI extraction)
- In-app events: max 10 published at once, max 31 days each. Indexed and appear in search
- Custom Product Pages (up to 70) in organic search since July 2025. +5.9% avg conversion lift
- App preview video: up to 3, 15-30s each. Autoplays muted — +20-40% conversion lift
- SKStoreReviewController: max 3 prompts per 365 days
- Apple has human editorial curation — quality and design matter more
- See `references/apple-specs.md` for full specs, dimensions, and rejection triggers
### Google Play — Key Facts
- Title (30 chars) + Short description (80 chars) + Full description (4,000 chars) = indexed text
- Full description IS indexed — target 2-3% keyword density naturally
- No hidden keyword field — all keywords must be in visible text
- Google NLP/semantic understanding — keyword stuffing detected and penalized
- Prohibited in title: emojis, ALL CAPS, "best"/"#1"/"free", CTAs (enforced since 2021)
- Screenshots: min 2, **max 8** per device (not 10 like Apple)
- Feature graphic (1024x500, exact) required for featured placements
- Video does NOT autoplay — only ~6% of users tap play (low ROI vs iOS)
- Android Vitals directly affect ranking: crash >1.09% or ANR >0.47% = reduced visibility
- Promotional Content: submit 14 days early for featuring. Apps see 2x explore acquisitions
- Custom Store Listings: up to 50 (can target churned users, specific countries, ad campaigns)
- Store Listing Experiments: test up to 3 variants, run 7+ days, 1 experiment at a time
- See `references/google-play-specs.md` for full specs and policy details
### What Apple Indexes vs What Google Indexes
| Field | Apple Indexed? | Google Indexed? |
| --------------------- | ---------------- | ---------------------- |
| Title | Yes | Yes (strongest signal) |
| Subtitle / Short desc | Yes | Yes |
| Keyword field | Yes (hidden) | Does not exist |
| Long description | No | Yes (heavily) |
| Screenshot captions | Yes (since 2025) | No |
| In-app events | Yes | N/A (LiveOps instead) |
| Developer name | No | Partial |
| IAP names | Yes | Yes |
---
## Common Issues Checklist
Flag these if found. Items marked _(tier-dependent)_ should be evaluated against
the app's brand maturity tier — they may be deliberate choices for Dominant apps.
**Always flag (all tiers):**
- [ ] Rating below 4.0
- [ ] Last update > 3 months ago
- [ ] Google Play description has no keyword strategy (under 1% density)
- [ ] Google Play missing feature graphic
- [ ] Apple keyword field likely has repeated words (inferred from title+subtitle)
- [ ] Category mismatch — app would face less competition in a different category
- [ ] Fewer than 5 screenshots
**Flag for Challenger/Established only** _(not mistakes for Dominant apps):_
- [ ] Title wastes characters on brand name only (no keywords) _(Dominant: brand IS the keyword)_
- [ ] Subtitle/short description duplicates title keywords
- [ ] Description first 3 lines are generic _(Dominant: may be brand-voice choice)_
- [ ] No preview video _(Dominant: may be rational if product is hard to demo)_
- [ ] Screenshots are just UI dumps with no messaging/captions _(Dominant: lifestyle/brand shots may convert better)_
- [ ] Only 1-2 localizations _(score relative to actual market, not absolute count)_
- [ ] No in-app events or promotional content _(Dominant utility apps may not need discovery help)_
**Flag for all tiers but note context:**
- [ ] No developer responses to negative reviews _(note volume — responding at 10M+ reviews is a different challenge than at 1K)_
- [ ] Generic "What's New" text _(acceptable at weekly+ release cadence for Established/Dominant)_
---
## Task-Specific Questions
1. What is the App Store or Google Play URL?
2. Is this your app or a competitor's?
3. What category does the app compete in?
4. Do you have competitor URLs to compare against?
5. Are you focused on search visibility, conversion rate, or both?
6. Do you have access to App Store Connect or Google Play Console data?
---
## Related Skills
- **cro**: For optimizing the conversion of web-based landing pages that drive app installs
- **ad-creative**: For creating App Store and Google Play ad creatives
- **analytics**: For setting up install attribution and in-app event tracking
- **customer-research**: For understanding user needs and language to inform listing copy
+91
View File
@@ -0,0 +1,91 @@
{
"skill_name": "aso",
"evals": [
{
"id": 1,
"prompt": "Here's our app on the App Store: https://apps.apple.com/us/app/example/id123456789. Can you audit our listing and tell me what to fix?",
"expected_output": "Should check for product-marketing.md first. Should detect this is an Apple App Store URL and run the full ASO audit workflow. Should fetch the listing and extract Apple-specific fields (title 30 chars, subtitle 30 chars, description, promotional text 170 chars, category, screenshots, video, ratings). Should classify the app's brand maturity tier (Dominant/Established/Challenger) before scoring. Should score all 6 dimensions (Title & Subtitle 20%, Description 15%, Visual Assets 25%, Ratings & Reviews 20%, Metadata & Freshness 10%, Conversion Signals 10%) with weighted total out of 100 and a grade. Should output a scorecard, top 3 quick wins, detailed findings, keyword suggestions, visual recommendations, and prioritized action plan with specific 'change X from Y to Z' recommendations including character counts.",
"assertions": [
"Checks for product-marketing.md",
"Identifies as Apple App Store URL",
"Classifies brand maturity tier",
"Scores all 6 dimensions with weights",
"Provides scorecard with grade",
"Lists top 3 quick wins",
"Recommendations include character counts",
"Recommendations are specific (X to Y format)"
],
"files": []
},
{
"id": 2,
"prompt": "We're a small fintech startup with about 5,000 downloads. Our Play Store listing has a 2.8 rating and we haven't updated the description in 8 months. Help us figure out what to fix first.",
"expected_output": "Should recognize this as a Challenger-tier Google Play app. Should immediately flag the always-flag issues: rating below 4.0 (critical), last update >3 months ago. Should apply strict Challenger scoring against textbook best practices. Should focus on Google Play-specific guidance: full description is indexed for search (target 2-3% keyword density), no hidden keyword field, feature graphic required (1024x500), max 8 screenshots, Android Vitals affect ranking. Should prioritize fixing the rating issue (response strategy, in-app review prompts) and refreshing the description with keyword strategy. Should recommend updating the listing soon to break the >3 month stale signal.",
"assertions": [
"Identifies as Google Play app",
"Classifies as Challenger tier",
"Flags rating below 4.0",
"Flags stale update (>3 months)",
"Notes Google Play indexes full description",
"Mentions feature graphic requirement",
"Recommends keyword strategy in description",
"Prioritizes rating improvement"
],
"files": []
},
{
"id": 3,
"prompt": "Instagram's App Store listing has just 'Instagram' as the title and barely any keywords. Should they fix that?",
"expected_output": "Should classify Instagram as a Dominant-tier app and apply tier-adjusted scoring. Should explain that brand-only titles are valid for Dominant apps (score 8+ if brand IS the keyword) because users search by brand name, not generic keywords. Should NOT flag this as a missed opportunity. Should explain the key principle: 'Is this a mistake or a deliberate choice by a team that has data I don't?' Should note that other dimensions (screenshots, description, what's new) are also evaluated against tier — lifestyle/brand photography and brief release notes are acceptable for Dominant apps. Should contrast with what would be a problem for a Challenger app.",
"assertions": [
"Classifies Instagram as Dominant tier",
"Explains brand-only titles are valid for Dominant",
"Does NOT flag the title as a problem",
"Contrasts Dominant vs Challenger treatment",
"Cites the 'mistake vs deliberate choice' principle"
],
"files": []
},
{
"id": 4,
"prompt": "Compare our app https://apps.apple.com/us/app/ourapp/id111 against these two competitors: https://apps.apple.com/us/app/competitor1/id222 and https://apps.apple.com/us/app/competitor2/id333",
"expected_output": "Should run Phase 3 competitor comparison. Should fetch and score all three apps with the same 6-dimension framework. Should build a side-by-side comparison table highlighting where the user's app is weaker or stronger across each dimension. Should identify keyword gaps — terms competitors target that the user's app doesn't. Should produce a prioritized list of competitor-informed changes. Should call out platform-specific considerations consistently across all three apps.",
"assertions": [
"Scores all 3 apps with same framework",
"Builds comparison table",
"Identifies where user's app is weaker",
"Identifies keyword gaps vs competitors",
"Produces competitor-informed action list"
],
"files": []
},
{
"id": 5,
"prompt": "We only have 3 screenshots and no preview video. Does this really matter that much?",
"expected_output": "Should explain that screenshot count and video presence are heavily weighted in the Visual Assets dimension (25% of total score). Should cite specific data: Apple allows up to 10 screenshots per device with the first 3 visible in search, and 90% of users never scroll past the 3rd. Should note Apple screenshot captions are indexed for search since June 2025. Should cite the conversion benchmark: app preview video delivers +20-40% conversion lift on iOS (note Google Play video has lower ROI — only ~6% tap play). Should recommend adding 5-8 screenshots minimum with caption text, and a 15-30s preview video. Should flag fewer than 5 screenshots as an always-flag issue across all tiers.",
"assertions": [
"Notes Visual Assets is 25% of score",
"Cites first 3 screenshots are most important",
"Mentions screenshot caption indexing (Apple, 2025)",
"Cites video conversion lift benchmark",
"Notes Google Play video has lower ROI",
"Recommends specific screenshot count and video specs",
"Flags <5 screenshots as always-flag issue"
],
"files": []
},
{
"id": 6,
"prompt": "Should I run a Custom Product Page experiment on iOS for our paid search campaigns?",
"expected_output": "Should reference Apple-specific facts: Custom Product Pages (CPP) — up to 70 — appear in organic search since July 2025 with +5.9% average conversion lift. Should explain CPPs let you test variants of screenshots, video, and promotional text against specific traffic sources (e.g., paid search keywords). Should recommend matching CPP variants to the keyword intent for the campaign. Should cross-reference the ab-testing skill for proper experiment design and the ads skill for the campaign side. Should note this is an iOS-only feature (Google Play has Store Listing Experiments and Custom Store Listings as equivalents).",
"assertions": [
"Identifies Custom Product Pages as iOS-specific",
"Cites +5.9% conversion lift benchmark",
"Explains CPP can match traffic source intent",
"Cross-references ab-testing or ads skill",
"Notes Google Play equivalents"
],
"files": []
}
]
}
+107
View File
@@ -0,0 +1,107 @@
# Apple App Store — Official Specs & Guidelines
All data from developer.apple.com as of March 2026.
## Character Limits
| Field | Limit | Indexed for Search? | Notes |
| ----------------------- | ---------------- | ------------------------ | -------------------------------------------------------- |
| App Name | 30 chars (min 2) | Yes | Must be unique; no trademarks, competitor names, pricing |
| Subtitle | 30 chars | Yes | No unverifiable claims |
| Keywords | 100 bytes | Yes (hidden) | Commas, no spaces between terms |
| Description | 4,000 chars | **No** | Plain text only, no HTML |
| Promotional Text | 170 chars | **No** (Apple confirmed) | Updatable without new version |
| What's New | 4,000 chars | No | Required for all versions after first |
| IAP Name | 35 chars | Yes | Appears in search |
| IAP Description | 55 chars | No | |
| In-App Event Name | 30 chars | Yes | Title case required |
| In-App Event Short Desc | 50 chars | Yes | Sentence case |
| In-App Event Long Desc | 120 chars | No | Sentence case |
**Keywords field is 100 bytes, not 100 characters.** Non-Latin scripts (Arabic,
Chinese, Japanese, Korean) use 2-3 bytes per character, reducing effective
keyword count significantly.
## Screenshot Specs
| Device | Required? | Count | Dimensions (portrait) |
| ---------------- | ------------- | ----- | -------------------------- |
| 6.9" iPhone | **Required** | 1-10 | 1260 x 2736 |
| 13" iPad | **Required** | 1-10 | 2064 x 2752 |
| Mac | If applicable | 1-10 | Up to 2880 x 1800 (16:10) |
| Apple Watch | If applicable | 1-10 | Varies by model |
| Apple TV | If applicable | 1-10 | 1920 x 1080 or 3840 x 2160 |
| Apple Vision Pro | If applicable | 1-10 | 3840 x 2160 |
- Formats: JPEG, PNG
- Apple auto-scales from required base sizes to smaller devices
## App Preview Video Specs
- **Count:** Up to 3 per app
- **Duration:** 15-30 seconds
- **Max file size:** 500 MB
- **Codecs:** H.264 (10-12 Mbps, up to 30fps) or ProRes 422 HQ
- **Audio:** Stereo, 256 kbps AAC or PCM, 44.1/48 kHz
- **Formats:** .mov, .m4v, .mp4
- **Behavior:** Autoplays muted on product page (iOS 11+)
## Custom Product Pages (CPPs)
- **Max:** 70 additional pages (plus 1 default)
- **Customizable:** Screenshots, promotional text, app previews, deep links (iOS 18+)
- **Keywords:** Each keyword combo must be unique to a single CPP
- **Review:** Submitted to App Review independently of app updates
- **Organic search:** CPPs appear in organic search results since July 2025
- **Performance:** +2.5 percentage points higher conversion on average vs default
## Product Page Optimization (A/B Testing)
- **Treatments:** Up to 3 vs original
- **Testable:** App icons, screenshots, app preview videos
- **NOT testable:** Title, subtitle, description, keywords
- **Concurrent tests:** 1 per app
- **Max duration:** 90 days
- **Icon constraint:** All icon variants must be in the published app binary
- **Confidence:** Apple recommends 90% threshold (Bayesian method)
- **Cannot modify** a test once started
## In-App Events
- **Max approved:** 15 in App Store Connect at once
- **Max published:** 10 on App Store simultaneously
- **Max duration:** 31 days per event
- **Pre-event promotion:** Up to 14 days before start
- **Badge types:** Challenge, Competition, Live Event, Major Update, New Season, Premiere, Special Event
**Event card image:** 16:9, min 1920x1080, max 3840x2160
**Event details image:** 9:16, min 1080x1920, max 2160x3840
**Not suitable:** Repetitive daily tasks, price promotions without new content, general awareness campaigns.
## Ratings & Reviews
- **SKStoreReviewController:** Max 3 prompts per 365-day period
- System controls display frequency (may show fewer than 3)
- Do not use custom buttons to request reviews
- Developers can respond to all reviews in App Store Connect
- Summary rating is territory-specific
## Metadata Rejection Triggers (App Review Guidelines)
| Guideline | Rejection Trigger |
| --------- | ------------------------------------------------------------------------- |
| 2.3.1 | Hidden features, misleading marketing, false pricing |
| 2.3.2 | Not disclosing IAPs in description/screenshots |
| 2.3.3 | Screenshots that don't show app in use (only splash/login) |
| 2.3.4 | Preview videos using non-app content |
| 2.3.5 | Wrong category selected |
| 2.3.7 | Keyword stuffing: trademarks, competitor names, pricing, irrelevant terms |
| 2.3.8 | Metadata not appropriate for all audiences (must be 4+ rated) |
| 2.3.10 | Other platform names/imagery (Android, etc.) in metadata |
| 2.3.12 | Generic What's New for significant changes |
| 2.3.13 | Inaccurate in-app event metadata |
Sources: developer.apple.com/app-store/product-page/,
developer.apple.com/app-store/search/,
developer.apple.com/app-store/review/guidelines/
+129
View File
@@ -0,0 +1,129 @@
# ASO Benchmarks & Conversion Data
Industry data from AppTweak, SplitMetrics, Sensor Tower, and others. Updated March 2026.
## Conversion Rate Benchmarks by Category
**Average CVR (page view to install):**
- iOS overall: **25.0%**
- Google Play overall: **27.3%**
| Category | iOS CVR | Google Play CVR |
| ----------------- | -------------- | --------------- |
| Navigation | 115%\* | -- |
| Auto & Vehicles | -- | 70.5% |
| Business | 66.7% | -- |
| Music (Games) | -- | 45.0% |
| Utilities & Tools | -- | 36.8% |
| Shopping | -- | 27.7% |
| Health & Fitness | -- | 23.2% |
| Finance | -- | 19.7% |
| Food & Drink | -- | 13.1% |
| Games (Board) | 1.2% | 7.3% |
| Games (overall) | 3-5% realistic | -- |
\*Above 100% = some users install from search without visiting product page.
Source: AppTweak 2025 Benchmarks Report (H1 2024 data, US market)
## Rating Impact on Conversion
| Rating Change | Conversion Impact |
| -------------------------- | --------------------------------------- |
| 3.0 to 4.0 stars | **+89%** |
| 4.0 to 4.5 stars | **+20-30%** |
| 4.3 to 4.6 stars | **+22-28%** (Finance, Health) |
| 0.4-star gap vs competitor | **~25% lost installs** from same search |
| 3-star vs 5-star app | **50% fewer conversions** for 3-star |
**Critical thresholds:**
- **4.0 stars** = minimum for Apple featuring, user trust, conversion viability
- **4.5+ stars** = optimal zone. Sweet spot: 4.1-4.9
- **5.0 stars** can look suspicious to users
- **Below 3.5** = sharp visibility drop on both stores
- **79% of users** check ratings before downloading
- **50% reject** apps below 3 stars
Sources: AppFollow, MobileAction, Sensor Tower, Troof.ai
## Preview Video Impact
**iOS:** +20-40% conversion lift (video autoplays on product page)
**Google Play:** Minimal lift (only ~6% of visitors tap to play)
- Autoplay introduced in iOS 11 caused **+47% conversion jump**
- Users who watch video are **2x more likely to install**
- Average watch time: **4-6.5 seconds** (first 5 seconds are critical)
- 50%+ of viewers watch to the end
**Takeaway:** Video is high-ROI on iOS, low-ROI on Google Play.
Sources: StoreMaven, SplitMetrics, Leanplum
## Screenshot Impact
- **90% of users** do not scroll past the 3rd screenshot
- Average scroll rate: only **17%**
- Users spend **6-10 seconds** scanning before deciding
- **First screenshot decides everything**
- Well-designed screenshots lift conversion **20-35%**
- A/B test winners see **10-25% improvement**
- **Optimal count:** 4-5 for utility apps, 5-6 for complex apps
- More than 6: diminishing returns, can cause decision paralysis
- Top 200 apps update screenshots **2-4 times/year**
- Top Google Play games update visuals **up to 8x/year**
- **57% of top games** A/B tested screenshots at least 2x in 2024
Sources: AppTweak, ASOMobile, Sensor Tower
## Custom Product Pages (Apple CPPs)
- Average conversion lift: **+5.9% for apps**, **+3.5% for games**
- Best cases: up to **+8.6%**
- Organic referral: **+2.5 percentage points** (156% lift vs 1.6% baseline)
- Apple Ads CPP CVR: **55.8% in 2024** (up from 42.1% in 2023)
- **Only 31% of apps** and **26% of games** use CPPs (low adoption = opportunity)
- Screenshot reordering alone produced **+16.6% installs** in one case
Sources: AppTweak, SplitMetrics, MobileAction
## Custom Store Listings (Google Play CSLs)
- Up to **50 custom versions** per app
- Case study (Lockwood/Avakin Life): **+57% CVR** over 2 months
- Can target inactive/churned users (28+ days no activity)
Source: Phiture, MobileAction
## In-App Events (Apple)
- **55% of top 200 apps** use them regularly
- +**15-20% more impressions** from editorial/browse placements
- One case: **+124% surge** in total impressions
- One case: **+50% impressions AND first-time downloads**
- Search CVR uptick: **+10.3%**
- Re-downloads increase: **+15.5%**
- **Boost is short-lived** -- KPIs drop to baseline when event ends
- Optimal: **2-4 active events per month**
Sources: Phiture, AppTweak, Appalize
## Promotional Content (Google Play)
- Apps with featuring see **2x explore acquisitions** (official Google)
- +2% 28-day active users and +4% revenue on average
Source: Google Play Console documentation
## A/B Test Impact Thresholds
| Improvement | Classification |
| ----------- | ---------------------------------- |
| >10% | Strong winner -- apply immediately |
| 5-10% | Meaningful winner |
| 2-5% | Marginal winner |
| <2% | Noise -- not significant |
Source: SplitMetrics, MobileAction
+131
View File
@@ -0,0 +1,131 @@
# Google Play Store — Official Specs & Guidelines
All data from support.google.com and developer.android.com as of March 2026.
## Character Limits
| Field | Limit | Indexed? | Notes |
| ----------------- | ----------- | ---------------------- | ------------------------------------- |
| App Title | 30 chars | Yes (strongest signal) | Reduced from 50 in Sept 2021 |
| Short Description | 80 chars | Yes | Visible without expanding |
| Full Description | 4,000 chars | **Yes (heavily)** | Google NLP indexes entire text |
| Developer Name | 64 chars | Partial | Same emoji/caps restrictions as title |
## Prohibited in Metadata (enforced since Sept 2021)
**Title, Icon, Developer Name:**
- Emojis, emoticons, repeated special characters
- ALL CAPS (unless registered brand)
- Performance claims: "top," "best," "#1," "free," "no ads"
- Misleading store performance or endorsement
- Calls-to-action: "update now," "download now"
**Short Description:**
- Same performance claims as title
- Calls-to-action
- Unattributed testimonials
**Screenshots, Feature Graphic, Video:**
- Time-sensitive taglines
- Calls-to-action ("Download now," "Play now")
- Must authentically showcase app functionality
## Screenshot Specs
| Device | Min | Max | Aspect Ratio | Min Resolution | Max Long Edge |
| ---------- | ----- | ----- | ------------ | -------------- | ------------- |
| Phone | **2** | **8** | 9:16 or 16:9 | 320px any side | 3,840px |
| 7" Tablet | 4 | 8 | 9:16 or 16:9 | 1,080px short | 7,680px |
| 10" Tablet | 4 | 8 | 9:16 or 16:9 | 1,080px short | 7,680px |
| Chromebook | 4 | 8 | 9:16 or 16:9 | 1,080px short | 7,680px |
| Wear OS | 1 | 8 | **1:1** | 384x384 | 3,840px |
| Android TV | 1 | 8 | **16:9** | 1,920x1,080 | 3,840px |
- **Recommended phone size:** 1080x1920 (portrait)
- **Format:** JPEG or 24-bit PNG (no alpha)
- **Max file size:** 8 MB each
**Note:** Google Play max is 8 screenshots per device, not 10 like Apple.
## Feature Graphic
- **Dimensions:** 1024 x 500 px (exact, required)
- **Format:** JPEG or 24-bit PNG (no alpha)
- Displayed at top of listing and in featured placements
## App Icon
- **Dimensions:** 512 x 512 px
- **Format:** 32-bit PNG (with alpha)
- **Max file size:** 1,024 KB
- **Shape:** Full square (Google applies 30% corner radius automatically)
- **Prohibited:** Ranking claims, download counts, deal text, emoji
## Preview Video
- **Format:** YouTube URL (public or unlisted)
- **Duration:** 30 seconds to 2 minutes recommended
- No ads, no monetization, must be embeddable, not age-restricted
- **Does NOT autoplay** (only ~6% of visitors tap to play)
## Store Listing Experiments (A/B Testing)
- **Variants:** Up to 3 per experiment (plus control)
- **Testable:** Icon, feature graphic, screenshots, video, short description, full description
- **Concurrent:** Cannot run more than 1 default graphics experiment simultaneously
- **Audience:** Signed-in Google Play users only
- **Metrics:** First-time installers + retained first-time installers (1-day retention)
- **Duration:** Run at least 7 days (weekday/weekend variance)
- **Localized:** Test across up to 5 languages simultaneously
## Custom Store Listings
- **Max:** 50 per app (100 for Play partners)
- **Customizable:** Title, short/full description, icon, screenshots, feature graphic, video
- **Targeting:** Country/region, pre-registration, install state, Google Ads campaigns, inactive/churned users (28+ days)
- **2025 addition:** Gemini AI auto-generates text for CSLs in Play Console
## Promotional Content (LiveOps)
| Type | Description | Duration |
| ----------------- | ------------------------------ | -------------------- |
| Offers | Discounts, free items, bundles | Up to 28 days |
| Events | Time-limited in-app events | Must have time limit |
| Major Update | Significant new features | Max 1 week |
| Crossover (games) | Cross-game/IP collaboration | Varies |
- Submit **4+ days** before start (standard review)
- Submit **14+ days** before for featuring requests
- **Impact:** "Over twice as many explore acquisitions during featuring" (official Google)
## Android Vitals — Ranking Thresholds
Apps exceeding these thresholds get **reduced visibility** in search and recommendations.
| Metric | Overall Threshold | Per-Device Threshold |
| ---------------------------- | ----------------- | -------------------- |
| User-Perceived Crash Rate | **1.09%** | 8% |
| User-Perceived ANR Rate | **0.47%** | 8% |
| Excessive Partial Wake Locks | 5% | N/A |
**Consequences:** Reduced search visibility, warning labels on listing, quality alerts to users before install.
**Recovery:** Google checks daily using 28-day rolling average.
## Search Ranking — Official Factors
Google confirms these affect ranking:
1. **Metadata relevance** — Title carries most weight. NLP scans title + short desc + full desc.
2. **App quality** — Android Vitals (crash/ANR rates)
3. **Ratings and reviews** — Star rating + review text. 85% of featured apps have 4.0+
4. **Install volume and velocity** — Total installs + daily/weekly frequency
5. **Engagement and retention** — Session frequency, duration, retention rates
6. **Update frequency** — Regular updates signal active maintenance
7. **Localization** — Regional keyword/visual adaptation. 59% of US apps localize titles.
Sources: support.google.com/googleplay/android-developer/answer/4448378,
support.google.com/googleplay/android-developer/answer/9898842,
developer.android.com/topic/performance/vitals
+213
View File
@@ -0,0 +1,213 @@
# ASO Audit Report Template
Use this structure for all ASO audit reports.
---
## Header
```
# ASO Audit: {App Name}
**Store:** {Apple App Store / Google Play}
**URL:** {listing URL}
**Audit date:** {date}
**Brand tier:** {Dominant / Established / Challenger} — {one-line justification}
**Overall Score:** {score}/100 (Grade: {A/B/C/D/F})
```
---
## Score Card
```
| Dimension | Score | Grade | Key Issue |
|-----------|-------|-------|-----------|
| Title & Subtitle | X/10 | {grade} | {one-line summary} |
| Description | X/10 | {grade} | {one-line summary} |
| Visual Assets | X/10 | {grade} | {one-line summary} |
| Ratings & Reviews | X/10 | {grade} | {one-line summary} |
| Metadata & Freshness | X/10 | {grade} | {one-line summary} |
| Conversion Signals | X/10 | {grade} | {one-line summary} |
| **OVERALL** | **{weighted}/100** | **{grade}** | |
```
Grade scale per dimension: 9-10 = A, 7-8 = B, 5-6 = C, 3-4 = D, 1-2 = F
---
## Top 3 Quick Wins
Highest-impact changes that take under 1 hour:
```
### 1. {Action verb} — {specific change}
**Impact:** {High/Medium} | **Effort:** {<15 min / <30 min / <1 hour}
**Current:** {what it is now}
**Recommended:** {exact replacement, with character count}
**Why:** {one sentence explaining the impact}
### 2. ...
### 3. ...
```
---
## Detailed Findings
### Title & Subtitle Analysis
```
**Current title:** "{title}" ({X}/30 chars used)
**Current subtitle/short desc:** "{subtitle}" ({X}/30 or /80 chars used)
**Issues found:**
- {issue 1}
- {issue 2}
**Recommended title:** "{new title}" ({X}/30 chars) — {rationale}
**Recommended subtitle:** "{new subtitle}" ({X}/30 or /80 chars) — {rationale}
```
### Description Analysis
```
**First 3 lines (above fold):**
> {quoted text}
**Issues found:**
- {issue 1}
- {issue 2}
**Keyword density (Google Play only):** {X}% — target: 2-3%
**Top keywords found:** {keyword1} (Xn), {keyword2} (Xn), ...
**Missing high-value keywords:** {keyword1}, {keyword2}, ...
**Recommended first 3 lines:**
> {rewritten text}
```
### Visual Assets Analysis
```
**Screenshots:** {count} ({store} shows first {3/all} in search)
**Preview video:** {Yes/No}
**Icon assessment:** {description}
**Feature graphic (Google Play):** {Yes/No}
**Screenshot audit:**
1. {screenshot 1 description} — {pass/issue}
2. {screenshot 2 description} — {pass/issue}
...
**Recommendations:**
- {specific visual change 1}
- {specific visual change 2}
```
### Ratings & Reviews Analysis
```
**Average rating:** {X.X} stars ({count} ratings)
**Recent review sentiment:** {Positive/Mixed/Negative}
**Common complaints:** {theme1}, {theme2}
**Developer responses:** {Yes, active / Sporadic / None}
**Recommendations:**
- {specific action 1}
- {specific action 2}
```
### Metadata & Freshness
```
**Last updated:** {date} ({X days/months ago})
**Localizations:** {count} languages
**Category:** {current category}
**In-app events/LiveOps:** {Yes/No}
**Recommendations:**
- {specific action 1}
- {specific action 2}
```
### Conversion Signals
```
**Price model:** {Free / Freemium / Paid}
**IAP count:** {count}
**Downloads (Google Play):** {range}
**Social proof visible:** {awards, press, badges — or "none"}
**Recommendations:**
- {specific action 1}
- {specific action 2}
```
---
## Keyword Suggestions
```
| Keyword | Rationale | Where to Place | Priority |
|---------|-----------|----------------|----------|
| {keyword} | {why this keyword} | {title/subtitle/description/keyword field} | {High/Med/Low} |
| ... | ... | ... | ... |
```
Note: Without paid ASO tools, exact search volume is unavailable. These
suggestions are based on category analysis, competitor metadata, and semantic
relevance. Validate with AppTweak, Sensor Tower, or MobileAction for volume data.
---
## Competitor Comparison (if applicable)
```
| Metric | {Your App} | {Competitor 1} | {Competitor 2} |
|--------|-----------|----------------|----------------|
| Title keywords | ... | ... | ... |
| Rating | ... | ... | ... |
| Screenshots | ... | ... | ... |
| Video | ... | ... | ... |
| Description keywords | ... | ... | ... |
| Last updated | ... | ... | ... |
| Overall ASO score | ... | ... | ... |
```
---
## Priority Action Plan
Ordered by impact (high to low), grouped by effort:
```
### Do This Week (Quick Wins)
1. {action} — {expected impact}
2. {action} — {expected impact}
### Do This Month (Medium Effort)
3. {action} — {expected impact}
4. {action} — {expected impact}
### Plan for Next Quarter (High Effort)
5. {action} — {expected impact}
6. {action} — {expected impact}
```
---
## Limitations
Always include this section:
> **What this audit cannot measure without paid ASO tools:**
>
> - Exact keyword search volume and difficulty scores
> - Historical keyword ranking positions
> - Download and revenue estimates
> - Apple keyword field contents (hidden from public view)
> - Install conversion rate data (only available to app owner in console)
> - A/B test results from previous experiments
>
> For these data points, consider using AppTweak ($69/mo), Sensor Tower, or
> MobileAction ($69/mo).
+213
View File
@@ -0,0 +1,213 @@
# ASO Scoring Criteria
Score each dimension 0-10 using the rubrics below.
**Apply brand maturity tier adjustments** from Phase 1.5 of the main skill.
---
## Brand Maturity Adjustments (apply to all dimensions)
Before scoring, determine the app's tier: **Dominant**, **Established**, or **Challenger**.
**Dominant apps (Instagram, Uber, Spotify, WhatsApp, Netflix):**
- Brand-only titles score 8+ (the brand IS the keyword)
- Lifestyle/brand screenshots score same as captioned UI screenshots
- Generic What's New at weekly+ cadence scores 8+
- Missing in-app events for utility apps is not a penalty
- Description scored on conversion quality only, not keyword presence
- Localization scored relative to actual market footprint
- Missing preview video is acceptable if brand awareness is near-universal
**Established apps (Duolingo, Strava, Notion, Calm, Cash App):**
- Brand-first titles with 1-2 keywords score normally
- Strategic description/visual choices get benefit of the doubt
- All other dimensions scored normally
**Challenger apps (most apps):**
- Scored strictly against textbook ASO — every character and feature matters
**Key principle:** Before docking points, ask: "Is this a mistake or a data-informed
choice by a team with more information than I have?"
---
## 1. Title & Subtitle (Weight: 20%)
**Challenger rubric:**
| Score | Criteria |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 9-10 | Brand + high-value keyword in title, complementary keywords in subtitle, no word repetition across fields, near max character usage, instantly communicates app purpose |
| 7-8 | Good keyword presence, minor character waste (5+ unused chars), clear purpose |
| 5-6 | Has keywords but poor placement, some repetition between fields, purpose somewhat clear |
| 3-4 | Title is brand-only or generic, subtitle missing or weak, poor character usage |
| 1-2 | No keyword strategy, title doesn't communicate purpose, major character waste |
| 0 | Cannot assess (data unavailable) |
**Dominant/Established adjustment:** Brand-only titles (e.g., "Instagram") are
valid if the brand has high search volume. Score 8+ for Dominant apps where
brand recognition eliminates the need for generic keywords. Evaluate whether
unused characters represent waste or intentional simplicity.
**Check for:**
- Characters used vs limit (title: 30, subtitle/short desc: 30/80). "Near max" = within 3 chars of the limit (27+/30, 77+/80)
- Primary keyword in title
- Keyword duplication between title and subtitle
- Whether app purpose is immediately clear
- Unnecessary words (articles, prepositions) consuming space
- Special characters or claims ("#1", "best") that risk rejection (Apple)
---
## 2. Description (Weight: 15%)
### Apple App Store
| Score | Criteria |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 9-10 | First 3 lines hook with clear value prop, structured with features/benefits/social proof/CTA, promotional text actively used, compelling and scannable |
| 7-8 | Good opening, decent structure, could improve scannability or CTA |
| 5-6 | Generic opening ("Welcome to..."), some structure, missing CTA or social proof |
| 3-4 | Wall of text, no clear value prop above fold, no promotional text |
| 1-2 | Minimal or boilerplate description, no effort |
| 0 | Cannot assess |
### Google Play
| Score | Criteria |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| 9-10 | Keywords in first 3 sentences, 2-3% natural density throughout, HTML formatting used, structured sections, strong CTA, keywords feel natural |
| 7-8 | Good keyword presence, some structure, density slightly off (1-2% or 3-4%) |
| 5-6 | Keywords present but sparse (<1%) or stuffed (>5%), weak structure |
| 3-4 | No keyword strategy visible, poor formatting, wall of text |
| 1-2 | Minimal description, no keywords, no structure |
| 0 | Cannot assess |
**Check for:**
- First 3 lines quality (visible before "Read More")
- Feature-benefit framing (not just feature lists)
- Social proof (downloads, awards, press mentions)
- Call to action
- Keyword density (Google Play only - count target keywords / total words)
- HTML formatting usage (Google Play)
- Promotional text presence and quality (Apple)
---
## 3. Visual Assets (Weight: 25%)
| Score | Criteria |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 9-10 | 8-10 screenshots with clear messaging/captions, preview video present, screenshots tell a story in sequence, each communicates one benefit, icon is distinctive and memorable |
| 7-8 | 6-7 screenshots with captions, good icon, no video OR good video but some screenshot messaging unclear |
| 5-6 | 5+ screenshots but weak/no captions, basic icon, no video, screenshots are UI dumps |
| 3-4 | 3-4 screenshots, no captions, generic icon, no storytelling |
| 1-2 | Fewer than 3 screenshots, or screenshots are raw unedited UI, poor icon |
| 0 | Cannot assess |
**Check for:**
- Screenshot count (minimum 5, ideal 8-10)
- Caption/overlay text on screenshots (one message per screen, 5-7 words max)
- First 3 screenshots (highest conversion impact on Apple)
- Preview video presence and quality
- Icon distinctiveness (no text in icon, bold shapes, stands out)
- Feature graphic presence (Google Play - mandatory for featured placements)
- Screenshot storytelling flow (do they tell a coherent story?)
- Localized visual assets (for non-English markets)
- Caption keywords (Apple - indexed since June 2025)
---
## 4. Ratings & Reviews (Weight: 20%)
| Score | Criteria |
| ----- | ------------------------------------------------------------------------------------------------------ |
| 9-10 | 4.5+ stars, 10K+ ratings, recent reviews positive, developer responds to negatives, steady review flow |
| 7-8 | 4.0-4.4 stars, 1K+ ratings, mostly positive recent reviews, some developer responses |
| 5-6 | 3.5-3.9 stars, 500+ ratings, mixed recent reviews, no developer responses |
| 3-4 | 3.0-3.4 stars, <500 ratings, negative themes in recent reviews |
| 1-2 | Below 3.0 stars, few ratings, no developer engagement, visible complaints |
| 0 | No ratings yet or cannot assess |
**Check for:**
- Average rating (target: 4.0+ minimum, 4.5+ ideal)
- Total rating count
- Recent review sentiment (last 5-10 visible reviews)
- Common complaint themes (bugs, crashes, pricing, UX)
- Developer response presence and quality
- Rating trend (improving or declining, if visible)
- Review recency (fresh reviews signal active user base)
---
## 5. Metadata & Freshness (Weight: 10%)
| Score | Criteria |
| ----- | ------------------------------------------------------------------------------------------------------------------------- |
| 9-10 | Updated within last month, 10+ localizations, optimal category choice, in-app events/LiveOps active, data safety complete |
| 7-8 | Updated within 2 months, 5+ localizations, good category, data safety present |
| 5-6 | Updated within 3 months, 2-4 localizations, acceptable category |
| 3-4 | Updated 3-6 months ago, 1-2 localizations, possibly wrong category |
| 1-2 | Not updated in 6+ months, single language, poor category choice |
| 0 | Cannot assess |
**Check for:**
- Last update date and recency
- Number of supported languages/localizations
- Category selection (is it the best fit? less competitive alternative?)
- In-app events (Apple) or promotional content (Google) presence
- Data safety / privacy nutrition label completeness
- Age rating appropriateness
- Version history quality (do release notes communicate value?)
- What's New text quality
---
## 6. Conversion Signals (Weight: 10%)
| Score | Criteria |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 9-10 | Clear value before download, transparent pricing/IAP, social proof visible (press, awards), download range suggests strong traction, developer credibility strong |
| 7-8 | Good value communication, pricing clear, some social proof |
| 5-6 | Value prop exists but weak, pricing unclear or IAP heavy, limited social proof |
| 3-4 | Unclear what user gets, confusing pricing, no social proof, low downloads visible |
| 1-2 | No value communication, suspicious pricing, app looks abandoned |
| 0 | Cannot assess |
**Check for:**
- Price transparency (free, freemium, paid - is it clear?)
- In-app purchase list quality (do IAP names communicate value?)
- Download range (Google Play - 10K+, 100K+, 1M+ signals trust)
- Developer name/brand recognition
- "Editors' Choice" or featured badges
- Press mentions or awards in description
- Related apps from same developer (portfolio trust signal)
- Privacy practices transparency
---
## Calculating Final Score
```
Final Score = (Title * 0.20) + (Description * 0.15) + (Visuals * 0.25)
+ (Ratings * 0.20) + (Metadata * 0.10) + (Conversion * 0.10)
Scale to 100: Final Score * 10
```
**Example:** Title: 7, Description: 6, Visuals: 8, Ratings: 9, Metadata: 5, Conversion: 7
```
(7 * 0.20) + (6 * 0.15) + (8 * 0.25) + (9 * 0.20) + (5 * 0.10) + (7 * 0.10)
= 1.4 + 0.9 + 2.0 + 1.8 + 0.5 + 0.7
= 7.3 → 73/100 → Grade: B
```
+12 -12
View File
@@ -1,8 +1,8 @@
---
name: churn-prevention
description: "When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' or 'involuntary churn.' This skill covers voluntary churn (cancel flows, save offers, exit surveys) and involuntary churn (dunning, payment recovery). For post-cancel win-back email sequences, see email-sequence. For in-app upgrade paywalls, see paywall-upgrade-cro."
description: "When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers or wants to build systems to prevent it. For post-cancel win-back email sequences, see emails. For in-app upgrade paywalls, see paywalls."
metadata:
version: 1.0.0
version: 2.0.0
---
# Churn Prevention
@@ -12,7 +12,7 @@ You are an expert in SaaS retention and churn prevention. Your goal is to help r
## Before Starting
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
@@ -252,7 +252,7 @@ Health Score = (
| Trigger | Intervention |
|---------|-------------|
| Usage drop >50% for 2 weeks | "We noticed you haven't used [feature]. Need help?" email |
| Approaching plan limit | Upgrade nudge (not a wall — paywall-upgrade-cro handles this) |
| Approaching plan limit | Upgrade nudge (not a wall — paywalls handles this) |
| No login for 14 days | Re-engagement email with recent product updates |
| NPS detractor (0-6) | Personal follow-up within 24 hours |
| Support ticket unresolved >48h | Escalation + proactive status update |
@@ -360,7 +360,7 @@ Test one variable at a time:
| Offer presentation (modal vs full page) | Full page gets more attention | Save rate |
| Copy tone (empathetic vs direct) | Empathetic reduces friction | Save rate |
**How to run cancel flow experiments:** Use the **ab-test-setup** skill to design statistically rigorous tests. PostHog is a good fit for cancel flow experiments — its feature flags can split users into different flows server-side, and its funnel analytics track each step of the cancel flow (survey → offer → accept/decline → confirm). See the [PostHog integration guide](../../tools/integrations/posthog.md) for setup.
**How to run cancel flow experiments:** Use the **ab-testing** skill to design statistically rigorous tests. PostHog is a good fit for cancel flow experiments — its feature flags can split users into different flows server-side, and its funnel analytics track each step of the cancel flow (survey → offer → accept/decline → confirm). See the [PostHog integration guide](../../tools/integrations/posthog.md) for setup.
---
@@ -375,7 +375,7 @@ Test one variable at a time:
- **Guilt-trip copy** — "Are you sure you want to abandon us?" damages brand trust
- **Not tracking save offer LTV** — A "saved" customer who churns 30 days later wasn't really saved
- **Pausing too long** — Pauses beyond 3 months rarely reactivate. Set limits.
- **No post-cancel path** — Always make reactivation easy and trigger win-back emails
- **No post-cancel path** — Make reactivation easy and trigger win-back emails, because some churned users will want to come back
---
@@ -416,9 +416,9 @@ For implementation, see the [tools registry](../../tools/REGISTRY.md).
## Related Skills
- **email-sequence**: For win-back email sequences after cancellation
- **paywall-upgrade-cro**: For in-app upgrade moments and trial expiration
- **pricing-strategy**: For plan structure and annual discount strategy
- **onboarding-cro**: For activation to prevent early churn
- **analytics-tracking**: For setting up churn signal events
- **ab-test-setup**: For testing cancel flow variations with statistical rigor
- **emails**: For win-back email sequences after cancellation
- **paywalls**: For in-app upgrade moments and trial expiration
- **pricing**: For plan structure and annual discount strategy
- **onboarding**: For activation to prevent early churn
- **analytics**: For setting up churn signal events
- **ab-testing**: For testing cancel flow variations with statistical rigor
+93
View File
@@ -0,0 +1,93 @@
{
"skill_name": "churn-prevention",
"evals": [
{
"id": 1,
"prompt": "Our SaaS product has a 7% monthly churn rate and we need to bring it down. We're a $49/month project management tool with about 2,000 paying customers. Can you help us design a churn prevention strategy?",
"expected_output": "Should check for product-marketing.md first. Should address both voluntary and involuntary churn. Should design a cancel flow following the framework: trigger → exit survey → dynamic save offer → confirmation → post-cancel nurture. Should include the 7 exit survey categories and recommend dynamic save offers mapped to each cancellation reason. Should address dunning for involuntary churn (pre-dunning, smart retry, email sequence, grace period). Should recommend a health score model. Should provide prioritized implementation plan.",
"assertions": [
"Checks for product-marketing.md",
"Addresses both voluntary and involuntary churn",
"Designs cancel flow with proper stages",
"Includes exit survey with multiple categories",
"Maps save offers to cancellation reasons",
"Addresses dunning stack for payment recovery",
"Recommends health score model",
"Provides prioritized implementation plan"
],
"files": []
},
{
"id": 2,
"prompt": "We keep losing customers because their credit cards expire. About 15% of our churn is from failed payments. How do we fix this?",
"expected_output": "Should identify this as involuntary churn / payment recovery. Should apply the dunning stack framework: pre-dunning (card expiration reminders before failure), smart retry (retry logic based on failure reason), dunning email sequence (escalating urgency), grace period, and eventual cancellation. Should provide specific timing for each stage. Should recommend payment recovery tools and strategies (card updater services, backup payment methods). Should include recovery rate benchmarks.",
"assertions": [
"Identifies as involuntary churn / payment recovery",
"Applies dunning stack framework",
"Includes pre-dunning card expiration reminders",
"Includes smart retry logic",
"Provides dunning email sequence with escalating urgency",
"Recommends grace period before cancellation",
"Mentions card updater services or backup payment methods",
"Includes recovery benchmarks"
],
"files": []
},
{
"id": 3,
"prompt": "what should we show users when they click the cancel button? right now they just go straight to cancellation with no attempt to save them",
"expected_output": "Should trigger on casual phrasing. Should design the cancel flow: cancel button → exit survey → dynamic save offer → confirmation → post-cancel. Should detail the exit survey categories (too expensive, missing feature, switched to competitor, not using enough, technical issues, bad support, other). Should provide dynamic save offers matched to each reason (e.g., too expensive → discount offer, missing feature → roadmap update, not using enough → onboarding help). Should include copy recommendations for each screen. Should warn against dark patterns (making it impossible to cancel).",
"assertions": [
"Triggers on casual phrasing",
"Designs multi-step cancel flow",
"Includes exit survey with 7 categories",
"Provides dynamic save offers mapped to reasons",
"Includes copy recommendations",
"Warns against dark patterns",
"Includes confirmation and post-cancel steps"
],
"files": []
},
{
"id": 4,
"prompt": "How do we identify which customers are at risk of churning before they actually cancel? We want to be proactive.",
"expected_output": "Should apply the health score model framework. Should define health score components: product usage signals (login frequency, feature adoption, key action completion), engagement signals (support tickets, NPS responses, email engagement), and account signals (contract type, company growth, stakeholder changes). Should recommend scoring methodology (0-100 scale). Should define risk tiers and recommended interventions for each tier. Should suggest data sources and implementation approach.",
"assertions": [
"Applies health score model framework",
"Defines usage-based health signals",
"Defines engagement-based health signals",
"Defines account-based health signals",
"Recommends scoring methodology",
"Defines risk tiers with interventions",
"Suggests data sources and implementation"
],
"files": []
},
{
"id": 5,
"prompt": "Our exit survey shows that 40% of cancellations say 'too expensive' as the reason. What save offers should we try?",
"expected_output": "Should reference the dynamic save offers mapped to the 'too expensive' reason. Should suggest multiple offer types: temporary discount, downgrade to cheaper plan, annual billing discount, pause instead of cancel, extended trial of current plan. Should recommend testing different offers to find what works best. Should also dig deeper — 'too expensive' often masks other issues (not seeing value, not using enough features). Should suggest follow-up questions in the exit survey to get more specific.",
"assertions": [
"References save offers for 'too expensive' reason",
"Suggests multiple offer types (discount, downgrade, pause)",
"Recommends testing different offers",
"Notes that 'too expensive' often masks other issues",
"Suggests deeper follow-up questions",
"Provides specific save offer copy or structure"
],
"files": []
},
{
"id": 6,
"prompt": "We want to set up a win-back email sequence for customers who already cancelled. Can you help write those emails?",
"expected_output": "Should recognize this overlaps with email sequence work. Should defer to or cross-reference the emails skill for writing the actual email sequence. May provide churn-specific context (timing post-cancel, re-engagement hooks, win-back offer strategy) but should make clear that emails is the right skill for designing and writing the full email sequence.",
"assertions": [
"Recognizes overlap with email sequence work",
"References or defers to emails skill",
"May provide churn-specific context for the sequence",
"Does not attempt to write a full email sequence"
],
"files": []
}
]
}
@@ -184,7 +184,7 @@ For multi-plan products, downgrade is the strongest save:
When the cancel reason is "switching to competitor":
1. **Ask which competitor** (optional, don't force it)
2. **Show a comparison** if you have one (see competitor-alternatives skill)
2. **Show a comparison** if you have one (see competitors skill)
3. **Offer a migration credit** ("We'll match their price for 3 months")
4. **Request a feedback call** ("15 minutes to understand what we're missing")
@@ -226,7 +226,7 @@ from customers like you.
| Day 60 | Address their specific cancel reason if resolved |
| Day 90 | Final win-back with special offer |
**For detailed win-back email sequences**: See the email-sequence skill.
**For detailed win-back email sequences**: See the emails skill.
---
@@ -290,7 +290,7 @@ The most effective cancel flows use segmentation to show different offers to dif
- [ ] Set up proactive intervention triggers
- [ ] A/B test discount amounts and offer types
- [ ] Segment flows by plan, tenure, and usage
- [ ] Post-cancel win-back sequence (coordinate with email-sequence skill)
- [ ] Post-cancel win-back sequence (coordinate with emails skill)
- [ ] Cohort analysis: churn by channel, plan, tenure
---
+290
View File
@@ -0,0 +1,290 @@
---
name: co-marketing
description: "When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use when the user says 'co-marketing,' 'partner marketing,' 'joint campaign,' 'who should we partner with,' 'integration marketing,' 'cross-promotion,' 'collaborate with another company,' 'partnership ideas,' or 'co-brand.' For customer referral programs, see referrals. For launch-specific partnerships, see launch."
metadata:
version: 2.0.0
---
You are a co-marketing strategist who helps SaaS companies identify ideal partners and brainstorm high-impact joint campaigns.
## Before Starting
**Check for product marketing context first:**
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
## When to Use This Skill
- Finding potential co-marketing partners
- Brainstorming campaign ideas with a specific partner
- Planning joint launches or promotions
- Evaluating partnership fit
- Structuring co-marketing agreements
---
## Partner Identification Framework
### 1. Audience Overlap Analysis
The best partners share your audience but don't compete for the same budget.
**Ideal partner characteristics:**
- Same buyer persona, different problem solved
- Adjacent in the workflow (before, after, or alongside your tool)
- Similar company stage and customer size
- Complementary, not competitive
**Questions to identify partners:**
- What tools do your customers already use?
- What do they use before/after your product?
- Who else is selling to your ICP?
- Which integrations do customers request most?
### 2. Partner Scoring Criteria
Rate potential partners (1-5) on:
| Criteria | What to Evaluate |
|----------|------------------|
| **Audience fit** | How closely does their audience match your ICP? |
| **Audience size** | Do they have reach worth partnering for? |
| **Brand alignment** | Would you be proud to be associated? |
| **Engagement quality** | Do they have an active, engaged audience? |
| **Reciprocity potential** | Can you offer them equal value? |
| **Ease of execution** | Do they have a partnerships team? History of co-marketing? |
### 3. Where to Find Partners
**Integration ecosystem:**
- Your existing integration partners
- Tools in the same app marketplace category
- Platforms your product plugs into
**Adjacent categories:**
- Tools that solve the problem before yours
- Tools that solve the problem after yours
- Tools used by the same role but different workflow
**Community signals:**
- Who sponsors the same podcasts/newsletters?
- Who exhibits at the same conferences?
- Who's active in the same communities?
- Whose content does your audience share?
**Data sources:**
- Crossbeam or Reveal for account overlap
- Customer surveys ("what else do you use?")
- G2/Capterra category neighbors
- Job postings mentioning your tool + others
---
## Co-Marketing Campaign Types
### Content Partnerships
| Format | Effort | Lead Sharing | Best For |
|--------|--------|--------------|----------|
| **Co-authored blog post** | Low | Shared byline, link exchange | Thought leadership, SEO |
| **Joint ebook/guide** | Medium | Gated, split leads | Lead gen, deeper topic |
| **Research report** | High | Gated, split leads | Authority, PR |
| **Guest newsletter swap** | Low | Each keeps own leads | Audience exposure |
| **Podcast guest exchange** | Low | Each keeps own leads | Relationship building |
### Webinars & Events
| Format | Effort | Best For |
|--------|--------|----------|
| **Joint webinar** | Medium | Lead gen, product education |
| **Virtual summit panel** | Medium | Multi-partner exposure |
| **Co-hosted workshop** | High | Hands-on education, deeper engagement |
| **Conference booth sharing** | Medium | Cost splitting, audience overlap |
| **Joint happy hour/dinner** | Low | Relationship building at events |
### Product & Integration Marketing
| Format | Effort | Best For |
|--------|--------|----------|
| **Integration launch** | Medium | Existing integration partners |
| **Joint case study** | Medium | Shared customers |
| **"Better together" landing page** | Low | Integration discovery |
| **Bundle or discount** | Medium | Conversion boost, cross-sell |
| **In-app cross-promotion** | Medium | User activation |
### Community & Social
| Format | Effort | Best For |
|--------|--------|----------|
| **Social media takeover** | Low | Audience exposure |
| **Joint giveaway/contest** | Low | List building, engagement |
| **Slack/Discord community collab** | Low | Community building |
| **Joint AMA or Twitter Space** | Low | Thought leadership |
---
## Brainstorming Partner Campaigns
When brainstorming with a specific partner, consider:
### 1. Shared Audience Moments
- What trigger events matter to both audiences?
- What seasonal moments align with both products?
- What industry trends affect both customer bases?
### 2. Combined Value Propositions
- What can customers achieve with both tools that they can't with one?
- What workflow does the combination enable?
- What pain point does the integration solve?
### 3. Unique Assets Each Brings
| Your Assets | Their Assets |
|-------------|--------------|
| Your audience size/engagement | Their audience size/engagement |
| Your content expertise | Their content expertise |
| Your product capabilities | Their product capabilities |
| Your brand credibility | Their brand credibility |
| Your customer stories | Their customer stories |
### 4. Campaign Idea Prompts
Ask these to generate ideas:
- "What would we create if we had to launch something in 2 weeks?"
- "What content do both our audiences desperately need?"
- "What would make customers say 'finally, someone did this'?"
- "What exclusive thing could we offer together?"
- "What data do we both have that would make a compelling story?"
---
## Approaching Potential Partners
### Cold Outreach Template
```
Subject: [Your Company] + [Their Company] co-marketing idea
Hey [Name],
I'm [Role] at [Your Company]. We [one-line description].
I noticed we share a lot of the same audience—[specific observation about overlap].
I have an idea for [specific campaign type] that could work well for both of us: [one-sentence pitch].
Would you be open to a quick call to explore?
[Your name]
```
### What to Prepare for the Call
1. **Account overlap data** (if available via Crossbeam/Reveal)
2. **2-3 specific campaign ideas** (not just "let's do something")
3. **Your audience metrics** (list size, traffic, engagement)
4. **Examples of past partnerships** (shows you can execute)
5. **Clear ask** (what you want from them, what you'll provide)
---
## Structuring the Partnership
### Key Questions to Align On
- **Lead ownership**: How are leads split or shared?
- **Promotion commitments**: What will each party do to promote?
- **Asset creation**: Who creates what? Who approves?
- **Timeline**: When does each phase happen?
- **Success metrics**: How will you measure success?
- **Follow-up**: Will you do more together if it works?
### Simple Co-Marketing Agreement Outline
1. **Campaign description**: What you're doing together
2. **Responsibilities**: Who does what
3. **Timeline**: Key dates and deadlines
4. **Lead handling**: How leads are captured, shared, followed up
5. **Promotion**: Minimum commitments from each side
6. **Branding**: Logo usage, approval process
7. **Costs**: Who pays for what (if any)
8. **Metrics sharing**: What data you'll share post-campaign
---
## Measuring Co-Marketing Success
### Quantitative Metrics
- Leads generated (total and per partner)
- Lead quality (MQL/SQL conversion rate)
- Revenue attributed
- Audience growth (new subscribers, followers)
- Content engagement (views, downloads, shares)
### Qualitative Metrics
- Ease of collaboration
- Partner responsiveness
- Audience reception
- Brand lift
- Relationship strengthened for future campaigns
---
## Co-Marketing Checklist
### Partner Identification
- [ ] List tools your customers already use
- [ ] Check Crossbeam/Reveal for account overlap
- [ ] Score top 5 potential partners
- [ ] Research their past co-marketing activities
### Campaign Planning
- [ ] Agree on campaign type and goals
- [ ] Define lead sharing arrangement
- [ ] Assign responsibilities and deadlines
- [ ] Set success metrics
### Execution
- [ ] Create shared assets (landing page, content, etc.)
- [ ] Coordinate promotion schedules
- [ ] Brief both teams on talking points
### Post-Campaign
- [ ] Share metrics with partner
- [ ] Debrief on what worked/didn't
- [ ] Discuss future collaboration opportunities
---
## Task-Specific Questions
1. Are you looking for partners or planning a campaign with a specific partner?
2. What type of co-marketing are you most interested in? (content, events, integrations, community)
3. What's your audience size? (email list, social following, traffic)
4. Do you have existing integration partners?
5. Have you done co-marketing before? What worked/didn't?
6. What's your timeline and budget for co-marketing?
---
## Tool Integrations
For implementation, see the [tools registry](../../tools/REGISTRY.md). Key tools for co-marketing:
| Tool | Best For | Guide |
|------|----------|-------|
| **Crossbeam** | Account overlap with partners | [crossbeam.md](../../tools/integrations/crossbeam.md) |
| **Introw** | Partner program management, deal registration | [introw.md](../../tools/integrations/introw.md) |
| **PartnerStack** | Partner and affiliate program management | [partnerstack.md](../../tools/integrations/partnerstack.md) |
---
## Related Skills
- **referrals** — For customer referral and affiliate programs (customers referring customers)
- **launch** — For product launches with partners; covers co-marketing as a "borrowed channel"
- **content-strategy** — For content planning including co-created content
- **sales-enablement** — For partner-facing collateral and enablement materials
+84
View File
@@ -0,0 +1,84 @@
{
"skill_name": "co-marketing",
"evals": [
{
"id": 1,
"prompt": "We make a project management tool for design agencies. Who should we look for as co-marketing partners?",
"expected_output": "Should check for product-marketing.md first. Should apply the Partner Identification Framework with audience overlap analysis. Should identify ideal partner characteristics: same buyer persona (design agencies), different problem solved, adjacent in the workflow. Should suggest specific partner categories: design tools (Figma, Adobe), proposal/contract tools (Bonsai, HoneyBook), client communication (Notion, Slack), invoicing/payments (Stripe, FreshBooks), file storage/handoff (Dropbox, Frame.io). Should recommend audience scoring criteria. Should suggest sources to find partners: integration ecosystem, Crossbeam/Reveal for account overlap, customer surveys, G2/Capterra category neighbors, podcasts/newsletters they sponsor.",
"assertions": [
"Checks for product-marketing.md",
"Identifies same persona / different problem characteristic",
"Suggests specific partner categories in workflow",
"Mentions Crossbeam or account overlap data",
"Lists multiple sources to find partners",
"Applies scoring criteria"
],
"files": []
},
{
"id": 2,
"prompt": "We're partnering with a competitor — wait, not a competitor, a complementary CRM company. Help us brainstorm 5 campaign ideas we could run together.",
"expected_output": "Should apply the brainstorming framework: shared audience moments, combined value propositions, unique assets each brings. Should propose campaign ideas across multiple types from the campaign type tables (content partnerships, webinars/events, product/integration marketing, community/social). Should suggest specific ideas like: co-authored blog post or research report, joint webinar, 'better together' integration landing page, joint case study with shared customer, integration launch, bundle/discount, conference booth sharing. Should ask the campaign idea prompts to spark ideas: what would we create if we had to launch in 2 weeks, what content do both audiences desperately need, what data do we both have that would make a compelling story.",
"assertions": [
"Applies brainstorming framework",
"Proposes campaigns across multiple types (content, events, integration, community)",
"Suggests specific actionable ideas",
"Mentions integration or 'better together' angle",
"Uses brainstorming prompts"
],
"files": []
},
{
"id": 3,
"prompt": "Draft a cold outreach email to a potential co-marketing partner. They're a content management platform and we make a marketing analytics tool. Both serve B2B marketing teams.",
"expected_output": "Should use the cold outreach template structure. Should include: subject line with both company names, brief role intro, specific observation about audience overlap (not generic), one concrete campaign idea (not 'let's do something'), clear ask for a quick call. Should keep it short and personal. Should optionally mention call prep: account overlap data (Crossbeam/Reveal), 2-3 specific campaign ideas, audience metrics, past partnership examples, clear ask of what's wanted and what's offered.",
"assertions": [
"Includes subject with both company names",
"Specific observation about audience overlap",
"Includes one concrete campaign idea",
"Includes clear ask for a call",
"Keeps it short and personal",
"Mentions what to prepare for the call"
],
"files": []
},
{
"id": 4,
"prompt": "We've identified 5 potential partners but only have time for one campaign this quarter. How should we pick?",
"expected_output": "Should apply the partner scoring criteria: audience fit, audience size, brand alignment, engagement quality, reciprocity potential, ease of execution. Should recommend scoring each partner 1-5 across these criteria. Should weight by current goal (e.g., if lead gen is priority, weight audience size and audience fit higher; if relationship building, weight brand alignment and engagement quality). Should consider partner's history of co-marketing — those with partnerships teams and past co-marketing activities execute faster. Should recommend running a small content partnership first (low effort) to test the relationship before bigger commitments.",
"assertions": [
"Applies partner scoring criteria",
"Includes all 6 scoring dimensions",
"Weights by goal",
"Considers ease of execution / partnership history",
"Recommends starting with low-effort format"
],
"files": []
},
{
"id": 5,
"prompt": "Our partnership webinar with another SaaS company got 200 signups. How do we split the leads?",
"expected_output": "Should address the lead handling question from the Structuring the Partnership section. Should explain common splits: each partner keeps their own registrations (cleanest but loses cross-pollination), all leads shared between both (max reach, requires clear MQL/SQL handoff), split by audience source (your list vs theirs). Should recommend documenting this in advance in a co-marketing agreement covering campaign description, responsibilities, timeline, lead handling, promotion, branding, costs, metrics sharing. Should note measuring success: leads generated per partner, lead quality (MQL/SQL conversion rate), revenue attributed. Should recommend a post-campaign debrief and discussing future collaboration if it worked.",
"assertions": [
"Explains lead split options",
"Recommends documenting in agreement",
"Lists agreement components",
"Mentions measuring lead quality not just volume",
"Recommends post-campaign debrief"
],
"files": []
},
{
"id": 6,
"prompt": "Our customer success team wants us to launch a referral program. Can you help us design one?",
"expected_output": "Should recognize this is about customer referrals, not co-marketing between companies. Should redirect to the referrals skill, which specifically handles customer referral and affiliate programs (customers referring customers). Should note co-marketing is partner-to-partner marketing while referrals is customer-driven word-of-mouth. May offer brief co-marketing context if it's relevant to the strategy, but should make clear referrals is the right skill for the task.",
"assertions": [
"Recognizes this is customer referral, not co-marketing",
"Defers to referrals skill",
"Distinguishes co-marketing from referral programs",
"Does not attempt full co-marketing strategy"
],
"files": []
}
]
}
+10 -6
View File
@@ -1,6 +1,8 @@
---
name: cold-email
description: Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Covers subject lines, opening lines, body copy, CTAs, personalization, and multi-touch follow-up sequences.
description: Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Also use when the user mentions "cold outreach," "prospecting email," "outbound email," "email to leads," "reach out to prospects," "sales email," "follow-up email sequence," "nobody's replying to my emails," or "how do I write a cold email." Covers subject lines, opening lines, body copy, CTAs, personalization, and multi-touch follow-up sequences. For warm/lifecycle email sequences, see emails. For sales collateral beyond emails, see sales-enablement.
metadata:
version: 2.0.0
---
# Cold Email Writing
@@ -10,7 +12,7 @@ You are an expert cold email writer. Your goal is to write emails that sound lik
## Before Writing
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Understand the situation (ask if not provided):
@@ -98,7 +100,7 @@ See [subject-lines.md](references/subject-lines.md) for the full data.
## Follow-Up Sequences
Each follow-up must add something new — a different angle, fresh proof, a useful resource. Never "just checking in."
Each follow-up should add something new — a different angle, fresh proof, a useful resource. "Just checking in" gives the reader no reason to respond.
- 3-5 total emails, increasing gaps between them
- Each email should stand alone (they may not have read the previous ones)
@@ -149,7 +151,9 @@ Use this data to inform your writing — not as a checklist to satisfy.
## Related Skills
- **prospecting**: For building and qualifying the prospect list that this skill writes outreach against — the natural upstream step before cold-email
- **copywriting**: For landing pages and web copy
- **email-sequence**: For lifecycle/nurture email sequences (not cold outreach)
- **social-content**: For LinkedIn and social posts
- **product-marketing-context**: For establishing foundational positioning
- **emails**: For lifecycle/nurture email sequences (not cold outreach)
- **social**: For LinkedIn and social posts
- **product-marketing**: For establishing foundational positioning
- **revops**: For lead scoring, routing, and pipeline management
+94
View File
@@ -0,0 +1,94 @@
{
"skill_name": "cold-email",
"evals": [
{
"id": 1,
"prompt": "Write a cold email to VP of Marketing at mid-size B2B SaaS companies. We sell a content analytics platform that shows which blog posts actually drive pipeline. Our main proof point: customers see 3x increase in content-attributed revenue within 90 days.",
"expected_output": "Should check for product-marketing.md first. Should write like a peer, not a vendor. Should use one of the structure frameworks (observation→problem→proof→ask or similar). Subject line should be 2-4 words, lowercase, internal-looking. Every sentence should earn its place. Personalization should connect to the prospect's problem, not just their name. Should use the 3x revenue proof point as social proof, not a feature claim. CTA should be low-friction (not 'book a demo'). Should provide 2-3 variations. Should include a quality check against the guidelines.",
"assertions": [
"Checks for product-marketing.md",
"Writes like a peer, not a vendor",
"Uses a structure framework from the skill",
"Subject line is short, lowercase, internal-looking",
"Every sentence earns its place (concise)",
"Personalization connects to prospect's problem",
"Uses proof point as social proof",
"CTA is low-friction",
"Provides 2-3 variations"
],
"files": []
},
{
"id": 2,
"prompt": "Help me write a cold email to CTOs at enterprise companies. I sell cybersecurity training. My current email has a 2% open rate and 0% reply rate.",
"expected_output": "Should diagnose the current email's likely problems based on 2% open rate (subject line issue) and 0% reply rate (body/relevance issue). Should apply voice calibration for CTO audience (respect their time, technical credibility, executive-level language). Should provide a completely new email following structure frameworks. Subject line should be 2-4 words, look internal. Should adapt tone for enterprise CTOs — more formal than startup audience but still peer-like. Should provide the email plus analysis of why each element works.",
"assertions": [
"Diagnoses problems from the performance data",
"Identifies subject line as likely open rate issue",
"Applies voice calibration for CTO audience",
"Subject line is short, lowercase, internal-looking",
"Adapts tone for enterprise audience",
"Uses structure framework from the skill",
"Explains why each element works"
],
"files": []
},
{
"id": 3,
"prompt": "write me a follow-up sequence. prospect didn't reply to my first email about our HR software. how many should I send and how far apart?",
"expected_output": "Should trigger on casual phrasing. Should apply the follow-up sequence guidance: 3-5 follow-ups recommended. Each follow-up should add something new (new angle, new proof point, new value) — not just 'bumping' or 'checking in.' Should provide timing recommendations between emails. Should provide actual follow-up email copy for each touch, with different angles. Should include a breakup email at the end. Should note that each follow-up should be shorter than the previous.",
"assertions": [
"Triggers on casual phrasing",
"Recommends 3-5 follow-up emails",
"Each follow-up adds something new",
"Does not use 'just bumping' or 'checking in' language",
"Provides timing between emails",
"Provides actual copy for each follow-up",
"Includes a breakup email",
"Follow-ups get progressively shorter"
],
"files": []
},
{
"id": 4,
"prompt": "Review this cold email and tell me what's wrong: 'Dear Sir/Madam, I hope this email finds you well. I wanted to reach out to introduce our innovative cloud-based platform that leverages AI to streamline your business operations. We have helped over 500 companies transform their workflows. I would love to schedule a 30-minute call to discuss how we can help your organization. Best regards, John'",
"expected_output": "Should apply the quality check framework. Should identify multiple problems: 'Dear Sir/Madam' (no personalization), 'I hope this email finds you well' (filler), 'innovative cloud-based platform' (jargon/buzzwords), 'leverages AI to streamline' (vague vendor language), 'transform their workflows' (means nothing), '30-minute call' (too much ask for cold email), entire email is about the sender not the prospect. Should rewrite following the principles: peer tone, observation→problem→proof→ask structure, every sentence earns its place, personalization connected to their problem, low-friction CTA.",
"assertions": [
"Identifies lack of personalization",
"Identifies filler phrases",
"Identifies jargon and buzzwords",
"Identifies vendor language vs peer language",
"Identifies CTA as too high-friction",
"Notes email is sender-focused not prospect-focused",
"Provides a rewritten version",
"Rewrite follows cold email principles"
],
"files": []
},
{
"id": 5,
"prompt": "What are the best subject lines for cold emails? I want to maximize open rates.",
"expected_output": "Should apply the subject line guidelines: short (2-4 words), lowercase or sentence case, internal-looking (should look like it came from a colleague, not a vendor). Should provide examples following these principles. Should explain why these work (bypass promotional filters, trigger curiosity, don't look like marketing). Should warn against common bad subject lines (ALL CAPS, emojis, clickbait, long subjects). Should note that subject line gets them to open but body gets them to reply.",
"assertions": [
"Applies subject line guidelines (2-4 words, lowercase, internal-looking)",
"Provides specific examples",
"Explains why the format works",
"Warns against common bad subject line patterns",
"Notes distinction between open rate and reply rate"
],
"files": []
},
{
"id": 6,
"prompt": "Can you help me set up an automated email drip campaign for leads who download our whitepaper?",
"expected_output": "Should recognize this is a lifecycle/nurture email sequence, not cold outreach. Should defer to or cross-reference the emails skill, which handles drip campaigns, lead nurture sequences, and lifecycle emails. Cold email is specifically for unsolicited outbound outreach to prospects who haven't opted in. Should make this distinction clear.",
"assertions": [
"Recognizes this as lifecycle/nurture email, not cold outreach",
"References or defers to emails skill",
"Explains the distinction between cold email and lifecycle email",
"Does not attempt to design a nurture sequence using cold email patterns"
],
"files": []
}
]
}
+163
View File
@@ -0,0 +1,163 @@
---
name: community-marketing
description: "Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a community strategy, grow a Discord or Slack community, manage a forum or subreddit, build brand advocates, increase word-of-mouth, drive community-led growth, engage users post-signup, or turn customers into evangelists. Trigger phrases: \"build a community,\" \"community strategy,\" \"Discord community,\" \"Slack community,\" \"community-led growth,\" \"brand advocates,\" \"user community,\" \"forum strategy,\" \"community engagement,\" \"grow our community,\" \"ambassador program,\" \"community flywheel.\""
metadata:
version: 2.0.0
---
# Community Marketing
You are an expert community builder and community-led growth strategist. Your goal is to help the user design, launch, and grow a community that creates genuine value for members while driving measurable business outcomes.
## Before You Start
**Check for product marketing context first:**
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered.
Understand the situation (ask if not provided):
1. **What is the product or brand?** — What problem does it solve, who uses it
2. **What community platform(s) are in play?** — Discord, Slack, Circle, Reddit, Facebook Groups, forum, etc.
3. **What stage is the community at?** — Pre-launch, 0100 members, 1001k, scaling, or established
4. **What is the primary community goal?** — Retention, activation, word-of-mouth, support deflection, product feedback, revenue
5. **Who is the ideal community member?** — Role, motivation, what they hope to get from joining
Work with whatever context is available. If key details are missing, make reasonable assumptions and flag them.
---
## Community Strategy Principles
### Build around a shared identity, not just a product
The strongest communities are built around who members *are* or aspire to be — not around your product. Members join because of the product but stay because of the people and identity.
Examples:
- Indie hackers (identity: bootstrapped founders)
- r/homelab (identity: tinkerers who self-host)
- Figma community (identity: designers who care about craft)
Always define: **What identity does this community reinforce for its members?**
### Value must flow to members first
Every community touchpoint should answer: *What does the member get from this?*
- Exclusive knowledge or early access
- Peer connections they can't get elsewhere
- Recognition and status within a group they respect
- Direct influence on the product roadmap
- Career opportunities, visibility, or credibility
### The Community Flywheel
Healthy communities compound over time:
```
Members join → get value → engage → create content/help others
↑ ↓
←←←←← new members discover the community ←←
```
Design for the flywheel from day one. Every decision should ask: *Does this accelerate the loop or slow it down?*
---
## Playbooks by Goal
### Launching a Community from Zero
1. **Recruit 2050 founding members manually** — DM your most engaged users, beta testers, or fans. Don't open publicly until there is baseline activity.
2. **Set the culture explicitly** — Write community guidelines that describe the *vibe*, not just the rules. What does great participation look like here?
3. **Seed conversations before launch** — Pre-populate channels with 510 posts that model the behavior you want. Questions, wins, resources.
4. **Do things that don't scale at first** — Reply to every post. Welcome every new member by name. Host a weekly call. You are buying social proof.
5. **Define your core loop** — What action do you want members to take weekly? Make it easy and reward it publicly.
### Growing an Existing Community
1. **Audit where members drop off** — Are people joining but not posting? Posting once and disappearing? Identify the leaky stage.
2. **Create a new member journey** — A pinned welcome post, a #introduce-yourself channel, a DM or email from a community manager, a clear "start here" path.
3. **Surface member wins publicly** — Showcase user projects, testimonials, milestones. This reinforces identity and signals that participation has rewards.
4. **Run recurring community rituals** — Weekly threads (e.g., "What are you working on?"), monthly AMAs, seasonal challenges. Rituals create habit.
5. **Identify and invest in power users** — 1% of members generate 90% of value. Give them recognition, early access, moderator roles, or direct product input.
### Building a Brand Ambassador / Advocate Program
1. **Identify candidates** — Look for people who already recommend you unprompted. Check reviews, social mentions, community posts.
2. **Make the ask personal** — Don't send a generic form. Reach out 1:1 and explain why you chose them specifically.
3. **Offer meaningful benefits** — Exclusive access, swag, revenue share, or public recognition — not just "early access to features."
4. **Give them tools and content** — Referral links, shareable assets, key talking points, a private Slack channel.
5. **Measure and iterate** — Track referral traffic, signups, and engagement driven by advocates. Double down on what works.
### Community-Led Support (Deflection + Retention)
1. **Create a searchable knowledge base** from top community questions
2. **Recognize members who help others** — "Community Expert" badges, leaderboards, shoutouts
3. **Close the loop with product** — When community feedback drives a change, announce it publicly and credit the members who raised it
4. **Monitor sentiment weekly** — Look for patterns in complaints or confusion before they become churn signals
---
## Platform Selection Guide
| Platform | Best For | Watch Out For |
|----------|----------|---------------|
| Discord | Developer, gaming, creator communities; real-time chat | High noise, hard to search, onboarding friction |
| Slack | B2B / professional communities; familiar to SaaS buyers | Free tier limits history; feels like work |
| Circle | Creator or course-based communities; clean UX | Less organic discovery; requires driving traffic |
| Reddit | High-volume public communities; SEO benefit | You don't own it; moderation is hard |
| Facebook Groups | Consumer brands; older demographics | Declining organic reach; algorithm dependent |
| Forum (Discourse) | Long-form technical communities; SEO-rich | Slower velocity; higher effort to post |
---
## Community Health Metrics
Track these signals weekly:
- **DAU/MAU ratio** — Stickiness. Above 20% is healthy for most communities.
- **New member post rate** — % of new members who post within 7 days of joining
- **Thread reply rate** — % of posts that receive at least one reply
- **Churn / lurker ratio** — Members who joined but haven't posted in 30+ days
- **Content created by non-staff** — % of posts not written by the company team
**Warning signs:**
- Most posts are from the company team, not members
- Questions go unanswered for >24 hours
- The same 5 people account for 80%+ of engagement
- New members stop posting after their intro message
---
## Output Formats
Depending on what the user needs, produce one of:
- **Community Strategy Doc** — Platform choice, identity definition, core loop, 90-day launch plan
- **Channel Architecture** — Recommended channels/categories with purpose and posting guidelines for each
- **New Member Journey** — Welcome sequence: pinned post, DM template, first-week prompts
- **Community Ritual Calendar** — Weekly/monthly recurring events and threads
- **Ambassador Program Brief** — Criteria, benefits, outreach template, tracking plan
- **Health Audit Report** — Current metrics, diagnosis, top 3 priorities to fix
Always be specific. Generic advice ("be consistent," "provide value") is not useful. Give the user something they can act on today.
---
## Task-Specific Questions
1. What platform are you building on (or considering)?
2. What stage is the community at? (Pre-launch, early, growing, established)
3. What's the primary business goal? (Retention, activation, word-of-mouth, support deflection)
4. Who is the ideal community member and what motivates them?
5. Do you have existing users or customers to seed from?
6. How much time can you dedicate to community management weekly?
---
## Related Skills
- **referrals**: For structured referral and ambassador incentive programs
- **churn-prevention**: For retention strategies that complement community engagement
- **social**: For content creation across social platforms
- **customer-research**: For understanding your community members' needs and language
@@ -0,0 +1,89 @@
{
"skill_name": "community-marketing",
"evals": [
{
"id": 1,
"prompt": "We're a B2B SaaS that wants to start a community. Should we use Discord or Slack?",
"expected_output": "Should check for product-marketing.md first. Should apply the platform selection guide. Should recommend Slack for B2B SaaS communities — familiar to SaaS buyers, professional context — but flag the trade-offs: free tier history limits, can feel like work. Should explain Discord is stronger for developer, gaming, or creator communities with real-time chat needs. Should consider the audience identity: if buyers are professionals during workday, Slack fits the moment; if they're hobbyists or developers, Discord may work. Should ask the user about their ideal community member and primary goal before fully committing. Should also note Circle as an alternative if they want clean UX without platform baggage.",
"assertions": [
"Checks for product-marketing.md",
"Recommends Slack for B2B context",
"Notes Slack free tier limitations",
"Compares Discord use case",
"Mentions Circle or other alternatives",
"Asks about audience identity or goal"
],
"files": []
},
{
"id": 2,
"prompt": "We just launched our community 3 weeks ago. We have 40 members but only 2-3 people post regularly. Everyone else just lurks. What do we do?",
"expected_output": "Should diagnose this as the 'launching from zero' stage and apply that playbook. Should audit where members drop off and identify the 'leaky stage' — in this case, new member activation. Should recommend specific tactics: do things that don't scale (DM every new member personally, welcome them by name, host a weekly call), create a new member journey (pinned welcome post, #introduce-yourself channel, 'start here' path), seed conversations (post 5-10 messages modeling the behavior you want), define the core loop (what action should members take weekly), surface member wins publicly. Should warn that 1% of members typically generate 90% of value at this stage — identifying and investing in those few power users matters more than chasing the lurkers. Should reference the warning signs: most posts from company team is a red flag.",
"assertions": [
"Diagnoses as launch-stage / new member activation problem",
"Applies 'launching from zero' playbook",
"Recommends DMs to new members",
"Recommends new member journey design",
"Recommends seeding conversations",
"Mentions the 1% / 90% power user dynamic",
"Mentions warning sign of company-dominated posts"
],
"files": []
},
{
"id": 3,
"prompt": "Help me write community guidelines for our Discord. We're building a community for indie game developers.",
"expected_output": "Should apply 'build around a shared identity' principle — the community is for indie game devs, the identity is being a scrappy maker shipping games. Should write guidelines that describe the *vibe*, not just the rules. Should answer: what does great participation look like here? Should include both rules (no spam, no harassment, no piracy) AND aspirational guidance (share works-in-progress freely, give constructive feedback, lift other devs up). Should reinforce the identity throughout. Should keep the tone matching the audience — indie game devs respond to plainspoken, no-corporate-speak. May suggest channels structure that reinforces the identity (e.g., #devlog, #playtest-requests, #publishing-tips).",
"assertions": [
"Reinforces shared identity (indie game devs)",
"Describes vibe, not just rules",
"Includes both rules and aspirational guidance",
"Tone matches audience (indie maker)",
"May suggest channel structure"
],
"files": []
},
{
"id": 4,
"prompt": "Design an ambassador program for our community. We have about 5,000 members and a few that always help others. Want to give them more recognition.",
"expected_output": "Should apply the 'Building a Brand Ambassador / Advocate Program' playbook. Should recommend: identify candidates by looking at who already recommends and helps unprompted (check posts, replies, reviews, social mentions), make the ask personal 1:1 and explain why you chose them specifically, offer meaningful benefits beyond 'early access' (exclusive access, swag, revenue share, public recognition, direct product input), give them tools (referral links, shareable assets, talking points, private Slack channel), measure and iterate (track referral traffic, signups, engagement driven by advocates). Should cross-reference referrals skill for structured incentive programs. Should warn against generic forms and impersonal asks.",
"assertions": [
"Identifies candidates from existing helpful behavior",
"Recommends personal 1:1 ask",
"Suggests meaningful benefits beyond early access",
"Mentions tools/assets to enable advocates",
"Includes measurement plan",
"May cross-reference referrals skill"
],
"files": []
},
{
"id": 5,
"prompt": "Our community feels dead. Members joined 6 months ago but most haven't posted in months. How do I tell if it's salvageable?",
"expected_output": "Should run the Health Audit Report output format. Should reference the community health metrics: DAU/MAU ratio (above 20% is healthy), new member post rate (% who post within 7 days), thread reply rate, churn / lurker ratio, % of content created by non-staff. Should list the warning signs: most posts from company team, questions go unanswered >24 hours, same 5 people account for 80%+ of engagement, new members stop posting after intro. Should recommend audit steps to diagnose: pull the metrics, look at posting patterns, talk to disengaged members. Should give honest assessment criteria — sometimes the answer is to relaunch with a new identity, sometimes a few rituals can revive it. Should propose the top 3 priorities to fix based on common patterns.",
"assertions": [
"Uses Health Audit Report format",
"References specific health metrics with benchmarks",
"Lists warning signs",
"Recommends concrete audit steps",
"Considers that some communities can't be saved",
"Proposes top 3 priorities"
],
"files": []
},
{
"id": 6,
"prompt": "We use our community mainly for support. How do we reduce ticket volume without making customers feel ignored?",
"expected_output": "Should apply the 'Community-Led Support (Deflection + Retention)' playbook. Should recommend: create a searchable knowledge base from top community questions, recognize members who help others (Community Expert badges, leaderboards, shoutouts — this incentivizes peer support), close the loop with product (when community feedback drives a change, announce it publicly and credit members), monitor sentiment weekly to catch churn signals early. Should note that community-led support works best when peer answers are recognized as valuable, not as a way to dodge company responsibility. Should warn against the warning sign of questions going unanswered >24 hours.",
"assertions": [
"Applies community-led support playbook",
"Recommends searchable knowledge base from community Q&A",
"Recommends recognizing peer helpers",
"Mentions closing the loop with product",
"Warns about unanswered questions threshold",
"Notes peer support must feel valued, not used"
],
"files": []
}
]
}
+412
View File
@@ -0,0 +1,412 @@
---
name: competitor-profiling
description: "When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions 'competitor profile,' 'competitor research,' 'competitor analysis,' 'profile this competitor,' 'analyze competitor,' 'competitive intelligence,' 'competitor deep dive,' 'who are my competitors,' 'competitor landscape,' 'competitor dossier,' 'competitive audit,' or 'research these competitors.' Input is a list of competitor URLs. Output is structured competitor profile markdown files. For creating comparison/alternative pages from profiles, see competitors. For sales-specific battle cards, see sales-enablement."
metadata:
version: 2.0.0
---
# Competitor Profiling
You are an expert competitive intelligence analyst. Your goal is to take a list of competitor URLs and produce comprehensive, structured competitor profile documents by combining live site scraping with SEO and market data.
## Initial Assessment
**Check for product marketing context first:**
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered.
Before profiling, confirm:
1. **Competitor URLs** — the list of competitor website URLs to profile
2. **Your product** — what you do (if not in product marketing context)
3. **Depth level** — quick scan (key facts only) or deep profile (full research)
4. **Focus areas** — any specific dimensions to prioritize (e.g., pricing, positioning, SEO strength, content strategy)
If the user provides URLs and context is available, proceed without asking.
---
## Core Principles
### 1. Facts Over Opinions
Every claim in a profile should be traceable to a source — scraped page content, review data, or SEO metrics. Label inferences clearly.
### 2. Structured and Comparable
All profiles follow the same template so they can be compared side by side. Consistency matters more than completeness on any single profile.
### 3. Current Data
Profiles are snapshots. Always include the date generated. Flag anything that looks stale (e.g., "pricing page last updated 2023").
### 4. Honest Assessment
Don't exaggerate competitor weaknesses or downplay their strengths. Accurate profiles are useful profiles.
---
## Saving Raw Data
Before synthesizing the profile, persist all raw scrape, SEO, and review data to disk so it can be re-read, audited, or re-used later without re-running expensive API calls.
**Directory layout** (relative to project root):
```
competitor-profiles/
├── raw/
│ └── <competitor-slug>/
│ └── <YYYY-MM-DD>/
│ ├── scrapes/ # one .md file per scraped page (homepage.md, pricing.md, ...)
│ ├── seo/ # one .json file per DataForSEO call (backlinks-summary.json, ranked-keywords.json, ...)
│ └── reviews/ # one .md or .json file per review source (g2.md, capterra.md, ...)
├── <competitor-slug>.md # final synthesized profile
└── _summary.md # cross-competitor summary
```
Rules:
- `<competitor-slug>` is lowercase, hyphenated (e.g. `responsehub`, `safe-base`)
- `<YYYY-MM-DD>` is the date the data was pulled — supports re-running and diffing snapshots over time
- Save each Firecrawl scrape as raw markdown to `scrapes/<page-name>.md`
- Save each DataForSEO response as raw JSON to `seo/<endpoint-name>.json`
- Save each review source to `reviews/<source>.md` (cleaned text) or `.json` (raw)
- Always create the date folder fresh on a new run; never overwrite a prior date's data
The synthesized profile (`<competitor-slug>.md`) should reference the raw data folder it was built from in its `## Raw Data Sources` section.
---
## Research Process
### Phase 1: Site Scraping (Firecrawl)
For each competitor URL, scrape key pages to extract positioning, features, pricing, and messaging.
#### Step 1: Map the site
Use **Firecrawl Map** to discover the competitor's site structure and identify key pages:
```
firecrawl_map → competitor URL
```
From the map, identify and prioritize these page types:
- Homepage
- Pricing page
- Features / product pages
- About / company page
- Blog (top-level, for content strategy signals)
- Customers / case studies page
- Integrations page
- Changelog / what's new (if exists)
#### Step 2: Scrape key pages
Use **Firecrawl Scrape** on each identified page:
```
firecrawl_scrape → each key page URL
```
Save each result to `competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/scrapes/<page-name>.md` before extracting fields.
Extract from each page:
| Page | What to Extract |
|------|----------------|
| **Homepage** | Headline, subheadline, value proposition, primary CTA, social proof claims, target audience signals |
| **Pricing** | Tiers, prices, feature breakdown per tier, billing options, free tier/trial details, enterprise pricing signals |
| **Features** | Feature categories, key capabilities, how they describe each feature, screenshots/demo signals |
| **About** | Founding story, team size, funding, mission statement, headquarters |
| **Customers** | Named customers, logos, industries served, case study themes |
| **Integrations** | Integration count, key integrations, categories |
| **Changelog** | Release velocity, recent focus areas, product direction signals |
#### Step 3: Scrape competitor reviews (optional but high-value)
Use **Firecrawl Scrape** or **Firecrawl Search** to find:
- G2 reviews page for the competitor
- Capterra reviews page
- Product Hunt launch page
- TrustRadius profile
Save each scraped review page to `competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/reviews/<source>.md`. Then extract: overall rating, review count, common praise themes, common complaint themes, and 3-5 representative quotes.
---
### Phase 2: SEO & Market Data (DataForSEO)
Use DataForSEO MCP tools to gather quantitative competitive intelligence. Save each raw response as JSON to `competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/seo/<endpoint-name>.json` before parsing it into the profile. For the full list of MCP tools used in this skill (Firecrawl + DataForSEO) and example calls, see [references/tool-reference.md](references/tool-reference.md).
#### Domain Authority & Backlinks
Use **backlinks_summary** to get:
- Domain rank / authority score
- Total backlinks
- Referring domains count
- Spam score
Use **backlinks_referring_domains** for:
- Top referring domains (quality signals)
- Link acquisition patterns
#### Keyword & Traffic Intelligence
Use **dataforseo_labs_google_ranked_keywords** to get:
- Total organic keywords ranking
- Keywords in top 3, top 10, top 100
- Estimated organic traffic
Use **dataforseo_labs_google_domain_rank_overview** for:
- Domain-level organic metrics
- Estimated traffic value
- Top keywords by traffic
Use **dataforseo_labs_google_keywords_for_site** to discover:
- What keywords they target
- Content gaps vs. your site
#### Competitive Positioning Data
Use **dataforseo_labs_google_competitors_domain** to find:
- Their closest organic competitors (may reveal competitors you haven't considered)
- Market overlap data
Use **dataforseo_labs_google_relevant_pages** to find:
- Their highest-traffic pages
- Content that drives the most organic value
---
### Phase 3: Synthesis
Combine scraped content with SEO data to build the profile. Cross-reference claims (e.g., if they claim "10,000 customers" on site, check if their traffic/backlink profile supports that scale).
---
## Output Format
### Profile Document Structure
Generate one markdown file per competitor, saved to a `competitor-profiles/` directory in the project root.
**Filename**: `competitor-profiles/[competitor-name].md`
**For the full profile and summary templates**: See [references/templates.md](references/templates.md)
Each profile follows this structure:
```markdown
# [Competitor Name] — Competitor Profile
**URL**: [website]
**Generated**: [date]
**Depth**: [quick scan / deep profile]
---
## At a Glance
| Metric | Value |
|--------|-------|
| Tagline | [from homepage] |
| Founded | [year] |
| Headquarters | [location] |
| Team size | [estimate] |
| Funding | [if known] |
| Domain rank | [from DataForSEO] |
| Est. organic traffic | [monthly] |
| Referring domains | [count] |
| Organic keywords | [count] |
---
## Positioning & Messaging
**Primary value proposition**: [headline + subheadline from homepage]
**Target audience**: [who they're speaking to, based on copy analysis]
**Positioning angle**: [how they position — e.g., "simplicity-first," "enterprise-grade," "all-in-one"]
**Key messaging themes**:
- [theme 1 — with source page]
- [theme 2]
- [theme 3]
---
## Product & Features
### Core capabilities
- [capability 1] — [brief description from their site]
- [capability 2]
- ...
### Notable differentiators
- [what they emphasize as unique]
### Integrations
- [count] integrations
- Key: [list top 5-10]
### Product direction signals
- [based on changelog / recent feature releases]
---
## Pricing
| Tier | Price | Key Inclusions |
|------|-------|---------------|
| [Free/Starter] | [price] | [what's included] |
| [Pro/Growth] | [price] | [what's included] |
| [Enterprise] | [price] | [what's included] |
**Billing**: [monthly/annual, discount for annual]
**Free trial**: [yes/no, duration]
**Notable**: [any pricing quirks — per-seat, usage-based, hidden costs]
---
## Customers & Social Proof
**Named customers**: [list notable logos]
**Industries**: [primary industries served]
**Case study themes**: [what outcomes they highlight]
**Review ratings**:
- G2: [rating] ([count] reviews)
- Capterra: [rating] ([count] reviews)
---
## SEO & Content Strategy
**Organic strength**:
- Estimated monthly organic traffic: [number]
- Organic keywords (top 10): [count]
- Organic traffic value: $[estimated]
**Top organic pages** (by estimated traffic):
1. [page URL] — [keyword] — [est. traffic]
2. [page URL] — [keyword] — [est. traffic]
3. [page URL] — [keyword] — [est. traffic]
**Content strategy signals**:
- Blog post frequency: [estimate]
- Primary content types: [guides, comparisons, templates, etc.]
- Content focus areas: [topics they invest in]
**Backlink profile**:
- Referring domains: [count]
- Top referring sites: [list 5]
- Link acquisition pattern: [growing/stable/declining]
---
## Strengths & Weaknesses
### Strengths
- [strength 1 — with evidence source]
- [strength 2]
- [strength 3]
### Weaknesses
- [weakness 1 — with evidence source]
- [weakness 2]
- [weakness 3]
---
## Competitive Implications for [Your Product]
**Where they're strong vs. us**: [areas where this competitor has an advantage]
**Where we're strong vs. them**: [areas where you have an advantage]
**Opportunities**: [gaps in their offering or positioning we can exploit]
**Threats**: [areas where they're improving or gaining ground]
---
## Raw Data Sources
- Homepage scraped: [date]
- Pricing page scraped: [date]
- SEO data pulled: [date]
- Review data pulled: [date, sources]
```
---
### Summary Document
After profiling all competitors, generate a `competitor-profiles/_summary.md` that includes:
1. **Competitor landscape overview** — one paragraph summarizing the competitive field
2. **Comparison table** — key metrics side by side for all profiled competitors
3. **Positioning map** — where each competitor sits (e.g., simple↔complex, cheap↔premium)
4. **Key takeaways** — 3-5 strategic observations from the research
5. **Gaps and opportunities** — where the market is underserved
---
## Quick Scan vs. Deep Profile
### Quick Scan (faster, lower cost)
- Scrape: homepage + pricing page only
- SEO: domain rank overview + ranked keywords summary
- Skip: reviews, technology stack, backlink details
- Output: abbreviated profile (At a Glance + Positioning + Pricing + SEO summary)
### Deep Profile (comprehensive)
- Scrape: all key pages + review sites
- SEO: full backlink analysis + keyword intelligence + competitor discovery
- Include: technology stack, content strategy analysis, review mining
- Output: full profile template
Default to **quick scan** unless the user requests deep profiling or specifies a small number of competitors (3 or fewer).
---
## Handling Multiple Competitors
When profiling more than one competitor:
1. **Parallelize scraping** — scrape all competitors' homepages simultaneously, then pricing pages, etc.
2. **Use consistent metrics** — pull the same DataForSEO metrics for every competitor so profiles are comparable
3. **Build the summary last** — after all individual profiles are complete
4. **Prioritize by relevance** — if the user has 10+ competitors, suggest profiling the top 5 first based on domain overlap or market similarity
---
## Updating Profiles
Profiles are snapshots. When updating:
- Check pricing pages first (most volatile)
- Re-pull SEO metrics (traffic and rankings shift monthly)
- Scan changelog for product changes
- Update the "Generated" date
- Note what changed since last profile in a `## Change Log` section at the bottom
---
## Task-Specific Questions
Only ask if not answered by context or input:
1. What competitor URLs should I profile?
2. Quick scan or deep profile?
3. Any specific dimensions to focus on (pricing, SEO, positioning)?
4. Should I compare findings against your product?
---
## Related Skills
- **competitors**: For creating comparison/alternative pages from these profiles
- **prospecting**: For broader list-building qualification (this skill does deep research on specific accounts; prospecting builds the initial list)
- **customer-research**: For mining reviews and community sentiment in depth
- **content-strategy**: For using competitor content gaps to plan your own content
- **seo-audit**: For auditing your own site relative to competitors
- **sales-enablement**: For turning profiles into battle cards and sales collateral
- **ads**: For analyzing competitor ad strategies
- **pricing**: For deeper pricing analysis informed by competitor profiles
@@ -0,0 +1,85 @@
{
"skill_name": "competitor-profiling",
"evals": [
{
"id": 1,
"prompt": "Profile these three competitors for us: https://competitor1.com, https://competitor2.com, https://competitor3.com. We need this for sales enablement and to find positioning gaps.",
"expected_output": "Should check for product-marketing.md first. Should run the full research process: Phase 1 site scraping (Firecrawl map + scrape of homepage, pricing, features, about, customers, integrations, changelog), Phase 2 SEO and market data (DataForSEO for backlinks, ranked keywords, traffic, competitors), Phase 3 synthesis. Should save raw data to competitor-profiles/raw/<slug>/<YYYY-MM-DD>/ with scrapes/, seo/, reviews/ subfolders before synthesizing. Should produce one markdown file per competitor following the profile template (At a Glance, Positioning & Messaging, Product & Features, Pricing, Customers & Social Proof, SEO & Content Strategy, Strengths & Weaknesses, Competitive Implications). Should produce a _summary.md after individual profiles with comparison table, positioning map, key takeaways, gaps and opportunities. Should parallelize scraping when handling multiple competitors and use consistent metrics across all three for comparability.",
"assertions": [
"Checks for product-marketing.md",
"Runs all three phases (scraping, SEO data, synthesis)",
"Saves raw data to competitor-profiles/raw/ with date subfolder",
"Produces individual profile per competitor",
"Produces _summary.md after individual profiles",
"Uses consistent metrics across competitors",
"Parallelizes scraping when possible"
],
"files": []
},
{
"id": 2,
"prompt": "We have 12 competitors. Profile all of them.",
"expected_output": "Should recommend prioritizing rather than profiling all 12. Should suggest profiling the top 5 first based on domain overlap or market similarity (handling-multiple-competitors guidance). Should default to quick scan mode for a list this size, not deep profile. Should explain the difference: quick scan covers homepage + pricing + domain rank overview + ranked keywords summary, deep profile adds reviews, technology stack, backlink details. Should offer deep profile only if user requests or for 3 or fewer competitors. Should ask which competitors are highest priority if user wants to narrow further.",
"assertions": [
"Recommends prioritization over profiling all 12",
"Suggests top 5 based on relevance",
"Defaults to quick scan for large list",
"Explains quick scan vs deep profile difference",
"Asks user to prioritize"
],
"files": []
},
{
"id": 3,
"prompt": "I have an existing profile of Notion from 4 months ago. Should I update it or start fresh?",
"expected_output": "Should explain profile updating process from the Updating Profiles section. Should recommend updating rather than starting fresh — preserves history and enables diffing. Should explain what to re-pull: pricing page first (most volatile), SEO metrics (traffic and rankings shift monthly), changelog scan for product changes. Should update the Generated date. Should add a Change Log section at the bottom noting what changed since last profile. Should also save the new raw data to a new <YYYY-MM-DD> folder rather than overwriting prior data — supports diffing over time.",
"assertions": [
"Recommends updating over starting fresh",
"Lists what to re-pull (pricing, SEO, changelog)",
"Mentions adding Change Log section",
"Says to save raw data to new date folder",
"Says never overwrite prior date's data"
],
"files": []
},
{
"id": 4,
"prompt": "What pages should I scrape for a competitor profile?",
"expected_output": "Should list the prioritized page types from Phase 1: homepage, pricing page, features/product pages, about/company page, blog (top-level for content strategy signals), customers/case studies page, integrations page, changelog/what's new (if exists). Should explain what to extract from each: homepage (headline, value prop, primary CTA, social proof, target audience signals), pricing (tiers, prices, feature breakdown, billing options, free tier/trial details), features (categories, key capabilities, how they describe each feature), about (founding story, team size, funding, mission, HQ), customers (named customers, logos, industries, case study themes), integrations (count, key integrations, categories), changelog (release velocity, recent focus areas, product direction signals). Should mention optional review scraping (G2, Capterra, Product Hunt, TrustRadius).",
"assertions": [
"Lists all key page types in priority order",
"Specifies what to extract from each page type",
"Includes changelog as product direction signal",
"Mentions optional review scraping",
"References Firecrawl Map then Scrape workflow"
],
"files": []
},
{
"id": 5,
"prompt": "I want a profile but I don't care about SEO data — just pricing, positioning, and customer logos. Can you skip the DataForSEO calls?",
"expected_output": "Should accept the scoped request and skip Phase 2. Should run Phase 1 (Firecrawl scraping of homepage, pricing, customers pages) and Phase 3 synthesis only. Should explain that without SEO data, the profile won't include Domain Rank, organic traffic estimates, ranked keywords, referring domains, or top organic pages — but the positioning, pricing, and customer sections will be complete. Should produce an abbreviated profile flagging the SEO section as 'not collected per user request' rather than leaving placeholders. Should still save raw scrapes to disk for reuse.",
"assertions": [
"Skips Phase 2 (DataForSEO) as requested",
"Runs Phase 1 and Phase 3",
"Explains what's missing without SEO data",
"Flags SEO section as skipped, not blank",
"Still saves raw data"
],
"files": []
},
{
"id": 6,
"prompt": "Should I trust the customer logo wall on the competitor's homepage as evidence of who their customers are?",
"expected_output": "Should apply the 'Facts Over Opinions' and 'Honest Assessment' principles. Should explain that customer logos are a positioning claim, not necessarily an accurate customer breakdown — companies often show their best-known logos regardless of share of revenue. Should recommend cross-referencing: check case studies for actual usage details, search for press releases naming customers, look at customer reviews on G2/Capterra/TrustRadius for company name signals, check their LinkedIn for posts about customers. Should note: if they claim '10,000 customers' but have weak traffic/backlink profile, the claim should be flagged in the profile. Should distinguish between named customers (verifiable claims) and 'industries served' (positioning statement). Always include the date the data was pulled.",
"assertions": [
"Treats logos as positioning claim, not customer breakdown",
"Recommends cross-referencing case studies and reviews",
"Mentions checking traffic/backlink profile against claim scale",
"Distinguishes verifiable named customers from claims",
"Notes including date pulled"
],
"files": []
}
]
}
@@ -0,0 +1,167 @@
# Profile Templates
Ready-to-use templates for competitor profile sections and the summary document.
## Contents
- Quick Scan Template
- Summary Comparison Table
- Positioning Map
- Competitive SWOT
- Profile Update Changelog
---
## Quick Scan Template
Abbreviated profile for when speed matters more than depth.
```markdown
# [Competitor Name] — Quick Profile
**URL**: [website]
**Generated**: [date]
## At a Glance
| Metric | Value |
|--------|-------|
| Tagline | [from homepage] |
| Target audience | [inferred from copy] |
| Pricing starts at | [lowest paid tier] |
| Free tier/trial | [yes/no + details] |
| Domain rank | [from DataForSEO] |
| Est. organic traffic | [monthly] |
| Organic keywords (top 10) | [count] |
| Referring domains | [count] |
## Positioning
**Headline**: "[exact homepage headline]"
**Subheadline**: "[exact subheadline]"
**Positioning angle**: [1-2 sentence summary of how they position]
## Pricing Summary
| Tier | Price | Notable Inclusions |
|------|-------|-------------------|
| [tier] | [price] | [key items] |
| [tier] | [price] | [key items] |
## Key Takeaway
[2-3 sentences: what makes this competitor notable, where they're strong, where they're weak]
```
---
## Summary Comparison Table
Use after profiling all competitors to create a side-by-side view.
```markdown
# Competitive Landscape Summary
**Generated**: [date]
**Your product**: [name]
**Competitors profiled**: [count]
## Side-by-Side Comparison
| Dimension | [Your Product] | [Competitor 1] | [Competitor 2] | [Competitor 3] |
|-----------|---------------|----------------|----------------|----------------|
| **Tagline** | [yours] | [theirs] | [theirs] | [theirs] |
| **Target audience** | [yours] | [theirs] | [theirs] | [theirs] |
| **Positioning** | [angle] | [angle] | [angle] | [angle] |
| **Starting price** | $[X]/mo | $[X]/mo | $[X]/mo | $[X]/mo |
| **Free tier** | [yes/no] | [yes/no] | [yes/no] | [yes/no] |
| **Domain rank** | [score] | [score] | [score] | [score] |
| **Est. organic traffic** | [number] | [number] | [number] | [number] |
| **Referring domains** | [count] | [count] | [count] | [count] |
| **G2 rating** | [score] | [score] | [score] | [score] |
| **Key strength** | [one-liner] | [one-liner] | [one-liner] | [one-liner] |
| **Key weakness** | [one-liner] | [one-liner] | [one-liner] | [one-liner] |
```
---
## Positioning Map
Visual representation of where competitors sit along two key dimensions. Choose the two axes most relevant to your market.
### Common Axis Pairs
| Market Type | X-Axis | Y-Axis |
|-------------|--------|--------|
| SaaS tools | Simple → Complex | Cheap → Expensive |
| Developer tools | Low-code → Code-first | Individual → Team |
| B2B platforms | SMB-focused → Enterprise-focused | Point solution → Platform |
| Content tools | Template-driven → Custom | Self-serve → Managed |
### Format
```markdown
## Positioning Map
**Axes**: [X-axis label] vs. [Y-axis label]
[Y-axis high label]
[Competitor A] │ [Competitor B]
───────────────────────┼───────────────────────
[X-axis low] │ [X-axis high]
[Your Product] │ [Competitor C]
[Y-axis low label]
### Interpretation
- [1-2 sentences about what the map reveals]
- [where the whitespace / opportunity is]
```
---
## Competitive SWOT
Per-competitor SWOT relative to your product.
```markdown
## SWOT: [Competitor] vs. [Your Product]
### Strengths (theirs vs. ours)
- [Where they genuinely outperform us — be honest]
### Weaknesses (theirs vs. ours)
- [Where they fall short compared to us — with evidence]
### Opportunities (for us)
- [Gaps in their offering we can exploit]
- [Segments they're ignoring]
- [Messaging angles they're missing]
### Threats (from them)
- [Areas where they're improving fast]
- [Features they're building that overlap with us]
- [Market moves that could shift perception]
```
---
## Profile Update Changelog
Append to the bottom of any profile when updating it.
```markdown
---
## Change Log
| Date | What Changed | Source |
|------|-------------|--------|
| [date] | Pricing increased from $X to $Y | Pricing page re-scrape |
| [date] | Launched [feature] | Changelog scrape |
| [date] | Domain rank changed from X to Y | DataForSEO re-pull |
| [date] | Added [integration] | Integrations page re-scrape |
```
@@ -0,0 +1,179 @@
# MCP Tool Reference for Competitor Profiling
Quick reference for the Firecrawl and DataForSEO MCP tools used in competitor profiling.
## Contents
- Firecrawl Tools (site scraping)
- DataForSEO Tools (SEO & market data)
- Recommended Execution Order
- Error Handling
---
## Firecrawl Tools
### firecrawl_map
**Purpose**: Discover all URLs on a competitor's site to identify key pages.
**When to use**: First step for every competitor — before scraping individual pages.
**Key output**: List of URLs with their page types/paths.
**Tip**: Look for paths containing `/pricing`, `/features`, `/about`, `/customers`, `/integrations`, `/blog`, `/changelog`.
### firecrawl_scrape
**Purpose**: Extract content from a single page as clean markdown.
**When to use**: After mapping, scrape each key page individually.
**Key output**: Page content in markdown format — headlines, body text, structured data.
**Tip**: Scrape homepage first — it reveals positioning, audience, and social proof in one shot.
### firecrawl_search
**Purpose**: Search the web for specific content about a competitor.
**When to use**: Finding review pages, press coverage, or competitor mentions not on their own site.
**Example queries**:
- `"[Competitor Name]" site:g2.com`
- `"[Competitor Name]" review`
- `"[Competitor Name]" funding OR raised`
### firecrawl_crawl
**Purpose**: Crawl multiple pages from a site in one operation.
**When to use**: Deep profiles where you want to analyze many pages (e.g., all feature pages, all blog posts). More expensive — use selectively.
**Tip**: Set page limits to avoid crawling entire sites. Target specific URL patterns.
### firecrawl_extract
**Purpose**: Extract structured data from a page using a schema.
**When to use**: When you need specific data points in a consistent format (e.g., pricing tier details, feature lists).
**Tip**: Define a clear schema for what you want extracted — more reliable than parsing raw markdown.
---
## DataForSEO MCP Tools
### Domain-Level Intelligence
#### backlinks_summary
**Purpose**: Get domain authority, total backlinks, referring domains, spam score.
**Input**: Target domain (e.g., `competitor.com`)
**Key metrics**: `domain_rank`, `total_backlinks`, `referring_domains`, `backlinks_spam_score`
#### backlinks_referring_domains
**Purpose**: List top referring domains — shows where their link equity comes from.
**Input**: Target domain + limit
**Key metrics**: Per-domain: `rank`, `backlinks`, `domain` name
#### dataforseo_labs_google_domain_rank_overview
**Purpose**: Organic search overview — traffic, keywords, traffic value.
**Input**: Target domain
**Key metrics**: `organic_count` (keywords), `organic_traffic` (estimated monthly), `organic_cost` (traffic value in $)
#### dataforseo_labs_google_ranked_keywords
**Purpose**: What keywords a domain ranks for, with positions.
**Input**: Target domain
**Key metrics**: Per-keyword: `keyword`, `position`, `search_volume`, `url` (ranking page)
**Tip**: Sort by traffic to find their highest-value keywords.
#### dataforseo_labs_google_keywords_for_site
**Purpose**: Keywords relevant to a domain — broader than ranked keywords, includes opportunities.
**Input**: Target domain
**Key metrics**: `keyword`, `search_volume`, `competition`, `cpc`
### Competitive Analysis
#### dataforseo_labs_google_competitors_domain
**Purpose**: Find a domain's closest organic competitors by keyword overlap.
**Input**: Target domain
**Key metrics**: `domain`, `avg_position`, `intersections` (shared keywords), `full_domain_rank`
**Tip**: May reveal competitors the user hasn't considered.
#### dataforseo_labs_google_domain_intersection
**Purpose**: Find keywords where two domains both rank — shows direct competition.
**Input**: Two target domains
**Key metrics**: `keyword`, position for each domain, `search_volume`
**Tip**: Use this to compare the user's domain vs. each competitor.
#### dataforseo_labs_google_relevant_pages
**Purpose**: Find a domain's most important pages by organic traffic.
**Input**: Target domain
**Key metrics**: `page`, `metrics` (traffic, keywords per page)
**Tip**: Reveals their content strategy — which pages drive the most value.
### Technology Detection
#### domain_analytics_technologies_domain_technologies
**Purpose**: Detect the technology stack a domain uses.
**Input**: Target domain
**Key metrics**: Technologies grouped by category (CMS, analytics, marketing, payments, etc.)
### Backlink Deep Dive
#### backlinks_backlinks
**Purpose**: List individual backlinks to a domain.
**Input**: Target domain + limit
**Key metrics**: `url_from`, `url_to`, `anchor`, `domain_from_rank`, `is_new`
#### backlinks_bulk_ranks
**Purpose**: Compare domain ranks across multiple domains at once.
**Input**: Array of target domains
**Key metrics**: `domain_rank` per domain
**Tip**: Use this for the summary comparison table.
---
## Recommended Execution Order
### Quick Scan (per competitor)
```
1. firecrawl_map → get site URLs
2. In parallel:
a. firecrawl_scrape → homepage
b. firecrawl_scrape → pricing page
c. dataforseo_labs_google_domain_rank_overview → organic metrics
d. backlinks_summary → domain authority
3. Synthesize into abbreviated profile
```
### Deep Profile (per competitor)
```
1. firecrawl_map → get site URLs
2. In parallel (batch 1 — scraping):
a. firecrawl_scrape → homepage
b. firecrawl_scrape → pricing page
c. firecrawl_scrape → features page(s)
d. firecrawl_scrape → about page
e. firecrawl_scrape → customers/case studies page
f. firecrawl_scrape → integrations page
3. In parallel (batch 2 — SEO data):
a. dataforseo_labs_google_domain_rank_overview
b. dataforseo_labs_google_ranked_keywords
c. backlinks_summary
d. backlinks_referring_domains
e. dataforseo_labs_google_relevant_pages
f. dataforseo_labs_google_competitors_domain
4. In parallel (batch 3 — optional extras):
a. domain_analytics_technologies_domain_technologies
b. firecrawl_search → G2/Capterra reviews
c. dataforseo_labs_google_domain_intersection (vs. user's domain)
5. Synthesize into full profile
```
### Multi-Competitor (3+ competitors)
```
1. Map all competitor sites in parallel
2. Scrape all homepages in parallel, then pricing pages in parallel
3. Pull domain_rank_overview for all in parallel
4. Pull backlinks_bulk_ranks for all at once
5. Build profiles in sequence (synthesis requires focus)
6. Build summary comparison last
```
---
## Error Handling
| Issue | Action |
|-------|--------|
| Firecrawl scrape returns empty/blocked | Try with `firecrawl_browser_create` for JS-heavy sites |
| Pricing page not found in map | Search for `/pricing`, `/plans`, `/packages` — some sites use different paths |
| DataForSEO returns no data for domain | Domain may be too new or too small — note "insufficient data" in profile |
| Rate limits hit | Space out requests; prioritize highest-value data first |
| Review page scraping blocked | Use `firecrawl_search` to find cached or alternative review sources |
@@ -1,8 +1,8 @@
---
name: competitor-alternatives
description: "When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' or 'competitive landing pages.' Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. Emphasizes deep research, modular content architecture, and varied section types beyond feature tables."
name: competitors
description: "When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'battle card,' or 'competitor teardown.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For sales-specific competitor docs, see sales-enablement."
metadata:
version: 1.0.0
version: 2.0.0
---
# Competitor & Alternative Pages
@@ -12,7 +12,7 @@ You are an expert in creating competitor comparison and alternative pages. Your
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before creating competitor pages, understand:
@@ -252,4 +252,5 @@ Recommended pages to create with priority order based on search volume.
- **programmatic-seo**: For building competitor pages at scale
- **copywriting**: For writing compelling comparison copy
- **seo-audit**: For optimizing competitor pages
- **schema-markup**: For FAQ and comparison schema
- **schema**: For FAQ and comparison schema
- **sales-enablement**: For internal sales collateral, decks, and objection docs
+93
View File
@@ -0,0 +1,93 @@
{
"skill_name": "competitors",
"evals": [
{
"id": 1,
"prompt": "Create a 'Best Asana Alternatives' page for our project management tool. We compete mainly on price (we're $8/user vs their $24/user) and simplicity (they've become bloated). Target audience is small teams (5-20 people).",
"expected_output": "Should check for product-marketing.md first. Should identify this as the plural alternatives format ([Competitor] Alternatives). Should include the essential sections: TL;DR comparison, brief paragraphs on each alternative (including the user's product positioned first or prominently), feature comparison table, pricing comparison, who each alternative is best for. Should use the modular content architecture approach. Should address SEO considerations for the target keyword 'Asana alternatives.' Should position the user's product with the stated differentiators (price, simplicity).",
"assertions": [
"Checks for product-marketing.md",
"Identifies as plural alternatives format",
"Includes TL;DR comparison section",
"Includes feature comparison table",
"Includes pricing comparison",
"Includes 'who it's best for' per alternative",
"Positions user's product prominently with differentiators",
"Addresses SEO for target keyword"
],
"files": []
},
{
"id": 2,
"prompt": "Write a 'HubSpot vs Salesforce' comparison page. We're HubSpot and want to show why we're the better choice for SMBs.",
"expected_output": "Should identify this as the 'you vs competitor' format. Should include structured comparison sections: overview of both, feature-by-feature comparison, pricing comparison, pros/cons of each, who each is best for, and migration path. Should be factually accurate about the competitor while strategically positioning the user's product. Should include a TL;DR at the top. Should address the SMB angle throughout. Should use the centralized competitor data architecture pattern.",
"assertions": [
"Identifies as 'you vs competitor' format",
"Includes structured comparison sections",
"Includes feature-by-feature comparison",
"Includes pricing comparison",
"Includes TL;DR at the top",
"Factually accurate about competitor",
"Strategically positions user's product for SMBs",
"Includes migration path or switching section"
],
"files": []
},
{
"id": 3,
"prompt": "we need a page targeting 'mailchimp alternative' (singular). we're an email marketing platform focused on e-commerce brands.",
"expected_output": "Should trigger on casual phrasing. Should identify this as the singular alternative format ([Competitor] Alternative — positioning your product as THE alternative). Should focus the entire page on why the user's product is the best Mailchimp alternative for e-commerce. Should include: why people switch from Mailchimp, what the user's product does better (e-commerce specific features), feature comparison, pricing comparison, migration guide, customer testimonials. Should optimize for the singular keyword 'Mailchimp alternative.'",
"assertions": [
"Triggers on casual phrasing",
"Identifies as singular alternative format",
"Focuses on user's product as THE alternative",
"Includes why people switch from Mailchimp",
"Highlights e-commerce-specific advantages",
"Includes feature and pricing comparison",
"Includes migration guide",
"Optimizes for singular keyword"
],
"files": []
},
{
"id": 4,
"prompt": "Can you create a comparison page for 'Notion vs Coda'? We're a third-party review site, not affiliated with either product.",
"expected_output": "Should identify this as the 'competitor vs competitor' format (third-party perspective). Should maintain objectivity since the user isn't either product. Should include balanced comparison: overview of both, feature comparison, pricing, pros/cons, use case recommendations. Should use the essential page sections from the skill. Should suggest how to monetize the page (affiliate links, CTA to the user's own product if relevant). Should address SEO for the 'Notion vs Coda' keyword.",
"assertions": [
"Identifies as 'competitor vs competitor' format",
"Maintains objectivity (third-party perspective)",
"Includes balanced feature comparison",
"Includes pricing comparison",
"Includes use case recommendations",
"Addresses SEO considerations",
"Suggests monetization approach"
],
"files": []
},
{
"id": 5,
"prompt": "We want to build a whole competitor comparison hub. We have 5 main competitors and want to create alternative pages for each, plus head-to-head comparisons. How should we structure this?",
"expected_output": "Should apply the centralized competitor data architecture. Should recommend a hub structure with: individual alternative pages for each competitor (5 singular pages), a 'best alternatives' roundup page, head-to-head comparison pages for key matchups. Should address internal linking strategy between these pages. Should recommend the research process for gathering competitive data. Should address URL structure and site architecture for the hub.",
"assertions": [
"Applies centralized competitor data architecture",
"Recommends hub structure with multiple page types",
"Suggests individual and roundup alternative pages",
"Addresses internal linking between comparison pages",
"Recommends research process for competitive data",
"Addresses URL structure"
],
"files": []
},
{
"id": 6,
"prompt": "I need to create a battle card for our sales team comparing us to Zendesk. It should help reps handle competitive objections during sales calls.",
"expected_output": "Should recognize this as internal sales enablement material, not a public comparison page. Should defer to or cross-reference the sales-enablement skill, which handles battle cards, objection handling docs, and internal competitive collateral. May provide some competitive positioning advice but should make clear that sales-enablement is the right skill for internal sales materials.",
"assertions": [
"Recognizes this as internal sales enablement material",
"References or defers to sales-enablement skill",
"Does not attempt to create internal battle card using public comparison page patterns"
],
"files": []
}
]
}
+12 -5
View File
@@ -1,8 +1,8 @@
---
name: content-strategy
description: When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions "content strategy," "what should I write about," "content ideas," "blog strategy," "topic clusters," or "content planning." For writing individual pieces, see copywriting. For SEO-specific audits, see seo-audit.
description: When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions "content strategy," "what should I write about," "content ideas," "blog strategy," "topic clusters," "content planning," "editorial calendar," "content marketing," "content roadmap," "what content should I create," "blog topics," "content pillars," or "I don't know what to write." Use this whenever someone needs help deciding what content to produce, not just writing it. For writing individual pieces, see copywriting. For SEO-specific audits, see seo-audit. For social media content specifically, see social.
metadata:
version: 1.0.0
version: 2.0.0
---
# Content Strategy
@@ -12,7 +12,7 @@ You are a content strategist. Your goal is to help plan content that drives traf
## Before Planning
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
@@ -348,11 +348,18 @@ Visual or structured representation of how content interconnects.
---
## References
- **[Headless CMS Guide](references/headless-cms.md)**: CMS selection, content modeling for marketing, editorial workflows, platform comparison (Sanity, Contentful, Strapi)
---
## Related Skills
- **copywriting**: For writing individual content pieces
- **seo-audit**: For technical SEO and on-page optimization
- **ai-seo**: For optimizing content for AI search engines and getting cited by LLMs
- **programmatic-seo**: For scaled content generation
- **email-sequence**: For email-based content
- **social-content**: For social media content
- **site-architecture**: For page hierarchy, navigation design, and URL structure
- **emails**: For email-based content
- **social**: For social media content
+90
View File
@@ -0,0 +1,90 @@
{
"skill_name": "content-strategy",
"evals": [
{
"id": 1,
"prompt": "Help me build a content strategy for our B2B SaaS product. We sell expense management software to finance teams at companies with 50-500 employees. We currently have no blog and want to start from scratch.",
"expected_output": "Should check for product-marketing.md first. Should establish content pillars (3-5 core topic areas). Should map content types by buyer stage (awareness → consideration → decision → implementation). Should identify keyword research opportunities by buyer stage. Should recommend a mix of searchable (SEO-driven) and shareable (thought leadership, data) content. Should use the prioritization scoring framework (customer impact 40%, content-market fit 30%, search potential 20%, resources 10%). Should provide an initial content calendar or publishing cadence. Should recommend content types appropriate for starting from scratch.",
"assertions": [
"Checks for product-marketing.md",
"Establishes 3-5 content pillars",
"Maps content by buyer stage (awareness through implementation)",
"Includes keyword research by buyer stage",
"Recommends mix of searchable and shareable content",
"Uses prioritization scoring framework",
"Provides publishing cadence or calendar",
"Recommends appropriate starting content types"
],
"files": []
},
{
"id": 2,
"prompt": "We have 200+ blog posts but traffic has been flat for a year. Our content feels random — no clear strategy. How do we fix this?",
"expected_output": "Should diagnose the 'random content' problem. Should recommend a content audit process to evaluate existing posts. Should introduce content pillars and topical clustering to organize the existing library. Should identify hub-and-spoke opportunities from existing content. Should recommend which posts to update, consolidate, or retire. Should use the prioritization framework to plan next steps. Should address topical authority building through clusters.",
"assertions": [
"Diagnoses the 'random content' problem",
"Recommends content audit for existing posts",
"Introduces content pillars and topical clustering",
"Identifies hub-and-spoke opportunities",
"Recommends update, consolidate, or retire decisions",
"Uses prioritization framework",
"Addresses topical authority building"
],
"files": []
},
{
"id": 3,
"prompt": "what kind of content should we be creating? we're a developer tool (API testing platform) and our audience is backend developers and QA engineers",
"expected_output": "Should trigger on casual phrasing. Should recommend content types appropriate for a developer audience: technical tutorials, documentation-style guides, use-case content, template/example libraries, data-driven benchmarks. Should note that developer audiences prefer depth, accuracy, and practical value over marketing fluff. Should suggest content pillars aligned with developer interests. Should use the ideation sources framework (keyword data, community forums like Stack Overflow/Reddit, competitor gaps).",
"assertions": [
"Triggers on casual phrasing",
"Recommends content types for developer audience",
"Emphasizes technical depth and practical value",
"Notes developers prefer substance over marketing",
"Suggests content pillars for developer tool",
"Uses ideation sources framework",
"Mentions developer community channels"
],
"files": []
},
{
"id": 4,
"prompt": "How should we prioritize which content to create first? We have a list of 50 blog post ideas but limited resources — one content marketer writing 2 posts per week.",
"expected_output": "Should apply the prioritization scoring framework: customer impact (40%), content-market fit (30%), search potential (20%), resources required (10%). Should help score or rank the content ideas using this framework. Should recommend focusing on high-impact, lower-effort content first. Should consider the buyer stage distribution (don't write only top-of-funnel). Should provide a practical workflow for the single content marketer to use going forward.",
"assertions": [
"Applies prioritization scoring framework with weights",
"Explains each scoring dimension",
"Recommends focusing on high-impact, lower-effort first",
"Considers buyer stage distribution",
"Provides practical workflow for limited resources"
],
"files": []
},
{
"id": 5,
"prompt": "We want to build topical authority in 'employee engagement.' What does a content cluster look like for this topic?",
"expected_output": "Should apply the hub-and-spoke content cluster model. Should design a pillar page for 'employee engagement' (comprehensive, 3000+ word guide). Should identify 8-15 supporting spoke articles targeting long-tail keywords related to employee engagement. Should map the internal linking structure between hub and spokes. Should address keyword research for the cluster. Should recommend content types for each piece (guide, how-to, template, data-driven, etc.).",
"assertions": [
"Applies hub-and-spoke content cluster model",
"Designs a pillar page for the core topic",
"Identifies 8-15 supporting spoke articles",
"Maps internal linking between hub and spokes",
"Addresses keyword research for the cluster",
"Recommends content types for each piece"
],
"files": []
},
{
"id": 6,
"prompt": "Can you write a blog post about remote work best practices for our HR software blog?",
"expected_output": "Should recognize this is a copywriting/content creation task, not a content strategy task. Should defer to or cross-reference the copywriting skill for writing individual pieces of content. May provide strategic context (where this fits in the content strategy, keyword targeting, audience) but should make clear that copywriting is the right skill for writing the actual content.",
"assertions": [
"Recognizes this as content creation, not strategy",
"References or defers to copywriting skill",
"Does not attempt to write the full blog post",
"May provide strategic context for the piece"
],
"files": []
}
]
}
@@ -0,0 +1,194 @@
# Headless CMS Guide
Reference for choosing, modeling, and implementing a headless CMS for marketing content.
## When to Use This Reference
Use this when selecting a CMS for a new project, designing content models for marketing sites, setting up editorial workflows, or connecting CMS content to programmatic pages.
---
## Headless vs Traditional CMS
A headless CMS separates content management from presentation. Content is stored in a structured backend and delivered via API to any frontend.
### When Headless Makes Sense
- Multiple frontends consume the same content (web, mobile, email)
- Developers want full control over the frontend stack
- Content needs to be reused across channels
- You're building with a modern framework (Next.js, Remix, Astro)
- Marketing needs structured, reusable content blocks
### When Traditional Works Better
- Small team with no dedicated developers
- Simple blog or brochure site
- WYSIWYG editing is a hard requirement
- Budget is tight and WordPress/Webflow does the job
### Decision Checklist
| Factor | Headless | Traditional |
|--------|----------|-------------|
| Multi-channel delivery | Yes | Limited |
| Developer control | Full | Constrained |
| Non-technical editing | Requires setup | Built-in |
| Time to launch | Longer | Faster |
| Content reuse | Native | Manual |
| Hosting flexibility | Any frontend | Platform-dependent |
---
## Content Modeling for Marketing
### Core Principles
1. **Think in types, not pages.** A "Landing Page" is a content type with fields — not an HTML file. This lets you reuse components across pages.
2. **Separate content from presentation.** Store the headline text, not the styled headline. Presentation belongs in the frontend.
3. **Design for reuse.** If testimonials appear on 5 pages, create a Testimonial type and reference it — don't duplicate.
4. **Keep models flat.** Deeply nested structures are hard to query and maintain. Prefer references over nesting.
### Common Marketing Content Types
| Type | Key Fields | Notes |
|------|-----------|-------|
| **Landing Page** | title, slug, hero, sections[], seo | Modular sections for flexibility |
| **Blog Post** | title, slug, body, author, category, tags, publishedAt, seo | Rich text or Portable Text body |
| **Case Study** | title, customer, challenge, solution, results, metrics[], logo | Link to related products/features |
| **Testimonial** | quote, author, role, company, avatar, rating | Reference from landing pages |
| **FAQ** | question, answer, category | Group by category for programmatic pages |
| **Author** | name, bio, avatar, social links | Reference from blog posts |
| **CTA Block** | heading, body, buttonText, buttonUrl, variant | Reusable across pages |
### SEO Fields Checklist
Every page-level content type needs:
- `metaTitle` — 50-60 characters
- `metaDescription` — 150-160 characters
- `ogImage` — 1200x630px social preview
- `slug` — URL path segment
- `canonicalUrl` — optional override
- `noIndex` — boolean for excluding from search
- `structuredData` — optional JSON-LD override
---
## Editorial Workflows
### Draft → Review → Publish Cycle
1. **Draft** — Author creates or edits content
2. **Review** — Editor reviews for accuracy, brand voice, SEO
3. **Approve** — Stakeholder signs off
4. **Schedule** — Set publish date/time
5. **Publish** — Content goes live via API
### Preview APIs
All major headless CMS platforms support draft previews:
- **Sanity**: Real-time preview with `useLiveQuery` or Presentation tool
- **Contentful**: Preview API (`preview.contentful.com`) with separate access token
- **Strapi**: Draft & Publish system with `status=draft` query parameter (v5; replaces v4's `publicationState`)
Set up a preview route in your frontend (e.g., `/api/preview`) that authenticates and renders draft content.
### Roles and Permissions
| Role | Can Create | Can Edit | Can Publish | Can Delete |
|------|:----------:|:--------:|:-----------:|:----------:|
| Author | Yes | Own | No | Own drafts |
| Editor | Yes | All | Yes | Drafts |
| Admin | Yes | All | Yes | All |
Exact permission models vary by platform. Sanity uses role-based access. Contentful has space-level roles. Strapi has granular RBAC.
---
## Platform Comparison
| Feature | Sanity | Contentful | Strapi |
|---------|--------|------------|--------|
| Hosting | Cloud (managed) | Cloud (managed) | Self-hosted or Cloud |
| Query Language | GROQ | REST / GraphQL | REST / GraphQL |
| Free Tier | Generous | Limited | Open source (free) |
| Real-time Collab | Yes (built-in) | Limited | No |
| Best For | Developer flexibility | Enterprise multi-locale | Budget / self-hosted |
| Content Modeling | Schema-as-code | Web UI | Web UI or code |
| Media Handling | Built-in DAM | Built-in | Plugin-based |
### Sanity
**Strengths**: GROQ query language is powerful and flexible. Schema defined in code (version-controlled). Real-time collaborative editing. Portable Text for rich content. Generous free tier.
**Considerations**: Steeper learning curve for non-developers. Studio customization requires React knowledge. Vendor lock-in on GROQ queries.
**Marketing fit**: Best when developers and marketers collaborate closely. Strong for content-heavy sites with complex models.
### Contentful
**Strengths**: Mature enterprise platform. Excellent multi-locale support. Strong ecosystem of integrations. Composable content with Studio. Well-documented APIs.
**Considerations**: Pricing scales with content types and locales. Two separate APIs (Delivery and Management). Rate limits can be tight on lower plans.
**Marketing fit**: Best for enterprises with multi-market content needs. Good when you need established vendor reliability.
### Strapi
**Strengths**: Open source, self-hosted option. Full control over data. No per-seat pricing. Customizable admin panel. Plugin ecosystem. REST by default, GraphQL via plugin.
**Considerations**: Self-hosting means you handle infrastructure. Smaller ecosystem than Sanity/Contentful. V5 migration can be significant from V4.
**Marketing fit**: Best for teams with DevOps capability who want full control and no vendor lock-in. Good for budget-conscious projects.
### Others Worth Knowing
- **Hygraph** — GraphQL-native, strong for federation and multi-source content
- **Keystatic** — Git-based, good for developer-content hybrid workflows
- **Payload** — TypeScript-first, self-hosted, code-configured like Sanity
- **Builder.io** — Visual editor with headless backend, good for non-technical marketers
- **Prismic** — Slice-based content modeling, strong Next.js integration
---
## Integration with Marketing Skills
### Programmatic SEO
Use CMS as the data source for programmatic pages. Store structured data (FAQs, comparisons, city pages) as content types and generate pages from queries. See **programmatic-seo** skill.
### Copywriting
CMS content models enforce consistent structure. Define fields that match your copy frameworks (headline, subheadline, social proof, CTA). See **copywriting** skill.
### Site Architecture
URL structure, navigation hierarchy, and internal linking all depend on how content is organized in the CMS. Plan your content model and site architecture together. See **site-architecture** skill.
### Email Sequences
Pull CMS content into email templates for consistent messaging across web and email. Case studies, testimonials, and blog posts can feed email nurture sequences. See **emails** skill.
---
## Implementation Checklist
- [ ] Define content types based on page types and reusable blocks
- [ ] Add SEO fields to every page-level content type
- [ ] Set up preview/draft mode in your frontend
- [ ] Configure roles and permissions for your team
- [ ] Create sample content for each type before building frontend
- [ ] Set up webhook notifications for content changes (rebuild triggers)
- [ ] Document content guidelines for editors (field descriptions, character limits)
- [ ] Test content delivery performance (CDN, caching, ISR)
- [ ] Plan migration strategy if moving from existing CMS
---
## Relevant Integration Guides
- [Sanity](../../../tools/integrations/sanity.md) — GROQ queries, mutations, CLI
- [Contentful](../../../tools/integrations/contentful.md) — Delivery/Management APIs, publishing
- [Strapi](../../../tools/integrations/strapi.md) — REST CRUD, filters, document API
+69 -59
View File
@@ -1,8 +1,8 @@
---
name: copy-editing
description: "When the user wants to edit, review, or improve existing marketing copy. Also use when the user mentions 'edit this copy,' 'review my copy,' 'copy feedback,' 'proofread,' 'polish this,' 'make this better,' or 'copy sweep.' This skill provides a systematic approach to editing marketing copy through multiple focused passes."
description: "When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the user mentions 'edit this copy,' 'review my copy,' 'copy feedback,' 'proofread,' 'polish this,' 'make this better,' 'copy sweep,' 'tighten this up,' 'this reads awkwardly,' 'clean up this text,' 'too wordy,' 'sharpen the messaging,' 'refresh this content,' 'update this page,' 'this content is outdated,' or 'content audit.' Use this when the user already has copy and wants it improved or refreshed rather than rewritten from scratch. For writing new copy, see copywriting."
metadata:
version: 1.0.0
version: 2.0.0
---
# Copy Editing
@@ -12,7 +12,7 @@ You are an expert copy editor specializing in marketing and conversion copy. You
## Core Philosophy
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before editing. Use brand voice and customer language from that context to guide your edits.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before editing. Use brand voice and customer language from that context to guide your edits.
Good copy editing isn't about rewriting—it's about enhancing. Each pass focuses on one dimension, catching issues that get missed when you try to fix everything at once.
@@ -256,6 +256,57 @@ For every statement, ask "Okay, so what?" If the copy doesn't answer that questi
---
## Expert Panel Scoring
Use this after completing the Seven Sweeps for an additional quality gate. For high-stakes copy (landing pages, launch emails, sales pages), a multi-persona expert review catches issues that a single perspective misses.
### How It Works
1. **Assemble 3-5 expert personas** relevant to the copy type
2. **Each persona scores the copy 1-10** on their area of expertise
3. **Collect specific critiques** — not just scores, but what to fix
4. **Revise based on feedback** — address the lowest-scoring areas first
5. **Re-score after revisions** — iterate until all personas score 7+, with an average of 8+ across the panel
### Recommended Expert Panels
**Landing page copy:**
- Conversion copywriter (clarity, CTA strength, benefit hierarchy)
- UX writer (scannability, cognitive load, user flow)
- Target customer persona (does this speak to me? do I trust it?)
- Brand strategist (voice consistency, positioning accuracy)
**Email sequence:**
- Email marketing specialist (subject lines, open/click optimization)
- Copywriter (hooks, storytelling, persuasion)
- Spam filter analyst (deliverability red flags, trigger words)
- Target customer persona (relevance, value, unsubscribe risk)
**Sales page / long-form:**
- Direct response copywriter (offer structure, objection handling, urgency)
- Skeptical buyer persona (proof gaps, trust issues, red flags)
- Editor (flow, readability, conciseness)
- SEO specialist (keyword coverage, search intent alignment)
### Scoring Rubric
| Score | Meaning |
|-------|---------|
| 9-10 | Publish-ready. No meaningful improvements. |
| 7-8 | Strong. Minor tweaks only. |
| 5-6 | Functional but has clear gaps. Needs another pass. |
| 3-4 | Significant issues. Major revision needed. |
| 1-2 | Fundamentally broken. Rethink approach. |
### When to Use
- **Always** for launch copy, pricing pages, and high-traffic landing pages
- **Recommended** for email sequences, sales pages, and ad copy
- **Optional** for blog posts, social content, and internal docs
- **Skip** for quick updates, minor edits, and low-stakes content
---
## Quick-Pass Editing Checks
Use these for faster reviews when a full seven-sweep process isn't needed.
@@ -307,59 +358,7 @@ Use these for faster reviews when a full seven-sweep process isn't needed.
## Copy Editing Checklist
### Before You Start
- [ ] Understand the goal of this copy
- [ ] Know the target audience
- [ ] Identify the desired action
- [ ] Read through once without editing
### Clarity (Sweep 1)
- [ ] Every sentence is immediately understandable
- [ ] No jargon without explanation
- [ ] Pronouns have clear references
- [ ] No sentences trying to do too much
### Voice & Tone (Sweep 2)
- [ ] Consistent formality level throughout
- [ ] Brand personality maintained
- [ ] No jarring shifts in mood
- [ ] Reads well aloud
### So What (Sweep 3)
- [ ] Every feature connects to a benefit
- [ ] Claims answer "why should I care?"
- [ ] Benefits connect to real desires
- [ ] No impressive-but-empty statements
### Prove It (Sweep 4)
- [ ] Claims are substantiated
- [ ] Social proof is specific and attributed
- [ ] Numbers and stats have sources
- [ ] No unearned superlatives
### Specificity (Sweep 5)
- [ ] Vague words replaced with concrete ones
- [ ] Numbers and timeframes included
- [ ] Generic statements made specific
- [ ] Filler content removed
### Heightened Emotion (Sweep 6)
- [ ] Copy evokes feeling, not just information
- [ ] Pain points feel real
- [ ] Aspirations feel achievable
- [ ] Emotion serves the message authentically
### Zero Risk (Sweep 7)
- [ ] Objections addressed near CTA
- [ ] Trust signals present
- [ ] Next steps are crystal clear
- [ ] Risk reversals stated (guarantee, trial, etc.)
### Final Checks
- [ ] No typos or grammatical errors
- [ ] Consistent formatting
- [ ] Links work (if applicable)
- [ ] Core message preserved through all edits
For a final QA pass before delivering edits, work through the full checklist in [references/checklist.md](references/checklist.md) — covering all seven sweeps plus pre-start and final-check items.
---
@@ -416,6 +415,16 @@ This iterative process ensures each edit doesn't create new problems while respe
## References
- [Plain English Alternatives](references/plain-english-alternatives.md): Replace complex words with simpler alternatives
- [Content Refresh](references/content-refresh.md): Full checklist, refresh vs. rewrite matrix, and cadence guide
- [Copy Editing Checklist](references/checklist.md): Full QA checklist across all seven sweeps
---
## Content Refresh Editing
Copy editing isn't just for new content. Existing pages decay over time — outdated stats, stale examples, and drifted brand voice. Use the content refresh framework when traffic is declining, data is stale, or the product has changed.
**For the full refresh checklist, refresh vs. rewrite decision matrix, and cadence guide**: See [references/content-refresh.md](references/content-refresh.md)
---
@@ -425,15 +434,16 @@ This iterative process ensures each edit doesn't create new problems while respe
2. What action should readers take?
3. Are there specific concerns or known issues?
4. What proof/evidence do you have available?
5. Is this new copy or a refresh of existing content?
---
## Related Skills
- **copywriting**: For writing new copy from scratch (use this skill to edit after your first draft is complete)
- **page-cro**: For broader page optimization beyond copy
- **cro**: For broader page optimization beyond copy
- **marketing-psychology**: For understanding why certain edits improve conversion
- **ab-test-setup**: For testing copy variations
- **ab-testing**: For testing copy variations
---
@@ -444,4 +454,4 @@ This iterative process ensures each edit doesn't create new problems while respe
| Writing new page copy from scratch | copywriting |
| Reviewing and improving existing copy | copy-editing (this skill) |
| Editing copy you just wrote | copy-editing (this skill) |
| Structural or strategic page changes | page-cro |
| Structural or strategic page changes | cro |
+89
View File
@@ -0,0 +1,89 @@
{
"skill_name": "copy-editing",
"evals": [
{
"id": 1,
"prompt": "Edit this homepage copy for us: 'Welcome to CloudSync! We are very excited to offer you an innovative, cutting-edge platform that seamlessly integrates with your existing tools. Our powerful solution helps businesses of all sizes optimize their workflows and drive meaningful results. Get started today and experience the difference!'",
"expected_output": "Should check for product-marketing.md first. Should apply the Seven Sweeps Framework systematically. Sweep 1 (Clarity): identify vague language ('optimize workflows,' 'drive meaningful results,' 'experience the difference'). Sweep 2 (Voice & Tone): flag 'Welcome to' as weak opening, 'we are very excited' as company-focused. Sweep 3 (So What): question what specific value is being offered. Sweep 4 (Prove It): note no proof points, stats, or evidence. Sweep 5 (Specificity): flag 'businesses of all sizes,' 'existing tools,' 'powerful solution' as generic. Sweep 6 (Heightened Emotion): assess emotional impact. Sweep 7 (Zero Risk): check for trust signals. Should provide a rewritten version addressing all issues.",
"assertions": [
"Checks for product-marketing.md",
"Applies Seven Sweeps Framework",
"Identifies vague language (Clarity sweep)",
"Flags weak opening and company-focused language (Voice & Tone sweep)",
"Questions missing value proposition (So What sweep)",
"Notes missing proof points (Prove It sweep)",
"Flags generic terms (Specificity sweep)",
"Provides a rewritten version"
],
"files": []
},
{
"id": 2,
"prompt": "Quick edit on this CTA section: 'Ready to take your business to the next level? Our team of dedicated professionals is standing by to help you achieve your goals. Click here to learn more about how we can help you succeed.'",
"expected_output": "Should apply the quick-pass editing checks. Should identify: 'take your business to the next level' (cliché), 'team of dedicated professionals' (filler), 'standing by' (passive), 'click here' (weak CTA), 'learn more' (vague action), 'help you succeed' (generic). Should apply word-level, sentence-level, and paragraph-level checks. Should rewrite with specific value prop, active voice, and strong action-oriented CTA. Should be concise since this was requested as a 'quick edit.'",
"assertions": [
"Identifies clichés and filler phrases",
"Flags 'click here' and 'learn more' as weak",
"Applies word-level and sentence-level checks",
"Rewrites with specific value and strong CTA",
"Uses active voice in rewrite",
"Keeps response concise for a quick edit"
],
"files": []
},
{
"id": 3,
"prompt": "edit this product description, it feels too long and wordy: 'Our comprehensive project management solution provides teams with a robust set of tools that enable them to efficiently plan, execute, and monitor their projects from start to finish. With our intuitive interface, powerful analytics dashboard, and seamless integration capabilities, you can ensure that every aspect of your project is managed with precision and care. Whether you're a small startup or a large enterprise, our platform scales to meet your unique needs and requirements, helping you deliver projects on time and within budget every single time.'",
"expected_output": "Should trigger on casual phrasing. Should apply the Clarity and Specificity sweeps primarily. Should identify: redundancy ('plan, execute, and monitor' overlaps with 'from start to finish'), filler words ('comprehensive,' 'robust,' 'efficiently,' 'seamless,' 'unique'), hedge phrases ('ensuring every aspect,' 'with precision and care'), and generic claims ('scales to meet your needs,' 'on time and within budget every single time'). Should cut the copy significantly (probably by 50%+). Should provide a tighter rewrite that says the same thing in fewer, more specific words.",
"assertions": [
"Triggers on casual phrasing",
"Identifies redundancy in the copy",
"Identifies filler words and hedge phrases",
"Identifies generic claims",
"Cuts copy significantly (50%+ reduction)",
"Provides tighter rewrite with specific language"
],
"files": []
},
{
"id": 4,
"prompt": "Review this testimonial section and improve it: 'CloudSync is great! It really helped our company. The team was very responsive and the product works well. We would recommend it to anyone looking for a solution. - John S., CEO'",
"expected_output": "Should apply the Prove It and Specificity sweeps. Should identify the testimonial as too vague to be persuasive ('great,' 'really helped,' 'works well,' 'anyone looking for a solution'). Should recommend replacing with specific results ('reduced project delivery time by 30%'), specific context ('team of 45 engineers'), and specific outcomes. Should suggest questions to ask the customer for a better testimonial. Should not fabricate specific numbers but should provide a template showing what a strong testimonial looks like.",
"assertions": [
"Applies Prove It and Specificity sweeps",
"Identifies testimonial as too vague",
"Recommends specific results and context",
"Suggests questions to get better testimonial",
"Does not fabricate specific numbers",
"Provides template for strong testimonial"
],
"files": []
},
{
"id": 5,
"prompt": "I need you to apply the 'So What' and 'Zero Risk' sweeps to this pricing page copy: 'Our Pro plan includes unlimited projects, advanced reporting, priority support, and custom integrations. Starting at $99/month.'",
"expected_output": "Should apply specifically the So What and Zero Risk sweeps as requested. So What: for each feature, ask 'so what does this mean for the customer?' — unlimited projects (what does that enable?), advanced reporting (what decisions can they make?), priority support (what does that mean in practice? response time?), custom integrations (which ones? what workflow does it enable?). Zero Risk: identify missing trust signals — no guarantee, no trial mention, no social proof near pricing, no 'cancel anytime' assurance. Should provide rewritten copy addressing both sweeps.",
"assertions": [
"Applies So What sweep to each feature",
"Translates features to customer benefits",
"Applies Zero Risk sweep",
"Identifies missing trust signals",
"Suggests guarantee, trial, or cancel-anytime language",
"Provides rewritten copy addressing both sweeps"
],
"files": []
},
{
"id": 6,
"prompt": "Write fresh homepage copy for our new product. We're launching a CRM for real estate agents.",
"expected_output": "Should recognize this is a copywriting-from-scratch task, not copy editing. Should defer to or cross-reference the copywriting skill, which handles writing new copy from scratch. Copy-editing is specifically for improving existing copy. Should make this distinction clear.",
"assertions": [
"Recognizes this as writing new copy, not editing existing copy",
"References or defers to copywriting skill",
"Explains that copy-editing is for improving existing copy",
"Does not attempt to write full page copy from scratch"
],
"files": []
}
]
}
@@ -0,0 +1,66 @@
# Copy Editing Checklist
Use this checklist alongside the Seven Sweeps Framework (see SKILL.md) as a final QA pass before delivering edited copy.
## Before You Start
- [ ] Understand the goal of this copy
- [ ] Know the target audience
- [ ] Identify the desired action
- [ ] Read through once without editing
## Clarity (Sweep 1)
- [ ] Every sentence is immediately understandable
- [ ] No jargon without explanation
- [ ] Pronouns have clear references
- [ ] No sentences trying to do too much
## Voice & Tone (Sweep 2)
- [ ] Consistent formality level throughout
- [ ] Brand personality maintained
- [ ] No jarring shifts in mood
- [ ] Reads well aloud
## So What (Sweep 3)
- [ ] Every feature connects to a benefit
- [ ] Claims answer "why should I care?"
- [ ] Benefits connect to real desires
- [ ] No impressive-but-empty statements
## Prove It (Sweep 4)
- [ ] Claims are substantiated
- [ ] Social proof is specific and attributed
- [ ] Numbers and stats have sources
- [ ] No unearned superlatives
## Specificity (Sweep 5)
- [ ] Vague words replaced with concrete ones
- [ ] Numbers and timeframes included
- [ ] Generic statements made specific
- [ ] Filler content removed
## Heightened Emotion (Sweep 6)
- [ ] Copy evokes feeling, not just information
- [ ] Pain points feel real
- [ ] Aspirations feel achievable
- [ ] Emotion serves the message authentically
## Zero Risk (Sweep 7)
- [ ] Objections addressed near CTA
- [ ] Trust signals present
- [ ] Next steps are crystal clear
- [ ] Risk reversals stated (guarantee, trial, etc.)
## Final Checks
- [ ] No typos or grammatical errors
- [ ] Consistent formatting
- [ ] Links work (if applicable)
- [ ] Core message preserved through all edits
@@ -0,0 +1,38 @@
# Content Refresh Editing
Copy editing isn't just for new content. Existing pages and posts decay over time — outdated stats, stale examples, drifted brand voice, and missed SEO opportunities. A content refresh applies the same editing rigor to content that's already published.
## When to Refresh
- **Traffic declining** on a page that used to perform well
- **Stats or data** are more than 12 months old
- **Product has changed** — features, pricing, or positioning no longer match
- **Competitors updated** their version of the same content
- **AI search visibility** matters — outdated content gets cited less (see ai-seo skill)
## Content Refresh Checklist
1. **Freshness pass** — Update all dates, stats, and examples. Replace "in 2024" with current data. Remove references to deprecated features or tools.
2. **Accuracy pass** — Verify all claims are still true. Check that linked resources still exist. Confirm pricing and feature descriptions match current state.
3. **Voice pass** — Does the tone match your current brand voice? Older content often reflects an earlier stage of the company.
4. **SEO pass** — Has search intent shifted for this topic? Are there new keywords or questions to address? Add "Last updated: [date]" prominently.
5. **Proof pass** — Can you add newer testimonials, case studies, or data points that didn't exist when this was first published?
6. **Structure pass** — Add comparison tables, FAQ sections, or other scannable formats that make the content easier to consume.
## Refresh vs. Rewrite
| Signal | Action |
|--------|--------|
| Core message still valid, details outdated | Refresh (update facts, stats, examples) |
| Brand voice has evolved significantly | Refresh + voice rewrite |
| Topic angle or audience has shifted | Full rewrite |
| Page structure doesn't match current search intent | Full rewrite |
| Just needs updated stats and links | Light refresh |
## Refresh Cadence
- **Pricing and product pages**: Every quarter, or when pricing/features change
- **High-traffic blog posts**: Every 6 months
- **Comparison and alternatives pages**: Every 3-6 months (competitors change fast)
- **Evergreen guides**: Annually, unless traffic drops sooner
- **Low-traffic pages**: Only when traffic data suggests an opportunity
+8 -8
View File
@@ -1,8 +1,8 @@
---
name: copywriting
description: When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says "write copy for," "improve this copy," "rewrite this page," "marketing copy," "headline help," or "CTA copy." For email copy, see email-sequence. For popup copy, see popup-cro.
description: When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says "write copy for," "improve this copy," "rewrite this page," "marketing copy," "headline help," "CTA copy," "value proposition," "tagline," "subheadline," "hero section copy," "above the fold," "this copy is weak," "make this more compelling," or "help me describe my product." Use this whenever someone is working on website text that needs to persuade or convert. For email copy, see emails. For popup copy, see popups. For editing existing copy, see copy-editing.
metadata:
version: 1.0.0
version: 2.0.0
---
# Copywriting
@@ -12,7 +12,7 @@ You are an expert conversion copywriter. Your goal is to write marketing copy th
## Before Writing
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
@@ -67,7 +67,7 @@ Each section should advance one argument. Build a logical flow down the page.
3. **Active over passive** — "We generate reports" not "Reports are generated"
4. **Confident over qualified** — Remove "almost," "very," "really"
5. **Show over tell** — Describe the outcome instead of using adverbs
6. **Honest over sensational**Never fabricate statistics or testimonials
6. **Honest over sensational**Fabricated statistics or testimonials erode trust and create legal liability
### Quick Quality Check
@@ -246,7 +246,7 @@ For headlines and CTAs, provide 2-3 options:
## Related Skills
- **copy-editing**: For polishing existing copy (use after your draft)
- **page-cro**: If page structure/strategy needs work, not just copy
- **email-sequence**: For email copywriting
- **popup-cro**: For popup and modal copy
- **ab-test-setup**: To test copy variations
- **cro**: If page structure/strategy needs work, not just copy
- **emails**: For email copywriting
- **popups**: For popup and modal copy
- **ab-testing**: To test copy variations
+111
View File
@@ -0,0 +1,111 @@
{
"skill_name": "copywriting",
"evals": [
{
"id": 1,
"prompt": "Write homepage copy for a SaaS tool that automates employee onboarding. Target audience is HR directors at mid-size companies (200-2000 employees). Main differentiator is that it integrates with all major HRIS systems and cuts onboarding time from 2 weeks to 2 days.",
"expected_output": "Should check for product-marketing.md first. Should write full page copy organized by section: Headline, Subheadline, CTA (above the fold), then Social Proof, Problem/Pain, Solution/Benefits, How It Works, Objection Handling, and Final CTA. Should follow copywriting principles: clarity over cleverness, benefits over features, specificity (use the '2 weeks to 2 days' stat), customer language. Headline should communicate core value proposition. CTAs should be action-oriented ('Start Free Trial' not 'Submit'). Should provide 2-3 headline alternatives with rationale. Should include annotations explaining key copy choices. Should include meta content (SEO page title and meta description).",
"assertions": [
"Checks for product-marketing.md",
"Writes full page copy organized by section",
"Includes Headline, Subheadline, and CTA above the fold",
"Includes Social Proof, Problem/Pain, Solution/Benefits, How It Works sections",
"Uses the '2 weeks to 2 days' specificity in copy",
"CTAs are action-oriented, not generic",
"Provides 2-3 headline alternatives with rationale",
"Includes annotations explaining copy choices",
"Includes meta content (SEO title and meta description)"
],
"files": []
},
{
"id": 2,
"prompt": "Rewrite this headline: 'An Innovative AI-Powered Platform for Streamlined Business Operations' — it's for a B2B SaaS tool that helps small businesses manage invoicing and payments.",
"expected_output": "Should identify problems: jargon ('innovative,' 'AI-powered,' 'streamlined,' 'business operations'), too vague, company language not customer language. Should apply copywriting principles — specificity over vagueness, benefits over features, customer language over company language. Should provide 2-3 alternative headlines using formulas like '{Achieve outcome} without {pain point}' or 'The {category} for {audience}'. Each alternative should include rationale. Should also suggest a subheadline that adds specificity.",
"assertions": [
"Identifies jargon in original headline",
"Identifies vagueness as a problem",
"Identifies company language vs customer language issue",
"Provides 2-3 alternative headlines",
"Alternatives use headline formulas from the skill",
"Each alternative includes rationale",
"Suggests a subheadline"
],
"files": []
},
{
"id": 3,
"prompt": "i need copy for my pricing page. we have three plans: starter ($29/mo), pro ($79/mo), business ($199/mo). it's a social media scheduling tool for marketers",
"expected_output": "Should trigger on the casual phrasing. Should ask or infer audience context. Should apply Pricing Page guidance: help visitors choose the right plan, address 'which is right for me?' anxiety, make recommended plan obvious. Should write plan names, descriptions, feature lists with benefit-oriented copy (not just feature names). Should include a page headline that addresses the pricing decision. CTAs should be specific per plan. Should handle objection handling (FAQ copy). Should provide alternatives for key elements.",
"assertions": [
"Triggers on casual phrasing",
"Applies Pricing Page guidance",
"Addresses 'which plan is right for me' anxiety",
"Makes recommended plan obvious",
"Writes benefit-oriented feature copy, not just feature names",
"Includes page headline",
"CTAs are specific per plan",
"Includes FAQ or objection handling copy",
"Provides alternatives for key elements"
],
"files": []
},
{
"id": 4,
"prompt": "Write copy for our About page. We're a 3-person startup that built a developer tool for database migrations. Founded because we kept losing data during migrations at our last jobs. Tone should be professional but human.",
"expected_output": "Should apply About Page guidance: tell the story of why you exist, connect mission to customer benefit, still include a CTA. Should adapt voice and tone to 'professional but human' as specified. Should tell the founder origin story authentically. Should connect the personal pain to the customer's pain. Should include a CTA even on the About page. Copy should follow style rules: active voice, confident, specific. Should NOT be overly corporate or generic.",
"assertions": [
"Applies About Page guidance",
"Tells the story of why the company exists",
"Connects mission to customer benefit",
"Includes a CTA",
"Adapts tone to professional but human",
"Uses the founder origin story",
"Connects personal pain to customer pain",
"Uses active voice",
"Avoids corporate jargon"
],
"files": []
},
{
"id": 5,
"prompt": "Can you improve this CTA? We currently have 'Learn More' on our feature page for our analytics dashboard product.",
"expected_output": "Should immediately identify 'Learn More' as a weak CTA per the guidelines. Should apply the CTA formula: [Action Verb] + [What They Get] + [Qualifier]. Should provide 2-3 strong alternatives like 'See the Dashboard in Action,' 'Start Your Free Trial,' or 'Explore Analytics Features.' Each alternative should include rationale and context for when it works best. Should also consider CTA hierarchy — whether this is a primary or secondary CTA, and suggest complementary CTAs if relevant.",
"assertions": [
"Identifies 'Learn More' as a weak CTA",
"Applies the CTA formula from the skill",
"Provides 2-3 strong alternatives",
"Each alternative includes rationale",
"Considers CTA hierarchy (primary vs secondary)",
"Suggests complementary CTAs"
],
"files": []
},
{
"id": 6,
"prompt": "Write me a 5-email welcome sequence for new trial users of our project management tool.",
"expected_output": "Should recognize this is an email copywriting task, not page copywriting. Should defer to or cross-reference the emails skill, which specifically handles email sequences, drip campaigns, and lifecycle emails. May provide brief general guidance but should make clear that emails is the right skill for this task.",
"assertions": [
"Recognizes this as email sequence work",
"References or defers to emails skill",
"Does not attempt to write a full email sequence using page copywriting patterns"
],
"files": []
},
{
"id": 7,
"prompt": "Review this copy and tell me what's wrong: 'We are extremely excited to announce our revolutionary, cutting-edge platform that will totally transform how businesses optimize their workflows! Sign up now!!'",
"expected_output": "Should apply the Quick Quality Check. Should identify: exclamation points (remove them), marketing buzzwords without substance ('revolutionary,' 'cutting-edge,' 'totally transform,' 'optimize'), passive/weak constructions ('we are excited to announce'), vague language ('workflows'). Should apply writing style rules: simple over complex, specific over vague, confident over qualified, show over tell. Should rewrite the copy following these principles. Should provide 2-3 alternatives.",
"assertions": [
"Identifies exclamation point overuse",
"Identifies marketing buzzwords without substance",
"Identifies vague language",
"Applies writing style rules",
"Rewrites the copy following principles",
"Provides alternatives",
"Result is specific, clear, and jargon-free"
],
"files": []
}
]
}
@@ -1,18 +1,18 @@
---
name: page-cro
description: When the user wants to optimize, improve, or increase conversions on any marketing page — including homepage, landing pages, pricing pages, feature pages, or blog posts. Also use when the user says "CRO," "conversion rate optimization," "this page isn't converting," "improve conversions," or "why isn't this page working." For signup/registration flows, see signup-flow-cro. For post-signup activation, see onboarding-cro. For forms outside of signup, see form-cro. For popups/modals, see popup-cro.
name: cro
description: "When the user wants to optimize, improve, or increase conversions on any marketing page or form — including homepage, landing pages, pricing pages, feature pages, lead capture forms, or contact forms. Also use when the user says 'CRO,' 'conversion rate optimization,' 'this page isn't converting,' 'improve conversions,' 'why isn't this page working,' 'my landing page sucks,' 'form abandonment,' 'nobody's converting,' 'low conversion rate,' or 'this page needs work.' Use this even if the user just shares a URL and asks for feedback. For signup/registration flows, see signup. For post-signup activation, see onboarding. For popups/modals, see popups."
metadata:
version: 1.0.0
version: 2.0.0
---
# Page Conversion Rate Optimization (CRO)
# Conversion Rate Optimization (CRO)
You are a conversion rate optimization expert. Your goal is to analyze marketing pages and provide actionable recommendations to improve conversion rates.
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, identify:
@@ -175,8 +175,13 @@ When recommending experiments, consider tests for:
## Related Skills
- **signup-flow-cro**: If the issue is in the signup process itself
- **form-cro**: If forms on the page need optimization
- **popup-cro**: If considering popups as part of the strategy
- **signup**: If the issue is in the signup process itself
- **popups**: If considering popups as part of the strategy
- **copywriting**: If the page needs a complete copy rewrite
- **ab-test-setup**: To properly test recommended changes
- **ab-testing**: To properly test recommended changes
---
## Form Optimization
For detailed form CRO guidance — including field optimization, multi-step forms, error handling, and form-specific experiments — see [references/form.md](references/form.md).
+111
View File
@@ -0,0 +1,111 @@
{
"skill_name": "cro",
"evals": [
{
"id": 1,
"prompt": "Here's my SaaS landing page: https://example.com/product. We get about 5,000 visitors/month from Google Ads but only 1.2% convert to free trial signups. Can you help me figure out what's wrong?",
"expected_output": "Should check for product-marketing.md first. Should identify page type (landing page) and conversion goal (free trial signup). Should analyze across the CRO framework dimensions: value proposition clarity, headline effectiveness, CTA placement/copy/hierarchy, visual hierarchy, trust signals, objection handling, and friction points. Should provide recommendations organized as Quick Wins, High-Impact Changes, and Test Ideas. Should note the message match issue between Google Ads and landing page. Should provide 2-3 headline and CTA copy alternatives with rationale.",
"assertions": [
"Checks for product-marketing.md",
"Identifies page type as landing page",
"Identifies conversion goal as free trial signup",
"Analyzes value proposition clarity",
"Analyzes CTA placement and copy",
"Notes message match between ads and landing page",
"Output has Quick Wins section",
"Output has High-Impact Changes section",
"Output has Test Ideas section",
"Provides 2-3 headline or CTA alternatives"
],
"files": []
},
{
"id": 2,
"prompt": "Our pricing page has three tiers but nobody picks the middle one. 60% choose the cheapest plan and 30% bounce entirely. What should we change?",
"expected_output": "Should apply the Pricing Page CRO framework. Should address plan comparison clarity, recommended plan indication, and 'which plan is right for me?' anxiety. Should analyze whether the middle tier's value proposition is differentiated enough. Should recommend trust signals and social proof near pricing. Should suggest specific experiments like changing plan names, adjusting feature differentiation, adding an annual toggle, or highlighting the recommended plan visually. Output should include Quick Wins, High-Impact Changes, and Test Ideas sections.",
"assertions": [
"Applies Pricing Page CRO framework",
"Addresses recommended plan indication",
"Addresses 'which plan is right for me' anxiety",
"Analyzes middle tier differentiation",
"Suggests specific experiments",
"Output has Quick Wins section",
"Output has High-Impact Changes section",
"Output has Test Ideas section"
],
"files": []
},
{
"id": 3,
"prompt": "this page isn't converting. can you take a look? it's our homepage for a B2B project management tool",
"expected_output": "Should trigger on the casual 'this page isn't converting' phrasing. Should identify this as a Homepage CRO analysis. Should ask clarifying questions about current conversion rate, traffic sources, and conversion goal. Should apply the full CRO Analysis Framework starting with value proposition clarity. Should address the homepage-specific guidance: serving multiple audiences, leading with broadest value prop, and providing clear paths for different visitor intents. Should provide structured output with Quick Wins, High-Impact Changes, Test Ideas, and Copy Alternatives.",
"assertions": [
"Triggers on casual phrasing",
"Identifies as Homepage CRO",
"Asks about current conversion rate",
"Asks about traffic sources",
"Applies CRO Analysis Framework",
"Addresses serving multiple audiences",
"Addresses clear paths for different visitor intents",
"Output has structured sections"
],
"files": []
},
{
"id": 4,
"prompt": "We have a blog that gets 20k organic visits/month but almost nobody clicks through to our product. How do we get more conversions from blog readers?",
"expected_output": "Should apply the Blog Post CRO framework. Should recommend contextual CTAs matching content topics and inline CTAs at natural stopping points. Should analyze whether CTAs are relevant to the content topic or generic. Should suggest specific CTA placements: within content, end of post, sidebar, sticky bar. Should recommend testing different CTA formats (inline text links, banner cards, exit-intent). Should cross-reference copywriting skill for CTA copy improvement.",
"assertions": [
"Applies Blog Post CRO framework",
"Recommends contextual CTAs matching content",
"Recommends inline CTAs at natural stopping points",
"Suggests specific CTA placements",
"Suggests testing different CTA formats",
"Cross-references copywriting or related skill"
],
"files": []
},
{
"id": 5,
"prompt": "We redesigned our landing page and conversions dropped from 4.2% to 2.8%. Here's the new page. What went wrong?",
"expected_output": "Should approach this as a diagnostic CRO audit focused on what changed. Should systematically compare against the CRO framework dimensions to identify likely regression causes. Should check for common redesign mistakes: losing trust signals, weaker value proposition clarity, CTA hierarchy changes, added friction, broken message match with traffic sources. Should provide specific fixes organized by likely impact. Should recommend reverting high-risk changes while testing others.",
"assertions": [
"Approaches as diagnostic audit",
"Checks for lost trust signals",
"Checks for weakened value proposition",
"Checks for CTA hierarchy changes",
"Checks for added friction",
"Checks for broken message match with traffic sources",
"Provides fixes organized by impact",
"Recommends reverting high-risk changes"
],
"files": []
},
{
"id": 6,
"prompt": "Our signup form has too many fields and people keep abandoning it halfway through. Can you help optimize it?",
"expected_output": "Should recognize this is about signup form optimization, not general page CRO. Should defer to or cross-reference the signup skill, which specifically handles signup, registration, and account creation flows. May provide some general friction reduction advice but should make clear that signup is the right skill for this task.",
"assertions": [
"Recognizes this as signup flow optimization",
"References or defers to signup skill",
"Does not attempt full cro analysis on a form"
],
"files": []
},
{
"id": 7,
"prompt": "Review this feature page for our API monitoring tool. Most traffic comes from organic search for 'API monitoring tools'. We want them to start a free trial.",
"expected_output": "Should apply the Feature Page CRO framework: connect feature to benefit, show use cases and examples, clear path to try/buy. Should reference the experiments section and suggest prioritized test ideas for hero section, trust signals, and CTA variations. Should note the organic search traffic source and check for message match with search intent. Should cross-reference ab-testing skill for proper test implementation.",
"assertions": [
"Applies Feature Page CRO framework",
"Connects features to benefits",
"Suggests use cases and examples",
"Provides clear path to try/buy",
"Notes organic traffic source and search intent match",
"Suggests specific experiment hypotheses",
"Cross-references ab-testing skill"
],
"files": []
}
]
}
@@ -1,10 +1,3 @@
---
name: form-cro
description: When the user wants to optimize any form that is NOT signup/registration — including lead capture forms, contact forms, demo request forms, application forms, survey forms, or checkout forms. Also use when the user mentions "form optimization," "lead form conversions," "form friction," "form fields," "form completion rate," or "contact form." For signup/registration forms, see signup-flow-cro. For popups containing forms, see popup-cro.
metadata:
version: 1.0.0
---
# Form CRO
You are an expert in form optimization. Your goal is to maximize form completion rates while capturing the data that matters.
@@ -12,7 +5,7 @@ You are an expert in form optimization. Your goal is to maximize form completion
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md` in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, identify:
@@ -120,7 +113,7 @@ For each field, ask:
4. Logical grouping if many fields
### Labels and Placeholders
- Labels: Always visible (not just placeholder)
- Labels: Keep visible (not just placeholder) — placeholders disappear when typing, leaving users unsure what they're filling in
- Placeholders: Examples, not labels
- Help text: Only when genuinely helpful
@@ -423,7 +416,7 @@ Ideas to A/B test with expected outcomes
## Related Skills
- **signup-flow-cro**: For account creation forms
- **popup-cro**: For forms inside popups/modals
- **page-cro**: For the page containing the form
- **ab-test-setup**: For testing form changes
- **signup**: For account creation forms
- **popups**: For forms inside popups/modals
- **cro**: For the page containing the form
- **ab-testing**: For testing form changes
+272
View File
@@ -0,0 +1,272 @@
---
name: customer-research
description: When the user wants to conduct, analyze, or synthesize customer research. Use when the user mentions "customer research," "ICP research," "talk to customers," "analyze transcripts," "customer interviews," "survey analysis," "support ticket analysis," "voice of customer," "VOC," "build personas," "customer personas," "jobs to be done," "JTBD," "what do customers say," "what are customers struggling with," "Reddit mining," "G2 reviews," "review mining," "digital watering holes," "community research," "forum research," "competitor reviews," "customer sentiment," or "find out why customers churn/convert/buy." Use for both analyzing existing research assets AND gathering new research from online sources. For writing copy informed by research, see copywriting. For acting on research to improve pages, see cro.
metadata:
version: 2.0.0
---
# Customer Research
You are an expert customer researcher. Your goal is to help uncover what customers actually think, feel, say, and struggle with — so that everything from positioning to product to copy is grounded in reality rather than assumption.
## Before Starting
**Check for product marketing context first:**
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context to skip questions already answered.
---
## Two Modes of Research
### Mode 1: Analyze Existing Assets
You have raw research material (transcripts, surveys, reviews, tickets). Your job is to extract signal.
### Mode 2: Go Find Research
You need to gather intel from online sources (Reddit, G2, forums, communities, review sites). Your job is to know where to look and what to extract.
Most engagements combine both. Establish which mode applies before proceeding.
---
## Mode 1: Analyzing Existing Research Assets
### Asset Types
**Customer interview / sales call transcripts**
- Extract: pains, triggers, desired outcomes, language used, objections, alternatives considered
- Look for: the moment they decided to look for a solution, what they tried before, what success looks like to them
**Survey results**
- Segment responses by customer tier, use case, or tenure before drawing conclusions
- Flag: what open-ended answers say vs. what multiple-choice answers say (they often conflict)
- Identify: the 20% of responses that contain the most useful signal
**Customer support conversations**
- Mine for: recurring complaints, confusion points, feature requests, and "I wish it could…" language
- Categorize tickets before analyzing — don't treat all tickets as equal signal
- Separate bugs from confusion from missing features from expectation mismatches
**Win/loss interviews and churned customer notes**
- Wins: what tipped the decision? What almost made them choose a competitor?
- Losses and churn: was it price, features, fit, timing, or something else?
- Segment by reason — don't average across different churn causes
**NPS responses**
- Passives and detractors are higher signal than promoters for improvement work
- Pair scores with verbatims — a 9 with a specific complaint beats a 10 with no comment
### Extraction Framework
For each asset, extract:
1. **Jobs to Be Done** — what outcome is the customer trying to achieve?
- Functional job: the task itself
- Emotional job: how they want to feel
- Social job: how they want to be perceived
2. **Pain Points** — what's frustrating, broken, or inadequate about their current situation?
- Prioritize pains mentioned unprompted and with emotional language
3. **Trigger Events** — what changed that made them seek a solution?
- Common triggers: team growth, new hire, missed target, embarrassing incident, competitor doing something
4. **Desired Outcomes** — what does success look like in their words?
- Capture exact quotes, not paraphrases
5. **Language and Vocabulary** — exact words and phrases customers use
- This is gold for copy. "We were drowning in spreadsheets" > "manual process inefficiency"
6. **Alternatives Considered** — what else did they look at or try?
- Includes doing nothing, hiring someone, or building internally
### Synthesis Steps
After extracting from individual assets:
1. **Cluster by theme** — group similar pains, outcomes, and triggers across assets
2. **Frequency + intensity scoring** — how often does a theme appear, and how strongly is it felt?
3. **Segment by customer profile** — do patterns differ by company size, role, use case, or tenure?
4. **Identify the "money quotes"** — 5-10 verbatim quotes that best represent each theme
5. **Flag contradictions** — where do customers say one thing but do another?
### Research Quality Guardrails
Label every insight with a confidence level before presenting it:
| Confidence | Criteria |
|------------|----------|
| **High** | Theme appears in 3+ independent sources; mentioned unprompted; consistent across segments |
| **Medium** | Theme appears in 2 sources, or only prompted, or limited to one segment |
| **Low** | Single source; could be an outlier; needs validation |
**Recency window**: Weight sources from the last 12 months more heavily. Markets shift — a 3-year-old transcript may reflect a different product and buyer.
**Sample bias checks**:
- Online reviewers skew toward power users and people with strong opinions
- Support tickets skew toward problems, not value
- Reddit skews technical and skeptical vs. mainstream buyers
- Factor this in when drawing conclusions about "all customers"
**Minimum viable sample**: Don't build personas or draw messaging conclusions from fewer than 5 independent data points per segment.
---
## Mode 2: Digital Watering Hole Research
Online communities are where customers speak without a filter. The goal is to find authentic, unmoderated language about the problem space.
### Where to Look
Choose sources based on your ICP type — then read `references/source-guides.md` for detailed playbooks, search operators, and per-platform extraction tips.
| ICP Type | Primary Sources |
|----------|----------------|
| B2B SaaS / technical buyers | Reddit (role-specific subs), G2/Capterra, Hacker News, LinkedIn, Indie Hackers, SparkToro |
| SMB / founders | Reddit (r/entrepreneur, r/smallbusiness), Indie Hackers, Product Hunt, Facebook Groups, SparkToro |
| Developer / DevOps | r/devops, r/programming, Hacker News, Stack Overflow, Discord servers |
| B2C / consumer | App store reviews (1-3 star), Reddit hobby/lifestyle subs, YouTube comments, TikTok/Instagram comments |
| Enterprise | LinkedIn, industry analyst reports, G2 Enterprise filter, job postings, SparkToro |
**Quick decision guide:**
- Have a product category? → Start with G2/Capterra reviews (yours + competitors)
- Need to know where your audience spends time? → SparkToro (reveals podcasts, YouTube, subreddits, websites, social accounts)
- Need raw language? → Reddit and YouTube comments
- Need trigger events? → LinkedIn posts, job postings, Hacker News "Ask HN" threads
- Need competitive intel? → Competitor 4-star reviews on G2; Product Hunt discussions; SparkToro competitor audience analysis
### What to Extract from Each Source
For every piece of content you find:
| Field | What to Capture |
|-------|----------------|
| Source | Platform, thread URL, date |
| Verbatim quote | Exact words — don't paraphrase |
| Context | What prompted the comment? |
| Sentiment | Positive / negative / neutral / frustrated |
| Theme tag | Pain / trigger / outcome / alternative / language |
| Customer profile signals | Role, company size, industry hints from the post |
### Research Synthesis Template
After gathering from multiple sources, synthesize into:
```
## Top Themes (ranked by frequency × intensity)
### Theme 1: [Name]
**Summary**: [1-2 sentences]
**Frequency**: Appeared in X of Y sources
**Intensity**: High / Medium / Low (based on emotional language used)
**Representative quotes**:
- "[exact quote]" — [source, date]
- "[exact quote]" — [source, date]
**Implications**: What this means for messaging / product / positioning
### Theme 2: ...
```
---
## Persona Generation
Personas should be built from research, not invented. Don't create a persona until you have at least 5-10 data points (interviews, reviews, or community posts) from a consistent segment.
### Persona Structure
```
## [Persona Name] — [Role/Title]
**Profile**
- Title range: [e.g., "Marketing Manager to VP of Marketing"]
- Company size: [e.g., "50500 employees, Series AC SaaS"]
- Industry: [if narrow]
- Reports to: [who]
- Team size managed: [if relevant]
**Primary Job to Be Done**
[One sentence: what outcome are they trying to achieve in their role?]
**Trigger Events**
What causes them to start looking for a solution like yours?
- [trigger 1]
- [trigger 2]
**Top Pains**
1. [Pain — in their words if possible]
2. [Pain]
3. [Pain]
**Desired Outcomes**
- [What success looks like to them]
- [How they measure it]
- [How it makes them look to their boss/team]
**Objections and Fears**
- [What makes them hesitate to buy or switch]
**Alternatives They Consider**
- [Competitor, DIY, do nothing, hire someone]
**Key Vocabulary**
Words and phrases they actually use (sourced from research):
- "[phrase]"
- "[phrase]"
**How to Reach Them**
- Channels: [where they spend time]
- Content they consume: [formats, topics]
- Influencers/communities they trust: [specific names if known]
```
### Persona Anti-Patterns
- **Don't name them cutely** ("Marketing Mary") unless your team finds it helpful — it's often a distraction
- **Don't average across segments** — a persona that represents everyone represents no one
- **Don't invent details** — if you don't have data on something, leave it blank rather than filling it in
- **Revisit quarterly** — personas decay as your market and product evolve
---
## Deliverable Formats
Depending on what the user needs, offer:
1. **Research synthesis report** — themes, quotes, patterns, and implications
2. **VOC quote bank** — organized verbatim quotes by theme, for use in copy
3. **Persona document** — 1-3 personas built from the research
4. **Jobs-to-be-done map** — functional, emotional, and social jobs by segment
5. **Competitive intelligence summary** — what customers say about competitors vs. you
6. **Research gap analysis** — what you still don't know and how to find it
Ask the user which deliverable(s) they need before generating output.
---
## Questions to Ask Before Proceeding
If context is unclear:
1. **What's the goal?** Improve messaging? Build personas? Find product gaps? Understand churn?
2. **What do you already have?** (transcripts, surveys, tickets, G2 reviews, nothing)
3. **Who is the target segment?** (all customers, a specific tier, churned users, prospects who didn't buy)
4. **What's your product?** (if not in the product marketing context file)
5. **What do you want delivered?** (synthesis report, persona, quote bank, competitive intel)
Don't ask all five at once — lead with #1 and #2, then follow up as needed.
---
## Related Skills
| When to hand off | Skill |
|-----------------|-------|
| Writing copy informed by the research | `copywriting` |
| Optimizing a page using VOC insights | `cro` |
| Building a competitor comparison page | `competitors` |
| Creating a churn prevention strategy from churn research | `churn-prevention` |
| Planning paid ads informed by research | `ads` |
| Writing cold email using research on pain/trigger | `cold-email` |
| Translating customer research into an ICP for outbound | `prospecting` |
| Planning content based on discovered topics | `content-strategy` |
| Rolling research into a comprehensive marketing plan | `marketing-plan` |
+162
View File
@@ -0,0 +1,162 @@
{
"skill_name": "customer-research",
"evals": [
{
"id": 1,
"prompt": "I have 20 customer interview transcripts. Help me analyze them.",
"expected_output": "Should check for product-marketing.md first. Should ask about the goal before analyzing (improve messaging, build personas, find product gaps, etc.). Should apply the extraction framework: jobs to be done, pain points, trigger events, desired outcomes, language/vocabulary, alternatives considered. Should recommend clustering by theme, frequency + intensity scoring, and identifying money quotes. Should ask which deliverable is needed.",
"assertions": [
"Checks for product-marketing.md",
"Asks about the goal before diving in (improve messaging, build personas, find gaps, etc.)",
"Mentions extracting jobs to be done, pain points, and desired outcomes",
"Suggests organizing quotes by theme",
"References frequency and intensity scoring",
"Asks which deliverable is needed"
],
"files": []
},
{
"id": 2,
"prompt": "I want to do ICP research but I don't have any customer interviews yet.",
"expected_output": "Should check for product-marketing.md first. Should recommend digital watering hole research as a starting point. Should mention Reddit, G2, Capterra, forums, or niche communities as sources. Should offer to plan a research approach and explain what to extract from online sources. Should note this is Mode 2 and ask what product/category to research.",
"assertions": [
"Checks for product-marketing.md",
"Recommends digital watering hole research as an alternative",
"Mentions Reddit, G2, or review sites as starting points",
"Asks what product or category to research",
"Offers to help extract insights from online sources"
],
"files": []
},
{
"id": 3,
"prompt": "Mine Reddit and G2 to understand what people hate about project management software.",
"expected_output": "Should check for product-marketing.md first. Should identify relevant subreddits (r/projectmanagement, r/productivity, r/agile) and search strategies. Should recommend reading 3-star and 1-star G2 reviews and competitor 4-star reviews. Should plan to extract verbatim quotes, pain themes, and switching triggers. Should apply the extraction table (source, quote, context, sentiment, theme tag, profile signals).",
"assertions": [
"Checks for product-marketing.md",
"Identifies relevant subreddits or search strategies for project management",
"Suggests reading 3-star and 1-star G2 reviews",
"Recommends competitor 4-star reviews for buried complaints",
"Plans to extract verbatim quotes and pain themes",
"Mentions what to look for: complaints, workarounds, switching triggers"
],
"files": []
},
{
"id": 4,
"prompt": "Build me a customer persona for a marketing manager at a B2B SaaS company.",
"expected_output": "Should check for product-marketing.md first. Should ask if there is existing research to build from before generating a persona. Should warn against inventing details without data. Should use the persona structure: profile, primary JTBD, trigger events, top pains, desired outcomes, objections, alternatives, key vocabulary, how to reach them. Should note that personas should be built from at least 5-10 data points.",
"assertions": [
"Checks for product-marketing.md",
"Asks if there is existing research to build from before inventing details",
"Warns against creating personas without data",
"Includes jobs to be done, pains, triggers, and desired outcomes in persona structure",
"Mentions the need to capture actual customer vocabulary",
"Notes minimum data threshold (5-10 data points)"
],
"files": []
},
{
"id": 5,
"prompt": "I have 6 months of customer support tickets. What insights can I pull from them?",
"expected_output": "Should check for product-marketing.md first. Should recommend categorizing tickets before analyzing (bugs vs. confusion vs. feature requests vs. expectation mismatches). Should warn against treating all tickets as equal signal. Should suggest extracting recurring language, patterns, and 'I wish it could…' phrases. Should ask about the goal — product improvement, messaging, reducing support load, or something else.",
"assertions": [
"Checks for product-marketing.md",
"Recommends categorizing tickets before analyzing (bugs vs confusion vs feature requests)",
"Warns against treating all tickets as equal signal",
"Mentions extracting recurring language and patterns",
"Asks about the goal — product improvement, messaging, or something else"
],
"files": []
},
{
"id": 6,
"prompt": "What are customers saying about my competitors on review sites?",
"expected_output": "Should check for product-marketing.md first. Should ask which competitors to research. Should recommend G2 and Capterra as primary sources. Should specifically call out reading competitor 4-star reviews for buried complaints. Should describe what to extract: what they love (battlecard intel), what frustrates them (opportunities), unmet needs. Should use the review mining template.",
"assertions": [
"Checks for product-marketing.md",
"Recommends reading competitor 4-star reviews specifically for buried complaints",
"Mentions G2 or Capterra as sources",
"Describes what to extract: what they love, what frustrates them, unmet needs",
"Frames as competitive intelligence input"
],
"files": []
},
{
"id": 7,
"prompt": "Help me do voice of customer research for a new SaaS in the HR space.",
"expected_output": "Should check for product-marketing.md first. Should ask about the specific ICP segment within HR (recruiter, HR generalist, CHRO, etc.). Should suggest relevant digital watering holes: r/humanresources, r/recruiting, HR Slack communities, G2 HR category, LinkedIn. Should plan to extract verbatim language for copy use. Should offer to produce a VOC quote bank as a deliverable.",
"assertions": [
"Checks for product-marketing.md",
"Asks about target ICP segment within HR",
"Suggests relevant digital watering holes (subreddits, G2 categories, communities)",
"Plans to extract verbatim language for copy use",
"Mentions organizing findings into a VOC quote bank"
],
"files": []
},
{
"id": 8,
"prompt": "I want to understand why customers churn. I have exit survey results.",
"expected_output": "Should check for product-marketing.md first. Should recommend segmenting churn reasons before analyzing — do not average across different causes. Should suggest pairing open-ended responses with quantitative data. Should ask if win/loss interview data or support tickets are also available. Should apply confidence labels (high/med/low) based on sample size and source consistency.",
"assertions": [
"Checks for product-marketing.md",
"Recommends segmenting churn reasons before analyzing",
"Warns against averaging across different churn causes",
"Suggests pairing open-ended responses with quantitative data",
"Asks if win/loss interview data is also available"
],
"files": []
},
{
"id": 9,
"prompt": "Find the digital watering holes where DevOps engineers talk shop.",
"expected_output": "Should check for product-marketing.md first. Should identify specific relevant communities: r/devops, r/sysadmin, Hacker News, DevOps-focused Discord/Slack groups, LinkedIn, Stack Overflow. Should suggest what to search for in those communities. Should describe what signal to extract from each source type and reference source-guides.md for detailed playbooks.",
"assertions": [
"Checks for product-marketing.md",
"Mentions specific relevant communities (r/devops, Hacker News, LinkedIn, Discord)",
"Suggests what to search for in those communities",
"Describes what signal to extract from each source type"
],
"files": []
},
{
"id": 10,
"prompt": "Turn my customer research into messaging I can use on my homepage.",
"expected_output": "Should check for product-marketing.md first. Should extract VOC language and top themes before moving to copy. Should identify the highest-signal quotes and language patterns. Should produce a VOC summary or quote bank, then hand off to the copywriting skill for the actual copy writing step rather than writing homepage copy directly.",
"assertions": [
"Checks for product-marketing.md",
"Extracts the VOC language and themes first before jumping to copy",
"Identifies the highest-signal quotes for messaging",
"References the copywriting skill for the actual copy writing step"
],
"files": []
},
{
"id": 11,
"prompt": "I run a mobile fitness app and want to understand why users drop off after week 2.",
"expected_output": "Should check for product-marketing.md first. Should recognize this as a B2C research scenario. Should suggest B2C-appropriate sources: app store reviews (1-3 star), Reddit fitness communities, YouTube comment sections on fitness apps, TikTok/Instagram comments. Should also recommend in-app surveys and analyzing support tickets/reviews. Should frame around activation and habit formation research.",
"assertions": [
"Checks for product-marketing.md",
"Recognizes this as a B2C research scenario",
"Suggests app store reviews as a primary source",
"Mentions Reddit or community sources relevant to fitness/consumer apps",
"Frames around understanding drop-off triggers and desired outcomes"
],
"files": []
},
{
"id": 12,
"prompt": "I have no existing research and don't know who my best customers are yet.",
"expected_output": "Should check for product-marketing.md first. Should treat this as a bootstrap research scenario. Should recommend starting with hypothesis formation before gathering data. Should suggest a minimum viable research plan: 5-10 customer interviews + digital watering hole scan. Should provide interview recruiting tips and what questions to ask. Should warn against building personas before collecting any data.",
"assertions": [
"Checks for product-marketing.md",
"Recognizes this as a zero-research bootstrap scenario",
"Recommends forming hypotheses before gathering data",
"Suggests a minimum viable research plan (interviews + online sources)",
"Warns against building personas without any data"
],
"files": []
}
]
}
@@ -0,0 +1,401 @@
# Customer Research — Source Guides
Detailed, source-by-source playbooks for gathering customer intelligence from online watering holes.
---
## Reddit Research
### Finding the Right Subreddits
Start by identifying where your ICP spends time, not where your product is discussed.
**Discovery methods:**
- Search `site:reddit.com "[job title] tools"` or `site:reddit.com "[problem category] software"`
- Use [subreddit search tools](https://www.reddit.com/subreddits/search) with problem-space keywords
- Look at what subreddits show up in Google results when you search ICP problems
- Check what subreddits competitors' customers mention in reviews
**Common high-value subreddits by category:**
- B2B SaaS: r/sales, r/marketing, r/entrepreneur, r/startups, r/smallbusiness
- Dev tools: r/programming, r/devops, r/webdev, r/cscareerquestions
- Analytics/data: r/analytics, r/dataengineering, r/BusinessIntelligence
- Marketing: r/PPC, r/SEO, r/emailmarketing, r/content_marketing
- HR/recruiting: r/recruiting, r/humanresources, r/jobs
- Finance/ops: r/accounting, r/financialplanning, r/projectmanagement
### Search Operators
```
site:reddit.com/r/[subreddit] "[keyword]"
site:reddit.com "[problem]" "recommend" OR "suggestion" OR "alternative"
site:reddit.com "[competitor name]" "vs" OR "alternative" OR "switched"
```
### What to Look For
**High-signal post types:**
- "What tools do you use for X?" → reveals alternatives and vocab
- "Frustrated with [competitor], looking for alternatives" → reveals pain and switching triggers
- "How do you handle X?" → reveals workflow and workarounds
- "Is [your category] worth it?" → reveals objections and evaluation criteria
- Complaint threads about competitors → reveals gaps you might fill
**What to extract:**
- The exact problem described in the post
- Top-voted solutions (what do practitioners actually recommend?)
- Complaints about existing solutions in comments
- The language used — note specific words and phrases
- Upvote patterns — consensus vs. controversy
### Tools
- Reddit's native search (limited but fast)
- Google: `site:reddit.com [query]` (better results)
- Pullpush.io — search archived Reddit posts (good for older threads)
---
## G2 and Review Site Mining
### Your Own Product Reviews
Read in this order for maximum signal:
1. **3-star reviews** — these are the most honest. Customer liked it enough to stay but felt something was missing.
2. **1-star reviews** — understand the failure modes. Separate product issues from support/onboarding issues.
3. **5-star reviews** — extract the "what they love" language. These are your proof points.
4. **4-star reviews** — often contain "the only thing I wish…" buried in praise.
**What to extract:**
- What they say they use it *for* (the job to be done)
- What they say is hardest or most frustrating
- What they compare it to ("coming from [X]", "better than [Y]")
- Industry and role signals in reviewer profiles
### Competitor Reviews on G2
The 4-star competitor reviews are gold — customers who like the product but still have complaints.
**G2 structure to exploit:**
- "What do you like best?" → their strengths (your battlecard intel)
- "What do you dislike?" → their weaknesses (your opportunities)
- "What problems are you solving?" → the job to be done
**Capterra** has similar structure. **Trustpilot** skews B2C. **AppSumo** reviews are useful for SMB/prosumer SaaS.
### Review Mining Template
For each competitor's 4-star reviews, extract:
| Category | Notes |
|----------|-------|
| Job to be done | Why do they use the product? |
| Top praise | What do they love (and might be hard for you to match)? |
| Top complaint | What frustrates them? |
| Switching context | Did they mention switching from something else? |
| Unmet need | "I wish it could…" or "It would be better if…" |
---
## Indie Hackers and Product Hunt
### Indie Hackers
Strong signal for founder/builder/SMB ICP.
**Where to look:**
- "Ask IH" posts: questions about problems your product solves
- Milestone posts: when founders describe their stack, they reveal tool preferences and pain
- Comment threads on product launches in your category
**Search:** `site:indiehackers.com "[problem]"` or use IH's native search.
### Product Hunt
**Discussion tabs** on competing products are a research goldmine:
- Questions asked = pre-sales concerns = objections
- Comments = early adopter reactions = leading indicators of reception
- "Alternatives to X" collections reveal the competitive landscape as users see it
---
## Hacker News
Strong signal for technical/developer ICP. Skews toward builders and skeptics.
**High-value searches:**
- `site:news.ycombinator.com "[competitor or category]"`
- HN "Ask HN: best tools for X" threads
- "Show HN" posts for competitors — read the skeptical comments
**What's different about HN:**
- Users are more likely to critique underlying architecture and business model
- Strong opinions about pricing models (especially anything subscription-based)
- First principles objections you might not hear elsewhere
---
## LinkedIn Research
### Posts and Comments
Search for posts by practitioners describing their workflows:
- "[Role] at [company size]" + problem keyword
- "We used to [old way] but now we [new way]" stories
- Posts asking for tool recommendations get comments from active buyers
### Job Postings
A job posting is a company's admission of a pain point.
**What to look for:**
- What tools are listed as "nice to have" vs. "required"? (reveals stack and adjacent tools)
- What metrics and outcomes are mentioned in the role description?
- What does the role spend most of its time doing? (reveals the job to be done)
**Search:** `site:linkedin.com/jobs "[role title]" "[relevant tool or category]"`
---
## YouTube Comments
### Finding High-Signal Videos
- Tutorial videos for problems your product solves
- "Best tools for X in [year]" roundup videos
- Competitor product demos and walkthroughs
**What to look for in comments:**
- "Does this work for [specific use case]?" → edge cases and unmet needs
- "I tried this but…" → failure points
- "What about [competitor]?" → active evaluation
- Timestamps with questions → confusion points in the workflow
---
## Twitter / X Research
### Search Operators
```
"[competitor]" -filter:replies min_faves:10
"[problem keyword]" "anyone know" OR "recommend" OR "alternative"
"[category] is broken" OR "frustrated with [category]"
```
### What to Find
- Real-time complaints about competitors
- Practitioners discussing their stack
- Influencers/thought leaders your ICP follows (useful for distribution)
---
## Blog Post and Forum Research
### Comparison Content
Google: `"[competitor 1] vs [competitor 2]"` or `"best [category] software [year]"`
Read the comments on these posts — people who find comparison content are actively evaluating. Their comments are questions your sales process should answer.
### Niche Communities
- **Slack communities**: Many industries have public or semi-public Slack groups. Search "[industry] Slack community".
- **Discord servers**: Growing for developer and creator communities.
- **Facebook Groups**: Still strong for SMB, e-commerce, agency, and coach/consultant ICP.
- **Circle/Mighty Networks communities**: Check if there are paid communities in your ICP's space.
---
## B2C and Consumer App Research
B2C research requires different sources than B2B SaaS. Consumer buyers don't congregate on LinkedIn or G2 — they leave traces in app stores, social media, and communities built around the activity your product serves.
### App Store Reviews (iOS App Store / Google Play)
One of the richest unfiltered sources for mobile/consumer products.
**Read in this order:**
1. **1-2 star reviews** — failure modes, unmet expectations, frustration peaks
2. **3-star reviews** — honest tradeoffs and "it's good but…" feedback
3. **5-star reviews** — what they love in their own words (proof points and positioning)
**What to extract:**
- What job they hired the app to do ("I use this to…")
- The moment it stopped working for them
- What they compared it to or switched from
- Emotional language — "I love how…", "I'm so frustrated that…"
**Search tip:** Sort by "Most Recent" to get fresh signal, then "Most Critical" for pain themes.
### Amazon Reviews (for physical products or software with Amazon presence)
Same priority order as app stores: 3-star reviews first.
**G2 analog for consumer SaaS**: Trustpilot, Sitejabber, and product-specific review aggregators.
### Reddit Consumer Communities
B2C Reddit is highly vertical — go to the hobby/lifestyle subreddit, not the general ones.
**Examples by product type:**
- Fitness apps: r/running, r/loseit, r/fitness, r/MyFitnessPal
- Personal finance: r/personalfinance, r/financialindependence, r/ynab
- Productivity/notes: r/productivity, r/Notion, r/ObsidianMD
- Travel: r/travel, r/solotravel, r/digitalnomad
- Parenting: r/Parenting, r/beyondthebump, r/daddit
**Search pattern:** `site:reddit.com/r/[community] "[app name OR problem]"`
### TikTok and Instagram Comments
High-signal for consumer products with visual/lifestyle appeal.
**How to find signal:**
- Search TikTok for "[product name] review" or "is [product] worth it"
- Watch the top 5-10 videos; read ALL comments — not just likes
- On Instagram, check tagged posts from real users (not brand posts)
**What to extract:**
- Questions in comments = unmet needs or unclear positioning
- "Does this work for…?" = jobs they want to hire it for
- "I switched from X" comments = switching triggers
- Complaints about price, missing features, or broken promises
### YouTube Comments (Consumer)
Same approach as B2B but different video types:
- "X app honest review" or "X app after 6 months"
- "Best [category] apps [year]" comparison videos
- Unboxing or "setup" videos for hardware/physical products
Comments on review videos are especially valuable — these are people actively in the consideration phase.
### Consumer Community Platforms
- **Facebook Groups**: Still dominant for many consumer verticals (parenting, fitness, local services, hobbies)
- **Discord servers**: Growing for gaming, creator tools, productivity, crypto, lifestyle communities
- **Nextdoor**: Useful for local service businesses
- **Quora**: Long-form questions reveal decision anxiety and evaluation criteria
---
## SparkToro (Audience Intelligence)
SparkToro is a behavioral audience research tool. Instead of mining individual posts and comments, it aggregates clickstream, search, and social data to show what your audience does at scale — what they read, watch, listen to, follow, and search for.
### When to Use SparkToro vs. Manual Research
- **SparkToro first** when you need to understand where your ICP spends time, what content they consume, and which influencers they follow — it answers these questions in seconds with aggregated data
- **Manual research first** (Reddit, G2, communities) when you need raw language, exact quotes, emotional context, and the "why" behind behavior
- **Best together**: Use SparkToro to identify which podcasts, subreddits, and websites matter, then go mine those sources manually for voice-of-customer language
### Key Queries to Run
**By competitor:**
- "People who follow @competitor" — reveals shared audience affinities
- "People who visit competitor.com" — shows what else they consume
**By audience description:**
- "People who frequently talk about [topic]" — finds audience behaviors
- "People whose bio contains [job title]" — profiles a role-based segment
**By your own audience:**
- "People who visit yourdomain.com" — understand your actual audience
- Compare against competitor audience profiles to find gaps
### What to Extract
| Data Type | What It Tells You | Use It For |
|-----------|------------------|------------|
| Top websites visited | Where your audience reads | Content partnerships, guest posting targets |
| Top podcasts | What they listen to | Podcast guesting, sponsorship decisions |
| Top YouTube channels | What they watch | Video content strategy, ad placements |
| Top subreddits | Where they discuss | Community participation, Reddit ad targeting |
| Search keywords | What they Google | SEO and content topic planning |
| AI prompt topics | What they ask AI tools | Emerging content opportunities |
| Social accounts followed | Who influences them | Influencer partnerships, co-marketing |
| Demographics | Who they are | Persona building, ad targeting |
### Source Weighting
SparkToro data is aggregated and anonymized — it shows patterns, not individual opinions. Treat it as:
- **High confidence** for behavioral data (what they visit, follow, search for)
- **Medium confidence** for demographic data (self-reported, may be incomplete)
- **Not a substitute** for qualitative research (doesn't capture language, emotions, or the "why")
### Limitations
- Free tier: 5 reports/month, shallow results (top 510)
- No public API — all research done through web interface
- Skews English-language, US-centric
- Shows what audiences do, not why — pair with qualitative sources
See [tools/integrations/sparktoro.md](../../../tools/integrations/sparktoro.md) for full tool details and pricing.
---
## Organizing Your Research
Use a simple tagging system across all sources:
| Tag | Meaning |
|-----|---------|
| `#pain` | A problem or frustration |
| `#trigger` | An event that prompted the search |
| `#outcome` | What success looks like |
| `#language` | Exact phrases worth using in copy |
| `#alternative` | Another solution they considered or use |
| `#objection` | Reason to hesitate or not buy |
| `#competitor` | Anything about a competing product |
Keep a running doc with columns: Source | Date | Quote | Tags | Notes
After 20-30 entries, patterns will emerge. Look for quotes that appear in multiple unrelated sources — those are your highest-confidence insights.
---
## Source Reliability and Confidence Scoring
Not all sources carry equal weight. Use this guide when assigning confidence labels.
### Source Weighting
| Source | Signal Strength | Bias to Note |
|--------|----------------|--------------|
| Customer interviews (unprompted) | Very high | Small sample; selection bias toward engaged customers |
| Win/loss interviews | High | Recent memory only; rationalization common |
| App store / G2 reviews | High | Skews toward strong opinions (love or hate) |
| Reddit / community posts | Medium-high | Skews technical, skeptical, vocal minorities |
| Support tickets | Medium | Skews toward problems; silent majority not represented |
| Survey (open-ended) | Medium | Primed by question framing |
| Survey (multiple choice) | Low-medium | Artifacts of the options you provided |
| NPS verbatims | Medium | Correlates with score; prompted by the survey moment |
| YouTube/TikTok comments | Medium | Skews toward engaged viewers; social performance |
| SparkToro audience data | Medium-high | Aggregated behavioral data; strong for "what" but not "why" |
| Job postings | Low-medium | Aspirational, not necessarily reflective of current pain |
### Confidence Labels in Practice
When presenting insights, lead with confidence:
```
[HIGH CONFIDENCE] Customers feel overwhelmed by manual reporting — appears in 12 of 20 interviews,
4 Reddit threads, and is the #1 complaint in 3-star G2 reviews. Consistent across SMB and mid-market.
[MEDIUM CONFIDENCE] Customers compare us to spreadsheets more than to direct competitors —
mentioned in 6 interviews and 3 Reddit threads, but not yet seen in review data.
[LOW CONFIDENCE] Enterprise buyers may have procurement concerns — mentioned by 2 interviewees
from companies 500+. Needs more signal before acting on it.
```
### Recency Window
- **Use as primary source**: Data from the last 12 months
- **Use with caution**: 12-24 months (product and market may have shifted)
- **Use only for baseline context**: 2+ years old
When a theme appears consistently across old and new data, that's a durable signal worth acting on.
+381
View File
@@ -0,0 +1,381 @@
---
name: directory-submissions
description: When the user wants to submit their product to startup, SaaS, AI, agent, MCP, no-code, or review directories for backlinks, domain rating, and discovery. Also use when the user mentions "directory submissions," "submit to directories," "backlinks from directories," "list my product," "submit to Product Hunt," "BetaList," "TAAFT," "Futurepedia," "G2 listing," "Capterra listing," "AlternativeTo," "SaaSHub," "AI directories," "MCP registry," "agent directory," "dofollow backlinks," "launch directories," or "directory tracker." Use this whenever someone is planning the directory layer of a product launch or an ongoing backlink campaign. For the broader launch moment, see launch. For programmatic SEO pages that should live behind these backlinks, see programmatic-seo. For AI citation optimization, see ai-seo.
metadata:
version: 2.0.0
---
# Directory Submissions
You are an expert in directory-driven distribution for software products. Your goal is to help the user build a compounding backlink + discovery foundation by submitting to the right directories, in the right order, with the right positioning — and to make sure that foundation actually produces leads instead of vanity backlinks.
## Before Starting
**Check for product marketing context first:**
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
---
## Core Philosophy
Directory submissions are the **foundation layer** of distribution — never the whole strategy. They do three things well:
1. **Pass dofollow backlinks** from high domain-rating sites into your marketing pages. This raises your DR, which makes your entire site easier to rank for competitive keywords.
2. **Create discovery surface area** — people browsing AI/SaaS directories are in-market buyers, not random traffic.
3. **Get cited by AI engines** — ChatGPT, Claude, Perplexity, and Google AI Overviews all pull heavily from high-DR directories when answering "what's the best [category]?" queries. AI-referred traffic converts **627× higher** than traditional search traffic.
But directories alone will not generate meaningful leads. They exist to pass link equity into the pages that DO generate leads — template galleries, comparison pages, alternative pages, blog posts. **Build the destination pages first, then submit to directories so the link equity has somewhere useful to land.**
The full directory catalog lives in `references/directory-list.md`. The positioning variant library lives in `references/positioning-variations.md`. The submission tracker template lives in `references/submission-tracker-template.csv`.
---
## The Three Hard Rules
### Rule 1: Foundation before submission
Never submit to a directory until the landing page it will link to is live, indexed, and has:
- A single `<h1>` and sequential heading hierarchy — pages with clean hierarchy have **2.8× higher AI citation rates**, and 87% of ChatGPT-cited pages use a single H1.
- A real pricing page (even "free while in beta" counts — most Tier 1 directories require one).
- Privacy policy + terms.
- Logo assets in PNG + SVG + square 1024×1024 + favicon.
- 58 real product screenshots at 1920×1080 (not marketing mockups).
- A 6090 second demo video — products with video on Product Hunt get **2.7× more upvotes**.
- FAQ schema markup (AI engines heavily weight `FAQPage` JSON-LD for answer extraction).
- Structured data: `Organization`, `Product`, `SoftwareApplication`.
### Rule 2: Destination pages before directories
Directories are the *source* of link equity. You need *destinations* that can convert the resulting traffic. Minimum destinations before submitting to anything:
- 35 competitor alternative pages (`/alternatives/[competitor]`) targeting "[competitor] alternative" keywords. Comparison/alternative pages convert at **515%** vs 0.52% for generic content.
- 35 use-case pages (`/for/[audience]` or `/use-cases/[use-case]`).
- Template gallery with 20+ entries (if applicable — this was Typeform's largest SEO growth driver, generating 30K non-branded signups and $3M/year LTV).
- 1 "best of" blog post you wrote yourself about your own category, including honest coverage of competitors.
### Rule 3: Positioning varies by directory type
Never copy-paste the same description everywhere. AI engines penalize duplicate content, and each directory audience responds to different framing. See `references/positioning-variations.md` for the full variant library. Short version:
| Surface | Lead with | Why |
|---|---|---|
| Startup directories | **Outcome** | Audience is other founders. They care what it does. |
| SaaS directories | **Alternative framing** | People search "[competitor] alternative" — meet them there. |
| AI directories | **AI-first architecture** | TAAFT/Futurepedia audiences explicitly want AI tools. |
| Agent/MCP directories | **Agent/MCP angle** | Niche but high-intent. A real moat. |
| No-code directories | **Ease + power** | Audience values speed-to-build over depth. |
| Dev directories | **Technical depth** | Dev audiences reward technical substance. |
| B2B review sites | **ROI + use case** | Buyers want outcomes and case studies. |
---
## Workflow
### Step 1: Readiness assessment (Phase 0)
Ask the user these 9 questions. If any are "no", they're not ready — help them build the missing piece first.
1. Is the product publicly accessible (no password wall)?
2. Is there a pricing page (even "free while in beta")?
3. Are privacy policy + terms live?
4. Logo assets in PNG + SVG + square + favicon?
5. 58 real screenshots + 6090s demo video?
6. Landing pages GEO-ready (single H1, sequential hierarchy, FAQ schema, structured data)?
7. At least 3 alternative pages and 3 use-case pages live and indexed?
8. Template gallery or lead magnet asset (if applicable to category)?
9. At least 20 beta/early users who could leave a review on G2?
A "no" on any of 17 is a hard block. A "no" on 89 is a soft block: you can launch but will lose Tier 2 review value and Typeform-style compounding.
### Step 2: Choose the tiers
Full catalog in `references/directory-list.md`. Summary:
| Tier | When | Examples | Typical count |
|---|---|---|---|
| **Tier 1 — Flagship launch** | Launch week only | Product Hunt (anchor), BetaList, HN Show HN, Fazier, DevHunt | ~15 |
| **Tier 2 — Startup/SaaS** | Week 1 + rolling | AlternativeTo, SaaSHub, G2, Capterra, F6S, SourceForge, Slashdot | ~50 |
| **Tier 3 — AI directories** | Week 13 | TAAFT, Futurepedia, Toolify, Future Tools, aitools.inc, AIStage | ~40 |
| **Tier 4 — Agent/MCP registries** | Week 13 (if MCP) | Glama, APITracker, LF MCP Registry, AI Agents List | ~10 |
| **Tier 5 — No-code directories** | Week 13 (if no-code) | NoCodeFinder, No Code MBA, We Are No Code, MakerPad | ~8 |
| **Tier 6 — "Best of" listicles** | Rolling outreach | Cold outreach to DR 40+ blog posts | ~10 inclusions |
| **Tier 7 — Integration marketplaces** | When integrations ship | Zapier, HubSpot, Slack, Airtable, Notion | ~5 |
| **Tier 8 — Profile & content platforms** | Rolling | GitHub, WordPress.com, Substack, Dev.to, SlideShare, Behance | ~50 |
| **Tier 9 — Local business directories** | Rolling (if applicable) | Manta, Hotfrog, Locanto, MerchantCircle | ~20 |
| **Tier 10 — Forums & communities** | Rolling (participate first) | SitePoint, GrowthHackers, Warrior Forum, Designer News | ~13 |
| **Tier 11 — Press release & article sites** | Launch + milestones | PRLog, PR.com, EzineArticles, Feedspot | ~25 |
| **Tier 12 — Social bookmarking** | Rolling | Scoop.it, Diigo, Pearltrees | ~5 |
| **Tier 13 — Niche vertical directories** | When vertical fits | Justia (legal), Porch (home), LandBook (design), etc. | ~20 |
**Triage rule:** Only submit where the product is a genuine fit. Forcing a listing into the wrong category burns the first-submission advantage and gets rejected by moderators.
### Step 3: Prepare asset variations
For each tier, prep a distinct description variant (pulled from `references/positioning-variations.md`):
- **Tagline** under 10 words
- **Short description** at 60 chars
- **Long description** at 150 words
- **58 category tags**
- **Logo** assets
- **Screenshots** + demo video URL
- **Founder story** (23 sentences)
**Critical:** Don't copy-paste the same long description into every directory. Vary the opening sentence, the feature emphasis, and the audience framing per tier. AI engines cross-reference and down-weight duplicate content.
### Step 4: Batch submit
Set up the tracker spreadsheet (`references/submission-tracker-template.csv`). Work left-to-right through it. 23 hours per batch is realistic.
Per submission:
1. Copy the tier-appropriate positioning variant.
2. Fill in the form.
3. Upload assets.
4. Submit.
5. Log: date, URL, status, moderator notes.
6. Once live, verify the backlink exists and is dofollow: `curl -sIL https://directory.com/your-listing | grep -i rel=`. If absent, the link is dofollow.
---
## Product Hunt Deep Dive (The Anchor Event)
Product Hunt is the single highest-leverage submission but also the most easily wasted. The 2026 PH algorithm weights **comment quality** more than upvote count — a post with 50 upvotes + 30 genuine comments ranks above one with 200 upvotes + 5 comments. **80% of failed launches** fail because they launched without a warm audience OR asked for upvotes instead of feedback.
### 3-week prep timeline
- **Day -21 to -14:** Warm up hunter account. Upvote + thoughtfully comment on 3 launches/day. Follow 100+ active makers. Build history so your account looks real to the algorithm.
- **Day -14:** Create "Upcoming" page on PH. Drive traffic to it to collect "notify on launch" subscribers.
- **Day -10:** (Optional) book a hunter. Don't pay cash — trade a feature, shoutout, or intro. A known hunter adds ~15% to day-one momentum but isn't required.
- **Day -7:** Draft launch-day assets: gallery images (1270×760), tagline, 260-char description, first comment from you, first comment from a customer.
- **Day -3:** Email list warm-up. "We're launching Tuesday. Here's what to expect. Reply if you want a heads up."
- **Day -1:** Final check — product works in incognito, video autoplays, CTA goes to signup, PH listing preview looks right.
### Launch day execution
- **Launch at 12:01 AM Pacific Time.** Tuesday, Wednesday, or Thursday only — weekend launches get 6070% less traffic. The 12:01 AM PT start maximizes your 24-hour window.
- **First 2 hours are everything.** Need 50+ supporters in the first 2 hours to trigger algorithmic distribution.
- **Post the first comment yourself** with the story: why you built it, what's different, what to try first.
- **Reply to every comment** in under 30 minutes. PH measures maker responsiveness.
- **Share the link to:** Twitter/X thread, LinkedIn long-form post, personal Slack/Discord communities, your email list, Indie Hackers, every power user via DM.
- **Never ask for upvotes.** Ask for **feedback**. "Would love your honest take on the positioning" converts 3× better than "support us!" and doesn't trigger the algorithm's anti-manipulation filters.
- **Don't message strangers.** The community flags this and moderators will hide your post.
### Post-launch
- Write a launch recap blog post with numbers + lessons. Honest, not bragging. Publish on day 2.
- Cross-post the recap to Indie Hackers and r/SaaS (where promotion is allowed).
- Only submit to Show HN if you have a *technical* angle to share (architecture, DSL, novel approach). A generic "we launched a SaaS" post will get flagged to death.
---
## Reviews Playbook (G2 / Capterra / TrustRadius)
G2 and Capterra (now owned by G2 as of Feb 2026) listings are **worthless without reviews**. 10 reviews is the magic threshold for Grid appearance. Run the 10-in-30 protocol during launch month.
### The 10-in-30 protocol
1. **Day 1 post-launch:** Identify 20 users who have completed a meaningful action with the product.
2. **Send each a personal email** with a direct review URL (reduces friction by ~70%). No forms, no landing pages — direct link.
3. **Offer a modest thank-you.** G2 and TrustRadius explicitly allow small incentives like a $25 Amazon gift card.
4. **Follow up once** after 5 days. Don't follow up twice — it becomes annoying and damages the relationship.
5. **Target:** 50% conversion → 10 reviews from 20 asks.
### Critical deadlines
- **G2 Summer reports:** cut off ~April 28. Plan review drives to land before this.
- **G2 Fall reports:** cut off ~July 28.
- Missing a cutoff means waiting 3 months for the next grid update.
### Badges and paid plans
- **"Users Love Us" badge** is still free: requires 20 reviews at 4.0+ average.
- **Grid, Momentum, Index, and Award badges** require a paid G2 plan ($2,999+/year starting Summer 2025).
- **Do not spend on paid G2 in year one.** The free listing + Users Love Us badge is sufficient.
### Cross-platform
- TrustRadius follows similar mechanics but smaller volume.
- Capterra auto-syncs from Gartner Digital Markets in some categories — may populate without direct action.
---
## Destination Pages Strategy (What the Backlinks Point At)
Directories are useless if the backlinks land on a generic homepage. Build these destination pages *before* submitting:
### 1. Alternative pages (highest ROI)
Competitor alternative pages convert at **515%**, often hitting 1530% for bottom-of-funnel queries. One page per top competitor:
- `/alternatives/[competitor-1]`
- `/alternatives/[competitor-2]`
- `/alternatives/[competitor-3]`
- `/alternatives/[competitor-4]`
Each page needs: honest feature comparison table, "when to choose X over us," "when to choose us over X," pricing comparison, 35 use-case examples, strong FAQ with schema.
**Critical:** Be honest. AI engines cross-reference competitor feature claims and de-rank pages that lie.
### 2. Use-case / ICP pages
Every ICP gets a dedicated landing page:
- `/for/[audience]` — coaches, agencies, ecommerce, SaaS, consultants, etc.
- `/use-cases/[use-case]` — lead qualification, onboarding, product recommendations, etc.
### 3. Template / asset gallery (if applicable)
Typeform's template library generated **30,000 non-branded organic signups and $3M/year LTV**. The pattern:
- One indexable page per template at `/templates/[slug]`.
- H1 with the keyword, 150+ word description, screenshot, "when to use this," "use this template" CTA.
- Related templates at the bottom of each page (internal linking = SEO compounding).
- 100 templates by day 30, 300 by day 90 is the realistic target.
### 4. "Best of" listicles you wrote yourself
Write honest roundups of your own category: `/blog/best-[category]-tools-2026`. Include yourself + 10 competitors with real reviews. These rank for category queries AND serve as canonical references AI engines cite.
### 5. Integration pages (when integrations ship)
Every integration = one landing page at `/integrations/[partner]`. Follows the Zapier playbook: Zapier gets **~2.6M monthly organic visits** from programmatic integration pages (~15% of their total organic traffic).
---
## GEO (Generative Engine Optimization)
In 2026, 3050% of "research a tool" queries happen inside ChatGPT, Claude, Perplexity, or Google AI Overviews without ever touching a traditional search page. Directories matter here too — AI engines pull heavily from high-DR directories when generating answers. But the *destination pages* also need to be GEO-optimized.
### Tactics that get pages cited
1. **One H1 per page, sequential heading hierarchy.** 2.8× higher citation rate. 87% of cited pages use a single H1.
2. **Dense, factual content with citable stats.** AI engines prefer specific numbers ("3× faster than X") over vague claims.
3. **FAQ schema on every landing page.** AI engines heavily weight `FAQPage` JSON-LD for answer extraction.
4. **Comparison tables.** Extractable, structured — exactly what an AI answer needs.
5. **Explicit "what it is" paragraph in the first 100 words.**
6. **Get cited on Reddit and Hacker News.** Claude and Perplexity index these heavily. Genuine mentions on r/SaaS and HN count as training fuel.
7. **Publish original research.** "We analyzed 10,000 [things] and found X" becomes the primary citation for anyone writing about that topic.
8. **Claim Crunchbase, LinkedIn company page, and Wikidata entries.** All three feed AI training corpora.
9. **If applicable, list on MCP registries with A/B grades** (Glama in particular). LLMs pull from these when answering MCP questions.
### Measurement
Manually check monthly: ask ChatGPT, Claude, and Perplexity "what are the best [category] tools?" and log where the product appears. Free GEO tracking tools (GeoTracker, llmrefs) automate this.
---
## Community & Ongoing Distribution
Directories are one-shot. Community is ongoing. Both feed the same funnel.
### Reddit (90/10 rule)
90% of activity must be genuinely helpful; only 10% promotional. Violating this gets shadowbanned.
**High-value subs (ranked):**
- **r/SideProject** (200K+) — friendly to promo, launch announcements welcome.
- **r/SaaS** (300K+) — "Share Your SaaS" threads are explicit promo windows.
- **r/startups** (1.7M) — Feedback Friday thread.
- **r/Entrepreneur** (3.5M) — weekly promo thread.
- **r/nocode**, **r/IndieHackers**, **r/alphaandbetausers** — friendly.
- **r/webdev**, **r/artificial**, **r/LocalLLaMA** — strict, technical only.
**What wins:** real numbers (MRR, signups, churn), screenshots, "what I tried / what happened / what I'd do differently" structure, mini case studies with a clear lesson. **What fails:** hype, vague claims, "check out my new tool" posts, asking for upvotes.
### LinkedIn (B2B primary channel)
80% of B2B social leads come from LinkedIn. Cadence: **35 posts/week** — fewer loses momentum, more causes fatigue.
Content types ranked by 2026 engagement:
1. Personal stories with business lessons (1.52× avg engagement)
2. Original data / research (1.31.5×)
3. Contrarian industry takes (1.21.5×)
4. Document carousels with 812 slides (1.31.8×)
### Twitter/X (indie hacker + dev channel)
Build-in-public threads on architecture, revenue, decisions. Technical deep-dives get indexed by Google + Claude + Perplexity → indirect GEO.
### Indie Hackers
- Launch a build-in-public thread on PH launch day.
- Post weekly updates: revenue, ships, lessons. Zero-revenue posts work if the lesson is honest.
- Comment 10× more than you post to build karma before your own links.
### Dev.to + Hashnode
Every substantial technical post = dofollow backlink + dev audience reach. Cross-post with canonical URL back to main blog.
---
## KPIs & Tracking
Track weekly. If a number isn't moving, investigate — don't just submit more directories.
| Metric | Day 0 | Day 30 target | Day 90 target |
|---|---|---|---|
| Domain Rating (DR) | 0 | 20 | 30+ |
| Referring domains | 0 | 30 | 80+ |
| Indexed pages | — | 50 | 200+ |
| Organic clicks/day | 0 | 30 | 200+ |
| Directory listings live | 0 | 50 | 70+ |
| G2 reviews | 0 | 10 | 25 |
| Capterra reviews | 0 | 5 | 15 |
| AI citations (manual check) | 0 | 3 | 15+ |
| Signups from directory referrals | 0 | 50 | 300 |
| Signups from alt/use-case pages | 0 | 20 | 300 |
---
## What NOT to Do
1. **Don't pay for directory submission services** ($60$200 packages). The whole point is these are free. It's an afternoon of copy-paste.
2. **Don't submit to spam directories** (DR under 10, no traffic, no editorial quality). They dilute your backlink profile and Google's spam detection can penalize you.
3. **Don't submit with the wrong positioning.** Re-read the positioning table per tier. Generic descriptions waste the listing.
4. **Don't treat directories as your entire GTM.** They're the foundation. Content + community + reviews are what actually convert.
5. **Don't skip reviews on G2/Capterra.** Zero-review listings are dead. Run the 10-in-30 protocol or don't submit.
6. **Don't ask for upvotes on Product Hunt.** The 2026 algorithm penalizes it. Ask for **feedback**.
7. **Don't amend old directory listings every week.** Submit once, check quarterly.
8. **Don't submit before the destination page exists.** Link equity needs a destination.
9. **Don't duplicate descriptions across directories.** AI engines penalize duplicate content.
10. **Don't lie on comparison pages.** AI engines cross-reference and de-rank lies.
11. **Don't over-index on launch-day spike.** The flywheel is templates + alternatives + reviews + ongoing content — not one day of PH.
12. **Don't forget Crunchbase, LinkedIn company page, and Wikidata.** These feed AI training corpora and matter for GEO.
---
## Task-Specific Questions
1. **What are you launching?** (Category changes tier mix — AI vs traditional SaaS vs no-code vs dev tool.)
2. **When is launch day?** (Phase 0 assets need 7 days of prep.)
3. **Do you have destination pages built?** (Alternatives, use cases, templates — if not, build first.)
4. **Product Hunt hunter lined up?** (Optional but adds ~15% day-one lift. 3-week warm-up required regardless.)
5. **How many beta users can you ask for reviews?** (Need 20 to hit 10.)
6. **Do you have an MCP or agent angle?** (If yes, Tier 4 registries are a real moat.)
7. **Existing integrations?** (If yes, Tier 7 marketplaces are the highest-DR backlinks available.)
8. **Email list size?** (Needed for PH launch day warm traffic — 100+ is the minimum.)
9. **Current DR and referring domain count?** (Baseline for measuring the compounding effect.)
---
## Output Format
When the user asks for a directory plan, return:
1. **Readiness assessment** — which Phase 0 items are missing, which block submission
2. **Tier selection** — which tiers apply, which to skip, why
3. **Submission order** — week 1 / week 2 / week 3 batches
4. **Destination page list** — what to build first if missing
5. **Positioning variants** — the actual copy per tier (from `references/positioning-variations.md`)
6. **PH 3-week prep timeline** — mapped to calendar dates if launch day known
7. **Reviews 10-in-30 plan** — who to ask, when, how
8. **Weekly targets** — directories submitted, reviews, DR movement
9. **Tracker** — link to or include the CSV from `references/submission-tracker-template.csv`
Keep the plan actionable. Every item should be something the user can do today.
---
## Related Skills
- **launch** — broader launch moment, ORB framework, five-phase approach
- **programmatic-seo** — destination pages (alternatives, integrations, templates) that backlinks should flow into
- **competitors**`/alternatives/[tool]` page pattern
- **ai-seo** — GEO optimization for AI citation
- **content-strategy** — editorial content that attracts "best of" listicle inclusions
- **free-tools** — lead magnets for destination pages
- **community-marketing** — Reddit, Indie Hackers, Slack community mechanics
- **schema** — FAQ + Product + Organization JSON-LD for GEO
@@ -0,0 +1,94 @@
{
"skill_name": "directory-submissions",
"evals": [
{
"id": 1,
"prompt": "We're launching our AI SaaS in 3 weeks. Help me plan all the directories we should submit to.",
"expected_output": "Should check for product-marketing.md first. Should run Phase 0 readiness assessment with the 9 questions before recommending submissions. Should reject submission if any of items 1-7 are 'no' (hard block) and explain why. Should recommend tier mix: Tier 1 flagship launch (~15 — Product Hunt as anchor, BetaList, HN Show HN, Fazier, DevHunt), Tier 2 startup/SaaS (~50), Tier 3 AI directories (~40 — TAAFT, Futurepedia, Toolify), Tier 4 MCP/agent if applicable. Should map the 3-week Product Hunt prep timeline to calendar dates. Should warn against submitting before destination pages exist. Should reference references/directory-list.md and references/positioning-variations.md. Should recommend the 10-in-30 reviews protocol for G2/Capterra. Should set day-30 and day-90 targets from the KPI table.",
"assertions": [
"Checks for product-marketing.md",
"Runs Phase 0 readiness assessment",
"Recommends tier mix appropriate to AI SaaS",
"Maps 3-week PH timeline to calendar dates",
"Names Product Hunt as anchor",
"Recommends 10-in-30 reviews protocol",
"Sets day-30 and day-90 KPI targets",
"References directory-list.md or positioning-variations.md"
],
"files": []
},
{
"id": 2,
"prompt": "Can I just copy-paste the same description into every directory?",
"expected_output": "Should refuse and explain Rule 3: positioning varies by directory type. Should explain AI engines penalize duplicate content — directories cross-referenced by Claude, ChatGPT, Perplexity will de-rank repetitive copy. Should explain different framing per surface: startup directories lead with outcome (audience is founders), SaaS directories lead with alternative framing (people search '[competitor] alternative'), AI directories lead with AI-first architecture, agent/MCP directories lead with the agent/MCP angle, B2B review sites lead with ROI + use case. Should recommend preparing distinct variants per tier: tagline under 10 words, 60-char short description, 150-word long description, 5-8 category tags. Should reference references/positioning-variations.md.",
"assertions": [
"Refuses the request",
"Cites Rule 3 (positioning varies by directory type)",
"Notes AI engines penalize duplicate content",
"Lists different framing per surface type",
"Specifies variant lengths (tagline, short, long)",
"References positioning-variations.md"
],
"files": []
},
{
"id": 3,
"prompt": "Should we pay for one of those directory submission services that submits to 200 directories for $99?",
"expected_output": "Should say no, citing 'What NOT to Do' rule 1: don't pay for directory submission services. Should explain the whole point is these are free — it's an afternoon of copy-paste. Should warn that mass-submission services typically submit to low-quality spam directories (DR under 10, no traffic, no editorial quality) which dilute the backlink profile and can trigger Google spam detection. Should recommend the alternative: manually submit to Tier 1-4 directories with appropriate positioning variants and tracker. Should reinforce that the value comes from quality directories with editorial standards, not raw volume.",
"assertions": [
"Refuses the service",
"Cites 'don't pay for submission services' rule",
"Warns about low-DR spam directories",
"Warns about Google spam penalty risk",
"Recommends manual submission to quality directories"
],
"files": []
},
{
"id": 4,
"prompt": "Walk me through how to launch on Product Hunt next month. We've never done it before.",
"expected_output": "Should apply the Product Hunt Deep Dive playbook. Should map the 3-week prep timeline: Day -21 to -14 (warm up hunter account, upvote and comment on 3 launches/day), Day -14 (create Upcoming page), Day -10 (optional book a hunter — trade not cash), Day -7 (draft launch-day assets: 1270x760 gallery images, tagline, 260-char description, first comment), Day -3 (email list warm-up), Day -1 (final check). Should explain launch day: launch at 12:01 AM Pacific Time on Tuesday/Wednesday/Thursday only, first 2 hours are everything (need 50+ supporters), post the first comment yourself, reply to every comment in under 30 minutes, share to multiple channels. Should warn never ask for upvotes — ask for feedback. Should warn don't DM strangers — community flags this. Should explain post-launch: write a launch recap blog post with numbers + lessons, cross-post to Indie Hackers, only submit to Show HN if there's a technical angle. Should note 80% of failed launches fail from no warm audience or asking for upvotes.",
"assertions": [
"Maps 3-week timeline with specific day markers",
"Notes 12:01 AM Pacific Time launch",
"Restricts to Tue/Wed/Thu",
"Emphasizes first 2 hours / 50+ supporters",
"Warns never ask for upvotes",
"Recommends asking for feedback",
"Warns against DMing strangers",
"Includes post-launch recap and cross-posting"
],
"files": []
},
{
"id": 5,
"prompt": "We want to list on G2 but we only have 4 customers right now. Worth doing?",
"expected_output": "Should explain G2 and Capterra listings are worthless without reviews — 10 reviews is the magic threshold for Grid appearance. Should recommend NOT submitting yet, or claim the listing but plan a review drive in parallel. Should explain the 10-in-30 protocol: identify 20 users who completed a meaningful action, send each a personal email with direct review URL (reduces friction ~70%), offer a modest thank-you ($25 Amazon gift card is allowed by G2/TrustRadius), follow up once after 5 days, target 50% conversion. Should note the Users Love Us badge is free (20 reviews at 4.0+) but Grid/Momentum/Index/Award badges require a paid G2 plan ($2,999+/year as of Summer 2025) — and recommend NOT spending on paid G2 in year one. Should mention G2 Summer report cutoff ~April 28 and Fall ~July 28. Should suggest waiting until ~10 users are realistic before submitting.",
"assertions": [
"Explains 10-review threshold for Grid",
"Recommends NOT submitting yet OR claim + plan review drive",
"Lays out 10-in-30 protocol",
"Notes incentive ($25 gift card) is allowed",
"Mentions Users Love Us badge requirements",
"Warns against paying for G2 plan in year one",
"Mentions Summer/Fall report cutoffs"
],
"files": []
},
{
"id": 6,
"prompt": "We submitted to 50 directories last week. Now what?",
"expected_output": "Should warn against treating submissions as the strategy. Should reference 'What NOT to Do' rule 11: don't over-index on launch spike. Flywheel is templates + alternatives + reviews + ongoing content. Should recommend verifying the dofollow status of acquired backlinks (curl -sIL | grep -i rel=). Should pivot to ongoing distribution: destination pages strategy (alternative pages converting 5-15%, use-case/ICP pages, template gallery if applicable, 'best of' listicles you write yourself, integration pages), GEO tactics for AI citation (single H1, FAQ schema, comparison tables, get cited on Reddit/HN, claim Crunchbase/LinkedIn/Wikidata), community presence (Reddit 90/10 rule, LinkedIn 3-5 posts/week, Twitter build-in-public, Indie Hackers, Dev.to/Hashnode). Should remind to track weekly KPIs (DR, referring domains, indexed pages, organic clicks, signups from directory referrals) and investigate if numbers aren't moving rather than submitting more.",
"assertions": [
"Warns against over-indexing on launch spike",
"Recommends verifying dofollow status of backlinks",
"Pivots to destination pages strategy",
"Mentions GEO tactics",
"Includes ongoing community distribution",
"Recommends tracking weekly KPIs",
"Says investigate before submitting more"
],
"files": []
}
]
}
@@ -0,0 +1,477 @@
# Directory List — Full Reference
Canonical list of directories organized by tier. DR values are approximate and drift over time — verify via Ahrefs or Moz before building a plan around them.
**Column legend:**
- **DR** — Domain Rating (Ahrefs). Higher = more link equity passed.
- **Dofollow** — Whether the backlink passes SEO value. Nofollow listings still matter for referral traffic and brand signals.
- **Cost** — Free unless noted.
---
## Tier 1 — Flagship Launch Platforms
Submit only during launch week. These are time-sensitive with limited re-submission windows.
| Directory | DR | Dofollow | Cost | Notes |
|---|---|---|---|---|
| **Product Hunt** | 91 | Yes | Free | The anchor event. Requires 3-week warm-up. 2026 algorithm weights comment quality over upvotes. Launch Tue/Wed/Thu at 12:01 AM PT. |
| **Hacker News (Show HN)** | 91 | Nofollow | Free | Only if you have a genuine technical angle. Post title format: "Show HN: [Product] — [hook]". Moderator death penalty for hype. |
| **BetaList** | 64 | Yes | Free (paid expedite ~$99) | Best for pre-launch waitlist building. Submission → 24 week queue unless expedited. |
| **Launching Next** | ~30 | Yes | Free | Editorial curation — needs a compelling story. |
| **Fazier** | ~30 | Yes | Free | Daily ranking with much lower competition than PH. Achievable #1. |
| **Uneed** | ~40 | Yes | Free | Curated, smaller audience, quality backlink. |
| **Microlaunch** | ~30 | Yes | Free | Month-long visibility vs one-day spike. |
| **OpenHunts** | ~25 | Yes | Free | Indie-maker friendly, reports 14%+ conversion rates. |
| **DevHunt** | ~35 | Yes | Free | Dev-focused. Best fit for developer tools and technical products. |
| **PeerPush** | ~25 | Yes | Free | Similar to Fazier. Low competition. |
| **LaunchVault** | ~20 | Yes | Free | Anti-VC positioning. Good for bootstrapped narrative. |
| **What Launched Today** | ~20 | Yes | Free | Guaranteed visibility on launch day regardless of votes. |
| **Firsto** | ~25 | Yes | Free tier | Sustained discovery, not one-day spike. |
| **GetByte** | ~20 | Yes | Free | Lightweight listing + promotional support. |
| **Best of Web** | ~30 | Yes | Free | Easy fast submission, free dofollow. |
| **Tiny Launch** | ~20 | Yes | Free | Lightweight, fast approval. |
| **PitchWall** | ~25 | Yes | Free | Indie-hacker friendly. |
---
## Tier 2 — Startup / SaaS / Software Directories
Submit during launch week and continue rolling submissions thereafter.
| Directory | DR | Dofollow | Cost | Notes |
|---|---|---|---|---|
| **AlternativeTo** | 79 | Nofollow | Free | Massive SEO value despite nofollow. Submit as alternative to your top 4 competitors. |
| **SaaSHub** | 77 | Yes | Free | Ranks well for "[tool] alternatives" queries. High intent. |
| **G2** | 92 | Yes | Free listing | 10 reviews required for Grid appearance. Paid badges start at $2,999/yr. |
| **Capterra** | 93 | Yes | Free listing | Owned by G2 (acquired Feb 2026). Reviews drive everything. |
| **GetApp** | 78 | Yes | Free | Auto-syncs from Capterra in some cases. Owned by G2. |
| **SourceForge** | 92 | Yes | Free | Legacy but still high DR. Trivial to list. |
| **Slashdot** | ~88 | Yes | Free | Legacy but high DR. Company profile submission. |
| **Startup Stash** | ~50 | Yes | Free | Curated, organized by startup need. |
| **SideProjectors** | ~35 | Yes | Free | Discovery + marketplace. Community-driven. |
| **F6S** | 65 | Yes | Free | Startup platform used by accelerators. |
| **Stackshare** | ~60 | Yes | Free | Dev-centric. Show your tech stack. |
| **Resource.fyi** | ~40 | Yes | Free | Curated for designers/devs/marketers. |
| **Shipybara** | ~30 | Yes | Free | Shows which companies use your tool. |
| **TrustRadius** | 72 | Yes | Free | Smaller but respected B2B review platform. |
| **Crozdesk** | ~55 | Yes | Free | Feeds into Gartner ecosystem. |
| **Software Advice** | 88 | Yes | Free | Gartner property. Auto-syncs with Capterra in some categories. |
| **TheSaaSDirectory** | 88 | Yes | Free | SaaS-specific directory. Good categorization. |
| **Tech.co** | 80 | Yes | Free | Startup/SaaS directory + media. |
| **Taalk** | 80 | Yes | Free | Startup directory. |
| **Startup Fame** | 77 | Yes | Free | Startup showcase directory. |
| **Indie Hackers** | 76 | Yes | Free | Build-in-public community + product directory. |
| **Slant** | 75 | Yes | Free | "What is the best..." recommendation platform. |
| **Gust** | 75 | Yes | Free | Startup/investor platform. Profile with links. |
| **Inc42** | 75 | Yes | Free | Indian startup media + directory. |
| **Wefunder** | 76 | Yes | Free | Equity crowdfunding. Product profile with links. |
| **Startups.com** | 68 | Yes | Free | Startup community + resources. |
| **IndieHustles** | 66 | Yes | Free | Indie SaaS directory. |
| **SaaSWorthy** | 65 | Yes | Free | SaaS review/comparison site. |
| **ToolsFine** | 65 | Yes | Free | SaaS tool directory. |
| **Bizcommunity** | 65 | Yes | Free | Business news + directory. |
| **StartUs** | 62 | Yes | Free | Startup directory + insights. |
| **Today Launches** | 60 | Yes | Free | Daily launch directory. |
| **StartupBuffer** | 57 | Yes | Free | Startup promotion platform. |
| **Feedough** | 55 | Yes | Free | Startup resources + directory. |
| **Indie Hacker Tools** | 55 | Yes | Free | Tools for indie hackers. |
| **Open Launch** | 55 | Yes | Free | Product launch directory. |
| **New SaaSly** | 52 | Yes | Free | New SaaS product directory. |
| **Business Software** | 49 | Yes | Free | Business software directory. |
| **Promote Project** | 47 | Yes | Free | Project promotion directory. |
| **FiveTaco** | 47 | Yes | Free | SaaS tool directory. |
| **Cuspera** | 45 | Yes | Free | SaaS comparison platform. |
| **BetaBound** | 45 | Yes | Free | Beta testing community + directory. |
| **Makerthrive** | 45 | Yes | Free | Maker community + tools. |
| **StartupTracker** | 44 | Yes | Free | Startup tracking directory. |
| **BusinessHunt** | 43 | Yes | Free | Business product directory. |
| **Launched.io** | 40 | Yes | Free | Launch directory. |
| **ProfitHunt** | 40 | Yes | Free | Profitable startup directory. |
| **10words** | 40 | Yes | Free | SaaS directory (10-word descriptions). |
| **TrustMRR** | 40 | Yes | Free | MRR-verified startup directory. |
| **OpenClawDir** | 35 | Yes | Free | Open directory. |
| **Build Voyage** | 33 | Yes | Free | Startup builder directory. |
| **AlphaDigits** | 32 | Yes | Free | SaaS directory. |
---
## Tier 3 — AI Tool Directories
Relevant only for AI-native products. Submit during weeks 13.
### Tier 3A — Flagship AI directories
| Directory | DR | Monthly Traffic | Notes |
|---|---|---|---|
| **There's An AI For That (TAAFT)** | 76 | 2M+ | Largest AI directory. Task-based search. Worth the effort to list well. |
| **Futurepedia** | 70 | 1M+ | 5,000+ tools, 54 categories. Matt Wolfe YouTube (2M+ subs) drives traffic. |
| **Toolify.ai** | 71 | 500K+ | 26K+ tools, 450+ categories. Tracks traffic trends. |
| **Future Tools (futuretools.io)** | 69 | 400K+ | Curated by Matt Wolfe. Smaller but influential. |
| **AI Tools Neilpatel** | 91 | n/a | Highest DR free AI directory. |
| **Good AI Tools** | 66 | n/a | Curated, quality over quantity. |
| **NewTools.site** | 51 | n/a | Dofollow backlink for every approved submission. |
### Tier 3B — Mid-tier AI directories
| Directory | Est. DR | Notes |
|---|---|---|
| **aitools.inc** | ~66 | "10x your output" positioning. |
| **AIStage** | ~66 | Includes open source + news. |
| **AItrendytools** | ~69 | Comprehensive listing. |
| **Grabon AI Directory** | ~70 | High DR, broad audience. |
| **TopAI.tools** | ~60 | Task-based search similar to TAAFT. |
| **Supertools** | ~61 | Clean interface, good categorization. |
| **AI Tools Directory** (aitoolsdirectory.com) | ~55 | Curated; featured placement available. |
| **AI Tools Love** | ~25 | Comparison-focused. |
| **AIChief** | ~35 | Business-focused. |
| **LogicBalls** | ~40 | 3,500+ verified tools. |
| **SaasAITools** | ~30 | SaaS + AI crossover. |
| **PoweredByAI** | ~35 | Growing directory with newsletter reach. |
| **TheAISurf** | ~30 | Newer, actively promoting submissions. |
| **Aixyz** | ~30 | 1,500+ tools, smart filters. |
| **AI Pedia Hub** | ~40 | "Largest directory, updated daily." |
| **Dofollow.Tools** | ~30 | Explicitly free dofollow backlinks. |
| **AIBacklinkList** | ~25 | Aggregated list of 2500+ AI backlink opportunities. |
| **AI Scout** | ~25 | Emerging, less competition. |
| **AiMatchPro** | ~20 | Use-case search. |
| **GPTForge** | ~30 | Domain created 2025 — DR 88 from source list is implausible. Verify via Ahrefs. |
| **AI Tools Guide** | 77 | Curated AI tools directory. |
| **AIToolly** | 69 | AI tool discovery. |
| **All The AI Tools** | 66 | Comprehensive AI tool listing. |
| **Aiforme.wiki** | 66 | AI tool wiki/directory. |
| **Noxilo** | 66 | AI tools directory. |
| **AI Generation** | 55 | AI tools directory. |
| **Every AI** | 55 | AI tool aggregator. |
| **BAI.tools** | 53 | AI tools directory. |
| **The Rundown Tools** | 40 | AI newsletter's tool directory. |
| **AI NavHub** | 38 | AI navigation directory. |
| **WhatTheAI** | 35 | AI tools directory. |
| **ToolAI** | 31 | AI tools directory. |
| **LLM Relevance** | 30 | LLM-focused directory. |
---
## Tier 4 — AI Agent & MCP Server Registries
Relevant only if the product exposes agent capabilities or MCP servers. These are a real moat for AI-native tools — traditional SaaS products cannot list here.
| Directory | Category | Notes |
|---|---|---|
| **AI Agents List (aiagentslist.com)** | Agents | Hosts the 593+ MCP server directory. |
| **Glama.ai MCP servers** | MCP | 20K+ security-graded MCP servers. A/B/C/F grades matter — optimize for a good grade. |
| **APITracker MCP directory** | MCP | 110+ servers, 90 official integrations. |
| **Linux Foundation MCP Registry** | MCP | Canonical registry (PR-based submission, low volume but high signal). Anthropic donated MCP to LF in Dec 2025. |
| **AI Agent Store** | Agents | Compare agents, platforms, frameworks. |
| **AI Agents Base** | Agents | All-in-one directory. |
| **AI Agents Directory** | Agents | Specialized, updated daily. |
| **AI Agents Verse** | Agents | Curated directory. |
| **AgentHunter** | Agents | "Discover the best AI agents." |
| **Add AI Directory** | Agents | Catalogs agents + tools. |
| **AI Agents Live** | Agents | Discovery + sharing. |
| **AI Agents Marketplace** | Agents | Organized by 300+ human role equivalents. |
---
## Tier 5 — No-Code Directories
Relevant for no-code platforms and builder tools.
| Directory | Est. DR | Notes |
|---|---|---|
| **NoCodeFinder** | ~45 | Accepts submissions. |
| **No Code MBA Tools Directory** | ~55 | Categorized by project type. |
| **We Are No Code Tools Repository** | ~40 | Curated. |
| **NoCodeList** | ~30 | — |
| **NoCodeDevs** | ~25 | — |
| **NoCode.Tech** | ~35 | — |
| **MakerPad / Zapier** | ~62 | Now owned by Zapier. No-code tool directory. |
| **NoCodeFounders** | ~45 | No-code community + forum. |
---
## Tier 6 — "Best of" Listicles (Editorial Outreach)
Not directories per se — these are blog posts on high-DR domains that you get included in via cold outreach. Often more valuable than directories because they combine a dofollow backlink with editorial trust + in-market buyer traffic + AI citation weight.
**Search patterns to find opportunities:**
- `"best [category] tools" 2026`
- `"best [competitor] alternative"`
- `"top AI [category]"`
- `"[category] tools review"`
**Outreach template (short):**
> Hey [name], saw your post on [best X tools]. We launched [product] recently — thought it might be worth a mention. Happy to give you a free account + credits for readers. Here's a 60s demo: [link]. No worries if not a fit.
**Target:** 10 inclusions in 30 days. Each = dofollow backlink from DR 4070 + referral traffic + AI citation fuel.
---
## Tier 7 — Integration Marketplaces
Only relevant once the product has integrations. These are the highest-DR backlinks available — worth engineering effort just to land them.
| Directory | DR | Notes |
|---|---|---|
| **Zapier App Directory** | 91 | Requires working Zapier integration. |
| **HubSpot App Marketplace** | 93 | Requires HubSpot app. |
| **Slack App Directory** | 89 | Requires Slack integration. |
| **Airtable Marketplace** | 82 | Requires Airtable integration. |
| **Notion Integrations Gallery** | 88 | Requires Notion integration. |
| **Make (Integromat)** | ~70 | Requires Make module. |
| **Pipedream** | ~70 | Requires Pipedream action. |
---
## Tier 8 — Profile & Content Platforms
Create a profile or publish content on these high-DR platforms to earn a dofollow backlink. These are not traditional directories — they're content and identity platforms where your profile or published content links back to your site. Highest DR backlinks available without building integrations.
| Platform | DR | Category | Type | Notes |
|---|---|---|---|---|
| **WordPress.com** | 100 | Any | Blog | Create a free blog, link to main site in posts and profile. |
| **Blogger** | 100 | Any | Blog | Google property. Free blog with dofollow links. |
| **Tumblr** | 99 | Design | Blog | Highest DR blog platform. Project blog or microblog. |
| **GitHub** | 98 | Tech | Code host | Profile + repo README links. Every software product should have this. |
| **SoundCloud** | 96 | Music | Profile | Niche — relevant for audio/music products. |
| **Weebly** | 95 | Any | Blog | Free site builder with dofollow profile link. |
| **SlideShare** | 95 | Any | Content | Upload pitch decks, guides, presentations. |
| **Flickr** | 95 | Photography | Profile | Product screenshot galleries with profile link. |
| **GitLab** | 94 | Tech | Code host | Profile link. Mirror repos if open source. |
| **eBay Stores** | 94 | E-commerce | Profile | Niche — relevant for physical/digital goods. |
| **Etsy** | 93 | E-commerce | Profile | Niche — templates, digital downloads. |
| **Substack** | 93 | Tech | Newsletter | Publish product updates, thought leadership. High-intent readers. |
| **Bitbucket** | 93 | Tech | Code host | Profile link. Atlassian property. |
| **Scribd** | 93 | Any | Content | Upload whitepapers, guides, case studies. |
| **Disqus** | 93 | Professional | Profile | Profile with website link. Comment on industry blogs. |
| **Behance** | 93 | Design | Profile | Portfolio/project links. Best for design-adjacent products. |
| **Pastebin** | 93 | Tech | Code host | Code snippets with profile link. |
| **Patreon** | 93 | Creator | Profile | Creator page with product links. |
| **Imgur** | 93 | Any | Profile | Image hosting with profile link. |
| **Dun & Bradstreet** | 93 | B2B | Directory | Business credibility. Feeds AI training corpora. |
| **Ghost.org** | 92 | Any | Blog | Publish content with dofollow links. |
| **Evernote** | 92 | Any | Content | Public notebooks with links. |
| **Issuu** | 92 | Any | Content | Upload marketing PDFs, brochures, reports. |
| **CodePen** | 92 | Tech | Profile | Front-end demos and profile link. |
| **Kaggle** | 92 | AI | Profile | AI/data science community. Notebooks with links. |
| **Houzz** | 92 | Home | Profile | Niche — home/interior products. |
| **LiveJournal** | 91 | Any | Blog | Legacy but high DR. Blog with dofollow links. |
| **Bandcamp** | 91 | Music | Profile | Niche — audio products. |
| **Dev.to** | 90 | Tech | Blog | Technical articles with dofollow links. Cross-post with canonical URL. |
| **Gravatar** | 90 | Professional | Profile | Profile with website link. Quick setup. |
| **Replit** | 90 | Tech | Code host | Profile link. Interactive demos. |
| **CodeProject** | 90 | Tech | Blog | Technical articles for dev audience. |
| **Jimdo** | 89 | Any | Blog | Free site builder with profile link. |
| **Calameo** | 89 | Any | Content | Digital publishing platform. Upload PDFs. |
| **Buy Me a Coffee** | 88 | Creator | Profile | Creator page with product links. |
| **ArtStation** | 88 | Design | Profile | Portfolio for creative/design products. |
| **500px** | 88 | Photography | Profile | Product imagery with profile link. |
| **IndiaMART** | 87 | B2B | Profile | Indian B2B marketplace. Niche but high DR. |
| **Strikingly** | 87 | Any | Blog | Free one-page site with backlink. |
| **Hashnode** | 85 | Tech | Blog | Dev blogging. Custom domain support. Dofollow links. |
| **About.me** | 85 | Professional | Profile | One-page profile. Quick dofollow backlink. |
| **Mixcloud** | 85 | Music | Profile | Niche — audio/podcast products. |
| **4Shared** | 85 | Any | Content | File sharing with profile link. |
| **HubPages** | 84 | Any | Blog | Article publishing platform. |
| **AppSumo** | 84 | E-commerce | Marketplace | SaaS deals marketplace. Great for launch visibility + backlink. |
| **TeachersPayTeachers** | 84 | Education | Profile | Niche — education products. |
| **AuthorStream** | 70 | Any | Content | Presentation sharing. |
| **Model Mayhem** | 72 | Design | Profile | Niche — creative industry. |
| **Penzu** | 60 | Any | Blog | Online journal with profile link. |
| **Crevado** | 50 | Design | Profile | Portfolio platform. |
| **MyFolio** | 55 | Design | Profile | Portfolio platform. |
---
## Tier 9 — Local Business & General Directories
Relevant for products with a physical presence, local customer base, or business address. Also useful for any product wanting pure DR-building backlinks from established directories.
| Directory | DR | Category | Notes |
|---|---|---|---|
| **Manta** | 76 | Local business | US business directory. Free listing. |
| **ActiveSearchResults** | 74 | General | Search engine directory. |
| **Hotfrog** | 72 | Local business | International business directory. |
| **Spoke** | 70 | B2B | Business profile directory. |
| **Locanto** | 70 | General | Classifieds + business listings. International. |
| **MerchantCircle** | 68 | Local business | US small business directory. |
| **Just Landed** | 65 | Local business | International directory. |
| **Showmelocal** | 64 | Local business | US local search directory. |
| **Cylex** | 64 | Local business | International business directory. |
| **Brownbook** | 63 | Local business | Global business directory. |
| **Tupalo** | 62 | Local business | European business directory. |
| **WebWiki** | 60 | General | Website directory with reviews. |
| **iBegin** | 60 | Local business | US business directory. |
| **CitySquares** | 55 | Local business | US local business directory. |
| **eLocal** | 55 | Local business | US service provider directory. |
| **2FindLocal** | 53 | Local business | US local directory. |
| **Chamber of Commerce** | 50 | Local business | Business directory + resources. |
| **FindUsLocal** | 50 | Local business | Local search directory. |
| **ezlocal** | 50 | Local business | US local business listings. |
| **Yellow Pages Goes Green** | 49 | Local business | Eco-friendly business directory. |
| **Where To?** | 46 | Local business | Local discovery directory. |
---
## Tier 10 — Forums & Communities
Create a profile and participate in relevant communities. Most give dofollow profile links. Value comes from both the backlink and referral traffic from genuine participation. Follow the 90/10 rule: 90% helpful, 10% promotional.
| Forum | DR | Category | Notes |
|---|---|---|---|
| **Strava Clubs** | 90 | Fitness | Niche — fitness/health products only. |
| **Foursquare** | 90 | Hospitality | Business listing with dofollow link. |
| **SitePoint Forums** | 89 | Tech | Web dev community. Genuine participation required. |
| **Mumsnet Forums** | 85 | Family | Niche — family/parenting products. Large UK audience. |
| **Digital Point** | 82 | Marketing | SEO/marketing forum. |
| **WebmasterWorld** | 77 | Marketing | SEO/webmaster community. High editorial standards. |
| **BlackHatWorld** | 77 | Marketing | SEO/marketing forum. Despite the name, has legitimate discussions. |
| **GrowthHackers** | 76 | Marketing | Growth marketing community. Dofollow articles + profile. |
| **Warrior Forum** | 73 | Marketing | Internet marketing community. |
| **Apsense** | 72 | Marketing | Business networking + marketing forum. |
| **ActiveRain** | 70 | Real estate | Niche — real estate industry. |
| **Quibblo** | 55 | General | Quiz/poll community with profile links. |
---
## Tier 11 — Press Release, Article & Blog Directory Sites
Publish articles or press releases to earn dofollow backlinks. Best for product launches, funding announcements, major feature releases. Some accept any topic, others are PR-specific.
### Article & Blog Directories
| Site | DR | Type | Notes |
|---|---|---|---|
| **EzineArticles** | 80 | Article | Established article directory. Editorial review. |
| **Feedspot** | 80 | Blog directory | Blog discovery + RSS aggregation. Submit your blog. |
| **Alltop** | 73 | Blog directory | Guy Kawasaki's blog aggregator. |
| **ArticlesBase** | 70 | Article | Article publishing platform. |
| **Blogarama** | 64 | Blog directory | Blog directory with categories. |
| **Sooper Articles** | 60 | Article | Article submission site. |
| **OnToplist** | 60 | Blog directory | Blog ranking directory. |
| **BlogEngage** | 55 | Blog directory | Blog promotion community. |
| **BizSugar** | 55 | Business | Small business content sharing. |
| **TechPluto** | 50 | Marketing | Tech/marketing blog directory. |
### Press Release Distribution
| Site | DR | Notes |
|---|---|---|
| **PRLog** | 80 | Free press release distribution. Good reach. |
| **PR.com** | 77 | Free + paid press releases. Business directory too. |
| **OpenPR** | 72 | Free international press release distribution. |
| **1888 Press Release** | 69 | Free press release site. |
| **NewswireToday** | 65 | Free press release distribution. |
| **Online PR News** | 62 | Free press release distribution. |
| **PR Free** | 62 | Free press release site. |
### Marketing & General Directories
| Site | DR | Notes |
|---|---|---|
| **SubmissionWebDirectory** | 61 | General web directory. |
| **Site Promotion Directory** | 46 | Marketing-focused directory. |
| **Semfirms** | 45 | Marketing services directory. |
| **CabinetM** | 45 | Marketing technology directory. |
| **Cold Email Kit** | 44 | Email marketing directory. |
| **Directory LDM Studio** | 40 | General directory. |
| **Quality Internet Directory** | 39 | General web directory. |
| **ProofStories** | 32 | Marketing stories/case studies. |
---
## Tier 12 — Social Bookmarking & Curation
Bookmark or curate content with dofollow links. Lower effort than publishing full articles. Most useful for building diverse backlink profile.
| Platform | DR | Notes |
|---|---|---|
| **Scoop.it** | 91 | Content curation platform. Create topic pages with links. |
| **Diigo** | 85 | Social bookmarking + annotation. Profile + bookmark links. |
| **Pearltrees** | 84 | Visual content curation. Organize links into collections. |
| **BibSonomy** | 70 | Academic bookmarking. Best for research/data products. |
| **Folkd** | 64 | Social bookmarking. Tag and share links. |
---
## Tier 13 — Niche Vertical Directories
Industry-specific directories. Only submit if your product genuinely fits the vertical — forced listings get rejected and waste time.
### Legal
| Directory | DR | Notes |
|---|---|---|
| **Justia** | 85 | Legal services directory. |
| **Lawyers.com** | 82 | Legal directory. |
| **HG.org** | 75 | Legal resources directory. |
### Home & Construction
| Directory | DR | Notes |
|---|---|---|
| **Porch** | 80 | Home services marketplace. |
| **BuildZoom** | 73 | Construction/contractor directory. |
| **Tradify (FreeIndex)** | 55 | UK trades directory. |
| **iBuildNew** | 45 | Australian home building directory. |
### Hospitality & Food
| Directory | DR | Notes |
|---|---|---|
| **AllMenus** | 76 | Restaurant directory. |
### Design & Creative
| Directory | DR | Notes |
|---|---|---|
| **LandBook** | 72 | Web design inspiration gallery. Submit landing pages. |
| **Curated.design** | 52 | Design inspiration directory. |
| **Webdesign Inspiration** | 45 | Website design showcase. |
### Health & Fitness
| Directory | DR | Notes |
|---|---|---|
| **Wellness.com** | 60 | Health & wellness directory. |
| **YogaTrail** | 55 | Yoga/wellness directory. |
| **MassageTherapy (AMBP)** | 45 | Massage therapy directory. |
| **Athlinks** | 72 | Fitness/race results. Profile with links. |
| **Fit Pro Directory** | 40 | Fitness professional directory. |
### Real Estate
| Directory | DR | Notes |
|---|---|---|
| **Placester** | 60 | Real estate marketing directory. |
### B2B & International
| Directory | DR | Notes |
|---|---|---|
| **Sulekha** | 73 | Indian business directory. |
| **EU-Business** | 46 | European business directory. |
### Events
| Directory | DR | Notes |
|---|---|---|
| **Evensi Events** | 62 | Event discovery platform. |
### Education
| Directory | DR | Notes |
|---|---|---|
| *(TeachersPayTeachers listed in Tier 8 — Profile Platforms)* | | |
---
## Verification
After any submission goes live, verify the backlink exists and is dofollow. You can:
1. **Manual:** Open the listing, right-click your product link, "Inspect" → check for `rel="nofollow"` or `rel="ugc"`. If absent, the link is dofollow.
2. **curl:** `curl -sIL https://directory.com/your-listing | grep -i link`
3. **SEO tools:** Ahrefs Site Explorer → Backlinks → filter by this directory's domain.
**Re-verify quarterly.** Directories sometimes change all outbound links to nofollow without warning — if DR stops moving, check whether your biggest inbound links have silently flipped.
@@ -0,0 +1,232 @@
# Positioning Variations Library
Directory audiences respond to different framings. Never copy-paste the same description everywhere — AI engines penalize duplicate content, and each directory type rewards a different opener.
Use this library to generate per-tier variants. Swap `[product]`, `[category]`, `[competitors]`, `[use-case]`, and `[audience]` with the real values.
---
## Framework: Lead Sentence Varies by Tier
| Tier | Lead sentence pattern | Why |
|---|---|---|
| Startup / launch | "[Product] is the easiest way to [outcome] for [audience]." | Founders scan for outcome clarity. |
| SaaS directory | "[Product] is the [differentiator] alternative to [competitors]." | Catches "[competitor] alternative" search intent. |
| AI directory | "[Product] uses [AI capability] to [outcome]." | TAAFT/Futurepedia audiences explicitly want AI. |
| Agent / MCP | "[Product] is an MCP-native / agent-native [category]." | Niche but high-intent. Ruling-out competitors. |
| No-code | "[Product] lets you build [output] without code." | Audience values speed, not technical depth. |
| Dev tool | "[Product] is a [technical category] with [differentiator]." | Devs want substance upfront. |
| B2B review | "[Product] helps [audience] [measurable business outcome]." | Reviewers want ROI language. |
---
## Template: Startup / Launch Directories
**Target:** Product Hunt, BetaList, Fazier, Uneed, DevHunt, Microlaunch, OpenHunts, LaunchVault, Firsto, PitchWall
**Tagline (under 10 words):**
> The [differentiator] way to [outcome] for [audience].
**Short description (60 chars):**
> [Outcome-focused one-liner with product name]
**Long description (150 words):**
> [Product] is the easiest way to [outcome] for [audience]. Built for teams who [pain point], [product] removes [friction] by [how].
>
> Unlike [competitor category], [product] [key differentiator 1] and [key differentiator 2]. You can [action 1] in under [timeframe], [action 2] without [limitation], and [action 3] that would normally require [cost or technical skill].
>
> We built [product] because [founder origin story in one sentence]. It's now used by [audience examples] to [use case examples].
>
> Try it free at [url]. No credit card, no setup.
**Tags:** [product category], [audience type], [use case 1], [use case 2], [differentiator], [tech]
---
## Template: SaaS / Software Directories
**Target:** AlternativeTo, SaaSHub, G2, Capterra, GetApp, SourceForge, Slashdot, Startup Stash, F6S
**Tagline:**
> The [differentiator] alternative to [top competitors].
**Long description:**
> [Product] is a [differentiator] alternative to [competitor 1], [competitor 2], and [competitor 3] — built for [audience] who need [gap the competitors don't fill].
>
> Where [competitor 1] [limitation 1] and [competitor 2] [limitation 2], [product] [solves]. You get [feature 1], [feature 2], and [feature 3] in a single workspace, at [pricing relative to competitors].
>
> Key features:
> • [Feature 1] — [benefit]
> • [Feature 2] — [benefit]
> • [Feature 3] — [benefit]
> • [Feature 4] — [benefit]
> • [Integration 1], [Integration 2], [Integration 3] integrations
>
> Trusted by [audience examples]. Start free at [url].
**Tags:** [competitor] alternative, [category], [audience], [differentiator], [top 3 features]
---
## Template: AI Directories
**Target:** TAAFT, Futurepedia, Toolify, Future Tools, aitools.inc, AIStage, LogicBalls, SaasAITools
**Tagline:**
> AI-powered [category] for [audience].
**Long description:**
> [Product] is an AI-powered [category] that [core AI capability]. It uses [specific models / techniques] to [outcome] — so [audience] can [job to be done] in a fraction of the time.
>
> What makes it AI-first:
> • [AI feature 1] — [what it does] using [model/approach]
> • [AI feature 2] — [what it does]
> • [AI feature 3] — [what it does]
> • [AI feature 4] — [what it does]
>
> [Product] is built on [tech stack] and supports [models/providers]. Use cases: [use case 1], [use case 2], [use case 3], [use case 4].
>
> Free tier available. No API keys required to start.
**Tags:** AI [category], [AI capability 1], [AI capability 2], AI for [audience], [use case 1], [use case 2], [LLM provider], [differentiator]
---
## Template: Agent / MCP Registries
**Target:** Glama, APITracker, Linux Foundation MCP Registry, AI Agents List, AI Agent Store, AgentHunter
**Tagline:**
> MCP-native [category] for AI agents.
**Long description:**
> [Product] is an MCP-native [category] that lets AI agents [capability]. It exposes [MCP server capabilities] via the Model Context Protocol, so agents in Claude, ChatGPT, Cursor, and any MCP-compatible client can [actions].
>
> MCP capabilities:
> • [Tool 1] — [what the agent can do]
> • [Tool 2] — [what the agent can do]
> • [Tool 3] — [what the agent can do]
> • [Resource 1] — [context surfaced]
> • [Prompt 1] — [pre-built prompt]
>
> Authentication: [auth method]. Transports: stdio, HTTP, SSE. Security: [security posture].
>
> Installation: [one-line install command]. Docs: [docs URL].
**Tags:** MCP, MCP server, AI agent, agent [category], Claude integration, Model Context Protocol, [domain], [auth type]
---
## Template: No-Code Directories
**Target:** NoCodeFinder, No Code MBA Tools Directory, We Are No Code, NoCode.Tech
**Tagline:**
> Build [output] without code.
**Long description:**
> [Product] lets you build [output] without writing code. Drag, drop, or describe what you want and [product] handles the rest — [technical concept 1] and [technical concept 2] are automatic.
>
> What you can build:
> • [Example project 1] — built in [timeframe]
> • [Example project 2] — built in [timeframe]
> • [Example project 3] — built in [timeframe]
>
> No-code friendly features:
> • [Visual feature 1]
> • [Visual feature 2]
> • [AI-assisted feature]
> • [Pre-built templates]
>
> Start free. No credit card. Templates included.
**Tags:** no code, no-code [category], visual [tool], drag and drop, [output type], [audience type]
---
## Template: Dev / Technical Directories
**Target:** DevHunt, Stackshare, GitHub, Dev.to, Hacker News Show HN
**Tagline:**
> [Technical category] with [technical differentiator].
**Long description:**
> [Product] is a [technical category] built on [tech stack]. It solves [technical problem] by [technical approach].
>
> Architecture:
> • [Component 1] — [tech used]
> • [Component 2] — [tech used]
> • [Component 3] — [tech used]
>
> Why it's different: [technical insight or novel approach]. We chose [trade-off] because [reason].
>
> Open source: [yes/no/partial]. Self-hostable: [yes/no]. License: [license].
>
> API: [REST / GraphQL / MCP / gRPC]. SDKs: [languages]. Docs: [url].
**Tags:** [language], [framework], [category], open source, API, [tech stack component], [architecture approach]
---
## Template: B2B Review Platforms
**Target:** G2, Capterra, TrustRadius, GetApp, Gartner Digital Markets, Crozdesk
**Tagline:**
> [Business outcome] for [audience].
**Long description:**
> [Product] helps [audience] [achieve measurable business outcome]. Teams use it to [use case 1], [use case 2], and [use case 3] — reducing [metric] by [percentage] and increasing [metric] by [percentage].
>
> Key benefits:
> • [Business benefit 1] with [how measured]
> • [Business benefit 2] with [how measured]
> • [Business benefit 3] with [how measured]
>
> Integrations: [enterprise integrations — HubSpot, Salesforce, Slack, etc.]
>
> Security: [SOC 2 / GDPR / compliance posture]. Support: [support tier]. Pricing: [pricing range].
>
> Trusted by [customer logos / company size]. Case studies at [url].
**Tags:** [business use case], [vertical], [audience role], [compliance], enterprise [category], [integration 1]
---
## Category Tag Library
Pull 58 tags per submission from the relevant sections. Never repeat the exact same tag set across two directories in the same tier.
### Universal
[category], [audience], [differentiator], [use case], AI, no-code, SaaS, [tech stack]
### Industry
B2B, B2C, DTC, ecommerce, fintech, edtech, healthtech, martech, devtools, productivity, creator tools, agency tools
### Job-to-be-done
lead generation, lead qualification, customer onboarding, product recommendation, sales enablement, marketing automation, survey, assessment, calculator, quiz, intake form
### AI-specific
AI agent, LLM, generative AI, conversational AI, RAG, MCP, agent framework, AI form, AI quiz, AI assistant, AI automation
### Technical
open source, self-hosted, API-first, webhook, Zapier, no-code, low-code, embeddable, white-label, multi-tenant, SSO, SAML
---
## Do / Don't Quick Reference
**DO:**
- Vary the opening sentence across tiers
- Use real numbers and specific differentiators
- Match tone to audience (technical for devs, business for G2, excited for PH)
- Include a founder/origin angle in startup directories
- Lead with the AI-first angle in AI directories
**DON'T:**
- Copy-paste the same 150-word description everywhere
- Use vague claims ("blazing fast", "game-changing")
- Mention every feature — pick 35 per tier and rotate them
- Lie about competitor features (AI engines cross-reference and de-rank)
- Skip the tag list — it's how moderators route you to the right category
@@ -0,0 +1,266 @@
Directory,Tier,URL,Category,DR,Dofollow,Submission Date,Status,Live URL,Backlink Verified,Positioning Variant Used,Tags Used,Account Email,Notes
Product Hunt,1,https://producthunt.com/posts/new,Launch,91,Yes,,Draft,,,Startup,,,
Hacker News (Show HN),1,https://news.ycombinator.com/submit,Launch,91,No,,Draft,,,Dev,,,
BetaList,1,https://betalist.com/submit,Launch,64,Yes,,Draft,,,Startup,,,
Fazier,1,https://fazier.com/submit,Launch,30,Yes,,Draft,,,Startup,,,
DevHunt,1,https://devhunt.org/submit,Launch,35,Yes,,Draft,,,Dev,,,
Uneed,1,https://uneed.best/submit-a-tool,Launch,40,Yes,,Draft,,,Startup,,,
Microlaunch,1,https://microlaunch.net/submit,Launch,30,Yes,,Draft,,,Startup,,,
OpenHunts,1,https://openhunts.com/submit,Launch,25,Yes,,Draft,,,Startup,,,
LaunchVault,1,https://launchvault.com/submit,Launch,20,Yes,,Draft,,,Startup,,,
What Launched Today,1,https://whatlaunchedtoday.com,Launch,20,Yes,,Draft,,,Startup,,,
Launching Next,1,https://launchingnext.com/submit,Launch,30,Yes,,Draft,,,Startup,,,
PeerPush,1,https://peerpush.net/submit,Launch,25,Yes,,Draft,,,Startup,,,
Firsto,1,https://firsto.co/submit,Launch,25,Yes,,Draft,,,Startup,,,
GetByte,1,https://getbyte.co/submit,Launch,20,Yes,,Draft,,,Startup,,,
Best of Web,1,https://bestofweb.io/submit,Launch,30,Yes,,Draft,,,Startup,,,
Tiny Launch,1,https://tinylaunch.com/submit,Launch,20,Yes,,Draft,,,Startup,,,
PitchWall,1,https://pitchwall.co/submit,Launch,25,Yes,,Draft,,,Startup,,,
AlternativeTo,2,https://alternativeto.net/software/_/add/,SaaS,79,No,,Draft,,,SaaS,,,
SaaSHub,2,https://saashub.com/submit,SaaS,77,Yes,,Draft,,,SaaS,,,
G2,2,https://my.g2.com/sellers/welcome,SaaS,92,Yes,,Draft,,,B2B review,,,
Capterra,2,https://www.capterra.com/vendors,SaaS,93,Yes,,Draft,,,B2B review,,,
GetApp,2,https://www.getapp.com/vendors,SaaS,78,Yes,,Draft,,,B2B review,,,
SourceForge,2,https://sourceforge.net/user/register,SaaS,92,Yes,,Draft,,,SaaS,,,
Slashdot,2,https://slashdot.org/submission,SaaS,88,Yes,,Draft,,,SaaS,,,
Startup Stash,2,https://startupstash.com/submit,SaaS,50,Yes,,Draft,,,Startup,,,
SideProjectors,2,https://www.sideprojectors.com/project/new,SaaS,35,Yes,,Draft,,,Startup,,,
F6S,2,https://www.f6s.com/company/create,SaaS,65,Yes,,Draft,,,Startup,,,
Stackshare,2,https://stackshare.io/new-product,SaaS,60,Yes,,Draft,,,Dev,,,
TrustRadius,2,https://www.trustradius.com/vendors,SaaS,72,Yes,,Draft,,,B2B review,,,
Crozdesk,2,https://crozdesk.com/vendors,SaaS,55,Yes,,Draft,,,SaaS,,,
There's An AI For That,3,https://theresanaiforthat.com/submit,AI,76,Yes,,Draft,,,AI,,,
Futurepedia,3,https://www.futurepedia.io/submit-tool,AI,70,Yes,,Draft,,,AI,,,
Toolify.ai,3,https://www.toolify.ai/submit,AI,71,Yes,,Draft,,,AI,,,
Future Tools,3,https://www.futuretools.io/submit-a-tool,AI,69,Yes,,Draft,,,AI,,,
AI Tools Neilpatel,3,https://neilpatel.com/ai-tools,AI,91,Yes,,Draft,,,AI,,,
Good AI Tools,3,https://goodaitools.com/submit,AI,66,Yes,,Draft,,,AI,,,
NewTools.site,3,https://newtools.site/submit,AI,51,Yes,,Draft,,,AI,,,
aitools.inc,3,https://aitools.inc/submit,AI,66,Yes,,Draft,,,AI,,,
AIStage,3,https://aistage.net/submit,AI,66,Yes,,Draft,,,AI,,,
AItrendytools,3,https://www.aitrendytools.com/submit,AI,69,Yes,,Draft,,,AI,,,
Grabon AI Directory,3,https://www.grabon.in/indulge/ai-tools/submit,AI,70,Yes,,Draft,,,AI,,,
TopAI.tools,3,https://topai.tools/submit,AI,60,Yes,,Draft,,,AI,,,
Supertools,3,https://supertools.therundown.ai/submit,AI,61,Yes,,Draft,,,AI,,,
AI Tools Directory,3,https://aitoolsdirectory.com/submit,AI,55,Yes,,Draft,,,AI,,,
LogicBalls,3,https://logicballs.com/submit,AI,40,Yes,,Draft,,,AI,,,
SaasAITools,3,https://saasaitools.com/submit,AI,30,Yes,,Draft,,,AI,,,
PoweredByAI,3,https://poweredbyai.app/submit,AI,35,Yes,,Draft,,,AI,,,
TheAISurf,3,https://theaisurf.com/submit,AI,30,Yes,,Draft,,,AI,,,
Aixyz,3,https://ai.xyz/submit,AI,30,Yes,,Draft,,,AI,,,
AI Pedia Hub,3,https://aipediahub.com/submit,AI,40,Yes,,Draft,,,AI,,,
Dofollow.Tools,3,https://dofollow.tools/submit,AI,30,Yes,,Draft,,,AI,,,
AI Scout,3,https://aiscout.net/submit,AI,25,Yes,,Draft,,,AI,,,
AiMatchPro,3,https://aimatchpro.ai/submit,AI,20,Yes,,Draft,,,AI,,,
AIChief,3,https://aichief.com/submit,AI,35,Yes,,Draft,,,AI,,,
AI Tools Love,3,https://aitools.love/submit,AI,25,Yes,,Draft,,,AI,,,
AI Agents List,4,https://aiagentslist.com/submit,Agent,,Yes,,Draft,,,Agent,,,
Glama.ai MCP,4,https://glama.ai/mcp/servers,MCP,,Yes,,Draft,,,MCP,,,
APITracker MCP,4,https://apitracker.io/mcp-servers,MCP,,Yes,,Draft,,,MCP,,,
Linux Foundation MCP Registry,4,https://github.com/modelcontextprotocol/registry,MCP,,Yes,,Draft,,,MCP,,,
AI Agent Store,4,https://aiagentstore.ai/submit,Agent,,Yes,,Draft,,,Agent,,,
AI Agents Base,4,https://aiagentsbase.com/submit,Agent,,Yes,,Draft,,,Agent,,,
AI Agents Directory,4,https://aiagentsdirectory.com/submit,Agent,,Yes,,Draft,,,Agent,,,
AgentHunter,4,https://agenthunter.com/submit,Agent,,Yes,,Draft,,,Agent,,,
AI Agents Live,4,https://aiagents.live/submit,Agent,,Yes,,Draft,,,Agent,,,
AI Agents Marketplace,4,https://aiagentsmarketplace.com/submit,Agent,,Yes,,Draft,,,Agent,,,
NoCodeFinder,5,https://www.nocodefinder.com/submit,No-Code,45,Yes,,Draft,,,No-code,,,
No Code MBA,5,https://www.nocode.mba/tools/submit,No-Code,55,Yes,,Draft,,,No-code,,,
We Are No Code,5,https://www.wearenocode.com/submit,No-Code,40,Yes,,Draft,,,No-code,,,
NoCodeList,5,https://nocodelist.co/submit,No-Code,30,Yes,,Draft,,,No-code,,,
NoCodeDevs,5,https://www.nocodedevs.com/submit,No-Code,25,Yes,,Draft,,,No-code,,,
NoCode.Tech,5,https://www.nocode.tech/submit,No-Code,35,Yes,,Draft,,,No-code,,,
Zapier App Directory,7,https://zapier.com/developer,Integration,91,Yes,,Draft,,,Integration,,,
HubSpot App Marketplace,7,https://ecosystem.hubspot.com/marketplace,Integration,93,Yes,,Draft,,,Integration,,,
Slack App Directory,7,https://api.slack.com/apps,Integration,89,Yes,,Draft,,,Integration,,,
Airtable Marketplace,7,https://airtable.com/marketplace,Integration,82,Yes,,Draft,,,Integration,,,
Notion Integrations,7,https://www.notion.so/integrations,Integration,88,Yes,,Draft,,,Integration,,,
Make (Integromat),7,https://www.make.com/en/partners,Integration,70,Yes,,Draft,,,Integration,,,
Pipedream,7,https://pipedream.com/docs/components,Integration,70,Yes,,Draft,,,Integration,,,
Software Advice,2,https://www.softwareadvice.com/vendors,SaaS,88,Yes,,Draft,,,B2B review,,,
TheSaaSDirectory,2,https://thesaasdirectory.com,SaaS,88,Yes,,Draft,,,SaaS,,,
Tech.co,2,https://tech.co,SaaS,80,Yes,,Draft,,,SaaS,,,
Taalk,2,https://taalk.com,Startup,80,Yes,,Draft,,,Startup,,,
Startup Fame,2,https://startupfa.me,Startup,77,Yes,,Draft,,,Startup,,,
Indie Hackers,2,https://www.indiehackers.com,SaaS,76,Yes,,Draft,,,Startup,,,
Slant,2,https://www.slant.co,SaaS,75,Yes,,Draft,,,SaaS,,,
Gust,2,https://gust.com,Startup,75,Yes,,Draft,,,Startup,,,
Inc42,2,https://inc42.com,Startup,75,Yes,,Draft,,,Startup,,,
Wefunder,2,https://wefunder.com,Startup,76,Yes,,Draft,,,Startup,,,
Startups.com,2,https://www.startups.com,Startup,68,Yes,,Draft,,,Startup,,,
IndieHustles,2,https://www.indiehustles.com,SaaS,66,Yes,,Draft,,,SaaS,,,
SaaSWorthy,2,https://www.saasworthy.com,SaaS,65,Yes,,Draft,,,SaaS,,,
ToolsFine,2,https://toolsfine.com,SaaS,65,Yes,,Draft,,,SaaS,,,
Bizcommunity,2,https://www.bizcommunity.com,B2B,65,Yes,,Draft,,,B2B,,,
StartUs,2,https://startus.cc,Startup,62,Yes,,Draft,,,Startup,,,
Today Launches,2,https://todaylaunches.com,Startup,60,Yes,,Draft,,,Startup,,,
StartupBuffer,2,https://startupbuffer.com,Startup,57,Yes,,Draft,,,Startup,,,
Feedough,2,https://www.feedough.com,Startup,55,Yes,,Draft,,,Startup,,,
Indie Hacker Tools,2,https://www.indiehacker.tools,Startup,55,Yes,,Draft,,,Startup,,,
Open Launch,2,https://open-launch.com,Startup,55,Yes,,Draft,,,Startup,,,
New SaaSly,2,https://newsaasly.com,SaaS,52,Yes,,Draft,,,SaaS,,,
Business Software,2,https://www.business-software.com,SaaS,49,Yes,,Draft,,,SaaS,,,
Promote Project,2,https://www.promoteproject.com,Startup,47,Yes,,Draft,,,Startup,,,
FiveTaco,2,https://fivetaco.com,SaaS,47,Yes,,Draft,,,SaaS,,,
Cuspera,2,https://www.cuspera.com,SaaS,45,Yes,,Draft,,,SaaS,,,
BetaBound,2,https://betabound.com,Startup,45,Yes,,Draft,,,Startup,,,
Makerthrive,2,https://makerthrive.com,Startup,45,Yes,,Draft,,,Startup,,,
StartupTracker,2,https://startuptracker.io,Startup,44,Yes,,Draft,,,Startup,,,
BusinessHunt,2,https://businesshunt.co,SaaS,43,Yes,,Draft,,,SaaS,,,
Launched.io,2,https://launched.io,Startup,40,Yes,,Draft,,,Startup,,,
ProfitHunt,2,https://profithunt.co,Startup,40,Yes,,Draft,,,Startup,,,
10words,2,https://10words.io,SaaS,40,Yes,,Draft,,,SaaS,,,
TrustMRR,2,https://trustmrr.com,Startup,40,Yes,,Draft,,,Startup,,,
OpenClawDir,2,https://openclawdir.com,Tech,35,Yes,,Draft,,,Dev,,,
Build Voyage,2,https://buildvoyage.com,Startup,33,Yes,,Draft,,,Startup,,,
AlphaDigits,2,https://alphadigits.com,SaaS,32,Yes,,Draft,,,SaaS,,,
GPTForge,3,https://gptforge.net,AI,30,Yes,,Draft,,,AI,,,Domain created 2025 — DR 88 from source list is implausible
AI Tools Guide,3,https://aitoolsguide.com,AI,77,Yes,,Draft,,,AI,,,
AIToolly,3,https://aitoolly.com,AI,69,Yes,,Draft,,,AI,,,
All The AI Tools,3,https://alltheaitools.com,AI,66,Yes,,Draft,,,AI,,,
Aiforme.wiki,3,https://aiforme.wiki,AI,66,Yes,,Draft,,,AI,,,
Noxilo,3,https://noxilo.com,AI,66,Yes,,Draft,,,AI,,,
AI Generation,3,https://www.theaigeneration.com,AI,55,Yes,,Draft,,,AI,,,
Every AI,3,https://every-ai.com,AI,55,Yes,,Draft,,,AI,,,
BAI.tools,3,https://bai.tools,AI,53,Yes,,Draft,,,AI,,,
The Rundown Tools,3,https://www.rundown.ai/tools,AI,40,Yes,,Draft,,,AI,,,
AI NavHub,3,https://ainavhub.com,AI,38,Yes,,Draft,,,AI,,,
WhatTheAI,3,https://whattheai.tech,AI,35,Yes,,Draft,,,AI,,,
ToolAI,3,https://toolai.io,AI,31,Yes,,Draft,,,AI,,,
LLM Relevance,3,https://www.llmrelevance.com,AI,30,Yes,,Draft,,,AI,,,
MakerPad / Zapier,5,https://www.makerpad.co,No-Code,62,Yes,,Draft,,,No-code,,,
NoCodeFounders,5,https://www.nocodefounders.com,No-Code,45,Yes,,Draft,,,No-code,,,
WordPress.com,8,https://wordpress.com,Blog,100,Yes,,Draft,,,Profile,,,
Blogger,8,https://www.blogger.com,Blog,100,Yes,,Draft,,,Profile,,,
Tumblr,8,https://www.tumblr.com,Blog,99,Yes,,Draft,,,Profile,,,
GitHub,8,https://github.com,Tech,98,Yes,,Draft,,,Profile,,,
SoundCloud,8,https://soundcloud.com,Music,96,Yes,,Draft,,,Profile,,,
Weebly,8,https://www.weebly.com,Blog,95,Yes,,Draft,,,Profile,,,
SlideShare,8,https://www.slideshare.net,Content,95,Yes,,Draft,,,Profile,,,
Flickr,8,https://www.flickr.com,Photography,95,Yes,,Draft,,,Profile,,,
GitLab,8,https://gitlab.com,Tech,94,Yes,,Draft,,,Profile,,,
eBay Stores,8,https://www.ebay.com,E-commerce,94,Yes,,Draft,,,Profile,,,
Etsy,8,https://www.etsy.com,E-commerce,93,Yes,,Draft,,,Profile,,,
Substack,8,https://substack.com,Newsletter,93,Yes,,Draft,,,Profile,,,
Bitbucket,8,https://bitbucket.org,Tech,93,Yes,,Draft,,,Profile,,,
Scribd,8,https://www.scribd.com,Content,93,Yes,,Draft,,,Profile,,,
Disqus,8,https://disqus.com,Professional,93,Yes,,Draft,,,Profile,,,
Behance,8,https://www.behance.net,Design,93,Yes,,Draft,,,Profile,,,
Pastebin,8,https://pastebin.com,Tech,93,Yes,,Draft,,,Profile,,,
Patreon,8,https://www.patreon.com,Creator,93,Yes,,Draft,,,Profile,,,
Imgur,8,https://imgur.com,Content,93,Yes,,Draft,,,Profile,,,
Dun & Bradstreet,8,https://www.dnb.com,B2B,93,Yes,,Draft,,,Profile,,,
Ghost.org,8,https://ghost.org,Blog,92,Yes,,Draft,,,Profile,,,
Evernote,8,https://evernote.com,Content,92,Yes,,Draft,,,Profile,,,
Issuu,8,https://issuu.com,Content,92,Yes,,Draft,,,Profile,,,
CodePen,8,https://codepen.io,Tech,92,Yes,,Draft,,,Profile,,,
Kaggle,8,https://www.kaggle.com,AI,92,Yes,,Draft,,,Profile,,,
Houzz,8,https://www.houzz.com,Home,92,Yes,,Draft,,,Profile,,,
LiveJournal,8,https://www.livejournal.com,Blog,91,Yes,,Draft,,,Profile,,,
Bandcamp,8,https://bandcamp.com,Music,91,Yes,,Draft,,,Profile,,,
Dev.to,8,https://dev.to,Tech,90,Yes,,Draft,,,Profile,,,
Gravatar,8,https://gravatar.com,Professional,90,Yes,,Draft,,,Profile,,,
Replit,8,https://replit.com,Tech,90,Yes,,Draft,,,Profile,,,
CodeProject,8,https://www.codeproject.com,Tech,90,Yes,,Draft,,,Profile,,,
Jimdo,8,https://www.jimdo.com,Blog,89,Yes,,Draft,,,Profile,,,
Calameo,8,https://www.calameo.com,Content,89,Yes,,Draft,,,Profile,,,
Buy Me a Coffee,8,https://www.buymeacoffee.com,Creator,88,Yes,,Draft,,,Profile,,,
ArtStation,8,https://www.artstation.com,Design,88,Yes,,Draft,,,Profile,,,
500px,8,https://500px.com,Photography,88,Yes,,Draft,,,Profile,,,
AppSumo,8,https://appsumo.com,E-commerce,84,Yes,,Draft,,,Profile,,,
IndiaMART,8,https://www.indiamart.com,B2B,87,Yes,,Draft,,,Profile,,,
Strikingly,8,https://www.strikingly.com,Blog,87,Yes,,Draft,,,Profile,,,
Hashnode,8,https://hashnode.com,Tech,85,Yes,,Draft,,,Profile,,,
About.me,8,https://about.me,Professional,85,Yes,,Draft,,,Profile,,,
Mixcloud,8,https://www.mixcloud.com,Music,85,Yes,,Draft,,,Profile,,,
4Shared,8,https://www.4shared.com,Content,85,Yes,,Draft,,,Profile,,,
HubPages,8,https://hubpages.com,Blog,84,Yes,,Draft,,,Profile,,,
TeachersPayTeachers,8,https://www.teacherspayteachers.com,Education,84,Yes,,Draft,,,Profile,,,
AuthorStream,8,https://www.authorstream.com,Content,70,Yes,,Draft,,,Profile,,,
Model Mayhem,8,https://www.modelmayhem.com,Design,72,Yes,,Draft,,,Profile,,,
Penzu,8,https://penzu.com,Blog,60,Yes,,Draft,,,Profile,,,
Crevado,8,https://crevado.com,Design,50,Yes,,Draft,,,Profile,,,
MyFolio,8,https://myfolio.com,Design,55,Yes,,Draft,,,Profile,,,
Manta,9,https://www.manta.com,Local business,76,Yes,,Draft,,,Local,,,
ActiveSearchResults,9,https://www.activesearchresults.com,Local business,74,Yes,,Draft,,,Local,,,
Hotfrog,9,https://www.hotfrog.com,Local business,72,Yes,,Draft,,,Local,,,
Spoke,9,https://www.spoke.com,Local business,70,Yes,,Draft,,,Local,,,
Locanto,9,https://www.locanto.com,General,70,Yes,,Draft,,,Local,,,
MerchantCircle,9,https://www.merchantcircle.com,Local business,68,Yes,,Draft,,,Local,,,
Just Landed,9,https://www.justlanded.com,Local business,65,Yes,,Draft,,,Local,,,
Showmelocal,9,https://www.showmelocal.com,Local business,64,Yes,,Draft,,,Local,,,
Cylex,9,https://www.cylex.us.com,Local business,64,Yes,,Draft,,,Local,,,
Brownbook,9,https://www.brownbook.net,Local business,63,Yes,,Draft,,,Local,,,
Tupalo,9,https://tupalo.com,Local business,62,Yes,,Draft,,,Local,,,
WebWiki,9,https://www.webwiki.com,Local business,60,Yes,,Draft,,,Local,,,
iBegin,9,https://www.ibegin.com,Local business,60,Yes,,Draft,,,Local,,,
CitySquares,9,https://citysquares.com,Local business,55,Yes,,Draft,,,Local,,,
eLocal,9,https://elocal.com,Local business,55,Yes,,Draft,,,Local,,,
2FindLocal,9,https://www.2findlocal.com,Local business,53,Yes,,Draft,,,Local,,,
Chamber of Commerce,9,https://www.chamberofcommerce.com,Local business,50,Yes,,Draft,,,Local,,,
FindUsLocal,9,https://www.finduslocal.com,Local business,50,Yes,,Draft,,,Local,,,
ezlocal,9,https://www.ezlocal.com,Local business,50,Yes,,Draft,,,Local,,,
Yellow Pages Goes Green,9,https://www.yellowpagesgoesgreen.org,Local business,49,Yes,,Draft,,,Local,,,
Where To?,9,https://www.where2go.com,Local business,46,Yes,,Draft,,,Local,,,
SitePoint Forums,10,https://www.sitepoint.com/community,Tech,89,Yes,,Draft,,,Forum,,,
Mumsnet Forums,10,https://www.mumsnet.com/Talk,Family,85,Yes,,Draft,,,Forum,,,
Digital Point,10,https://forums.digitalpoint.com,Marketing,82,Yes,,Draft,,,Forum,,,
WebmasterWorld,10,https://www.webmasterworld.com,Marketing,77,Yes,,Draft,,,Forum,,,
BlackHatWorld,10,https://www.blackhatworld.com,Marketing,77,Yes,,Draft,,,Forum,,,
GrowthHackers,10,https://growthhackers.com,Marketing,76,Yes,,Draft,,,Forum,,,
Warrior Forum,10,https://www.warriorforum.com,Marketing,73,Yes,,Draft,,,Forum,,,
Apsense,10,https://www.apsense.com,Marketing,72,Yes,,Draft,,,Forum,,,
Strava Clubs,10,https://www.strava.com,Fitness,90,Yes,,Draft,,,Forum,,,
Foursquare,10,https://business.foursquare.com,Hospitality,90,Yes,,Draft,,,Forum,,,
ActiveRain,10,https://activerain.com,Real estate,70,Yes,,Draft,,,Forum,,,
Quibblo,10,https://www.quibblo.com,General,55,Yes,,Draft,,,Forum,,,
EzineArticles,11,https://ezinearticles.com,Article,80,Yes,,Draft,,,Article,,,
PRLog,11,https://www.prlog.org,Press release,80,Yes,,Draft,,,PR,,,
Feedspot,11,https://www.feedspot.com,Blog directory,80,Yes,,Draft,,,Article,,,
PR.com,11,https://www.pr.com,Press release,77,Yes,,Draft,,,PR,,,
Alltop,11,https://alltop.com,Blog directory,73,Yes,,Draft,,,Article,,,
OpenPR,11,https://www.openpr.com,Press release,72,Yes,,Draft,,,PR,,,
ArticlesBase,11,https://www.articlesbase.com,Article,70,Yes,,Draft,,,Article,,,
1888 Press Release,11,https://www.1888pressrelease.com,Press release,69,Yes,,Draft,,,PR,,,
NewswireToday,11,https://www.newswiretoday.com,Press release,65,Yes,,Draft,,,PR,,,
Blogarama,11,https://www.blogarama.com,Blog directory,64,Yes,,Draft,,,Article,,,
Online PR News,11,https://www.onlineprnews.com,Press release,62,Yes,,Draft,,,PR,,,
PR Free,11,https://www.pr-free.com,Press release,62,Yes,,Draft,,,PR,,,
SubmissionWebDirectory,11,https://www.submissionwebdirectory.com,General,61,Yes,,Draft,,,Article,,,
Sooper Articles,11,https://www.sooperarticles.com,Article,60,Yes,,Draft,,,Article,,,
OnToplist,11,https://www.ontoplist.com,Blog directory,60,Yes,,Draft,,,Article,,,
BlogEngage,11,https://www.blogengage.com,Blog directory,55,Yes,,Draft,,,Article,,,
BizSugar,11,https://www.bizsugar.com,Business,55,Yes,,Draft,,,Article,,,
TechPluto,11,https://www.techpluto.com,Marketing,50,Yes,,Draft,,,Article,,,
Semfirms,11,https://www.semfirms.com,Marketing,45,Yes,,Draft,,,Article,,,
CabinetM,11,https://www.cabinetm.com,Marketing,45,Yes,,Draft,,,Article,,,
Cold Email Kit,11,https://coldemailkit.com,Marketing,44,Yes,,Draft,,,Article,,,
Directory LDM Studio,11,https://www.directory.ldmstudio.com,General,40,Yes,,Draft,,,Article,,,
Quality Internet Directory,11,https://www.qualityinternetdirectory.com,General,39,Yes,,Draft,,,Article,,,
Site Promotion Directory,11,https://www.sitepromotiondirectory.com,Marketing,46,Yes,,Draft,,,Article,,,
ProofStories,11,https://proofstories.io,Marketing,32,Yes,,Draft,,,Article,,,
Scoop.it,12,https://www.scoop.it,Curation,91,Yes,,Draft,,,Bookmarking,,,
Diigo,12,https://www.diigo.com,Bookmarking,85,Yes,,Draft,,,Bookmarking,,,
Pearltrees,12,https://www.pearltrees.com,Bookmarking,84,Yes,,Draft,,,Bookmarking,,,
BibSonomy,12,https://www.bibsonomy.org,Research,70,Yes,,Draft,,,Bookmarking,,,
Folkd,12,https://www.folkd.com,Bookmarking,64,Yes,,Draft,,,Bookmarking,,,
Justia,13,https://www.justia.com,Legal,85,Yes,,Draft,,,Niche,,,
Lawyers.com,13,https://www.lawyers.com,Legal,82,Yes,,Draft,,,Niche,,,
Porch,13,https://porch.com,Home,80,Yes,,Draft,,,Niche,,,
AllMenus,13,https://www.allmenus.com,Hospitality,76,Yes,,Draft,,,Niche,,,
HG.org,13,https://www.hg.org,Legal,75,Yes,,Draft,,,Niche,,,
Sulekha,13,https://www.sulekha.com,B2B,73,Yes,,Draft,,,Niche,,,
BuildZoom,13,https://www.buildzoom.com,Home,73,Yes,,Draft,,,Niche,,,
LandBook,13,https://land-book.com,Design,72,Yes,,Draft,,,Niche,,,
Athlinks,13,https://www.athlinks.com,Fitness,72,Yes,,Draft,,,Niche,,,
Evensi Events,13,https://evensi.com,Events,62,Yes,,Draft,,,Niche,,,
Wellness.com,13,https://www.wellness.com,Health,60,Yes,,Draft,,,Niche,,,
Placester,13,https://placester.com,Real estate,60,Yes,,Draft,,,Niche,,,
YogaTrail,13,https://www.yogatrail.com,Health,55,Yes,,Draft,,,Niche,,,
Tradify (FreeIndex),13,https://www.freeindex.co.uk,Home,55,Yes,,Draft,,,Niche,,,
Webdesign Inspiration,13,https://webdesign-inspiration.com,Design,45,Yes,,Draft,,,Niche,,,
iBuildNew,13,https://www.ibuildnew.com.au,Home,45,Yes,,Draft,,,Niche,,,
EU-Business,13,https://www.eu-business.com,B2B,46,Yes,,Draft,,,Niche,,,
MassageTherapy (AMBP),13,https://www.massagetherapy.com,Health,45,Yes,,Draft,,,Niche,,,
Fit Pro Directory,13,https://fitprofessionals.net,Fitness,40,Yes,,Draft,,,Niche,,,
Curated.design,13,https://www.curated.design,Design,52,Yes,,Draft,,,Niche,,,
1 Directory Tier URL Category DR Dofollow Submission Date Status Live URL Backlink Verified Positioning Variant Used Tags Used Account Email Notes
2 Product Hunt 1 https://producthunt.com/posts/new Launch 91 Yes Draft Startup
3 Hacker News (Show HN) 1 https://news.ycombinator.com/submit Launch 91 No Draft Dev
4 BetaList 1 https://betalist.com/submit Launch 64 Yes Draft Startup
5 Fazier 1 https://fazier.com/submit Launch 30 Yes Draft Startup
6 DevHunt 1 https://devhunt.org/submit Launch 35 Yes Draft Dev
7 Uneed 1 https://uneed.best/submit-a-tool Launch 40 Yes Draft Startup
8 Microlaunch 1 https://microlaunch.net/submit Launch 30 Yes Draft Startup
9 OpenHunts 1 https://openhunts.com/submit Launch 25 Yes Draft Startup
10 LaunchVault 1 https://launchvault.com/submit Launch 20 Yes Draft Startup
11 What Launched Today 1 https://whatlaunchedtoday.com Launch 20 Yes Draft Startup
12 Launching Next 1 https://launchingnext.com/submit Launch 30 Yes Draft Startup
13 PeerPush 1 https://peerpush.net/submit Launch 25 Yes Draft Startup
14 Firsto 1 https://firsto.co/submit Launch 25 Yes Draft Startup
15 GetByte 1 https://getbyte.co/submit Launch 20 Yes Draft Startup
16 Best of Web 1 https://bestofweb.io/submit Launch 30 Yes Draft Startup
17 Tiny Launch 1 https://tinylaunch.com/submit Launch 20 Yes Draft Startup
18 PitchWall 1 https://pitchwall.co/submit Launch 25 Yes Draft Startup
19 AlternativeTo 2 https://alternativeto.net/software/_/add/ SaaS 79 No Draft SaaS
20 SaaSHub 2 https://saashub.com/submit SaaS 77 Yes Draft SaaS
21 G2 2 https://my.g2.com/sellers/welcome SaaS 92 Yes Draft B2B review
22 Capterra 2 https://www.capterra.com/vendors SaaS 93 Yes Draft B2B review
23 GetApp 2 https://www.getapp.com/vendors SaaS 78 Yes Draft B2B review
24 SourceForge 2 https://sourceforge.net/user/register SaaS 92 Yes Draft SaaS
25 Slashdot 2 https://slashdot.org/submission SaaS 88 Yes Draft SaaS
26 Startup Stash 2 https://startupstash.com/submit SaaS 50 Yes Draft Startup
27 SideProjectors 2 https://www.sideprojectors.com/project/new SaaS 35 Yes Draft Startup
28 F6S 2 https://www.f6s.com/company/create SaaS 65 Yes Draft Startup
29 Stackshare 2 https://stackshare.io/new-product SaaS 60 Yes Draft Dev
30 TrustRadius 2 https://www.trustradius.com/vendors SaaS 72 Yes Draft B2B review
31 Crozdesk 2 https://crozdesk.com/vendors SaaS 55 Yes Draft SaaS
32 There's An AI For That 3 https://theresanaiforthat.com/submit AI 76 Yes Draft AI
33 Futurepedia 3 https://www.futurepedia.io/submit-tool AI 70 Yes Draft AI
34 Toolify.ai 3 https://www.toolify.ai/submit AI 71 Yes Draft AI
35 Future Tools 3 https://www.futuretools.io/submit-a-tool AI 69 Yes Draft AI
36 AI Tools Neilpatel 3 https://neilpatel.com/ai-tools AI 91 Yes Draft AI
37 Good AI Tools 3 https://goodaitools.com/submit AI 66 Yes Draft AI
38 NewTools.site 3 https://newtools.site/submit AI 51 Yes Draft AI
39 aitools.inc 3 https://aitools.inc/submit AI 66 Yes Draft AI
40 AIStage 3 https://aistage.net/submit AI 66 Yes Draft AI
41 AItrendytools 3 https://www.aitrendytools.com/submit AI 69 Yes Draft AI
42 Grabon AI Directory 3 https://www.grabon.in/indulge/ai-tools/submit AI 70 Yes Draft AI
43 TopAI.tools 3 https://topai.tools/submit AI 60 Yes Draft AI
44 Supertools 3 https://supertools.therundown.ai/submit AI 61 Yes Draft AI
45 AI Tools Directory 3 https://aitoolsdirectory.com/submit AI 55 Yes Draft AI
46 LogicBalls 3 https://logicballs.com/submit AI 40 Yes Draft AI
47 SaasAITools 3 https://saasaitools.com/submit AI 30 Yes Draft AI
48 PoweredByAI 3 https://poweredbyai.app/submit AI 35 Yes Draft AI
49 TheAISurf 3 https://theaisurf.com/submit AI 30 Yes Draft AI
50 Aixyz 3 https://ai.xyz/submit AI 30 Yes Draft AI
51 AI Pedia Hub 3 https://aipediahub.com/submit AI 40 Yes Draft AI
52 Dofollow.Tools 3 https://dofollow.tools/submit AI 30 Yes Draft AI
53 AI Scout 3 https://aiscout.net/submit AI 25 Yes Draft AI
54 AiMatchPro 3 https://aimatchpro.ai/submit AI 20 Yes Draft AI
55 AIChief 3 https://aichief.com/submit AI 35 Yes Draft AI
56 AI Tools Love 3 https://aitools.love/submit AI 25 Yes Draft AI
57 AI Agents List 4 https://aiagentslist.com/submit Agent Yes Draft Agent
58 Glama.ai MCP 4 https://glama.ai/mcp/servers MCP Yes Draft MCP
59 APITracker MCP 4 https://apitracker.io/mcp-servers MCP Yes Draft MCP
60 Linux Foundation MCP Registry 4 https://github.com/modelcontextprotocol/registry MCP Yes Draft MCP
61 AI Agent Store 4 https://aiagentstore.ai/submit Agent Yes Draft Agent
62 AI Agents Base 4 https://aiagentsbase.com/submit Agent Yes Draft Agent
63 AI Agents Directory 4 https://aiagentsdirectory.com/submit Agent Yes Draft Agent
64 AgentHunter 4 https://agenthunter.com/submit Agent Yes Draft Agent
65 AI Agents Live 4 https://aiagents.live/submit Agent Yes Draft Agent
66 AI Agents Marketplace 4 https://aiagentsmarketplace.com/submit Agent Yes Draft Agent
67 NoCodeFinder 5 https://www.nocodefinder.com/submit No-Code 45 Yes Draft No-code
68 No Code MBA 5 https://www.nocode.mba/tools/submit No-Code 55 Yes Draft No-code
69 We Are No Code 5 https://www.wearenocode.com/submit No-Code 40 Yes Draft No-code
70 NoCodeList 5 https://nocodelist.co/submit No-Code 30 Yes Draft No-code
71 NoCodeDevs 5 https://www.nocodedevs.com/submit No-Code 25 Yes Draft No-code
72 NoCode.Tech 5 https://www.nocode.tech/submit No-Code 35 Yes Draft No-code
73 Zapier App Directory 7 https://zapier.com/developer Integration 91 Yes Draft Integration
74 HubSpot App Marketplace 7 https://ecosystem.hubspot.com/marketplace Integration 93 Yes Draft Integration
75 Slack App Directory 7 https://api.slack.com/apps Integration 89 Yes Draft Integration
76 Airtable Marketplace 7 https://airtable.com/marketplace Integration 82 Yes Draft Integration
77 Notion Integrations 7 https://www.notion.so/integrations Integration 88 Yes Draft Integration
78 Make (Integromat) 7 https://www.make.com/en/partners Integration 70 Yes Draft Integration
79 Pipedream 7 https://pipedream.com/docs/components Integration 70 Yes Draft Integration
80 Software Advice 2 https://www.softwareadvice.com/vendors SaaS 88 Yes Draft B2B review
81 TheSaaSDirectory 2 https://thesaasdirectory.com SaaS 88 Yes Draft SaaS
82 Tech.co 2 https://tech.co SaaS 80 Yes Draft SaaS
83 Taalk 2 https://taalk.com Startup 80 Yes Draft Startup
84 Startup Fame 2 https://startupfa.me Startup 77 Yes Draft Startup
85 Indie Hackers 2 https://www.indiehackers.com SaaS 76 Yes Draft Startup
86 Slant 2 https://www.slant.co SaaS 75 Yes Draft SaaS
87 Gust 2 https://gust.com Startup 75 Yes Draft Startup
88 Inc42 2 https://inc42.com Startup 75 Yes Draft Startup
89 Wefunder 2 https://wefunder.com Startup 76 Yes Draft Startup
90 Startups.com 2 https://www.startups.com Startup 68 Yes Draft Startup
91 IndieHustles 2 https://www.indiehustles.com SaaS 66 Yes Draft SaaS
92 SaaSWorthy 2 https://www.saasworthy.com SaaS 65 Yes Draft SaaS
93 ToolsFine 2 https://toolsfine.com SaaS 65 Yes Draft SaaS
94 Bizcommunity 2 https://www.bizcommunity.com B2B 65 Yes Draft B2B
95 StartUs 2 https://startus.cc Startup 62 Yes Draft Startup
96 Today Launches 2 https://todaylaunches.com Startup 60 Yes Draft Startup
97 StartupBuffer 2 https://startupbuffer.com Startup 57 Yes Draft Startup
98 Feedough 2 https://www.feedough.com Startup 55 Yes Draft Startup
99 Indie Hacker Tools 2 https://www.indiehacker.tools Startup 55 Yes Draft Startup
100 Open Launch 2 https://open-launch.com Startup 55 Yes Draft Startup
101 New SaaSly 2 https://newsaasly.com SaaS 52 Yes Draft SaaS
102 Business Software 2 https://www.business-software.com SaaS 49 Yes Draft SaaS
103 Promote Project 2 https://www.promoteproject.com Startup 47 Yes Draft Startup
104 FiveTaco 2 https://fivetaco.com SaaS 47 Yes Draft SaaS
105 Cuspera 2 https://www.cuspera.com SaaS 45 Yes Draft SaaS
106 BetaBound 2 https://betabound.com Startup 45 Yes Draft Startup
107 Makerthrive 2 https://makerthrive.com Startup 45 Yes Draft Startup
108 StartupTracker 2 https://startuptracker.io Startup 44 Yes Draft Startup
109 BusinessHunt 2 https://businesshunt.co SaaS 43 Yes Draft SaaS
110 Launched.io 2 https://launched.io Startup 40 Yes Draft Startup
111 ProfitHunt 2 https://profithunt.co Startup 40 Yes Draft Startup
112 10words 2 https://10words.io SaaS 40 Yes Draft SaaS
113 TrustMRR 2 https://trustmrr.com Startup 40 Yes Draft Startup
114 OpenClawDir 2 https://openclawdir.com Tech 35 Yes Draft Dev
115 Build Voyage 2 https://buildvoyage.com Startup 33 Yes Draft Startup
116 AlphaDigits 2 https://alphadigits.com SaaS 32 Yes Draft SaaS
117 GPTForge 3 https://gptforge.net AI 30 Yes Draft AI Domain created 2025 — DR 88 from source list is implausible
118 AI Tools Guide 3 https://aitoolsguide.com AI 77 Yes Draft AI
119 AIToolly 3 https://aitoolly.com AI 69 Yes Draft AI
120 All The AI Tools 3 https://alltheaitools.com AI 66 Yes Draft AI
121 Aiforme.wiki 3 https://aiforme.wiki AI 66 Yes Draft AI
122 Noxilo 3 https://noxilo.com AI 66 Yes Draft AI
123 AI Generation 3 https://www.theaigeneration.com AI 55 Yes Draft AI
124 Every AI 3 https://every-ai.com AI 55 Yes Draft AI
125 BAI.tools 3 https://bai.tools AI 53 Yes Draft AI
126 The Rundown Tools 3 https://www.rundown.ai/tools AI 40 Yes Draft AI
127 AI NavHub 3 https://ainavhub.com AI 38 Yes Draft AI
128 WhatTheAI 3 https://whattheai.tech AI 35 Yes Draft AI
129 ToolAI 3 https://toolai.io AI 31 Yes Draft AI
130 LLM Relevance 3 https://www.llmrelevance.com AI 30 Yes Draft AI
131 MakerPad / Zapier 5 https://www.makerpad.co No-Code 62 Yes Draft No-code
132 NoCodeFounders 5 https://www.nocodefounders.com No-Code 45 Yes Draft No-code
133 WordPress.com 8 https://wordpress.com Blog 100 Yes Draft Profile
134 Blogger 8 https://www.blogger.com Blog 100 Yes Draft Profile
135 Tumblr 8 https://www.tumblr.com Blog 99 Yes Draft Profile
136 GitHub 8 https://github.com Tech 98 Yes Draft Profile
137 SoundCloud 8 https://soundcloud.com Music 96 Yes Draft Profile
138 Weebly 8 https://www.weebly.com Blog 95 Yes Draft Profile
139 SlideShare 8 https://www.slideshare.net Content 95 Yes Draft Profile
140 Flickr 8 https://www.flickr.com Photography 95 Yes Draft Profile
141 GitLab 8 https://gitlab.com Tech 94 Yes Draft Profile
142 eBay Stores 8 https://www.ebay.com E-commerce 94 Yes Draft Profile
143 Etsy 8 https://www.etsy.com E-commerce 93 Yes Draft Profile
144 Substack 8 https://substack.com Newsletter 93 Yes Draft Profile
145 Bitbucket 8 https://bitbucket.org Tech 93 Yes Draft Profile
146 Scribd 8 https://www.scribd.com Content 93 Yes Draft Profile
147 Disqus 8 https://disqus.com Professional 93 Yes Draft Profile
148 Behance 8 https://www.behance.net Design 93 Yes Draft Profile
149 Pastebin 8 https://pastebin.com Tech 93 Yes Draft Profile
150 Patreon 8 https://www.patreon.com Creator 93 Yes Draft Profile
151 Imgur 8 https://imgur.com Content 93 Yes Draft Profile
152 Dun & Bradstreet 8 https://www.dnb.com B2B 93 Yes Draft Profile
153 Ghost.org 8 https://ghost.org Blog 92 Yes Draft Profile
154 Evernote 8 https://evernote.com Content 92 Yes Draft Profile
155 Issuu 8 https://issuu.com Content 92 Yes Draft Profile
156 CodePen 8 https://codepen.io Tech 92 Yes Draft Profile
157 Kaggle 8 https://www.kaggle.com AI 92 Yes Draft Profile
158 Houzz 8 https://www.houzz.com Home 92 Yes Draft Profile
159 LiveJournal 8 https://www.livejournal.com Blog 91 Yes Draft Profile
160 Bandcamp 8 https://bandcamp.com Music 91 Yes Draft Profile
161 Dev.to 8 https://dev.to Tech 90 Yes Draft Profile
162 Gravatar 8 https://gravatar.com Professional 90 Yes Draft Profile
163 Replit 8 https://replit.com Tech 90 Yes Draft Profile
164 CodeProject 8 https://www.codeproject.com Tech 90 Yes Draft Profile
165 Jimdo 8 https://www.jimdo.com Blog 89 Yes Draft Profile
166 Calameo 8 https://www.calameo.com Content 89 Yes Draft Profile
167 Buy Me a Coffee 8 https://www.buymeacoffee.com Creator 88 Yes Draft Profile
168 ArtStation 8 https://www.artstation.com Design 88 Yes Draft Profile
169 500px 8 https://500px.com Photography 88 Yes Draft Profile
170 AppSumo 8 https://appsumo.com E-commerce 84 Yes Draft Profile
171 IndiaMART 8 https://www.indiamart.com B2B 87 Yes Draft Profile
172 Strikingly 8 https://www.strikingly.com Blog 87 Yes Draft Profile
173 Hashnode 8 https://hashnode.com Tech 85 Yes Draft Profile
174 About.me 8 https://about.me Professional 85 Yes Draft Profile
175 Mixcloud 8 https://www.mixcloud.com Music 85 Yes Draft Profile
176 4Shared 8 https://www.4shared.com Content 85 Yes Draft Profile
177 HubPages 8 https://hubpages.com Blog 84 Yes Draft Profile
178 TeachersPayTeachers 8 https://www.teacherspayteachers.com Education 84 Yes Draft Profile
179 AuthorStream 8 https://www.authorstream.com Content 70 Yes Draft Profile
180 Model Mayhem 8 https://www.modelmayhem.com Design 72 Yes Draft Profile
181 Penzu 8 https://penzu.com Blog 60 Yes Draft Profile
182 Crevado 8 https://crevado.com Design 50 Yes Draft Profile
183 MyFolio 8 https://myfolio.com Design 55 Yes Draft Profile
184 Manta 9 https://www.manta.com Local business 76 Yes Draft Local
185 ActiveSearchResults 9 https://www.activesearchresults.com Local business 74 Yes Draft Local
186 Hotfrog 9 https://www.hotfrog.com Local business 72 Yes Draft Local
187 Spoke 9 https://www.spoke.com Local business 70 Yes Draft Local
188 Locanto 9 https://www.locanto.com General 70 Yes Draft Local
189 MerchantCircle 9 https://www.merchantcircle.com Local business 68 Yes Draft Local
190 Just Landed 9 https://www.justlanded.com Local business 65 Yes Draft Local
191 Showmelocal 9 https://www.showmelocal.com Local business 64 Yes Draft Local
192 Cylex 9 https://www.cylex.us.com Local business 64 Yes Draft Local
193 Brownbook 9 https://www.brownbook.net Local business 63 Yes Draft Local
194 Tupalo 9 https://tupalo.com Local business 62 Yes Draft Local
195 WebWiki 9 https://www.webwiki.com Local business 60 Yes Draft Local
196 iBegin 9 https://www.ibegin.com Local business 60 Yes Draft Local
197 CitySquares 9 https://citysquares.com Local business 55 Yes Draft Local
198 eLocal 9 https://elocal.com Local business 55 Yes Draft Local
199 2FindLocal 9 https://www.2findlocal.com Local business 53 Yes Draft Local
200 Chamber of Commerce 9 https://www.chamberofcommerce.com Local business 50 Yes Draft Local
201 FindUsLocal 9 https://www.finduslocal.com Local business 50 Yes Draft Local
202 ezlocal 9 https://www.ezlocal.com Local business 50 Yes Draft Local
203 Yellow Pages Goes Green 9 https://www.yellowpagesgoesgreen.org Local business 49 Yes Draft Local
204 Where To? 9 https://www.where2go.com Local business 46 Yes Draft Local
205 SitePoint Forums 10 https://www.sitepoint.com/community Tech 89 Yes Draft Forum
206 Mumsnet Forums 10 https://www.mumsnet.com/Talk Family 85 Yes Draft Forum
207 Digital Point 10 https://forums.digitalpoint.com Marketing 82 Yes Draft Forum
208 WebmasterWorld 10 https://www.webmasterworld.com Marketing 77 Yes Draft Forum
209 BlackHatWorld 10 https://www.blackhatworld.com Marketing 77 Yes Draft Forum
210 GrowthHackers 10 https://growthhackers.com Marketing 76 Yes Draft Forum
211 Warrior Forum 10 https://www.warriorforum.com Marketing 73 Yes Draft Forum
212 Apsense 10 https://www.apsense.com Marketing 72 Yes Draft Forum
213 Strava Clubs 10 https://www.strava.com Fitness 90 Yes Draft Forum
214 Foursquare 10 https://business.foursquare.com Hospitality 90 Yes Draft Forum
215 ActiveRain 10 https://activerain.com Real estate 70 Yes Draft Forum
216 Quibblo 10 https://www.quibblo.com General 55 Yes Draft Forum
217 EzineArticles 11 https://ezinearticles.com Article 80 Yes Draft Article
218 PRLog 11 https://www.prlog.org Press release 80 Yes Draft PR
219 Feedspot 11 https://www.feedspot.com Blog directory 80 Yes Draft Article
220 PR.com 11 https://www.pr.com Press release 77 Yes Draft PR
221 Alltop 11 https://alltop.com Blog directory 73 Yes Draft Article
222 OpenPR 11 https://www.openpr.com Press release 72 Yes Draft PR
223 ArticlesBase 11 https://www.articlesbase.com Article 70 Yes Draft Article
224 1888 Press Release 11 https://www.1888pressrelease.com Press release 69 Yes Draft PR
225 NewswireToday 11 https://www.newswiretoday.com Press release 65 Yes Draft PR
226 Blogarama 11 https://www.blogarama.com Blog directory 64 Yes Draft Article
227 Online PR News 11 https://www.onlineprnews.com Press release 62 Yes Draft PR
228 PR Free 11 https://www.pr-free.com Press release 62 Yes Draft PR
229 SubmissionWebDirectory 11 https://www.submissionwebdirectory.com General 61 Yes Draft Article
230 Sooper Articles 11 https://www.sooperarticles.com Article 60 Yes Draft Article
231 OnToplist 11 https://www.ontoplist.com Blog directory 60 Yes Draft Article
232 BlogEngage 11 https://www.blogengage.com Blog directory 55 Yes Draft Article
233 BizSugar 11 https://www.bizsugar.com Business 55 Yes Draft Article
234 TechPluto 11 https://www.techpluto.com Marketing 50 Yes Draft Article
235 Semfirms 11 https://www.semfirms.com Marketing 45 Yes Draft Article
236 CabinetM 11 https://www.cabinetm.com Marketing 45 Yes Draft Article
237 Cold Email Kit 11 https://coldemailkit.com Marketing 44 Yes Draft Article
238 Directory LDM Studio 11 https://www.directory.ldmstudio.com General 40 Yes Draft Article
239 Quality Internet Directory 11 https://www.qualityinternetdirectory.com General 39 Yes Draft Article
240 Site Promotion Directory 11 https://www.sitepromotiondirectory.com Marketing 46 Yes Draft Article
241 ProofStories 11 https://proofstories.io Marketing 32 Yes Draft Article
242 Scoop.it 12 https://www.scoop.it Curation 91 Yes Draft Bookmarking
243 Diigo 12 https://www.diigo.com Bookmarking 85 Yes Draft Bookmarking
244 Pearltrees 12 https://www.pearltrees.com Bookmarking 84 Yes Draft Bookmarking
245 BibSonomy 12 https://www.bibsonomy.org Research 70 Yes Draft Bookmarking
246 Folkd 12 https://www.folkd.com Bookmarking 64 Yes Draft Bookmarking
247 Justia 13 https://www.justia.com Legal 85 Yes Draft Niche
248 Lawyers.com 13 https://www.lawyers.com Legal 82 Yes Draft Niche
249 Porch 13 https://porch.com Home 80 Yes Draft Niche
250 AllMenus 13 https://www.allmenus.com Hospitality 76 Yes Draft Niche
251 HG.org 13 https://www.hg.org Legal 75 Yes Draft Niche
252 Sulekha 13 https://www.sulekha.com B2B 73 Yes Draft Niche
253 BuildZoom 13 https://www.buildzoom.com Home 73 Yes Draft Niche
254 LandBook 13 https://land-book.com Design 72 Yes Draft Niche
255 Athlinks 13 https://www.athlinks.com Fitness 72 Yes Draft Niche
256 Evensi Events 13 https://evensi.com Events 62 Yes Draft Niche
257 Wellness.com 13 https://www.wellness.com Health 60 Yes Draft Niche
258 Placester 13 https://placester.com Real estate 60 Yes Draft Niche
259 YogaTrail 13 https://www.yogatrail.com Health 55 Yes Draft Niche
260 Tradify (FreeIndex) 13 https://www.freeindex.co.uk Home 55 Yes Draft Niche
261 Webdesign Inspiration 13 https://webdesign-inspiration.com Design 45 Yes Draft Niche
262 iBuildNew 13 https://www.ibuildnew.com.au Home 45 Yes Draft Niche
263 EU-Business 13 https://www.eu-business.com B2B 46 Yes Draft Niche
264 MassageTherapy (AMBP) 13 https://www.massagetherapy.com Health 45 Yes Draft Niche
265 Fit Pro Directory 13 https://fitprofessionals.net Fitness 40 Yes Draft Niche
266 Curated.design 13 https://www.curated.design Design 52 Yes Draft Niche
@@ -1,8 +1,8 @@
---
name: email-sequence
description: When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," or "lifecycle emails." For in-app onboarding, see onboarding-cro.
name: emails
description: When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," "lifecycle emails," "trigger-based emails," "email funnel," "email workflow," "what emails should I send," "welcome series," or "email cadence." Use this for any multi-email automated flow. For cold outreach emails, see cold-email. For in-app onboarding, see onboarding.
metadata:
version: 1.0.0
version: 2.0.0
---
# Email Sequence Design
@@ -12,7 +12,7 @@ You are an expert in email marketing and automation. Your goal is to create emai
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before creating a sequence, understand:
@@ -293,6 +293,7 @@ For implementation, see the [tools registry](../../tools/REGISTRY.md). Key email
|------|----------|:---:|-------|
| **Customer.io** | Behavior-based automation | - | [customer-io.md](../../tools/integrations/customer-io.md) |
| **Mailchimp** | SMB email marketing | ✓ | [mailchimp.md](../../tools/integrations/mailchimp.md) |
| **Nitrosend** | AI-native email (sequences via prompts) | ✓ | [nitrosend.md](../../tools/integrations/nitrosend.md) |
| **Resend** | Developer-friendly transactional | ✓ | [resend.md](../../tools/integrations/resend.md) |
| **SendGrid** | Transactional email at scale | - | [sendgrid.md](../../tools/integrations/sendgrid.md) |
| **Kit** | Creator/newsletter focused | - | [kit.md](../../tools/integrations/kit.md) |
@@ -301,8 +302,10 @@ For implementation, see the [tools registry](../../tools/REGISTRY.md). Key email
## Related Skills
- **lead-magnets**: For planning lead magnets that feed into nurture sequences
- **churn-prevention**: For cancel flows, save offers, and dunning strategy (email supports this)
- **onboarding-cro**: For in-app onboarding (email supports this)
- **onboarding**: For in-app onboarding (email supports this)
- **copywriting**: For landing pages emails link to
- **ab-test-setup**: For testing email elements
- **popup-cro**: For email capture popups
- **ab-testing**: For testing email elements
- **popups**: For email capture popups
- **revops**: For lifecycle stages that trigger email sequences
+93
View File
@@ -0,0 +1,93 @@
{
"skill_name": "emails",
"evals": [
{
"id": 1,
"prompt": "Create a welcome email sequence for new users who sign up for our project management tool's free trial. The trial is 14 days. We want to get them to their aha moment (creating their first project and inviting a team member).",
"expected_output": "Should check for product-marketing.md first. Should create a welcome sequence (5-7 emails) following the core principles: one email one job, value before ask. Should map each email to a specific goal in the 14-day trial journey. Should include timing/delays between emails. Each email should follow the email copy structure: hook → context → value → CTA → sign-off. Should include subject lines following the subject line strategy. Should align sequence with the aha moment (first project + team invite). Output should follow the structured format with sequence overview and per-email specs.",
"assertions": [
"Checks for product-marketing.md",
"Creates 5-7 email welcome sequence",
"Follows one email one job principle",
"Maps emails to trial timeline (14 days)",
"Includes timing between emails",
"Each email has hook, context, value, CTA",
"Includes subject lines for each email",
"Aligns with stated aha moment",
"Output follows structured per-email format"
],
"files": []
},
{
"id": 2,
"prompt": "We need a lead nurture sequence for people who download our 'State of DevOps 2024' report. Goal is to get them to book a demo of our CI/CD platform.",
"expected_output": "Should create a lead nurture sequence (6-8 emails). Should follow value before ask — first emails should provide related value, not immediately push for demo. Should map the sequence from awareness (report download) through consideration (related content, case studies) to decision (demo request). Should include timing between emails. Each email should have clear subject line, hook, single CTA. Should gradually increase commitment asks across the sequence.",
"assertions": [
"Creates 6-8 email lead nurture sequence",
"Follows value before ask principle",
"Maps from awareness through consideration to decision",
"Includes timing between emails",
"Each email has clear subject line and single CTA",
"Gradually increases commitment asks",
"Connects to original download topic"
],
"files": []
},
{
"id": 3,
"prompt": "our email open rates have tanked. used to be 35% now we're at 18%. what's going on and how do we fix our subject lines?",
"expected_output": "Should trigger on casual phrasing. Should diagnose potential causes of declining open rates: sender reputation, list hygiene, subject line quality, sending frequency, deliverability issues. Should apply the subject line strategy from the skill: test curiosity vs benefit vs urgency patterns, personalization, optimal length. Should recommend a re-engagement campaign to clean the list. Should provide specific subject line formulas and examples. Should suggest testing framework for subject lines.",
"assertions": [
"Triggers on casual phrasing",
"Diagnoses potential causes beyond just subject lines",
"Addresses sender reputation and deliverability",
"Recommends list hygiene or re-engagement",
"Applies subject line strategy with specific patterns",
"Provides subject line formulas and examples",
"Suggests testing framework"
],
"files": []
},
{
"id": 4,
"prompt": "Build a re-engagement sequence for subscribers who haven't opened any emails in 90 days. We have about 5,000 inactive subscribers.",
"expected_output": "Should create a re-engagement sequence (3-4 emails). Should follow the re-engagement pattern: first email acknowledges absence and offers value, middle emails escalate with compelling reasons to re-engage, final email is a clear 'last chance' before removal. Should recommend aggressive subject lines to break through. Should include a sunset policy (remove non-responders after sequence completes). Should address the impact on deliverability of keeping inactive subscribers.",
"assertions": [
"Creates 3-4 email re-engagement sequence",
"Acknowledges absence in first email",
"Escalates through the sequence",
"Includes 'last chance' final email",
"Recommends sunset policy for non-responders",
"Addresses deliverability impact of inactive subscribers",
"Uses compelling subject lines"
],
"files": []
},
{
"id": 5,
"prompt": "What's the ideal timing for our onboarding email sequence? We send the first email immediately after signup, but we're not sure about the rest.",
"expected_output": "Should provide timing guidance for onboarding sequences. Should reference the timing and delays framework: immediate first email (welcome/confirmation), then suggest data-driven timing based on user behavior triggers vs fixed time delays. Should recommend behavior-triggered emails when possible (user completed action → next email) with time-based fallbacks. Should provide typical timing patterns for SaaS onboarding (day 0, day 1, day 3, day 5, day 7, etc.). Should note that optimal timing depends on product complexity and trial length.",
"assertions": [
"Provides timing guidance for onboarding sequences",
"Recommends immediate first email",
"Discusses behavior-triggered vs time-based timing",
"Provides typical timing patterns",
"Notes timing depends on product and trial length",
"Recommends behavior triggers with time-based fallbacks"
],
"files": []
},
{
"id": 6,
"prompt": "Help me optimize our post-signup onboarding experience. Users sign up but 60% never complete setup.",
"expected_output": "Should recognize this is an in-app onboarding optimization task, not an email sequence task. Should defer to or cross-reference the onboarding skill, which handles in-app onboarding flows, checklists, and activation optimization. May offer to help with the email component of onboarding but should make clear that onboarding is the primary skill for this task.",
"assertions": [
"Recognizes this as in-app onboarding optimization",
"References or defers to onboarding skill",
"Does not attempt full onboarding redesign using email patterns",
"May offer email component support"
],
"files": []
}
]
}
@@ -1,8 +1,8 @@
---
name: free-tool-strategy
description: When the user wants to plan, evaluate, or build a free tool for marketing purposes — lead generation, SEO value, or brand awareness. Also use when the user mentions "engineering as marketing," "free tool," "marketing tool," "calculator," "generator," "interactive tool," "lead gen tool," "build a tool for leads," or "free resource." This skill bridges engineering and marketing useful for founders and technical marketers.
name: free-tools
description: When the user wants to plan, evaluate, or build a free tool for marketing purposes — lead generation, SEO value, or brand awareness. Also use when the user mentions "engineering as marketing," "free tool," "marketing tool," "calculator," "generator," "interactive tool," "lead gen tool," "build a tool for leads," "free resource," "ROI calculator," "grader tool," "audit tool," "should I build a free tool," or "tools for lead gen." Use this whenever someone wants to build something useful and give it away to attract leads or earn links. For downloadable content lead magnets (ebooks, checklists, templates), see lead-magnets.
metadata:
version: 1.0.0
version: 2.0.0
---
# Free Tool Strategy (Engineering as Marketing)
@@ -12,7 +12,7 @@ You are an expert in engineering-as-marketing strategy. Your goal is to help pla
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before designing a tool strategy, understand:
@@ -172,7 +172,8 @@ Rate each factor 1-5:
## Related Skills
- **page-cro**: For optimizing the tool's landing page
- **lead-magnets**: For downloadable content lead magnets (ebooks, checklists, templates)
- **cro**: For optimizing the tool's landing page
- **seo-audit**: For SEO-optimizing the tool
- **analytics-tracking**: For measuring tool usage
- **email-sequence**: For nurturing leads from the tool
- **analytics**: For measuring tool usage
- **emails**: For nurturing leads from the tool
+90
View File
@@ -0,0 +1,90 @@
{
"skill_name": "free-tools",
"evals": [
{
"id": 1,
"prompt": "We want to build a free tool to drive leads for our SEO software. We're thinking about an SEO audit tool or a keyword research tool. Which would be better and how should we approach it?",
"expected_output": "Should check for product-marketing.md first. Should apply the evaluation scorecard to compare both tool ideas across dimensions (audience alignment, lead quality, build effort, SEO value, maintenance burden, competitive differentiation). Should reference the tool types from the skill (analyzers, testers). Should recommend the stronger option with rationale. Should discuss lead capture gating strategy (what's free vs what requires email). Should address MVP scope — what's the minimum valuable version. Should provide implementation recommendations.",
"assertions": [
"Checks for product-marketing.md",
"Applies evaluation scorecard to compare options",
"References tool types from the skill",
"Recommends one option with clear rationale",
"Discusses lead capture gating strategy",
"Addresses MVP scope",
"Provides implementation recommendations"
],
"files": []
},
{
"id": 2,
"prompt": "I want to build a free ROI calculator for our HR software. Users input their company size and current processes, and it shows how much time and money they'd save.",
"expected_output": "Should identify this as a calculator tool type. Should apply the ideation framework to validate the concept. Should discuss lead capture strategy: should the basic result be free and detailed report gated? Should address the build vs buy decision. Should recommend MVP scope (what inputs, what outputs, what formula). Should discuss SEO considerations for the tool page. Should reference the evaluation scorecard to score the idea.",
"assertions": [
"Identifies as calculator tool type",
"Applies ideation framework to validate",
"Discusses lead capture gating strategy",
"Addresses build vs buy decision",
"Recommends MVP scope (inputs, outputs, formula)",
"Discusses SEO considerations",
"References evaluation scorecard"
],
"files": []
},
{
"id": 3,
"prompt": "give me some ideas for free tools we could build. we sell email marketing software for e-commerce brands.",
"expected_output": "Should trigger on casual phrasing. Should apply the ideation framework to generate tool ideas relevant to email marketing + e-commerce. Should provide 5-8 ideas across different tool types (calculators, generators, analyzers, testers). Examples: email subject line tester, email deliverability checker, email ROI calculator, email template generator, spam score checker. Should briefly score each against the evaluation dimensions. Should recommend top 2-3 to pursue.",
"assertions": [
"Triggers on casual phrasing",
"Applies ideation framework",
"Generates ideas across multiple tool types",
"Ideas are relevant to email marketing + e-commerce",
"Provides 5-8 ideas",
"Briefly evaluates each idea",
"Recommends top 2-3 to pursue"
],
"files": []
},
{
"id": 4,
"prompt": "We built a free website speed test tool 6 months ago but it's barely getting any traffic. What went wrong and how do we fix it?",
"expected_output": "Should diagnose why the tool isn't getting traffic. Should investigate: SEO strategy for the tool page (target keywords, on-page optimization), distribution strategy (was it launched and forgotten?), competitive landscape (are there dominant free tools already?), tool quality and UX (does it provide unique value?). Should apply the engineering as marketing principles. Should recommend a recovery plan: SEO improvements, content marketing around the tool, product improvements for differentiation.",
"assertions": [
"Diagnoses potential traffic issues",
"Investigates SEO strategy for the tool",
"Assesses competitive landscape",
"Questions unique value proposition",
"Applies engineering as marketing principles",
"Recommends recovery plan with specific actions"
],
"files": []
},
{
"id": 5,
"prompt": "Should we gate our free tool behind an email capture or make it completely free? We want leads but don't want to kill usage.",
"expected_output": "Should apply the lead capture gating strategy framework. Should present the spectrum: fully ungated → partial gating (basic results free, detailed report gated) → fully gated. Should recommend partial gating as the typical best approach — give enough value to demonstrate the tool's worth, gate the detailed/actionable output. Should discuss tradeoffs: ungated = more SEO value and usage, gated = more leads but fewer users. Should provide specific gating recommendations based on tool type.",
"assertions": [
"Applies lead capture gating strategy",
"Presents gating spectrum (ungated to fully gated)",
"Recommends partial gating approach",
"Discusses tradeoffs of each approach",
"Provides specific gating recommendations",
"Addresses SEO impact of gating decisions"
],
"files": []
},
{
"id": 6,
"prompt": "How do I optimize the landing page for our free tool to get more signups? The tool itself is great but nobody finds it.",
"expected_output": "Should recognize this is a landing page conversion optimization task, not a free tool strategy task. Should defer to or cross-reference the cro skill for optimizing the tool's landing page conversion rate. May provide free-tool-specific context (gating strategy, value demonstration) but should make clear that cro is the right skill for page conversion optimization.",
"assertions": [
"Recognizes this as page CRO, not free tool strategy",
"References or defers to cro skill",
"May provide free-tool-specific context",
"Does not attempt full page CRO using free tool strategy patterns"
],
"files": []
}
]
}
+340
View File
@@ -0,0 +1,340 @@
---
name: image
description: "When the user wants to create, generate, edit, or optimize images for marketing — blog heroes, social graphics, product mockups, profile banners, listing visuals, or brand assets. Also use when the user mentions 'AI image generation,' 'generate an image,' 'create a graphic,' 'product mockup,' 'hero image,' 'social media graphic,' 'banner image,' 'cover photo,' 'profile banner,' 'listing screenshot,' 'Flux,' 'Flux Kontext,' 'Midjourney,' 'DALL-E,' 'GPT Image,' 'ChatGPT Images,' 'Ideogram,' 'Gemini image,' 'Nano Banana,' 'Recraft,' 'Stable Diffusion,' 'Canva,' 'Figma,' 'image optimization,' 'compress images,' 'WebP,' or 'OG image.' Use this for general-purpose marketing image creation and optimization. For paid ad image creative and platform-specific ad specs, see ad-creative. For video production, see video."
metadata:
version: 2.0.1
---
# Image
You are an expert visual content producer who helps create marketing images using AI generation models, design tools, and optimization best practices. Your goal is to help users produce professional visual assets efficiently — from blog heroes and social graphics to product mockups and profile banners.
## Before Starting
**Check for product marketing context first:**
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
### 1. Image Goal
- What type of image? (Blog hero, social graphic, product mockup, banner, brand asset, OG image)
- What platform or placement? (Website, social, directory listing, app store, email)
- What dimensions do you need?
### 2. Production Approach
- Do you have existing brand assets? (Logo, colors, fonts, style guide)
- Do you need photorealistic or illustrative style?
- Is this a one-off or a template for repeated use?
### 3. Technical Context
- Do you have API keys for any image tools? (Gemini, Replicate/Flux, Ideogram)
- Budget constraints? (Some tools charge per image)
- Do you need the image optimized for web performance?
---
## Choosing Your Approach
Pick the right tool for the job:
| Approach | Best For | Tools | When to Use |
|----------|----------|-------|-------------|
| **AI Generation** | Original images from text prompts | Gemini/Nano Banana, Flux, Ideogram | Blog heroes, social graphics, lifestyle scenes |
| **AI Editing** | Modify existing images | Gemini, Flux Flex | Background removal, style changes, variations |
| **Design Tools** | Templated, brand-consistent assets | Canva, Figma | Profile banners, social templates, presentations |
| **Screenshot + Overlay** | Product UI showcases | Browser screenshot + code overlay | Product mockups, feature announcements |
| **Stock Photography** | Generic business/lifestyle scenes | Unsplash, Pexels | When speed matters more than uniqueness |
---
## AI Image Generation
Generate original images from text prompts. The fastest way to create unique marketing visuals.
### Model Comparison
| Model | Best For | Text in Images | API | Cost |
|-------|----------|:-:|-----|------|
| **Gemini Image** (Google, "Nano Banana" / Nano Banana Pro) | All-around, editing, multi-image reference, text rendering | Good | [Gemini API](https://ai.google.dev/gemini-api/docs/image-generation) | Check [pricing](https://ai.google.dev/gemini-api/docs/pricing) |
| **Flux** (Black Forest Labs — Pro 1.1, Kontext, Dev, Schnell) | Photorealism, brand consistency, batch; Kontext for in-image editing | Limited | [BFL API](https://docs.bfl.ai/), Replicate, fal.ai | Check [pricing](https://docs.bfl.ai/quick_start/pricing) |
| **Ideogram 3.0** | Typography, branded graphics, accurate text rendering | Best | [Ideogram API](https://developer.ideogram.ai/) | Check [pricing](https://about.ideogram.ai/api-pricing) |
| **ChatGPT Images 2.0 / GPT Image** (OpenAI) | General purpose, ChatGPT integration, native editing | Good | [OpenAI API](https://platform.openai.com/docs/guides/image-generation) | Check [pricing](https://platform.openai.com/docs/pricing) |
| **Midjourney v7** | Artistic, high-aesthetic, art-directed visuals | Improved | No official API; Discord + Web | Subscription-based |
| **Recraft V3** | Vector + brand-consistent illustrations, design assets | Strong | [Recraft API](https://www.recraft.ai/docs) | Per-credit |
| **Stable Diffusion 3.5 / SDXL** | Self-hosted, customizable, fine-tunable | Varies | Open source | Free (GPU costs) |
**Note:** DALL-E 3 is fully deprecated. OpenAI's current image models are the GPT Image / ChatGPT Images family (`gpt-image-1` and later).
### When to Use Which
```
Need text/headlines in the image?
├── Yes → Ideogram 3.0 (best), Gemini (good), GPT Image / ChatGPT Images (decent)
└── No ↓
Need product/brand consistency across many images?
├── Yes → Flux (multi-image reference), Gemini Nano Banana Pro, Recraft V3
└── No ↓
Need to edit an existing image (in-place)?
├── Yes → Gemini (native editing), Flux Kontext, ChatGPT Images
└── No ↓
Need vector / illustrative brand assets?
├── Yes → Recraft V3 (best for vector + brand consistency), Midjourney (artistic)
└── No ↓
Need highest visual quality / art direction?
├── Yes → Flux Pro 1.1, Midjourney v7
└── No ↓
Need volume at low cost?
└── Flux Schnell, Gemini Flash, Stable Diffusion (self-hosted)
```
### Prompting Basics
A strong image prompt follows: **Subject + Setting + Style + Lighting + Composition + Technical**
```
A laptop on a minimal white desk showing a dashboard UI,
soft directional lighting from the left, shallow depth of field,
clean commercial photography style, 16:9 aspect ratio, 4K
```
**Common mistakes:**
- Too vague ("a business image") — add specific details
- Forgetting aspect ratio — always specify dimensions
- Requesting complex text — use overlays instead for anything beyond short headlines
- No style direction — "photorealistic," "flat illustration," "3D render"
For detailed prompting guides per model, see [references/ai-image-prompting.md](references/ai-image-prompting.md).
---
## Design Tools
For templated, brand-consistent work where AI generation is overkill or too unpredictable.
### Canva
Best for non-designers who need polished output fast.
- **Strengths:** Massive template library, brand kit, Magic Resize (one design → all sizes), team collaboration
- **Best for:** Social graphics, presentations, email headers, simple banners
- **Limitations:** Less control than Figma, templates can look generic
- **Agent-friendliness:** Has an API but limited — better as a human-in-the-loop tool
### Figma
Best for teams with design systems or pixel-perfect needs.
- **Strengths:** Design system components, auto layout, developer handoff, plugins
- **Best for:** OG images via templates, design system assets, complex layouts
- **Limitations:** Steeper learning curve, requires design skill
- **Agent-friendliness:** Has an API and MCP server for reading designs
### When to Use Design Tools vs. AI Generation
| Scenario | Design Tool | AI Generation |
|----------|:-:|:-:|
| Exact brand guidelines must be followed | Yes | Maybe (with strong ref images) |
| Need 20 size variants of one design | Yes (Canva Magic Resize) | No |
| Unique hero image for a blog post | No | Yes |
| Recurring social media template | Yes | No |
| Product mockup with real UI | No (use screenshots) | No (hallucinated UI) |
| Abstract/creative visual | No | Yes |
---
## Marketing Image Workflows
### Blog & Article Hero Images
The image at the top of every post. Sets tone, improves shareability, required for OG/social previews.
1. **Define the concept** — what visual metaphor represents the topic?
2. **Generate with AI** — use Flux or Gemini for photorealistic, Ideogram if text needed
3. **Specify 1200x630** (works for both hero and OG image) or **1920x1080** for full-width
4. **Optimize** — compress to <200KB, serve as WebP with JPEG fallback
**Prompt pattern:**
```
[Visual metaphor for topic], clean modern style,
bright natural lighting, shallow depth of field,
professional blog header aesthetic, 1200x630
```
### Social Media Graphics
Platform-specific images for organic posts.
| Platform | Primary Size | Aspect Ratio | Notes |
|----------|-------------|:---:|-------|
| Twitter/X | 1200x675 | 16:9 | Large image card |
| LinkedIn | 1200x627 | 1.91:1 | Feed image |
| Instagram Feed | 1080x1080 | 1:1 | Square; 1080x1350 (4:5) also strong |
| Instagram Stories | 1080x1920 | 9:16 | Full screen vertical |
| Facebook | 1200x630 | 1.91:1 | Link share image |
**Workflow:**
1. Create the hero concept at highest resolution needed
2. Use Canva Magic Resize or manual crop for platform variants
3. Add text overlays programmatically (Ideogram or post-processing) if needed
4. Export at platform-specific dimensions
### Product Mockups & Screenshots
Showcase your product UI in context. AI models hallucinate UI — don't use them for this.
1. **Capture real screenshots** of your product at 2x resolution
2. **Frame in device mockups** — use browser frame, laptop, or phone templates
3. **Add context** — callout arrows, feature labels, before/after comparisons
4. **Annotate with code** — Hyperframes or HTML/CSS for programmatic overlays
**Tools:** Browser DevTools (screenshot), Shottr (Mac), CleanShot X, or `screencapture` CLI.
### Profile & Listing Banners
Banners for profiles, directory listings, and marketplace pages. Often the first visual impression.
| Platform | Size | Notes |
|----------|------|-------|
| LinkedIn personal cover | 1584x396 | 4:1, safe zone center |
| LinkedIn company cover | 1128x191 | 5.9:1; LinkedIn recommends up to 4200x700 |
| Twitter/X header | 1500x500 | 3:1, partially obscured by avatar |
| Product Hunt gallery | 1270x760 | 5:3, up to 6 images |
| G2 profile | 1280x720 | 16:9, product screenshots preferred |
| GitHub social preview | 1280x640 | 2:1, shows in link cards |
| App Store screenshots | Varies by device | See aso skill for full specs |
| Google Play feature graphic | 1024x500 | ~2:1, required for store listing |
**Best practices:**
- **Keep text minimal** — banners are seen at small sizes on mobile
- **Center critical content** — edges get cropped differently per device
- **Show the product** — real UI screenshots outperform abstract graphics on directory listings
- **Match your brand** — use consistent colors, fonts, logo placement
- **Update seasonally** — stale banners signal an inactive product
**Workflow:**
1. Pick the platform(s) and note exact dimensions
2. For directories (Product Hunt, G2): use real product screenshots with light annotation
3. For profiles (LinkedIn, Twitter): use brand colors + tagline + optional product shot
4. Generate with Canva/Figma templates or Ideogram (if text-heavy)
5. Test at actual display size — zoom out to check readability
### Brand Assets
Logos, icons, and illustrations. AI generation has limits here.
| Asset | AI Generation | Design Tool | Notes |
|-------|:-:|:-:|-------|
| Logo | Poor — inconsistent, not vector | Yes (Figma) | Always design or commission logos |
| App icon | Decent starting point | Yes (Figma) | Generate concepts, refine manually |
| Illustrations | Good for style exploration | Depends | AI for concepts, finalize in design tool |
| Favicons | No | Yes | Derive from logo |
| Social icons | No | Yes | Use platform-provided assets |
---
## Image Optimization
Every image on your site affects page speed, which affects SEO and conversions.
### Format Guide
| Format | Best For | Compression | Browser Support |
|--------|----------|-------------|:---:|
| **WebP** | Photos, graphics — default choice | Lossy + lossless | ~96% |
| **AVIF** | Highest compression, newest | Better than WebP | ~94% |
| **JPEG** | Fallback for older browsers | Lossy only | Universal |
| **PNG** | Transparency, screenshots | Lossless | Universal |
| **SVG** | Logos, icons, illustrations | Vector (scales) | Universal |
### Optimization Checklist
- [ ] **Serve WebP** with JPEG/PNG fallback (`<picture>` element or CDN auto-format)
- [ ] **Resize to display size** — don't serve 4000px images in 800px containers
- [ ] **Compress** — target quality 75-85% for photos, near-lossless for screenshots
- [ ] **Lazy load** below-the-fold images (`loading="lazy"`)
- [ ] **Set explicit dimensions**`width` and `height` attributes prevent layout shift (CLS)
- [ ] **Use a CDN** with auto-optimization (Cloudflare, Vercel, Imgix, Cloudinary)
- [ ] **Add alt text** — descriptive, keyword-relevant, not stuffed
### Quick Optimization Commands
```bash
# Convert to WebP (using cwebp)
cwebp -q 80 input.png -o output.webp
# Batch convert with ImageMagick
mogrify -format webp -quality 80 *.png
# Optimize JPEG (using jpegoptim)
jpegoptim --max=80 --strip-all *.jpg
# Check image sizes on a page
curl -s https://yoursite.com | grep -oP 'src="[^"]+\.(jpg|png|webp)"' | head -20
```
---
## OG & Social Preview Images
The image that appears when your URL is shared on social media, Slack, Discord, etc.
### Required Meta Tags
```html
<meta property="og:image" content="https://yoursite.com/og/page-name.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="https://yoursite.com/og/page-name.jpg" />
```
### Dynamic OG Images
Generate OG images programmatically for pages with dynamic content (blog posts, user profiles):
- **Vercel OG** (`@vercel/og`) — generates images at the edge using JSX
- **Satori** — converts HTML/CSS to SVG (powers Vercel OG)
- **Cloudinary** — URL-based text overlay on template images
**Best for programmatic SEO:** Generate unique OG images per page using templates + dynamic data.
---
## Common Mistakes
1. **Using AI for product UI screenshots** — models hallucinate interfaces; capture real screenshots
2. **Skipping image optimization** — unoptimized images are the #1 page speed killer
3. **No OG image** — shared links look broken without a preview image
4. **Wrong aspect ratio** — always check platform specs before generating
5. **Text-heavy images without Ideogram** — most AI models butcher text; use Ideogram or add text in post
6. **Generating without style direction** — "photorealistic," "flat illustration," "3D render" drastically changes output
7. **Inconsistent brand visuals** — use Flux multi-reference or design templates for consistency
8. **Huge images on landing pages** — compress, resize, lazy load
---
## Task-Specific Questions
1. What type of image do you need? (Blog hero, social graphic, mockup, banner, brand asset)
2. What platform or placement? (This determines dimensions)
3. Do you have brand assets to match? (Colors, fonts, logo, style guide)
4. Is this a one-off or a repeatable template?
5. Do you have API keys for any image generation tools?
6. Does this need to be optimized for web performance?
---
## Related Skills
- **ad-creative**: For paid ad image creative, platform-specific ad specs, and scaled ad production
- **video**: For AI video production and programmatic video
- **social**: For what to post and content strategy
- **cro**: For image placement and conversion optimization on landing pages
- **seo-audit**: For image SEO (alt text, file names, lazy loading)
- **aso**: For app store screenshot specs and optimization
- **directory-submissions**: For Product Hunt gallery images and directory listing visuals
+89
View File
@@ -0,0 +1,89 @@
{
"skill_name": "image",
"evals": [
{
"id": 1,
"prompt": "I need a hero image for a blog post about email deliverability. Make it visually striking.",
"expected_output": "Should check for product-marketing.md first. Should recommend AI generation as the approach for a one-off blog hero. Should propose a visual metaphor concept that represents email deliverability (e.g., letters being sorted through a maze, signals breaking through a wall, an inbox glow). Should specify 1200x630 (works for both hero and OG image). Should recommend Flux or Gemini for photorealistic, or Ideogram if text in image is needed. Should provide a prompt following Subject + Setting + Style + Lighting + Composition + Technical pattern. Should mention WebP optimization (target <200KB, JPEG fallback). Should not suggest using AI for product UI screenshots.",
"assertions": [
"Checks for product-marketing.md",
"Recommends AI generation for one-off hero",
"Proposes visual metaphor for topic",
"Specifies 1200x630 dimensions",
"Recommends Flux, Gemini, or Ideogram",
"Provides structured prompt",
"Mentions WebP optimization"
],
"files": []
},
{
"id": 2,
"prompt": "Generate me an image of our app's dashboard.",
"expected_output": "Should refuse to use AI generation for product UI screenshots and explain why: models hallucinate interfaces, the result won't match the real UI. Should recommend the Product Mockups & Screenshots workflow: capture real screenshots of the product at 2x resolution, frame in device mockups (browser frame, laptop, phone), add callout arrows or feature labels for context, programmatically overlay annotations with Hyperframes or HTML/CSS. Should suggest tools: browser DevTools screenshot, Shottr, CleanShot X, or screencapture CLI. Should warn this is Common Mistake #1: using AI for product UI.",
"assertions": [
"Refuses to use AI generation for product UI",
"Explains models hallucinate UI",
"Recommends real screenshots at 2x resolution",
"Mentions device mockups for framing",
"Suggests specific screenshot tools",
"Notes this as a common mistake"
],
"files": []
},
{
"id": 3,
"prompt": "Need a Twitter/X header banner for our company. We just want to show our product and tagline.",
"expected_output": "Should specify Twitter/X header dimensions: 1500x500 (3:1 aspect ratio). Should warn the banner is partially obscured by the avatar — center critical content and avoid important elements near the avatar overlap area. Should recommend keeping text minimal (seen at small sizes on mobile). Should suggest design tools (Canva or Figma) over AI generation since brand consistency matters. Should recommend Ideogram if heavy text rendering is needed since other AI models butcher text. Should suggest using brand colors + tagline + optional product shot. Should remind to test at actual display size by zooming out.",
"assertions": [
"Specifies 1500x500 dimensions",
"Warns about avatar overlap area",
"Recommends minimal text",
"Suggests Canva or Figma over AI",
"Mentions Ideogram for text-heavy designs",
"Recommends testing at display size"
],
"files": []
},
{
"id": 4,
"prompt": "I need 5 versions of the same hero image for Twitter, LinkedIn, Instagram feed, Instagram stories, and Facebook. What's the fastest way?",
"expected_output": "Should recommend the Canva Magic Resize workflow over generating 5 separate images. Should list dimensions: Twitter/X 1200x675 (16:9), LinkedIn 1200x627 (1.91:1), Instagram feed 1080x1080 (1:1 — note 1080x1350 / 4:5 also strong), Instagram Stories 1080x1920 (9:16), Facebook 1200x630 (1.91:1). Should explain workflow: create the hero concept at highest resolution needed, use Canva Magic Resize for variants, manually crop if needed, add text overlays programmatically if required (Ideogram or post-processing), export at each platform's specs. Should note this is what Canva Magic Resize is specifically designed for.",
"assertions": [
"Recommends Canva Magic Resize",
"Lists dimensions for all 5 platforms",
"Notes Instagram 4:5 variant",
"Suggests programmatic text overlays for variants",
"Says start at highest resolution"
],
"files": []
},
{
"id": 5,
"prompt": "What's the best image format for our website?",
"expected_output": "Should recommend WebP as the default choice with JPEG/PNG fallback. Should explain the format guide: WebP for photos and graphics (lossy + lossless, ~96% browser support), AVIF for highest compression (~94% support, newer), JPEG as universal fallback (lossy only), PNG for transparency and screenshots (lossless, universal), SVG for logos and icons (vector, scales, universal). Should reference the optimization checklist: resize to display size, compress (target quality 75-85% for photos), lazy load below-the-fold, set explicit width/height attributes (prevents CLS), use a CDN with auto-optimization (Cloudflare, Vercel, Imgix, Cloudinary), add descriptive alt text. Should provide a quick cwebp or mogrify command. Should note skipping image optimization is the #1 page speed killer.",
"assertions": [
"Recommends WebP as default",
"Mentions JPEG/PNG fallback strategy",
"Lists optimization checklist items",
"Mentions lazy loading",
"Mentions explicit dimensions to prevent CLS",
"Provides command line tool example"
],
"files": []
},
{
"id": 6,
"prompt": "We're a SaaS that just launched. Need OG images for every blog post we ship — about 2 per week. Doing it manually is killing us.",
"expected_output": "Should recommend Dynamic OG Images programmatic approach. Should explain options: Vercel OG (@vercel/og) generates images at the edge using JSX — best for programmatic SEO since you can dynamically pull post title, author, image into a template; Satori converts HTML/CSS to SVG (powers Vercel OG); Cloudinary for URL-based text overlay on template images. Should explain you build the template once with your branding then it generates unique OG images per page using post metadata. Should mention required meta tags: og:image (1200x630), og:image:width, og:image:height, twitter:card summary_large_image, twitter:image. Should note this is best for programmatic SEO.",
"assertions": [
"Recommends programmatic OG image generation",
"Names Vercel OG, Satori, or Cloudinary",
"Mentions template + dynamic data approach",
"Lists required og:image meta tags",
"Specifies 1200x630 dimensions",
"Notes this is best for high-volume blogs"
],
"files": []
}
]
}
@@ -0,0 +1,229 @@
# AI Image Prompting Guide
How to write effective prompts for AI image generation models (Gemini/Nano Banana, Flux, Ideogram, DALL-E, Midjourney).
---
## Prompt Structure
A strong image prompt follows this formula:
```
[Subject] + [Setting/context] + [Visual style] + [Lighting] + [Composition] + [Technical specs]
```
### Example Prompts by Use Case
**Blog hero — SaaS product:**
```
A clean workspace with a laptop displaying a colorful analytics dashboard,
minimalist desk with a coffee cup and notebook,
bright natural window lighting from the right,
shallow depth of field, commercial photography style,
1200x630, high resolution
```
**Social media graphic — announcement:**
```
Abstract flowing gradient in deep purple and electric blue,
geometric shapes forming a network pattern,
dramatic rim lighting on edges,
modern tech aesthetic, clean and minimal,
1080x1080, vibrant colors
```
**Product lifestyle shot:**
```
A person in a modern office smiling while looking at a tablet,
showing a project management interface on screen,
warm candid photography, natural lighting,
medium shot, shallow depth of field, editorial style
```
**Profile banner — professional:**
```
Wide panoramic abstract background in navy blue and teal,
subtle geometric grid pattern with soft gradient,
clean corporate aesthetic, muted lighting,
1584x396, no text, space for logo overlay on left third
```
**Directory listing — Product Hunt:**
```
Product screenshot on a clean gradient background,
soft shadow underneath, slight 3D perspective tilt,
modern SaaS product presentation style,
1270x760, bright and professional
```
---
## Style Keywords
### Photorealistic
- "commercial photography"
- "shot on Canon EOS R5"
- "editorial style"
- "natural lighting"
- "shallow depth of field"
### Clean/Corporate
- "clean modern aesthetic"
- "minimal design"
- "professional corporate style"
- "bright and airy"
- "white background"
### Illustrative
- "flat vector illustration"
- "isometric 3D render"
- "hand-drawn sketch style"
- "watercolor illustration"
- "line art"
### Abstract/Brand
- "flowing gradient"
- "geometric pattern"
- "abstract data visualization"
- "particle effects"
- "holographic iridescent"
### Tech/SaaS
- "dark mode UI aesthetic"
- "neon accent lighting"
- "glassmorphism"
- "futuristic minimal"
- "developer-focused"
---
## Lighting Keywords
| Term | Effect | Best For |
|------|--------|----------|
| **Natural light** | Warm, organic feel | Lifestyle, editorial |
| **Studio lighting** | Even, controlled | Product shots |
| **Rim lighting** | Edge highlights, dramatic | Hero images, abstract |
| **Soft directional** | Gentle shadows, dimensional | Blog headers |
| **Volumetric** | Light rays, atmospheric | Dramatic, cinematic |
| **Flat/even** | No shadows, clean | Icons, diagrams |
| **Golden hour** | Warm orange tones | Lifestyle, outdoor |
| **High key** | Bright, minimal shadows | Clean, corporate |
---
## Composition Keywords
| Term | Effect | Best For |
|------|--------|----------|
| **Rule of thirds** | Subject off-center | Editorial, lifestyle |
| **Centered** | Subject in middle | Product shots, icons |
| **Wide/panoramic** | Expansive view | Banners, headers |
| **Close-up/macro** | Detail focus | Texture, product detail |
| **Bird's eye/overhead** | Top-down view | Desk setups, flat lays |
| **Negative space** | Room for text overlay | Blog headers, banners |
| **Symmetrical** | Balanced, formal | Corporate, luxury |
---
## Model-Specific Tips
### Gemini Image (Google)
- Best all-around for marketing images — good quality, reasonable cost
- Supports **image editing** — upload an existing image and describe changes
- Decent text rendering — can handle short headlines
- Specify "high resolution" for best output
- Works well with detailed, descriptive prompts
- Same API as text generation — easy to integrate
### Flux (Black Forest Labs)
- **Multi-image reference** is the killer feature — upload product screenshots, brand assets, or style references
- Best for **brand consistency** across a set of images
- Use Flux Pro for final assets, Flux Dev for rapid iteration
- Flux Klein for high-volume batch generation (cheapest)
- Style transfer via reference images > style keywords in prompt
- Prompts can be shorter than other models — the references do heavy lifting
### Ideogram
- **Best text rendering** of any model (industry-leading accuracy)
- Use when you need headlines, taglines, or brand names in the image
- Style reference system (up to 3 images) for brand consistency
- Supports "Magic Prompt" auto-enhancement
- Keep text requests simple — 3-5 words max for reliability
- Best for social graphics and banners that need text baked in
### GPT Image (OpenAI)
- Current models: `gpt-image-1` and variants (DALL-E 3 is deprecated)
- Integrated with ChatGPT — conversational image generation
- Good at following detailed prompts
- Decent text rendering (behind Ideogram, comparable to Gemini)
- Automatic prompt rewriting — may deviate from exact request
- Best for quick one-offs through ChatGPT interface
- API gives more control than ChatGPT interface
### Midjourney
- Highest aesthetic quality for artistic/editorial images
- No official API — Discord-based or web interface
- **Not agent-friendly** — use for manual creative exploration only
- Style flags: `--style raw` for less stylized, `--ar 16:9` for aspect ratio
- Best for hero images where pure visual quality matters most
- V6+ has improved text rendering but still unreliable
---
## Common Prompt Mistakes
| Mistake | Why It Fails | Fix |
|---------|-------------|-----|
| "A professional image" | No visual detail | Describe subject, setting, style, lighting |
| Long paragraph of text in image | Models can't render paragraphs | 3-5 words max; add text in post |
| "Make it look good" | Not actionable | Specify style: "commercial photography, bright" |
| 200+ word prompts | Models lose focus | 40-80 words, specific over comprehensive |
| No aspect ratio | Random output size | Always specify dimensions or ratio |
| "Logo in bottom right" | Unreliable placement | Add logos in post-processing |
| "Make it viral" | Not a visual instruction | Describe the aesthetic you want |
| Requesting UI screenshots | AI hallucinates interfaces | Capture real screenshots instead |
---
## Batch Generation Workflow
When you need multiple images with consistent style (e.g., a blog series or social campaign):
1. **Generate 3-4 test images** with different style prompts
2. **Pick the winning style** based on brand fit
3. **Save the exact prompt** as your template
4. **Use Flux multi-reference** — upload the winning image as a style reference
5. **Batch generate** variations with the same style, different subjects
6. **Post-process** — add text overlays, logos, crop to platform sizes
---
## Aspect Ratios Quick Reference
| Use Case | Ratio | Pixels | Notes |
|----------|-------|--------|-------|
| Blog hero / OG image | 1.91:1 | 1200x630 | Universal web standard |
| Full-width hero | 16:9 | 1920x1080 | Website headers |
| Instagram Feed | 1:1 | 1080x1080 | Square |
| Instagram Feed (tall) | 4:5 | 1080x1350 | More screen real estate |
| Stories / Reels | 9:16 | 1080x1920 | Vertical full screen |
| LinkedIn cover | 4:1 | 1584x396 | Personal profile |
| Twitter/X header | 3:1 | 1500x500 | Profile banner |
| Product Hunt gallery | 5:3 | 1270x760 | Launch page |
| GitHub social preview | 2:1 | 1280x640 | Repo link card |
---
## Cost Optimization
- **Iterate at low quality first** — use Flux Dev or Gemini Flash for drafts, upgrade for finals
- **Use references over long prompts** — Flux multi-reference produces more consistent results with fewer retries
- **Batch similar requests** — generate all blog headers in one session with the same style
- **Cache and reuse** — abstract backgrounds, patterns, and textures can be reused across multiple images
- **Post-process instead of re-generate** — crop, overlay text, and adjust color in code rather than generating new images
@@ -1,8 +1,8 @@
---
name: launch-strategy
description: "When the user wants to plan a product launch, feature announcement, or release strategy. Also use when the user mentions 'launch,' 'Product Hunt,' 'feature release,' 'announcement,' 'go-to-market,' 'beta launch,' 'early access,' 'waitlist,' or 'product update.' This skill covers phased launches, channel strategy, and ongoing launch momentum."
name: launch
description: "When the user wants to plan a product launch, feature announcement, or release strategy. Also use when the user mentions 'launch,' 'Product Hunt,' 'feature release,' 'announcement,' 'go-to-market,' 'beta launch,' 'early access,' 'waitlist,' 'product update,' 'how do I launch this,' 'launch checklist,' 'GTM plan,' or 'we're about to ship.' Use this whenever someone is preparing to release something publicly. For ongoing marketing after launch, see marketing-ideas."
metadata:
version: 1.0.0
version: 2.0.0
---
# Launch Strategy
@@ -12,7 +12,7 @@ You are an expert in SaaS product launches and feature announcements. Your goal
## Before Starting
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
---
@@ -93,7 +93,7 @@ Tap into someone else's audience to shortcut the hardest part—getting noticed.
1. List industry leaders your audience follows
2. Pitch win-win collaborations
3. Use tools like SparkToro or Listen Notes to find audience overlap
4. Set up affiliate/referral incentives
4. Set up affiliate/referral incentives (for channel partner launches, use [Introw](../../tools/integrations/introw.md) to manage deal registration and commissions)
**Example - TRMNL:**
Sent a free e-ink display to YouTuber Snazzy Labs—not a paid sponsorship, just hoping he'd like it. He created an in-depth review that racked up 500K+ views and drove $500K+ in sales. They also set up an affiliate program for ongoing promotion.
@@ -346,7 +346,8 @@ Even small changelog updates remind customers your product is evolving. This bui
## Related Skills
- **marketing-ideas**: For additional launch tactics (#22 Product Hunt, #23 Early Access Referrals)
- **email-sequence**: For launch and onboarding email sequences
- **page-cro**: For optimizing launch landing pages
- **emails**: For launch and onboarding email sequences
- **cro**: For optimizing launch landing pages
- **marketing-psychology**: For psychology behind waitlists and exclusivity
- **programmatic-seo**: For comparison pages mentioned in post-launch
- **sales-enablement**: For launch sales collateral and enablement materials
+91
View File
@@ -0,0 +1,91 @@
{
"skill_name": "launch",
"evals": [
{
"id": 1,
"prompt": "We're launching a new B2B SaaS product for design teams in 6 weeks. It's a design review tool. We have a small audience (500 email subscribers, 2k Twitter followers). Help us plan the launch.",
"expected_output": "Should check for product-marketing.md first. Should apply the ORB Framework (Owned, Rented, Borrowed channels) with the user's specific resources. Owned: email list (500 subscribers), website. Rented: Twitter (2k followers). Borrowed: partnerships, communities, Product Hunt. Should recommend the five-phase launch approach with a timeline mapped to the 6-week window: Internal prep, Alpha (existing network), Beta (expanded), Early Access, Full Launch. Should provide specific tactics for each phase. Should recommend building up the audience before launch day. Should include a launch day checklist.",
"assertions": [
"Checks for product-marketing.md",
"Applies ORB Framework (Owned, Rented, Borrowed)",
"Maps to user's specific channels and audience sizes",
"Recommends five-phase launch approach",
"Provides timeline mapped to 6-week window",
"Provides specific tactics for each phase",
"Recommends audience building before launch",
"Includes launch day checklist"
],
"files": []
},
{
"id": 2,
"prompt": "We want to launch on Product Hunt. Any tips? We've never done it before.",
"expected_output": "Should apply the Product Hunt strategy section. Should cover: choosing the right day and time, preparing assets (logo, gallery images, maker video), crafting the tagline and description, building a hunter network, activating supporters on launch day, engaging with comments, and post-launch follow-up. Should recommend preparation timeline (start 2-4 weeks before). Should mention common mistakes to avoid. Should set realistic expectations about outcomes.",
"assertions": [
"Applies Product Hunt strategy section",
"Covers timing (day and time selection)",
"Covers asset preparation",
"Addresses hunter network and supporter activation",
"Recommends preparation timeline",
"Mentions common mistakes to avoid",
"Sets realistic expectations"
],
"files": []
},
{
"id": 3,
"prompt": "we just shipped a major feature update. how should we announce it? it's not a full product launch, just a big new feature.",
"expected_output": "Should trigger on casual phrasing. Should apply the ongoing launch strategy section, specifically the major/medium/minor update matrix. Should identify this as a major feature update. Should recommend appropriate channels and tactics for a feature launch (less than a full product launch but more than a changelog entry). Should include: announcement email, blog post, social media push, in-app notification, and possibly a mini Product Hunt launch. Should provide a feature announcement framework.",
"assertions": [
"Triggers on casual phrasing",
"Applies ongoing launch strategy / update matrix",
"Identifies as major feature update",
"Scales tactics appropriately (not full launch)",
"Recommends announcement channels",
"Includes email, blog, social, and in-app notification",
"Provides feature announcement framework"
],
"files": []
},
{
"id": 4,
"prompt": "Our launch flopped. We launched 3 weeks ago and only got 50 signups. We expected at least 500. What went wrong and what can we do now?",
"expected_output": "Should apply the post-launch product marketing section. Should diagnose potential failure causes: insufficient audience building pre-launch, wrong channels, weak value proposition messaging, poor launch execution, targeting the wrong audience. Should recommend post-launch recovery tactics: iterate on messaging, identify which channels produced the 50 signups and double down, try new distribution channels, leverage early users for testimonials. Should provide a specific 30-day recovery plan.",
"assertions": [
"Applies post-launch product marketing guidance",
"Diagnoses potential failure causes",
"Addresses pre-launch audience building gap",
"Recommends post-launch recovery tactics",
"Suggests analyzing which channels produced signups",
"Provides specific recovery plan"
],
"files": []
},
{
"id": 5,
"prompt": "How do we leverage partnerships and borrowed audiences for our launch? We don't have a big audience of our own.",
"expected_output": "Should focus on the Borrowed channel from the ORB Framework. Should provide specific borrowed audience tactics: podcast guest appearances, co-marketing with complementary tools, influencer partnerships, community engagement (relevant Slack groups, Discord servers, Reddit), guest posts, cross-promotions. Should recommend how to identify and approach potential partners. Should note that borrowed audience strategies take time to build and should start well before launch day.",
"assertions": [
"Focuses on Borrowed channel from ORB Framework",
"Provides specific borrowed audience tactics",
"Mentions partnerships, communities, guest content",
"Recommends how to identify and approach partners",
"Notes borrowed strategies take time to build",
"Suggests starting well before launch day"
],
"files": []
},
{
"id": 6,
"prompt": "Give me some creative marketing ideas to promote our product. We're bootstrapped and don't have a big budget.",
"expected_output": "Should recognize this is a broader marketing ideas request, not specifically a launch strategy task. Should defer to or cross-reference the marketing-ideas skill, which provides 139 marketing ideas organized by category and filtered by budget. May provide some launch-related tactical ideas but should make clear that marketing-ideas is the right skill for a broader brainstorming session.",
"assertions": [
"Recognizes this as broader marketing ideas request",
"References or defers to marketing-ideas skill",
"Does not attempt full marketing brainstorm using launch strategy patterns",
"May provide some launch-related tactical ideas"
],
"files": []
}
]
}
+310
View File
@@ -0,0 +1,310 @@
---
name: lead-magnets
description: When the user wants to create, plan, or optimize a lead magnet for email capture or lead generation. Also use when the user mentions "lead magnet," "gated content," "content upgrade," "downloadable," "ebook," "cheat sheet," "checklist," "template download," "opt-in," "freebie," "PDF download," "resource library," "content offer," "email capture content," "Notion template," "spreadsheet template," or "what should I give away for emails." Use this for planning what to create and how to distribute it. For interactive tools as lead magnets, see free-tools. For writing the actual content, see copywriting. For the email sequence after capture, see emails.
metadata:
version: 2.0.0
---
# Lead Magnets
You are an expert in lead magnet strategy. Your goal is to help plan lead magnets that capture emails, generate qualified leads, and naturally lead to product adoption.
## Before Planning
**Check for product marketing context first:**
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
### 1. Business Context
- What does the company do?
- Who is the ideal customer?
- What problems does your product solve?
### 2. Current Lead Generation
- How do you currently capture leads?
- What lead magnets or offers do you have?
- What's your current conversion rate on email capture?
### 3. Content Assets
- What existing content could be repurposed? (blog posts, guides, data)
- What expertise can you package?
- What templates or tools do you use internally?
### 4. Goals
- Primary goal: email list growth, lead quality, product education?
- Target audience stage: awareness, consideration, or decision?
- Timeline and resource constraints?
---
## Lead Magnet Principles
### 1. Solve a Specific Problem
- Address one clear pain point, not a broad topic
- "How to write cold emails that get replies" > "Marketing guide"
### 2. Match the Buyer Stage
- Awareness leads need education
- Consideration leads need comparison and evaluation
- Decision leads need implementation help
### 3. High Perceived Value, Low Time Investment
- Should look like it's worth paying for
- Consumable in under 30 minutes (ideally under 10)
- Immediate, actionable takeaway
### 4. Natural Path to Product
- Solves a problem your product also solves
- Creates awareness of a gap your product fills
- Demonstrates your expertise in the space
### 5. Easy to Consume
- One clear format (don't mix ebook + video + spreadsheet)
- Works on mobile
- No special software required
---
## Lead Magnet Types
| Type | Best For | Effort | Time to Create |
|------|----------|--------|----------------|
| Checklist | Quick wins, process steps | Low | 1-2 hours |
| Cheat sheet | Reference material, shortcuts | Low | 2-4 hours |
| Template (doc/spreadsheet/Notion) | Repeatable processes, workflows | Low-Med | 2-8 hours |
| Swipe file | Inspiration, examples | Medium | 4-8 hours |
| Ebook/guide | Deep education, authority | High | 1-3 weeks |
| Mini-course (email) | Education + nurture | Medium | 1-2 weeks |
| Mini-course (video) | Education + personality | High | 2-4 weeks |
| Quiz/assessment | Segmentation, engagement | Medium | 1-2 weeks |
| Webinar | Authority, live engagement | Medium | 1 week prep |
| Resource library | Ongoing value, return visits | High | Ongoing |
| Free trial/community access | Product experience | Varies | Varies |
**For detailed creation guidance per format**: See [references/format-guide.md](references/format-guide.md)
---
## Matching Lead Magnets to Buyer Stage
### Awareness Stage
Goal: Educate on the problem. Attract people who don't know you yet.
| Format | Example |
|--------|---------|
| Checklist | "10-Point Website Audit Checklist" |
| Cheat sheet | "SEO Cheat Sheet for Beginners" |
| Ebook/guide | "The Complete Guide to Email Marketing" |
| Quiz | "What Type of Marketer Are You?" |
### Consideration Stage
Goal: Help evaluate solutions. Build trust and demonstrate expertise.
| Format | Example |
|--------|---------|
| Comparison template | "CRM Comparison Spreadsheet" |
| Assessment | "Marketing Maturity Assessment" |
| Case study collection | "5 Companies That 3x'd Their Pipeline" |
| Webinar | "How to Choose the Right Analytics Tool" |
### Decision Stage
Goal: Help implement. Remove friction to purchase.
| Format | Example |
|--------|---------|
| Template | "Ready-to-Use Sales Email Templates" |
| Free trial | "14-Day Free Trial" |
| Implementation guide | "Migration Checklist: Switch in 30 Minutes" |
| ROI calculator | "Calculate Your Savings" (→ see **free-tools**) |
---
## Gating Strategy
### Gating Options
| Approach | When to Use | Trade-off |
|----------|-------------|-----------|
| **Full gate** | High-value content, bottom-funnel | Max capture, lower reach |
| **Partial gate** | Preview + full version | Balance of reach and capture |
| **Ungated + optional** | Top-funnel education | Max reach, lower capture |
| **Content upgrade** | Blog post + bonus | Contextual, high-intent |
### What to Ask For
- **Email only** — highest conversion, lowest friction
- **Email + name** — enables personalization, slight friction increase
- **Email + company/role** — better lead qualification, more friction
- **Multi-field** — only for high-value offers (webinars, demos)
Rule of thumb: Ask for the minimum needed. Every extra field reduces conversion by 5-10%.
### How to Frame the Exchange
- Make the value obvious: "Get the full 25-page guide free"
- Show a preview: table of contents, first page, sample results
- Add social proof: "Downloaded by 5,000+ marketers"
- Reduce risk: "No spam. Unsubscribe anytime."
**For form optimization**: See **cro** skill
**For popup implementation**: See **popups** skill
---
## Landing Page & Delivery
### Landing Page Structure
1. **Headline** — Clear benefit: what they'll get and why it matters
2. **Preview/mockup** — Visual of the lead magnet (cover, screenshot, sample page)
3. **What's inside** — 3-5 bullet points of key takeaways
4. **Social proof** — Download count, testimonials, logos
5. **Form** — Minimal fields, clear CTA button
6. **FAQ** — Address hesitations (Is it really free? What format?)
**For landing page optimization**: See **cro** skill
### Delivery Methods
| Method | Pros | Cons |
|--------|------|------|
| **Instant download** | Immediate gratification | No email verification |
| **Email delivery** | Verifies email, starts relationship | Slight delay |
| **Thank you page + email** | Best of both—instant access + email copy | Slightly more complex |
| **Drip delivery** | Builds habit, multiple touchpoints | Only for courses/series |
### Thank You Page Optimization
Don't waste the thank you page. After they've converted:
- Confirm delivery ("Check your inbox")
- Offer a next step (book a demo, start trial, join community)
- Share on social (pre-written tweet/post)
- Recommend related content
---
## Promotion & Distribution
### Blog CTAs & Content Upgrades
- Add relevant CTAs within blog posts (inline, end-of-post)
- Create post-specific content upgrades (bonus checklist for a how-to post)
- Content upgrades convert 2-5x better than generic sidebar CTAs
### Exit-Intent & Popups
- Trigger on exit intent or scroll depth
- Match the popup offer to the page content
- **See popups** for implementation
### Social Media
- Share snippets and teasers from the lead magnet
- Create carousel posts from key points
- Use the lead magnet as the CTA in your bio/profile
- **See social** for social strategy
### Paid Promotion
- Facebook/Instagram lead ads for top-funnel lead magnets
- Google Ads for high-intent lead magnets (templates, tools)
- LinkedIn for B2B lead magnets
- Retarget blog visitors with lead magnet ads
- **See ads** for campaign strategy
### Partner Co-Promotion
- Cross-promote with complementary brands
- Guest webinars with partner audiences
- Include in partner newsletters
- Bundle in resource collections
---
## Measuring Success
### Key Metrics
| Metric | What It Tells You | Benchmark |
|--------|-------------------|-----------|
| **Landing page conversion rate** | Offer attractiveness | 20-40% (warm traffic), 5-15% (cold) |
| **Cost per lead** | Acquisition efficiency | Varies by channel and industry |
| **Lead-to-customer rate** | Lead quality | 1-5% (B2B), varies widely |
| **Email engagement** | Content relevance | 30-50% open, 2-5% click |
| **Time to conversion** | Nurture effectiveness | Track by lead magnet source |
**For detailed benchmarks by format and industry**: See [references/benchmarks.md](references/benchmarks.md)
### A/B Testing Ideas
- **Headline**: Benefit-focused vs. curiosity-driven
- **Format**: Checklist vs. guide on same topic
- **Gate level**: Full gate vs. partial preview
- **Form fields**: Email-only vs. email + name
- **CTA copy**: "Download Free Guide" vs. "Get Your Copy"
- **Delivery**: Instant download vs. email delivery
### Lead Quality Signals
Good lead magnet attracted quality leads if:
- Higher-than-average email engagement
- Leads progress to trial/demo at expected rates
- Low unsubscribe rate after delivery
- Leads match ICP demographics
---
## Output Format
When creating a lead magnet strategy, provide:
### 1. Lead Magnet Recommendation
- Format and topic
- Target buyer stage
- Why this format for this audience
- Estimated creation effort
### 2. Content Outline
- Key sections/components
- Length and scope
- What makes it unique or valuable
### 3. Gating & Capture Plan
- What to gate and how
- Form fields
- Landing page structure
### 4. Distribution Plan
- Promotion channels
- Content upgrade opportunities
- Paid amplification (if applicable)
### 5. Measurement Plan
- KPIs and targets
- What to A/B test first
---
## Task-Specific Questions
1. What existing content or expertise could you turn into a lead magnet?
2. Where does your audience spend time online?
3. What's the most common question prospects ask before buying?
4. Do you have an email nurture sequence set up for new leads?
5. What's your budget for design and promotion?
---
## Related Skills
- **free-tools**: For interactive tools as lead magnets (calculators, graders, quizzes)
- **copywriting**: For writing the lead magnet content itself
- **emails**: For nurture sequences after lead capture
- **cro**: For optimizing lead magnet landing pages
- **popups**: For popup-based lead capture
- **cro**: For optimizing capture forms
- **content-strategy**: For content planning and topic selection
- **analytics**: For measuring lead magnet performance
- **ads**: For paid promotion of lead magnets
- **social**: For social media promotion
+87
View File
@@ -0,0 +1,87 @@
{
"skill_name": "lead-magnets",
"evals": [
{
"id": 1,
"prompt": "We're a B2B SaaS selling project management software to marketing agencies. What lead magnet should we create?",
"expected_output": "Should check for product-marketing.md first. Should ask about current lead gen, existing content assets, and primary goal (list growth, lead quality, product education). Should apply Lead Magnet Principles: solve a specific problem (not 'agency marketing'), match buyer stage, high perceived value + low time investment, natural path to product. Should recommend a specific format suited to a busy agency audience — likely a template (Notion/spreadsheet) or checklist over an ebook. Examples: 'Agency Project Profitability Calculator' (decision stage, naturally leads to project management), 'Client Onboarding Checklist for Agencies' (consideration), 'The Agency Capacity Planning Template' (decision stage). Should justify the choice by matching buyer stage and effort/value ratio. Should outline content, gating, landing page, distribution, and measurement plan.",
"assertions": [
"Checks for product-marketing.md",
"Asks about buyer stage and goal",
"Applies the 5 principles",
"Recommends specific format with rationale",
"Examples match the audience and product",
"Outlines all 5 output sections (recommendation, content, gating, distribution, measurement)"
],
"files": []
},
{
"id": 2,
"prompt": "We have a 50-page ebook we spent 3 months writing. Conversion on the landing page is only 4%. Should we keep iterating?",
"expected_output": "Should diagnose this as a likely mismatch on Lead Magnet Principles, especially #3 (high perceived value, low time investment — consumable in under 30 minutes, ideally under 10). Should warn 50 pages may signal too much effort to consume — flag this as a possible cause. Should recommend A/B testing the format (chunking the ebook into a 5-part email mini-course, releasing as a checklist + ebook combo, or breaking into shorter topic-specific guides). Should review landing page structure: headline, preview/mockup, what's inside, social proof, form fields, FAQ. Should suggest testing partial gate (preview first 5 pages) vs full gate. Should ask about traffic source — 4% on cold traffic might be acceptable while 4% on warm traffic is low. Should reference cro skill for landing page optimization and ab-testing for test design.",
"assertions": [
"Diagnoses likely cause as length/effort mismatch",
"Recommends format A/B test",
"Suggests breaking into shorter formats",
"Reviews landing page structure",
"Asks about traffic source (cold vs warm)",
"Cross-references cro or ab-testing skill"
],
"files": []
},
{
"id": 3,
"prompt": "Our lead form asks for name, email, company, role, company size, and phone. We're not getting enough signups. Could the form be the problem?",
"expected_output": "Should immediately flag form length as a likely culprit. Should cite the rule of thumb: every extra field reduces conversion 5-10%. Should recommend reducing to the minimum needed: ideally email only (highest conversion), or email + name if personalization matters. Should explain when multi-field is justified (only for high-value offers like webinars or demos). Should ask what information is actually used in follow-up — fields that aren't used should be removed. Should suggest progressive profiling: capture email now, ask for more fields later via enrichment or follow-up forms. Should reference cro skill for form optimization specifically.",
"assertions": [
"Flags form length as likely culprit",
"Cites 5-10% per field rule",
"Recommends reducing to email or email + name",
"Asks what fields are actually used",
"Suggests progressive profiling",
"Cross-references cro skill"
],
"files": []
},
{
"id": 4,
"prompt": "What's the difference between a lead magnet and a free tool? Should I build one or the other?",
"expected_output": "Should explain the distinction: lead magnets are static content offers (ebooks, checklists, templates) while free tools are interactive (calculators, graders, quizzes). Should explain when to build which. Lead magnets: faster to ship (hours-days), works well for awareness/consideration education, lower ongoing maintenance, lead quality varies. Free tools: longer build time (weeks-months), higher engagement and shareability, naturally segment leads by tool usage, can rank for SEO ('X calculator', 'Y grader'), higher lead quality typically. Should recommend lead magnet first if speed matters, free tool if you can invest the build time and have repeatable user inputs that produce a meaningful output. Should defer to free-tools skill for tool strategy specifically.",
"assertions": [
"Distinguishes static content from interactive tool",
"Compares effort to build",
"Compares SEO and shareability characteristics",
"Recommends based on speed vs investment trade-off",
"Defers to free-tools skill"
],
"files": []
},
{
"id": 5,
"prompt": "We have a top-performing blog post on email subject lines. Can we use it as a lead magnet?",
"expected_output": "Should recommend creating a content upgrade specific to the post rather than gating the post itself (post-specific content upgrades convert 2-5x better than generic sidebar CTAs). Should suggest specific upgrade ideas: '50 Email Subject Line Templates' (template format, decision stage), 'Subject Line Cheat Sheet PDF' (cheat sheet format, awareness/consideration), 'Subject Line Swipe File' (collection of high-performing examples with annotations). Should explain content upgrades convert better because they match what the reader is already engaged with — relevance + intent are higher than generic offers. Should recommend keeping the blog post ungated (preserve SEO) and offering the upgrade as an inline or end-of-post CTA. Should reference cro for placement and copywriting for the upgrade itself.",
"assertions": [
"Recommends content upgrade over gating the post",
"Cites 2-5x improvement vs generic CTAs",
"Suggests specific upgrade formats with rationale",
"Keeps blog post ungated to preserve SEO",
"Explains why upgrades convert better"
],
"files": []
},
{
"id": 6,
"prompt": "Our checklist gets a lot of downloads but very few of them ever sign up for a trial. Is the lead magnet broken?",
"expected_output": "Should diagnose this as a lead quality / buyer stage mismatch problem. Should ask whether the checklist is awareness-stage content drawing people who aren't ready to buy. Should check Lead Quality Signals: higher-than-average email engagement, leads progress to trial/demo at expected rates, low unsubscribe rate, leads match ICP demographics. Should review the principle: lead magnets should create a natural path to product. If a checklist for total beginners attracts beginners, that's working as designed but they won't convert quickly — they need nurture. Should recommend reviewing the nurture sequence (cross-reference emails skill) and checking whether the offer matches the right buyer stage for the goal. May suggest creating a consideration- or decision-stage lead magnet (template, ROI calculator, comparison spreadsheet) that pulls higher-intent leads. Should track time to conversion by lead magnet source.",
"assertions": [
"Diagnoses as lead quality / buyer stage mismatch",
"Asks about ICP fit of leads",
"References Lead Quality Signals",
"Cross-references emails skill for nurture",
"Suggests a decision-stage lead magnet alternative",
"Mentions tracking time to conversion by source"
],
"files": []
}
]
}
@@ -0,0 +1,129 @@
# Lead Magnet Benchmarks
Reference data for planning and evaluating lead magnet performance.
---
## Conversion Rate Benchmarks
### By Format Type
| Format | Landing Page Conversion | Notes |
|--------|------------------------|-------|
| Checklist | 30-50% | High because low commitment |
| Cheat sheet | 25-40% | Quick reference appeal |
| Template | 25-45% | Immediate utility drives conversion |
| Ebook/guide | 20-35% | Higher commitment, lower rate |
| Quiz | 30-50% | Engagement drives completion |
| Webinar | 20-40% (registration) | 30-50% attendance rate of registrants |
| Mini-course | 15-30% | Higher commitment, higher quality leads |
| Free trial | 5-15% | High intent but high friction |
### By Traffic Source
| Source | Expected Conversion | Why |
|--------|-------------------|-----|
| Blog content upgrade | 3-8% of post readers | Contextually relevant |
| Dedicated landing page (organic) | 20-40% | High intent |
| Dedicated landing page (paid) | 10-25% | Cold traffic |
| Exit-intent popup | 2-5% of visitors | Interruption-based |
| Sidebar/banner CTA | 0.5-2% | Low engagement |
| Social media link | 10-20% | Warm but browsing |
### By Industry (Landing Page)
| Industry | Average Conversion |
|----------|-------------------|
| SaaS/Tech | 15-25% |
| Marketing/Agency | 20-35% |
| Finance | 10-20% |
| E-commerce | 10-20% |
| Education | 20-35% |
| Health/Wellness | 15-25% |
---
## Lead Quality Indicators
### Signals of High-Quality Leads
- Open first 3 emails at 40%+ rate
- Click through to content or product pages
- Return to site within 30 days
- Match ICP demographics (role, company size, industry)
- Progress to trial, demo, or purchase within 90 days
### Signals of Low-Quality Leads
- Unsubscribe within first 3 emails
- Never open beyond delivery email
- Use disposable email addresses
- Don't match target customer profile
- Downloaded for the content, no product interest
### Quality vs. Quantity by Format
| Format | Lead Volume | Lead Quality | Net Value |
|--------|-------------|-------------|-----------|
| Generic ebook | High | Low-Medium | Medium |
| Specific template | Medium | High | High |
| Industry report | Medium | Medium-High | High |
| Quiz/assessment | High | Medium (segmentable) | High |
| Webinar | Low-Medium | High | High |
| Checklist | High | Low-Medium | Medium |
| Free trial | Low | Very High | Very High |
---
## Cost Benchmarks
### Cost Per Lead by Channel
| Channel | Typical CPL | Notes |
|---------|-------------|-------|
| Organic search | $0-5 | Lowest, but slow to build |
| Blog content upgrade | $0-2 | Nearly free if you have traffic |
| Facebook/Instagram Ads | $3-15 | B2C lower, B2B higher |
| Google Ads | $10-50 | High intent, higher cost |
| LinkedIn Ads | $25-75 | B2B, expensive but qualified |
| Partner co-promotion | $0-5 | Depends on relationship |
### Creation Cost by Format
| Format | DIY Cost | With Designer/Freelancer |
|--------|----------|-------------------------|
| Checklist | Free | $100-300 |
| Cheat sheet | Free | $200-500 |
| Template | Free | $100-500 |
| Ebook (10-25 pages) | Free | $500-2,000 |
| Quiz | $0-100/mo (tool) | $500-2,000 |
| Webinar | Free (Zoom) | $500-1,500 (production) |
| Mini-course (email) | Free | $500-1,500 (copywriting) |
| Video course | $0-200 (gear) | $2,000-5,000 |
---
## Timeline Expectations
### Time to Create
| Format | Solo Creator | With Team |
|--------|-------------|-----------|
| Checklist | 1-2 hours | Same day |
| Cheat sheet | 2-4 hours | Same day |
| Template | 2-8 hours | 1-2 days |
| Swipe file | 4-8 hours | 1-2 days |
| Ebook | 1-3 weeks | 1-2 weeks |
| Quiz | 1-2 weeks | 1 week |
| Webinar prep | 1 week | 3-5 days |
| Mini-course | 1-2 weeks | 1 week |
### Time to See Results
| Phase | Timeline |
|-------|----------|
| First leads | Immediately with existing traffic or paid |
| Organic traffic growth | 2-6 months (SEO) |
| Meaningful lead volume | 1-3 months |
| Measurable impact on pipeline | 3-6 months |
| Full ROI assessment | 6-12 months |
**Note**: These benchmarks are general guidelines. Your actual results depend on audience, niche, traffic volume, and offer quality. Start measuring from day one and build your own benchmarks.
@@ -0,0 +1,196 @@
# Lead Magnet Format Guide
Detailed creation guidance for each lead magnet format.
## Contents
- Ebooks & Guides
- Checklists
- Cheat Sheets
- Templates & Spreadsheets
- Swipe Files
- Mini-Courses
- Quizzes & Assessments
- Webinars & Workshops
---
## Ebooks & Guides
**Best for**: Building authority, deep education, awareness-stage leads
**Structure**:
1. Title page with professional design
2. Table of contents
3. Introduction — frame the problem, set expectations
4. 3-7 chapters — one key concept per chapter
5. Summary — recap key takeaways
6. CTA — next step toward your product
**Guidelines**:
- Ideal length: 10-25 pages (shorter is fine if valuable)
- Include visuals: charts, diagrams, screenshots
- Use callout boxes for key stats or quotes
- End each chapter with a quick takeaway
- Don't pad — density beats length
**Tools**: Canva, Google Docs → PDF, Notion export, Designrr, Beacon.by
---
## Checklists
**Best for**: Process-oriented tasks, quick wins, implementation help
**Structure**:
- Title: "[Number]-Point [Topic] Checklist"
- Numbered or checkbox items
- Group into logical sections if 10+ items
- Brief explanation per item (1-2 sentences)
**Guidelines**:
- Keep to 1-2 pages
- Use actionable language ("Verify X", "Set up Y", "Remove Z")
- Order by workflow sequence or priority
- Make it printable — clean layout, generous spacing
- Include a "done" checkbox for each item
**What works**: Step-by-step processes, audit criteria, launch checklists, setup guides
---
## Cheat Sheets
**Best for**: Reference material, shortcuts, quick-lookup information
**Structure**:
- One page (two pages max)
- Organized by category or workflow
- Dense but scannable
- Visual hierarchy with headers and grouping
**Guidelines**:
- Optimize for quick reference, not reading
- Use tables, grids, or columns
- Include formulas, shortcuts, or code snippets
- Design for printing or saving as desktop reference
- Bold the most important items
**What works**: Keyboard shortcuts, formula references, terminology glossaries, decision matrices
---
## Templates & Spreadsheets
**Best for**: Repeatable processes, planning, tracking
### Spreadsheet Templates (Google Sheets / Excel)
- Include a "How to Use" tab with instructions
- Pre-fill with example data
- Use data validation for dropdown fields
- Add conditional formatting for visual cues
- Lock formula cells, leave input cells editable
- Include a "Make a Copy" link (Google Sheets)
### Notion Templates
- Provide a duplicate link
- Include a getting-started guide
- Pre-populate with example content
- Use Notion's database features (views, filters, relations)
- Keep it simple — don't over-engineer
### Document Templates
- Provide in multiple formats (Google Doc, Word, PDF)
- Include placeholder text with [BRACKETS] for customization
- Add inline instructions in a different color
- Make it immediately usable with minimal editing
**Key principle**: Templates should be usable within 5 minutes of downloading.
---
## Swipe Files
**Best for**: Inspiration, examples, learning from others
**Structure**:
- Curated collection of 15-50 examples
- Organized by category, type, or use case
- Each example includes:
- The example itself (screenshot, text, link)
- Why it works (2-3 bullet annotations)
- How to adapt it (1-2 sentences)
**Guidelines**:
- Quality over quantity — curate ruthlessly
- Add your analysis, don't just collect
- Organize for browsing (categories, tags)
- Update periodically with fresh examples
- Credit original sources
**What works**: Email subject lines, landing pages, ad copy, CTAs, onboarding flows, pricing pages
---
## Mini-Courses
### Email-Based Mini-Courses
- 3-5 emails delivered over 5-7 days
- One lesson per email, one concept per lesson
- Each email: teach → example → exercise
- Progressive difficulty (build on previous lessons)
- Final email: summary + CTA for product or next step
### Video-Based Mini-Courses
- 3-5 videos, 5-15 minutes each
- Host on unlisted YouTube, Loom, or course platform
- Deliver links via email drip
- Include worksheets or exercises per lesson
- More personal — builds stronger connection
**Cadence**: Every 1-2 days. Don't stretch too thin or compress too tight.
**Key principle**: Each lesson should deliver standalone value. If someone only watches lesson 2, they should still learn something useful.
---
## Quizzes & Assessments
**Best for**: Engagement, segmentation, personalized results
**Question Design**:
- 5-10 questions (sweet spot: 7)
- Multiple choice only — no open-ended
- Questions should feel insightful, not obvious
- Progress indicator ("Question 3 of 7")
**Result Segmentation**:
- 3-5 result categories
- Each result: name, description, personalized recommendations
- Tailor follow-up emails by result type
- Share-worthy result format ("I got: Growth Stage Marketer!")
**Implementation**: Gate results behind email capture. The quiz itself is ungated — the personalized results require an email.
**For building interactive quizzes**: See **free-tools** skill for technical implementation guidance.
---
## Webinars & Workshops
### Live Webinars
- 30-45 minutes teaching + 15 minutes Q&A
- Structure: Hook → Teach (3 key points) → Demo/example → CTA
- Promote 1-2 weeks in advance
- Send 3 reminder emails (confirmation, day before, 1 hour before)
- Record for replay (extends value)
### Evergreen Webinars
- Pre-recorded, available on demand
- Same structure as live but tighter editing
- Always-on lead generation
- Gate with email registration
- Automated follow-up sequence
**Follow-up**: Send replay link + summary + CTA within 24 hours. Continue with nurture sequence.
**Key principle**: Teach something genuinely useful. A webinar that's just a sales pitch will damage trust.
+8 -7
View File
@@ -1,8 +1,8 @@
---
name: marketing-ideas
description: "When the user needs marketing ideas, inspiration, or strategies for their SaaS or software product. Also use when the user asks for 'marketing ideas,' 'growth ideas,' 'how to market,' 'marketing strategies,' 'marketing tactics,' 'ways to promote,' or 'ideas to grow.' This skill provides 139 proven marketing approaches organized by category."
description: "When the user needs marketing ideas, inspiration, or strategies for their SaaS or software product. Also use when the user asks for 'marketing ideas,' 'growth ideas,' 'how to market,' 'marketing strategies,' 'marketing tactics,' 'ways to promote,' 'ideas to grow,' 'what else can I try,' 'I don't know how to market this,' 'brainstorm marketing,' or 'what marketing should I do.' Use this as a starting point whenever someone is stuck or looking for inspiration on how to grow. For specific channel execution, see the relevant skill (ads, social, emails, etc.)."
metadata:
version: 1.0.0
version: 2.0.0
---
# Marketing Ideas for SaaS
@@ -12,7 +12,7 @@ You are a marketing strategist with a library of 139 proven marketing ideas. You
## How to Use This Skill
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
When asked for marketing ideas:
1. Ask about their product, audience, and current stage if not clear
@@ -160,8 +160,9 @@ When recommending ideas, provide for each:
## Related Skills
- **marketing-plan**: When the user wants a comprehensive plan instead of standalone ideas. Section 12 of the plan cross-references all 139 ideas here against AARRR stages and client-specific status.
- **programmatic-seo**: For scaling SEO content (#4)
- **competitor-alternatives**: For comparison pages (#11)
- **email-sequence**: For email marketing tactics
- **free-tool-strategy**: For engineering as marketing (#15)
- **referral-program**: For viral growth (#93)
- **competitors**: For comparison pages (#11)
- **emails**: For email marketing tactics
- **free-tools**: For engineering as marketing (#15)
- **referrals**: For viral growth (#93)
+90
View File
@@ -0,0 +1,90 @@
{
"skill_name": "marketing-ideas",
"evals": [
{
"id": 1,
"prompt": "I need marketing ideas for my SaaS product. We're a bootstrapped team of 3, sell a $49/month analytics tool for e-commerce, and have about 200 customers. Budget is tight — maybe $500/month for marketing.",
"expected_output": "Should check for product-marketing.md first. Should filter ideas by low budget and early-stage constraints. Should pull relevant ideas from the 139 marketing ideas organized by category. Should provide ideas appropriate for bootstrapped SaaS: content marketing, community building, SEO, partnerships, referral programs, social media, Product Hunt, and others that don't require large budgets. Output should follow the format: idea name, why it fits, how to start, expected outcome, resources needed. Should prioritize by likely impact given their stage.",
"assertions": [
"Checks for product-marketing.md",
"Filters ideas by low budget constraint",
"Provides ideas from the 139 marketing ideas catalog",
"Ideas are appropriate for bootstrapped SaaS stage",
"Output follows structured format per idea",
"Includes why it fits, how to start, expected outcome",
"Prioritizes by likely impact",
"Includes resources needed per idea"
],
"files": []
},
{
"id": 2,
"prompt": "What's the fastest way to get more leads? We sell enterprise security software and have a $10k/month marketing budget.",
"expected_output": "Should apply the 'top ideas by use case' — specifically 'leads fast' recommendations. Should recommend paid channels (Google Ads, LinkedIn Ads for enterprise), outbound (cold email, LinkedIn outreach), and content-based lead magnets. Should filter for enterprise-appropriate tactics. Should provide the structured output with why each idea fits, how to start, expected timeline, and resources needed. Should note that 'fast leads' typically means paid or outbound channels.",
"assertions": [
"Applies 'leads fast' use case filter",
"Recommends paid channels appropriate for enterprise",
"Recommends outbound tactics",
"Filters for enterprise-appropriate tactics",
"Provides structured output per idea",
"Notes that fast leads means paid or outbound",
"Includes timeline expectations"
],
"files": []
},
{
"id": 3,
"prompt": "how do we grow without spending money on ads? we're a PLG (product-led growth) company with a freemium model",
"expected_output": "Should trigger on casual phrasing. Should apply the 'PLG' use case filter from top ideas. Should recommend PLG-specific tactics: product virality features, referral programs, community building, content marketing, SEO, free tools/calculators, open-source contributions, social proof loops. Should avoid ad-dependent ideas given the constraint. Should provide structured output with implementation guidance.",
"assertions": [
"Triggers on casual phrasing",
"Applies PLG use case filter",
"Recommends PLG-specific tactics",
"Avoids ad-dependent ideas",
"Includes virality and referral tactics",
"Provides structured output with implementation guidance"
],
"files": []
},
{
"id": 4,
"prompt": "We want to build authority and thought leadership in the HR tech space. We're a newer company and nobody knows who we are yet.",
"expected_output": "Should apply the 'authority building' use case filter. Should recommend thought leadership tactics: original research/surveys, guest posting, podcast appearances, speaking engagements, LinkedIn content, industry report publishing, expert roundups. Should note that authority building is a longer-term play. Should provide structured output with how to start each idea, expected outcomes, and timeline.",
"assertions": [
"Applies 'authority building' use case filter",
"Recommends thought leadership tactics",
"Includes original research and content",
"Includes community and media appearances",
"Notes authority building is longer-term",
"Provides structured output with timelines"
],
"files": []
},
{
"id": 5,
"prompt": "Give me 20 marketing ideas. We sell project management software.",
"expected_output": "Should provide a curated list of ~20 ideas from the catalog. Should organize them by category or by effort/impact. Should provide brief implementation context for each. Should vary the ideas across categories (content, community, partnerships, product, paid, etc.) for a well-rounded set. Output should follow the structured format with at least idea name and brief description for each.",
"assertions": [
"Provides approximately 20 ideas",
"Ideas span multiple categories",
"Organizes by category or effort/impact",
"Provides brief implementation context per idea",
"Output follows structured format",
"Ideas are relevant to project management software"
],
"files": []
},
{
"id": 6,
"prompt": "We want to set up a referral program. How should we structure it?",
"expected_output": "Should recognize this is specifically a referral program design request. Should defer to or cross-reference the referrals skill, which provides detailed guidance on referral loop design, incentive structures, implementation, and optimization. May briefly mention referral programs as a marketing idea but should make clear that referrals is the right skill for detailed program design.",
"assertions": [
"Recognizes this as a referral program design request",
"References or defers to referrals skill",
"Does not attempt detailed referral program design",
"May briefly mention as a marketing idea"
],
"files": []
}
]
}
+270
View File
@@ -0,0 +1,270 @@
---
name: marketing-plan
description: When the user needs a comprehensive marketing plan for a client, a company they advise, or their own product. Also use when the user mentions "marketing plan," "growth plan," "GTM plan," "go-to-market plan," "AARRR plan," "90-day marketing plan," "12-month marketing roadmap," "fractional CMO plan," or "fCMO plan." Generates an exhaustive 13-section plan structured by AARRR (Acquisition, Activation, Retention, Referral, Revenue), customized to the client's current budget, team, and stage, mapped to future funding milestones, cross-referenced with the 139-idea marketing-ideas library and an embedded 17-section current-state audit rubric, with a full marketing operations stack showing which skills and MCP/API integrations execute each part. Outputs a Notion-paste-ready markdown document. For positioning and ICP context before planning, see product-marketing. For stage-specific deep work, see onboarding, signup, emails, referrals, pricing.
---
# Marketing Plan
You are an expert marketing strategist operating at fCMO (fractional CMO) level. Your job is to produce a comprehensive, executable 12-month marketing plan for a specific client or company, structured by AARRR (Acquisition, Activation, Retention, Referral, Revenue), customized to their actual budget, team, stage, and capabilities, and cross-referenced with the full marketing-ideas library and the embedded 17-section current-state audit rubric.
The deliverable is a single Notion-paste-ready markdown document — the kind of strategy artifact a fractional CMO would present to founders. It must be specific to the client (not generic), exhaustive (covers every tactical surface area, not just what's prescribed), and operationally honest (reflects what their team can actually execute with their current stack and headcount).
## When to use
Invoke this skill when:
- A user is starting a new client engagement as a fractional CMO or marketing consultant
- A founder needs a 12-month marketing roadmap they can share with their team or investors
- A team wants to consolidate scattered marketing work (SEO research, brand voice docs, audit findings, onboarding analyses) into a single coherent plan
- The user explicitly asks for a "marketing plan," "growth plan," "GTM plan," "fCMO plan," "AARRR plan," or "90-day + 12-month marketing roadmap"
- An existing scored audit (from any prior current-state assessment) needs to be sequenced into an action plan
**Do not use** when the user wants a tactical execution document for a single channel (use the channel-specific skill instead — `emails`, `ads`, `seo-audit`, `onboarding`, etc.), or when the user just wants marketing ideas without commitment to a plan (use `marketing-ideas`).
## How this skill is invoked
```
/marketing-plan {client-name-or-domain}
```
Examples:
- `/marketing-plan quietude.app`
- `/marketing-plan acme-saas`
- `/marketing-plan` (will prompt for client name)
On invocation, the skill reads `~/marketing-plans/{client-slug}/progress.md` and resumes based on the state machine documented in `references/methodology.md` Step 1.1.2 (fresh → INIT → REVIEW → FINALIZE → finalized). Finalized plans are never silently overwritten — the user is asked whether to revise as v{N+1}, start fresh, or re-open a section.
## The three phases
The full workflow lives in `references/methodology.md`. Quick summary:
### Phase 1 — INIT (research + intake)
Read all available materials about the client. Pull data from any wired tools (Ahrefs, GA4 MCP, Stripe MCP, etc.). Conduct structured intake covering: client overview, ICP, current funnel state, funding state, team composition, marketing budget, channels currently active, what's already been done, what's in-flight, what's stuck, tooling stack. Save to `research.md`.
Use the embedded 17-section current-state rubric (`references/current-state-rubric.md`) as your scoring lens for Section 3 — score each section 05 against available materials.
### Phase 2 — REVIEW (walk through each of 13 sections interactively)
Present each section's draft in chat. For each section you can:
- Approve as-is ("good," "next")
- Adjust ("change X to Y")
- Add observations ("also mention Z")
- Expand ("go deeper on this")
Save each confirmed section to the progress file as you go. The skill is resumable — if interrupted, run `/marketing-plan client-name` again to pick up at the next unfinished section.
### Phase 3 — FINALIZE (compile + verify + publish)
Compile all 13 sections into `final_plan.md`. Run a verification pass: confirm cross-references (marketing-ideas idea numbers, related skills, MCP integrations) are accurate; check for machine-specific paths that shouldn't ship; ensure the brand voice matches what was captured in the strategic frame.
Optionally offer to publish to a shared GitHub repo (e.g., `{client-org}/{client-context}/marketing/plan.md`) if the user wants to share it with the team.
## The 13-section plan structure
Full template lives in `references/plan-template.md`. The structure:
1. **Executive summary** — 3 big bets, 90-day priorities, 12-month outcome. Written so it can be lifted into an investor or board update.
2. **Strategic frame** — Category claim, ICP distilled, business-model logic, brand voice non-negotiables.
3. **Current state** — Team, budget, what's done, what's in-flight, what's stuck. Scored against the embedded 17-section current-state rubric (`references/current-state-rubric.md`).
4. **Acquisition** — How strangers become aware. Channels current + planned + skipped, 90-day and 12-month moves, skills + tools.
5. **Activation** — How a new user has an experience that converts. Onboarding, first session, App Store / signup, paywall, lifecycle setup.
6. **Retention** — How a converted user stays and deepens. Lifecycle flows, churn prevention, win-back, support-as-marketing.
7. **Referral** — How retained users bring more users. Ambassador / affiliate / Guides / WOM mechanics.
8. **Revenue** — Pricing, packaging, upsells, bundles, hardware-to-software, B2B ACV.
9. **90-day roadmap** — Weeks 12 (Unblock), 34 (Foundation), 58 (Velocity), 912 (Compound). AARRR-tagged, owner-assigned.
10. **12-month outlook** — Quarterly milestones tied to funding-stage capability unlocks.
11. **Marketing operations stack** — Marketing skills + MCP/API integrations mapped to each AARRR stage. Capability unlocks by funding stage.
12. **Tactical idea bank** — All 139 ideas from `marketing-ideas` cross-referenced to AARRR + client-specific status (Now / Q2 / Q3+ / Q4+ / Skip).
13. **Measurement, RACI, open decisions, appendix** — North-star metric, leading indicators by stage, RACI table, blocking decisions, links to deeper docs.
## The AARRR framing
AARRR replaces the older "channels and tactics" approach because it forces every recommendation to be funnel-stage-tagged, which makes the plan executable in priority order.
Full primer in `references/aarrr-framework.md`. Quick rule:
- **Acquisition** = strangers → aware (top of funnel)
- **Activation** = aware → first valued experience (signup, onboarding, first session)
- **Retention** = repeat users (lifecycle, churn prevention, deepening engagement)
- **Referral** = retained users → bring more users (programs, viral mechanics)
- **Revenue** = monetization (pricing, upsells, bundles, ACV expansion)
Brand and content are **cross-cutting**, not their own AARRR stage — they serve every stage.
## The current-state rubric
The plan's "Current State" section scores the client against the embedded 17-section rubric. Full rubric in `references/current-state-rubric.md` — it's the source of truth, not a derivative of any external skill.
If the user already has a separately scored audit, ingest those scores directly into Section 3. Otherwise, score from available materials using the rubric as your lens — mark "scored from materials" in the section header so the team can push back where they have better data.
## Cross-references — skills this plan integrates with
1. **`marketing-ideas`** — 139 proven marketing tactics. Section 12 of the plan cross-references every one to AARRR + client status. Detail in `references/idea-cross-reference.md`.
2. **`product-marketing`** — Sets up the foundational `.agents/product-marketing.md` context file (positioning, ICP, voice). Read this first; Section 2 (Strategic frame) builds on it.
3. **AARRR-stage-specific skills**`onboarding`, `signup`, `emails`, `referrals`, `pricing`, etc. The "Marketing operations stack" (Section 11) maps these to AARRR stages.
The plan is **opinionated about which skills serve which stages.** Full mapping in `references/ops-stack-mapping.md`.
## The marketing operations stack
This is the differentiator of an fCMO-style plan vs. a generic marketing plan. The plan doesn't just say *what* to do — it says *what skills and tooling execute it.*
A small team + an fCMO + the marketing-skills library + MCP integrations can output the work of a 1520-person traditional marketing org. The plan must show this stack explicitly, AARRR-stage by AARRR-stage.
Full mapping in `references/ops-stack-mapping.md`.
## Funding-stage capability unlocks
Every plan must include explicit "what changes when funding closes / when budget unlocks" reasoning. This makes the plan investor-friendly (founders mid-raise see what they're buying) and operationally honest (we're not pretending the team can spend $50K/mo on paid before the round closes).
Standard tiers in `references/funding-stage-unlocks.md`:
- **Pre-seed / bootstrapped** — $0$2K/mo total marketing spend; organic only
- **Seed close** — $5$15K/mo paid test budget; first marketing hire
- **Seed deployment** — $20$50K/mo paid; second marketing hire
- **Series A** — $50$150K/mo paid; performance + content + designer; international consideration
- **Series B+** — $150K+/mo paid; brand campaigns; PR firm; full-stack marketing org
Use these as anchors. Adjust for category (consumer apps and ecommerce can spend more; deep-tech B2B may spend less).
## Setting the budget scientifically
The funding-stage anchors above tell you *what's in the ballpark*. To set the actual number defensibly, use one of two methods (full detail in `references/budget-planning.md`):
1. **Revenue-Based (540% of ARR)** — start from comfortable spend, forecast resulting revenue. Best when historical CAC data exists.
2. **Goal-Based** — reverse-engineer the budget from the revenue target. Formula: `[(New ARR / (ARPC × 12)) × CAC] / annual retention rate`. Best for fundraising or when the goal is fixed.
Always add **1020% experimental budget** on top — CAC is the main dependency, and the experimental layer is what funds the next-channel investment before the current one plateaus.
For VC-backed Series A+ clients, anchor the 12-month outlook against the **3-3-2-2-2 rule** (3× in years 12, 2× in years 37 from $1M ARR).
## Growth patterns — the real shape of SaaS growth
Pitch decks show hockey sticks. Real growth is a series of S-curves with plateaus between them. Full framework in `references/growth-patterns.md`. Key implications for the plan:
- **Phase identification** — $010K ARR (grueling), $10K100K (treacherous middle), $100K1M (acceleration). Section 3 names the current phase; Section 10 sequences the next.
- **Linear vs step-function** — most healthy SaaS growth is linear (predictable additions per month) punctuated by step-functions (enterprise tier launch, new segment, channel breakthrough). The plan should describe both honestly — not promise exponential.
- **S-curve layering** — Channel × Product × Market. Start the next S-curve while the current one is still growing. Riding any single S-curve to its ceiling before investing in the next produces multi-month plateaus.
## Team and agency model
Strategy lives in-house. Execution can — and often should — be outsourced. Full framework in `references/team-and-agency-model.md`. Three implications for every plan:
1. **First hire is a strategist, not a tactician.** Look for a **π-shaped marketer** (two deep skill sets) — common high-leverage combos: Product Marketing + Growth Marketing, Product Marketing + Content Marketing, Growth Marketing + Content Marketing.
2. **Title conservatively.** First marketing hire is almost always Manager or Lead, not VP or CMO. Inflated titles paint the org into a corner when you scale.
3. **Use contractors and small niche agencies for execution.** Most pre-Series-A companies should rely on individual contractors for nearly all outsourced work; deepen agency relationships as the company moves into Growth Stage and Scale Stage.
## What every plan must customize
A generic plan is a failed plan. Every plan must explicitly customize for:
1. **Current marketing budget** — exact $/mo, broken down by line (paid, tools, headcount, retainers). Plus blended CAC (must include salaries, content costs, tools, retainers — not just paid ad spend) and current %-of-ARR allocation.
2. **Unit economics** — ARPC, annual retention rate, LTV. These feed the budget math in Section 8 and Section 10.
3. **Team composition and surface area** — every person who touches marketing, with what they own. Identify whether the strategic owner (if there is one) is π-shaped, T-shaped, or tactical-only.
4. **What the client is currently doing** — by channel, with status (working / not / TBD).
5. **What they've already done that should be acknowledged** — past launches, PR moments, content, partnerships. Don't write a plan that ignores work they're proud of.
6. **Phase of SaaS growth** — $010K ARR / $10K100K / $100K1M / $1M+. Each phase has its own binding constraint.
7. **Future funding milestones** — when the next round closes, what budget tier that unlocks, and which capability comes online (first hire, paid channels, agency relationship).
8. **The marketing skills mapped to specific moves** — every move in the AARRR sections names the skill that executes it.
9. **The API/MCP/tool connections that enable execution** — every move names the tooling that makes it doable without hiring.
If you can't confirm any of these in INIT, list them in Section 13's "Open decisions" — never gloss over them. **CAC unknown is the highest-impact open decision** — every revenue projection depends on it.
## Common client-type variations
Plan structure stays consistent. What changes:
- **B2B SaaS** — Acquisition leans on SEO + content + outbound + LinkedIn. Activation = signup + product trial. Retention = product engagement + CSM motion. Referral = customer advocacy. Revenue = expansion / NRR.
- **D2C consumer app** — Acquisition leans on App Store + paid social + influencer + PR. Activation = onboarding + first session + paywall. Retention = lifecycle email + push. Referral = sharing mechanics. Revenue = subscription + upsell.
- **Hardware-led** — Acquisition leans on PR + retail + Amazon + Shopify SEO. Activation = unboxing + setup + first use. Retention = software companion + community. Referral = gifting + reviews. Revenue = blended LTV hardware + accessories + subscription.
- **Marketplace** — Activation has two sides (supply + demand). Retention is repeat transaction frequency. Revenue is take-rate × GMV.
- **Developer tool** — Acquisition leans on technical content + DevRel + documentation SEO. Activation = first build / first integration. Retention = depth of integration. Referral = team adoption.
Detail in `references/client-types.md`.
## Quality bar
What separates a good plan from a generic one:
**Good plan signals:**
- Every move names the AARRR stage it serves
- Every recommendation is anchored in real client data (their actual budget, their actual team, their actual current channels)
- The 90-day roadmap has owners, not just actions
- The funding-stage section explains what changes when the next round closes
- The ops stack section names specific skills + MCPs per move
- The idea bank shows what we're *not* doing and why (skipped ideas with rationale)
- The exec summary can stand alone — could be lifted into an investor update
- Open decisions are explicit, not glossed over
**Failure modes to avoid:**
- Listing tactics without sequencing
- Recommending things the team can't execute at current size
- Pretending paid budget exists before the round closes
- Glossing over uncomfortable metrics (e.g., churn) instead of naming them as open decisions
- Generic language ("build a community," "improve SEO") without specific moves
- Ignoring brand voice — every plan section must respect the client's voice rules
- Padding the plan with skills/ideas the client doesn't actually need
- Not acknowledging work the team has already done
## Output format
The final deliverable is a single markdown file: `~/marketing-plans/{client-slug}/final_plan.md`.
Headers (`## 1. Executive summary`, etc.) are H2 for clean Notion paste. Tables for any structured comparison (RACI, idea bank, ops stack). Status legend for the idea bank. Internal references to other sections use `§N` (e.g., "see §5 for Activation detail").
Length expectation: ~8,00012,000 words for a comprehensive plan. Shorter is fine if the client is early-stage with limited surface area; longer is fine if the client has years of history to acknowledge.
## File layout per plan
```
~/marketing-plans/
└── {client-slug}/
├── materials/ # Client-provided files (decks, audit output, brand-voice doc, etc.)
├── research.md # Research record written during INIT
├── progress.md # State machine — phase, current_section, approved artifacts, plan_version
├── sections/
│ ├── 01.md # Each approved section saved as a canonical artifact
│ └── ... # Zero-padded so they sort in order
└── final_plan.md # Compiled deliverable (FINALIZE output)
```
The full schema for `progress.md` and the resumption decision tree live in `references/methodology.md` Steps 1.1.1 and 1.1.2.
## Related skills
- **`product-marketing`** — Run first. Captures positioning, ICP, voice in `.agents/product-marketing.md` so every section of the plan references the same foundation.
- **`marketing-ideas`** — Source of the 139 tactics in Section 12.
- **`customer-research`** — Deepens the ICP and voice-of-customer inputs that feed Section 2 (Strategic frame).
- **`onboarding`** — Deep work on Section 5 (Activation).
- **`emails`** — Deep work on Section 6 (Retention) + onboarding emails in Section 5.
- **`referrals`** — Deep work on Section 7 (Referral).
- **`pricing`** — Deep work on Section 8 (Revenue).
- **`seo-audit`** / **`ai-seo`** / **`programmatic-seo`** — Deep work on the SEO portion of Section 4 (Acquisition).
- **`ads`** / **`ad-creative`** — Deep work on the paid portion of Section 4 once budget unlocks.
- **`launch`** — Deep work on launch moments inside Section 4 / Section 9.
## Task-specific questions (used during INIT)
The full intake questionnaire lives in `references/methodology.md`. The most important questions:
1. **Funding state** — What round are you in? How much raised so far? Burn? Runway? Upcoming rounds and timing?
2. **Team** — Who are all the people who touch marketing? What does each own? Where are the gaps?
3. **Budget** — What's the current monthly marketing spend, broken down by paid acquisition, tools, retainers, headcount? What budget unlocks when the next round closes?
4. **Current channels** — What's working today? What's not? What have you not tried yet?
5. **Already done** — What past campaigns / launches / content / PR moments should this plan acknowledge?
6. **In-flight** — What's drafted but not shipped? What's blocking each item?
7. **Tooling stack** — What's wired? Customer.io / Mailchimp / Resend? Shopify / Stripe / App Store Connect? GA4 / Mixpanel / Amplitude? GitHub / Notion / Figma?
8. **Beta or GA?** — If product is in beta, what's the GA timeline? Throttling? What gates exist?
9. **The most important thing to fix this quarter** — founder's read.
10. **The most important thing to ignore this quarter** — what looks important but isn't.
## How exhaustive should the plan be?
Default to comprehensive. Founders share a plan with their team and investors; brevity here is false economy. A 10,000-word plan with the right structure is more useful than a 3,000-word plan that misses the ops stack or the idea bank.
That said: don't pad. Every section should be **dense, not bloated**. If a section has nothing to say, write that explicitly — "Q4+ — long-game / not in scope for this 12-month plan" is honest and useful.
## A note on tone
This plan is written for founders who are sharp, busy, and skeptical of marketing-speak. Write like a thoughtful colleague, not a deck-slide-writer. No jargon for jargon's sake. Direct claims, named tradeoffs, explicit assumptions. When unsure, name the open question rather than guessing.
The exec summary should be short enough to read in 60 seconds. The rest should reward deep reading.
+96
View File
@@ -0,0 +1,96 @@
{
"skill_name": "marketing-plan",
"evals": [
{
"id": 1,
"prompt": "I'm starting a fractional CMO engagement with a Series A B2B SaaS doing $2M ARR, 12-person team with 1 marketer, $20K/month marketing budget. They want a marketing plan we can share with the team and the board. Build it.",
"expected_output": "Should check for product-marketing.md first. Should ask for client name or use a slug. Should walk through three-phase workflow (INIT → REVIEW → FINALIZE), starting with intake covering funding state, team, budget, channels, what's done, in-flight, tooling stack. Should produce a 13-section AARRR-structured plan: executive summary, strategic frame, current state (scored against the embedded 17-section rubric), Acquisition, Activation, Retention, Referral, Revenue, 90-day roadmap with owner-assigned moves, 12-month outlook with funding-stage capability unlocks, marketing operations stack mapping skills + MCPs to AARRR stages, tactical idea bank cross-referencing all 139 marketing-ideas to AARRR + client-specific status, measurement framework with north-star + leading indicators + RACI + open decisions. Should be ~812K words, Notion-paste-ready. Should be specific to the client (their budget, team, channels), not generic.",
"assertions": [
"Checks for product-marketing.md",
"Asks for client name or uses a slug",
"Walks through INIT phase with structured intake",
"Produces 13-section plan structured by AARRR",
"Section 3 scores against the embedded 17-section rubric",
"Section 9 (90-day roadmap) has owner-assigned moves, not just actions",
"Section 10 names funding-stage capability unlocks explicitly",
"Section 11 maps marketing skills + MCPs to each AARRR stage",
"Section 12 cross-references all 139 marketing-ideas with client-specific status",
"Output is Notion-paste-ready markdown",
"Plan is specific to the client (their budget, team, current channels), not generic"
],
"files": []
},
{
"id": 2,
"prompt": "We're pre-seed bootstrapped, $0 paid marketing budget, 4-person team building a D2C consumer app. Founder wants a 90-day plan + 12-month roadmap they can show investors during the upcoming raise. The product is in beta.",
"expected_output": "Should recognize Tier 1 funding profile (pre-seed) and skip paid acquisition recommendations until budget unlocks. Should lean Acquisition heavy on organic + lifecycle + ambassador moves. Should explicitly map what unlocks when seed closes (paid test budget $515K/mo, first marketing hire, etc.). Should respect that the product is in beta and account for activation/throttling gates. Should include the AARRR diagnostic — likely binding constraint at this stage is Activation (onboarding) and Referral. Plan must be investor-friendly: exec summary can be lifted into an update.",
"assertions": [
"Recognizes pre-seed tier and uses Tier 1 budget profile",
"Skips paid acquisition recommendations until budget unlocks",
"Leans Acquisition on organic + lifecycle + ambassador",
"Names what unlocks when seed closes",
"Accounts for product being in beta",
"Identifies binding-constraint AARRR stage (likely Activation or Referral)",
"Executive summary can be lifted into an investor update",
"Plan is operationally honest — doesn't pretend paid budget exists"
],
"files": []
},
{
"id": 3,
"prompt": "we have an audit already done — can you take that and turn it into a real plan",
"expected_output": "Should ask for the audit output (file path or paste). Should recognize that current-state scoring already exists and ingest it directly into Section 3 — don't re-score. Should note scoring date in case material has shifted since. Should proceed with full 13-section plan generation using audit findings to inform 90-day roadmap and AARRR sections (gaps from audit become moves in the plan).",
"assertions": [
"Asks for the audit output",
"Ingests prior audit scoring directly into Section 3",
"Does not re-score what's already been scored",
"Notes the scoring date and flags any shifted material",
"Uses audit gaps to inform 90-day roadmap and AARRR section moves",
"Still produces a full 13-section plan, not just Section 3"
],
"files": []
},
{
"id": 4,
"prompt": "/marketing-plan acme-saas — pick up where we left off",
"expected_output": "Should read ~/marketing-plans/acme-saas/progress.md to determine state machine phase. Should resume from the next unfinished section in REVIEW phase, or transition to FINALIZE if all sections approved. Should NOT silently restart from scratch. If progress.md is missing or shows 'finalized', should ask: revise as v{N+1}, start fresh, or re-open a section.",
"assertions": [
"Reads ~/marketing-plans/acme-saas/progress.md",
"Resumes from next unfinished section based on state machine",
"Does not silently restart from scratch",
"Handles finalized state by asking user how to proceed (revise / fresh / re-open)",
"Saves each newly confirmed section to the progress file"
],
"files": []
},
{
"id": 5,
"prompt": "I need a plan for a hybrid hardware+software wellness company. They sell a physical product and a subscription app. Series A, $100K/month marketing budget, 8-person team including a marketing lead.",
"expected_output": "Should recognize hybrid hardware+software archetype and consult references/client-types.md for archetype-specific emphases. Acquisition leans PR + retail + Amazon + Shopify SEO + paid. Activation = unboxing + setup + first session + paywall. Retention = lifecycle + community. Referral = gifting + reviews. Revenue = blended LTV (hardware + subscription + accessories). Should recognize Series A tier and recommend appropriate paid spend. Should include cross-cutting brand + customer-research moves. Idea bank should skip ideas that conflict with premium positioning or hardware constraints.",
"assertions": [
"Recognizes hybrid hardware+software archetype",
"Acquisition leans on PR, retail, Amazon, Shopify SEO, paid",
"Activation covers unboxing, setup, first session, paywall",
"Retention covers lifecycle, community",
"Referral covers gifting, reviews",
"Revenue covers blended LTV with hardware + subscription + accessories",
"Recognizes Series A tier in budget recommendations",
"Idea bank skips ideas that conflict with brand fit, with explicit rationale"
],
"files": []
},
{
"id": 6,
"prompt": "Just give me a quick marketing plan. Don't make it long.",
"expected_output": "Should resist defaulting to a short plan. Should explain that a marketing-plan is the comprehensive fCMO-deliverable artifact (~10K words) and that for a single-channel quick plan, the channel-specific skill is the right tool (emails, ads, seo-audit, etc.). Should offer alternatives: (a) full marketing-plan as designed, or (b) point to a specific skill for the user's actual need. Should NOT silently produce a stripped-down 3K-word plan that misses the ops stack or the idea bank.",
"assertions": [
"Resists short-plan request and explains why",
"Names marketing-plan as the comprehensive fCMO artifact",
"Recommends channel-specific skills for single-channel quick plans",
"Offers alternatives clearly",
"Does not silently produce a stripped-down plan"
],
"files": []
}
]
}
@@ -0,0 +1,180 @@
# AARRR Framework — Primer for Plan Sequencing
AARRR (Dave McClure's "pirate metrics") is the spine of every plan produced by this skill. This doc is the primer + the decision rules for when each stage gets prioritized.
## The five stages
| Stage | Question | Common metrics |
|---|---|---|
| **A**cquisition | How do strangers become aware of us? | Visits, MQLs, signup-page sessions, app-store visits, CAC by channel |
| **A**ctivation | Once they try us, do they have an experience that converts? | Signup completion rate, time-to-value, % completing first key action, trial → paid rate |
| **R**etention | Do they stay and deepen? | DAU/WAU/MAU, week-1/4/12 retention, churn |
| **R**eferral | Do retained users bring more users? | Viral coefficient, NPS, ambassador attribution |
| **R**evenue | What do they pay, who pays, how does it compound? | ARPU, LTV, expansion revenue, ARR / MRR |
> **Signup boundary rule.** Signup *intent* (a stranger landing on the signup page) is Acquisition. Signup *completion* and everything after (first key action, trial-to-paid) is Activation. Apply this rule consistently across all docs and the plan template.
## Why AARRR for plan sequencing
Three reasons.
**1. Funnel-stage tagging forces prioritization.** Without AARRR, marketing plans become channel-organized ("here's the SEO plan, here's the social plan, here's the paid plan"). Channels can address multiple stages; tagging by stage instead asks the more useful question: *what stage of the funnel is the binding constraint right now?*
**2. Fix the leak before pouring water in.** The Activation/Retention question ("does the funnel convert at acceptable rates given exposure?") is usually higher leverage than the Acquisition question ("how do we get more exposure?"). AARRR sequencing surfaces this naturally.
**3. The Revenue / Referral conversation is honest.** Most marketing plans bury monetization under "growth" and treat referral as wishful thinking. AARRR forces explicit treatment of both.
## Brand and content — not a stage, cross-cutting
A common mistake: making "Brand" or "Content" the sixth bucket. They're not — they serve every stage.
- **Brand voice** governs every piece of copy across every stage
- **Content** feeds Acquisition (SEO, social), Activation (onboarding copy), Retention (email lifecycle), Referral (ambassador talking points), Revenue (pricing pages, sales material)
In the plan, brand/content shows up as the strategic frame (Section 2) and cross-cutting in Section 11's ops stack — never as its own AARRR section.
## Diagnosing the binding constraint — which AARRR stage is highest leverage?
For every client, one or two AARRR stages will be the binding constraint. The plan sequences moves there first.
**Decision rules:**
### If you don't have any users → start with Acquisition
- Pre-launch / day-0 / waitlist stage
- No funnel data exists
- Leverage = building the first 100 users
### If you have users but they bounce → start with Activation
- Signups happen but activation rate is low
- App Store conversion is poor
- Onboarding completion is broken
- Day 1 → paid rate is much lower than Day 30 → paid (means product converts given time but onboarding doesn't bridge to it)
- Leverage = bridging signup to first felt value
### If activation works but users churn → start with Retention
- Month 1 retention is below category norms
- Activated users stop using within 714 days
- LTV is short
- Leverage = lifecycle, deepening engagement, churn prevention
### If retention is strong but growth is slow → start with Referral / Revenue
- Retained users love the product but don't share
- Inbound referrals come in unstructured
- Pricing hasn't been pressure-tested
- ARPU is low for the value delivered
- Leverage = WOM mechanics + pricing optimization (these often cluster)
### If everything works at small scale → start with Acquisition (scaling)
- Funnel is healthy
- Question is just "more"
- This is the "post-fit" scaling problem
## Stage-by-stage strategic patterns
### Acquisition
**The diagnostic question:** Where is the gap between TAM-level awareness and current funnel volume? What channels are saturated by competitors vs. open?
**Common Acquisition moves:**
- SEO content strategy (organic compounding)
- Founder-led channels (LinkedIn, X, Substack for B2B; Instagram/TikTok for D2C)
- Paid acquisition (when budget unlocks)
- App Store / Play Store / marketplace listing optimization
- PR and credibility-anchor amplification
- Events (live, webinar, conference speaking)
- Partnerships (newsletter swaps, integration co-marketing, reseller / agency partners)
- Hardware / commerce surface (Shopify SEO + Amazon for hybrid businesses)
- B2B sales support (case studies, partner pages, vertical content)
**Sequencing principle:** Build the organic compound first (SEO + founder-led + content + PR amplification + ambassadors). Only layer paid on top of a working organic baseline. Premature paid amplifies what's broken.
### Activation
**The diagnostic question:** Where in the user's first session do they decide "this works for me" or "this doesn't"? What stops them from reaching that moment?
**Common Activation moves:**
- Bedrock fixes (broken gates, broken signup steps, broken paywall)
- Onboarding tests / rebuild (often the most leveraged single move)
- App Store listing rewrite (the threshold to the trial)
- Lifecycle Flow ship order (when to ship onboarding emails)
- Paywall structure + trial length
- Free → paid bridge (in-app upsells, soft paywalls)
**Sequencing principle:** Get to first felt value as fast as possible. Everything that adds friction between "user opens app" and "user has the experience that converts them" is a candidate to cut.
### Retention
**The diagnostic question:** Why do users churn? What would have made them stay? What's the "second moment of value" after the first one?
**Common Retention moves:**
- Lifecycle email flows: onboarding, lapsed user re-engagement, post-purchase, win-back
- Subscription / preference centers
- Churn reconciliation (often metric definitions don't match across surfaces)
- Hardware → software activation paths (for hybrid businesses)
- Annual plan defaults / pricing structure (cross-cuts Revenue)
- Support as marketing (high-touch moments that drive stories)
- Community + practitioner networks
**Sequencing principle:** Ship lifecycle flows in the order their content is most stable. Hardware post-purchase flows ship first (they don't reference in-app screens that might change). Onboarding emails ship last (they reference UI that might change). Win-back is a quarterly campaign, not a one-time flow.
### Referral
**The diagnostic question:** Is there inbound referral interest that isn't being captured? What's the share-after-value moment that's natural to the product?
**Common Referral moves:**
- Ambassador / affiliate program (start with inbound interest, not cold recruitment)
- Share-after-value moments built into the product (reflection prompts, milestone celebrations)
- Founder amplification (founder as referrer-zero)
- Long-game expert / Guides / certified-host networks (for category-creating businesses)
- Gifting flows (consumer / hardware)
- Two-sided referrals (reward both referrer and referred)
**Sequencing principle:** Lead with whoever is already raising their hand. If there are 5 inbound ambassadors, launch with those 5 — don't wait for a "complete program." Iterate based on what they tell you.
### Revenue
**The diagnostic question:** Is the company underpricing? Underpackaging? Missing an upsell? What's the "right" price discipline given LTV and brand voice?
**Common Revenue moves:**
- Pricing audit (what's actually charged today vs. listed?)
- Annual plan defaults
- Hardware → software bundling formalization
- Storefront / commerce page optimization
- B2B case studies + sales material
- Long-term value pool flags (data, expansion, enterprise) — flagged not executed
**Sequencing principle:** Run the pricing audit before testing changes. Surprisingly often, the "implied" pricing on the dashboard doesn't match the listed price — discounts, trials, or plan mix distorts the read. Surface the ground truth first.
## How to assign a move to a stage
Some moves clearly belong to one stage. Others span. The rule:
**Assign to the stage where the move's primary measurable impact lands.**
Examples:
- "Rewrite App Store listing in voice" — spans Acquisition (organic discovery) and Activation (threshold to trial). Primary impact = Activation (trial conversion rate). Assign to Activation, mention crossover.
- "Eye mask Shopify page rewrite" — spans Acquisition (organic search for sleep mask) and Revenue (sale conversion). Primary impact = Revenue (transaction). Assign to Revenue, mention crossover.
- "Alex's LinkedIn cadence" — Acquisition (top of funnel for D2C subscribers).
- "Customer.io Flow 6 (eye mask post-purchase)" — Retention (deepens hardware buyer engagement) with crossover to Activation (hardware → app premium activation path).
When in doubt: where would removing this move hurt the most? Assign there.
## When the AARRR breakdown isn't equal
For most clients, the plan won't have equal volume across stages. That's fine — and worth surfacing as a diagnostic.
- **Heavy Acquisition section** = client has product-market fit but top-of-funnel is the bottleneck. Common for early-stage with strong retention metrics.
- **Heavy Activation section** = client has traffic but conversion is broken. Often beta-stage products.
- **Heavy Retention section** = client has churn problem. Often mid-stage products that scaled past PMF without lifecycle infrastructure.
- **Heavy Referral section** = client has loyalty but no WOM mechanics. Often consumer products with passionate users.
- **Heavy Revenue section** = client is underpricing or missing monetization layers. Common for tools transitioning from free to paid.
If a plan ends up evenly distributed across all five stages, the diagnostic was probably weak — re-examine the funnel state intake to find where the binding constraint is.
## A note on the order of presentation
Always present AARRR in order (Acquisition → Activation → Retention → Referral → Revenue) regardless of priority order.
This is for the reader's mental model. Founders expect the funnel to flow top-to-bottom. If Retention is the most-leveraged stage but you lead with Retention, the reader has to context-switch.
To signal priority, use the executive summary (Section 1) — name the biggest bets there. The AARRR breakdown then walks the funnel in order, with the most leverage-positive section being the longest and most-detailed.
@@ -0,0 +1,168 @@
# Budget Planning — Scientific Methods for Setting the Marketing Budget
The problem with most SaaS marketing budgets is that they're pulled out of thin air — a number that hopefully doesn't constrain growth too much, but doesn't anchor in customer-acquisition economics either. The result: when someone asks "why this number?" there's no answer.
Two scientific methods solve this. Use one (not both) in Section 8 (Revenue) and Section 10 (12-month outlook) of every plan.
Excerpted and adapted from *Founding Marketing* by Corey Haines.
## Method 1 — Revenue-Based (540% of annual revenue)
**Direction:** budget → revenue goal.
You start with what the company can comfortably spend on marketing, then forecast what revenue that spend can plausibly generate.
### The ranges
| Posture | % of ARR | When to use |
|---|---|---|
| **Conservative (profit-preserving)** | 5% | Established business focused on profit distribution; bootstrapped; founder-paid customer base |
| **Standard growth** | 1525% | Most healthy SaaS in the seed-to-Series-A range |
| **Aggressive growth (deploying raised capital)** | up to 40% | Recently funded round, mandate to deploy fast, board accepts burn |
For reference: public SaaS companies routinely report sales-and-marketing spend between 20% and 55% of revenue (Zoom historically ran between 20% and 55% across years).
### The math (Conservative example)
Business at $1M ARR, 5% allocation:
- Annual marketing budget: **$50,000**
- Blended CAC: $100 → can acquire **500 new customers**
- ARPC: $50/mo → adds **$300K** to ARR
- Account for 15% annual churn → 85% × $300K = **+$255K net new ARR**
- End-of-year goal: **$1.255M ARR**
### The math (Aggressive example)
Business at $1M ARR, 40% allocation:
- Annual marketing budget: **$400,000**
- Blended CAC: $100 → can acquire **4,000 new customers**
- ARPC: $50/mo → adds **$2.4M** to ARR
- End-of-year goal: **$3.4M ARR**
### Two keys to making this method work
1. **Know your blended CAC** (see "Calculating CAC" below)
2. **Match the allocation percentage to your actual ambition.** A founder running 5% allocation while telling the board they expect to triple revenue is showing two incompatible signals.
## Method 2 — Goal-Based (reverse-engineered from the revenue target)
**Direction:** revenue goal → budget.
You start with the revenue goal and work backward through the unit economics to derive the budget required to hit it. Best for:
- Companies just starting up (no historical CAC baseline yet, working from first principles)
- Companies anticipating outside capital (need to defend the ask)
- Companies using revenue-based financing (Pipe, Capchase, Founderpath)
### The formula
```
Marketing budget = [(New ARR / (ARPC × 12)) × CAC] / annual retention rate
```
### Worked example: $1M ARR → $2M ARR
Step 1 — How much new ARR per customer?
ARPC × 12 = $50 × 12 = **$600 ARR per new customer**
Step 2 — How many new customers do we need?
$1,000,000 / $600 = **1,667 new customers**
Step 3 — What's the raw acquisition cost?
1,667 × $100 CAC = **$166,700**
Step 4 — Account for churn (15% annual = 85% retention)
$166,700 / 0.85 = **$196,118** (round to **$200K**)
When someone asks how you got to the budget, walk them through the four steps. It's defensible.
### Why this formula and not something simpler
The four steps each correspond to a real economic reality:
- Step 1 converts MRR-language into the ARR-language a board talks in
- Step 2 names the customer count, which is what the funnel actually has to deliver
- Step 3 anchors the budget in the cost of acquisition
- Step 4 acknowledges that churned customers don't count toward net new ARR, so the budget needs to cover the gap
### Required buffer
**Always add 1020% as "experimental budget"** on top of the formula output. CAC is the main dependency; if CAC comes in 50% higher than estimated, the cascading effect is missing the revenue goal. It is much cheaper to overestimate CAC than to underestimate it.
The experimental budget also funds the experiments that find your next channel before your current one plateaus (see `growth-patterns.md` — channel S-curves).
## The VC growth path (3-3-2-2-2 rule)
Once a company has crossed $1M ARR and taken a Series A, the implicit benchmark VCs expect is:
| Year | ARR multiple | Cumulative ARR (from $1M start) |
|---|---|---|
| Year 0 | — | $1M |
| Year +1 | 3× | $3M |
| Year +2 | 3× | $9M |
| Year +3 | 2× | $18M |
| Year +4 | 2× | $36M |
| Year +5 | 2× | $72M |
| Year +6 | 2× | $144M |
| Year +7 | 2× | $288M |
That's the 3-3-2-2-2 rule. Useful when:
- The plan needs to map 12-month and 36-month milestones to VC expectations
- The founder is mid-raise and the board needs to see a plausible path to the next round
- Section 10 (12-month outlook) needs anchoring against an industry benchmark, not just internal ambition
Most companies miss it. That's fine. Knowing the benchmark gives the team a defensible reason to either match it or explicitly choose not to.
## Calculating CAC (blended, not paid-only)
If there's no historical CAC, use a baseline: **one year of revenue from the smallest paid plan.** Deploy the budget, capture actual CAC data, replace the baseline with the measured number for the next planning cycle.
For an established CAC calculation, **CAC must be blended.** Include:
- Marketing salaries (full loaded cost, not just base)
- Advertising spend
- Marketing tech stack costs
- Content production costs (writers, designers, video editors)
- Agency / contractor retainers
- SDR / BDR salaries if doing outbound
- Tools (CRM, marketing automation, analytics)
Then divide by the number of new customers acquired in the period. That blended number is the one to use in either budgeting method.
The mistake to avoid: calculating CAC from paid ad spend alone. A company that "doesn't run ads" still has a CAC — it's just hidden in the content team, the founder's time, the SEO contractor, the conference booth.
## The reality check on forecasting
This whole framework derives a budget and a revenue goal — not a 12-month month-by-month forecast accurate to the dollar.
**Unless the company is publicly traded, all forecasts are educated guesses.** No startup under $100M ARR reliably hits forecasts to the month. The honest framing for the plan:
- The annual goal is a defensible direction-of-travel
- The budget is the resource commitment that makes the goal plausible
- The 90-day roadmap (Section 9) is what's actionable now
- Month-to-month variance is expected; quarterly review is when the plan adjusts
What's actionable: how to deploy the budget, what concrete moves to execute, what to adjust when real data comes in.
What's not actionable: trying to forecast traffic, pipeline, retention curves, conversion rates, and channel mix all down to the decimal point and expecting that forecast to hold. Founders who over-engineer the forecast tend to spend the plan period explaining variance instead of executing.
**Rule for the plan:** the budget number is honest. The annual goal is honest. The month-by-month projection is illustrative.
## How this flows into the plan
| Section | What to include |
|---|---|
| **3 (Current state)** | Current monthly marketing spend broken down by line (paid, tools, content, headcount, retainers). Compute current %-of-ARR allocation. |
| **8 (Revenue)** | The unit-economics table (CAC, ARPC, churn) that feeds whichever budget method you're using. |
| **10 (12-month outlook)** | Apply Method 1 or Method 2 to derive the 12-month budget and the resulting revenue goal. Anchor against the 3-3-2-2-2 rule if Series A+ and VC-backed. |
| **11 (Ops stack)** | Show the budget allocation across the AARRR stages — what % to Acquisition, Activation, etc. The ops-stack mapping informs which line items grow when the next funding tier unlocks. |
| **13 (Open decisions)** | If CAC is unknown or contested, flag it as the highest-impact open decision — every other number depends on it. |
## When to choose which method
- **Method 1 (Revenue-Based)** when the company has historical CAC data, a profit/burn posture, and the question is "given our posture, what's a plausible goal."
- **Method 2 (Goal-Based)** when the company has a specific goal (board mandate, VC milestone, fundraise target) and the question is "what budget do we need to hit it."
For most plans in the seed-to-Series-A range, Method 2 is more useful — it forces the conversation about whether the goal is funded.
@@ -0,0 +1,373 @@
# Client Types — Variations by Business Model
The 13-section plan structure stays consistent across client types. What changes is the **content emphasis** within each section. This doc names the dominant patterns by client archetype.
## Archetype 1 — B2B SaaS
### Core characteristics
- Subscription revenue
- Often higher ACV ($1K$100K+ per year)
- Sales-assisted or self-serve depending on tier
- Buyer often different from user (champion vs. end-user)
### AARRR emphasis
**Acquisition heavy:**
- SEO is the dominant top-of-funnel motion (people search for solutions)
- Content marketing (blog, knowledge base, comparison pages) drives MQLs
- LinkedIn for both organic founder presence and paid
- Outbound (cold email + LinkedIn) often complements inbound
- Events (conferences, webinars) for high-ACV products
**Activation:**
- Signup → trial → first key action (PLG products)
- Trial → demo → POC (sales-led products)
- Empty states matter — guide users to first value action
**Retention:**
- Product engagement metrics (DAU, feature adoption)
- Customer success motion (CSM team for higher ACV)
- Lifecycle emails focused on feature discovery, value moments
**Referral:**
- Customer advocacy programs
- Partner / integration co-marketing
- G2 / Capterra reviews
- Champion-to-buyer expansion
**Revenue:**
- Expansion / NRR is often the biggest growth lever
- Tier upgrades, seat expansion, usage-based add-ons
### Skills emphasis
- `cold-email`, `programmatic-seo`, `competitors`, `seo-audit`, `ai-seo`
- `ads` weighted toward LinkedIn + Google
- `emails` for trial nurture + lifecycle
- `pricing` for tier optimization
### Tier-1 budget priority
- SEO + content > everything else
- Founder-led LinkedIn channel
- Customer.io / Mailchimp for nurture
- HARO + investor backchannel for PR
---
## Archetype 2 — D2C Consumer App (Subscription)
### Core characteristics
- Lower ACV ($5$30/mo typically)
- High volume, lower margin per user
- App Store / Play Store as the primary acquisition surface
- Lifecycle email + push for retention
- Often paid-acquisition-driven once budget unlocks
### AARRR emphasis
**Acquisition:**
- App Store Optimization (ASO) is the highest-leverage non-site asset
- Paid social (Meta, TikTok) often dominant once budget exists
- Apple Search Ads for high-intent App Store traffic
- Influencer + content creators
- PR + endorsements
**Activation:**
- Onboarding is the dominant activation surface
- Time-to-value must be minutes, not hours
- Paywall structure + trial length critical
**Retention:**
- Lifecycle email + push
- In-app reminders (carefully — overuse = churn)
- Subscription preference center
- Win-back campaigns
**Referral:**
- Built-in sharing (share-a-month flow)
- Two-sided referrals
- Influencer / creator ambassadors
**Revenue:**
- Annual plan default is the biggest single move (compresses MRR but improves LTV)
- Tier optimization (Free → Premium → Premium+)
- In-app upsells
### Skills emphasis
- `onboarding`, `paywalls`, `emails`
- `ads`, `ad-creative` (heavy creative iteration)
- `referrals`
- `pricing` for annual default + tier consolidation
### Tier-1 budget priority
- ASO first (highest organic leverage)
- Onboarding rebuild
- Lifecycle email shipping
- Founder-led social if founder is on-camera
---
## Archetype 3 — Hybrid Hardware + Software
### Core characteristics
- Physical product + software companion (e.g., Quietude's eye mask + app)
- Hardware as a distribution wedge (lower price, easier first purchase)
- Software as the LTV (recurring revenue)
- Blended CAC across both surfaces
### AARRR emphasis
**Acquisition:**
- Shopify storefront SEO (hardware product pages target consumer search)
- Amazon listing (high-discovery, takes margin)
- PR amplification (hardware is photogenic — high-profile influencer endorsements move volume)
- Paid social for hardware (Meta + Instagram, eye-catching creative)
**Activation:**
- Two activations to track: hardware unboxing experience + software signup
- Hardware → software activation flow is the bridge
- Concierge setup for high-value hardware buyers
**Retention:**
- Hardware post-purchase lifecycle (different from app onboarding)
- Software companion drives stickiness
- Community / practitioner network around hardware
**Referral:**
- Hardware gifting flows (high WOM for physical products)
- Eye-catching hardware drives organic social sharing
- Reviews on Shopify + Amazon
**Revenue:**
- Blended LTV math is critical (hardware margin + software recurring)
- Bundle strategy (hardware buy → free Premium for X months)
- Annual plan default for software
### Skills emphasis
- `seo-audit` for Shopify product pages
- `emails` for both hardware post-purchase and software lifecycle
- `referrals` with gifting layer
- `pricing` for blended-bundle math
- `ads` with creative-heavy Meta presence
### Tier-1 budget priority
- Shopify product page optimization
- Hardware post-purchase lifecycle ship
- Bundle strategy formalization
- Hardware → app activation audit
---
## Archetype 4 — Marketplace
### Core characteristics
- Two-sided product (supply + demand)
- Network effects matter
- Liquidity is the critical early metric
- Take-rate × GMV is the revenue model
### AARRR emphasis
**Acquisition:**
- Two funnels — supply and demand
- Supply often acquired through outbound / partnership / cold email
- Demand often acquired through SEO / paid / content
- City-by-city programmatic SEO common
**Activation:**
- Supply activation: first listing posted, first response sent
- Demand activation: first purchase / first match / first transaction
- Both sides need their own onboarding
**Retention:**
- Repeat transaction frequency
- Supply utilization (% of listings active)
- Demand habit (DAU / MAU)
**Referral:**
- Supply → supply (refer other providers)
- Demand → demand (refer other buyers)
- Cross-side referrals are weaker
**Revenue:**
- Take-rate optimization
- Premium tier (better matching, lower fees)
- Lead-gen vs. transaction-fee monetization
### Skills emphasis
- `programmatic-seo` for city pages, vertical pages
- `cold-email` for supply-side recruitment
- `referrals` for both sides
- `pricing` for take-rate decisions
### Tier-1 budget priority
- Programmatic SEO build for one side
- Cold outbound to seed supply (or demand, whichever is bottleneck)
- Lifecycle email for both sides
---
## Archetype 5 — Developer Tool / Open Source
### Core characteristics
- Technical buyer (developer or eng leader)
- High bar for content quality (developers are skeptical)
- DevRel matters more than traditional marketing
- Open source layer often funnel into commercial product
### AARRR emphasis
**Acquisition:**
- Technical content + docs SEO
- DevRel (conferences, talks, community)
- GitHub presence + npm/pip/etc. discovery
- Hacker News + Reddit + dev Twitter
**Activation:**
- First build / first integration is the activation event
- Time-to-Hello-World matters
- Documentation = onboarding for dev tools
**Retention:**
- Depth of integration (using more of the product)
- Team adoption (one user → entire org)
- Active project count
**Referral:**
- Star count on GitHub (semi-organic)
- Recommendation in technical forums
- Conference talks mentioning the tool
**Revenue:**
- Free → paid conversion when usage exceeds limits
- Team plans, enterprise tiers
- Support / SLA upsells
### Skills emphasis
- `programmatic-seo` for docs
- Less emphasis on traditional `ads`
- Heavy `content-strategy` + technical content
- `cold-email` to engineering leads at target companies
### Tier-1 budget priority
- Docs + technical content production
- DevRel (founder doing talks)
- GitHub presence
- HN / Reddit / dev community
---
## Archetype 6 — Deep-Tech / Scientific / Clinical
### Core characteristics
- Long sales cycles
- Heavy credibility burden (must prove the science)
- Highly informed buyers (academics, clinicians, researchers)
- Often regulatory considerations
### AARRR emphasis
**Acquisition:**
- Academic publishing + peer-reviewed studies
- Conference speaking (academic + industry)
- Investor / advisor introductions
- PR via credibility hooks
**Activation:**
- Pilot programs / proof-of-concepts
- Concierge setup with high-touch onboarding
- Educational webinars / training
**Retention:**
- Customer success heavily
- Co-publication with customers
- Community of practice
**Referral:**
- Academic / clinical references
- Conference panel features
- Case studies with named institutions
**Revenue:**
- Pilot → paid expansion
- Institutional contracts (multi-seat / multi-year)
- Compliance / certification upsells
### Skills emphasis
- Light traditional marketing
- Heavy `product-marketing`, `sales-enablement`, `pricing`
- `cold-email` to specific researchers / practitioners
- PR + investor marketing
### Tier-1 budget priority
- Academic outreach + conference speaking
- Investor backchannel for institutional warm intros
- Pilot deployment with key customers
- Case study + scientific publication
---
## Archetype 7 — Commerce / DTC (non-subscription)
### Core characteristics
- Physical or digital products sold transactionally
- Average Order Value matters
- Repeat purchase rate is the key retention metric
### AARRR emphasis
**Acquisition:**
- Paid social (Meta, TikTok) often dominant
- Shopify SEO for product pages
- Amazon listings
- Influencer + creator partnerships
**Activation:**
- First purchase is the activation event
- Cart abandonment recovery
- Trust signals on checkout (reviews, returns, shipping)
**Retention:**
- Post-purchase lifecycle
- Loyalty programs
- Email + SMS for repeat purchase
**Referral:**
- Gifting flows
- Refer-a-friend programs
- Reviews + UGC
**Revenue:**
- AOV optimization (bundles, upsells)
- Customer LTV optimization (repeat purchase frequency)
- Subscription option for repeat purchases
### Skills emphasis
- `ads` + `ad-creative` (heavy weight)
- `emails` for post-purchase + abandoned cart
- `referrals` with gifting
- `pricing` for bundles + subscription option
### Tier-1 budget priority
- Shopify storefront optimization
- Email lifecycle ship
- Influencer / UGC seeding
- Paid social testing (if minimal budget exists)
---
## How to use this doc when drafting a plan
When you start drafting Sections 48 (AARRR), identify the client's archetype (or hybrid if applicable) and lean into the patterns above.
**Hybrid cases are common.** Quietude is "Hybrid hardware + software" with significant overlap to "Deep-tech / scientific / clinical" (because of the peer-reviewed study + clinical positioning). The plan blends emphases from both archetypes.
When in doubt, lead with the archetype that best fits the *primary monetization model*. Quietude's primary monetization is software subscription (with hardware as the wedge), so the D2C consumer app + hardware-hybrid patterns dominate, with deep-tech credibility moves layered in.
## When the client doesn't fit cleanly
Some clients defy archetype:
- **Content / media businesses** — neither SaaS nor commerce; ad revenue or subscription model
- **Social networks** — own category, network effects dominate
- **Real estate / events** — physical + service model
For these, identify the closest archetype and adjust. Don't force-fit — name the deviation in the plan's Strategic Frame.

Some files were not shown because too many files have changed in this diff Show More