309 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
v2.3.0
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
v2.2.0
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
v2.1.0
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
v2.0.1
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
v2.0.0
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