Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b82f733b6 | |||
| 83150fdc08 |
@@ -6,14 +6,52 @@
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, and growth",
|
||||
"version": "2.2.0",
|
||||
"version": "1.0.0",
|
||||
"repository": "https://github.com/coreyhaines31/marketingskills"
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "marketing-skills",
|
||||
"description": "42 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, and more",
|
||||
"source": "./"
|
||||
"description": "34 marketing skills for technical marketers and founders: ASO, CRO, copywriting, cold email, SEO, AI SEO, paid ads, ad creative, churn prevention, pricing strategy, referral programs, revenue operations, sales enablement, customer research, site architecture, and more",
|
||||
"source": "./",
|
||||
"strict": false,
|
||||
"skills": [
|
||||
"./skills/ab-testing",
|
||||
"./skills/ad-creative",
|
||||
"./skills/ai-seo",
|
||||
"./skills/analytics",
|
||||
"./skills/aso-audit",
|
||||
"./skills/churn-prevention",
|
||||
"./skills/cold-email",
|
||||
"./skills/community-marketing",
|
||||
"./skills/competitors",
|
||||
"./skills/content-strategy",
|
||||
"./skills/copy-editing",
|
||||
"./skills/copywriting",
|
||||
"./skills/customer-research",
|
||||
"./skills/cro",
|
||||
"./skills/emails",
|
||||
"./skills/free-tools",
|
||||
"./skills/launch",
|
||||
"./skills/lead-magnets",
|
||||
"./skills/marketing-ideas",
|
||||
"./skills/marketing-psychology",
|
||||
"./skills/onboarding",
|
||||
"./skills/paid-ads",
|
||||
"./skills/paywalls",
|
||||
"./skills/popups",
|
||||
"./skills/pricing",
|
||||
"./skills/product-marketing",
|
||||
"./skills/programmatic-seo",
|
||||
"./skills/referrals",
|
||||
"./skills/revops",
|
||||
"./skills/sales-enablement",
|
||||
"./skills/schema",
|
||||
"./skills/seo-audit",
|
||||
"./skills/signup",
|
||||
"./skills/site-architecture",
|
||||
"./skills/social"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"name": "marketing-skills",
|
||||
"description": "Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth",
|
||||
"version": "2.2.0",
|
||||
"author": {
|
||||
"name": "Corey Haines"
|
||||
},
|
||||
"homepage": "https://github.com/coreyhaines31/marketingskills",
|
||||
"repository": "https://github.com/coreyhaines31/marketingskills",
|
||||
"license": "MIT",
|
||||
"skills": "./skills"
|
||||
}
|
||||
@@ -69,6 +69,6 @@ body:
|
||||
attributes:
|
||||
label: Related existing skills
|
||||
description: Are there existing skills this relates to or differs from?
|
||||
placeholder: "Similar to cro but focused on..."
|
||||
placeholder: "Similar to page-cro but focused on..."
|
||||
validations:
|
||||
required: false
|
||||
|
||||
@@ -11,7 +11,6 @@ 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";
|
||||
|
||||
/**
|
||||
@@ -133,51 +132,27 @@ function updateReadme(skills) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* Update marketplace.json with skills list
|
||||
*/
|
||||
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);
|
||||
|
||||
const oldDescription = plugin.description;
|
||||
const newDescription = updateSkillCount(plugin.description, skills.length);
|
||||
const hadStaleSkillsArray = "skills" in plugin;
|
||||
|
||||
if (newDescription === oldDescription && !hadStaleSkillsArray) {
|
||||
if (JSON.stringify(currentSkills) === JSON.stringify(existingSkills)) {
|
||||
return { updated: false };
|
||||
}
|
||||
|
||||
plugin.description = newDescription;
|
||||
delete plugin.skills;
|
||||
plugin.skills = currentSkills;
|
||||
plugin.description = updateSkillCount(plugin.description, currentSkills.length);
|
||||
|
||||
fs.writeFileSync(MARKETPLACE_FILE, JSON.stringify(marketplace, null, 2) + "\n");
|
||||
|
||||
return { updated: true, removedSkillsArray: hadStaleSkillsArray };
|
||||
}
|
||||
const added = currentSkills.filter((s) => !existingSkills.includes(s));
|
||||
const removed = existingSkills.filter((s) => !currentSkills.includes(s));
|
||||
|
||||
/**
|
||||
* 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 };
|
||||
return { updated: true, added, removed };
|
||||
}
|
||||
|
||||
function main() {
|
||||
@@ -185,24 +160,22 @@ function main() {
|
||||
|
||||
const marketplaceResult = updateMarketplace(skills);
|
||||
const readmeUpdated = updateReadme(skills);
|
||||
const pluginResult = updatePluginVersion();
|
||||
|
||||
if (!marketplaceResult.updated && !readmeUpdated && !pluginResult.updated) {
|
||||
if (!marketplaceResult.updated && !readmeUpdated) {
|
||||
console.log("Everything is already in sync");
|
||||
return;
|
||||
}
|
||||
|
||||
if (marketplaceResult.updated) {
|
||||
if (marketplaceResult.removedSkillsArray) {
|
||||
console.log("Stripped stale `skills` array from marketplace.json");
|
||||
if (marketplaceResult.added.length) {
|
||||
console.log(`Added: ${marketplaceResult.added.join(", ")}`);
|
||||
}
|
||||
if (marketplaceResult.removed.length) {
|
||||
console.log(`Removed: ${marketplaceResult.removed.join(", ")}`);
|
||||
}
|
||||
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");
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ on:
|
||||
branches: [main]
|
||||
paths:
|
||||
- 'skills/**'
|
||||
- '.claude-plugin/marketplace.json'
|
||||
|
||||
jobs:
|
||||
sync:
|
||||
@@ -27,5 +26,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, plugin.json, and README"
|
||||
file_pattern: ".claude-plugin/marketplace.json .claude-plugin/plugin.json README.md"
|
||||
commit_message: "chore: sync skills with marketplace.json and README"
|
||||
file_pattern: ".claude-plugin/marketplace.json README.md"
|
||||
|
||||
+2
-7
@@ -1,11 +1,6 @@
|
||||
# Dependencies
|
||||
node_modules/
|
||||
|
||||
# Skill install artifacts (npx skills add)
|
||||
.agents/
|
||||
.claude/
|
||||
skills-lock.json
|
||||
|
||||
# Environment variables / secrets
|
||||
.env
|
||||
.env.*
|
||||
@@ -19,8 +14,8 @@ skills-lock.json
|
||||
* 2.*
|
||||
* 2/
|
||||
|
||||
# Remotion video project (root only, not skills/video/)
|
||||
/video/
|
||||
# Remotion video project
|
||||
video/
|
||||
|
||||
# Editor
|
||||
*.swp
|
||||
|
||||
@@ -189,7 +189,7 @@ Skills reference relevant tools for implementation. For example:
|
||||
- `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
|
||||
- `paid-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.
|
||||
|
||||
@@ -230,10 +230,10 @@ Claude Code supports embedding shell commands in SKILL.md using `` !`command` ``
|
||||
|
||||
**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:
|
||||
Instead of every skill telling the agent "go check if `.agents/product-marketing-context.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."`
|
||||
Product context: !`cat .agents/product-marketing-context.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.
|
||||
|
||||
@@ -16,11 +16,11 @@ Skills are markdown files that give AI agents specialized knowledge and workflow
|
||||
|
||||
## 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.
|
||||
Skills reference each other and build on shared context. The `product-marketing-context` skill is the foundation — every other skill checks it first to understand your product, audience, and positioning before doing anything.
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────┐
|
||||
│ product-marketing │
|
||||
│ product-marketing-context │
|
||||
│ (read by all other skills first) │
|
||||
└──────────────────┬───────────────────┘
|
||||
│
|
||||
@@ -30,14 +30,12 @@ Skills reference each other and build on shared context. The `product-marketing`
|
||||
│ 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 │ │ │
|
||||
│seo-audit │ │cro │ │copywritng│ │paid-ads │ │referral │ │revops │ │mktg-ideas │
|
||||
│ai-seo │ │signup-cro│ │copy-edit │ │ad-creative │ │free-tool │ │sales-enable │ │mktg-psych │
|
||||
│site-arch │ │onboard │ │cold-email│ │ab-test │ │churn- │ │launch │ │customer- │
|
||||
│programm │ │cro │ │email-seq │ │analytics │ │ prevent │ │pricing │ │research │
|
||||
│schema │ │popups │ │social │ │ │ │ │ │competitor │ │ │
|
||||
│content │ │paywall │ │ │ │ │ │ │ │ │ │ │
|
||||
└────┬─────┘ └────┬─────┘ └────┬─────┘ └─────┬──────┘ └────┬─────┘ └──────┬──────┘ └─────┬─────┘
|
||||
│ │ │ │ │ │ │
|
||||
└────────────┴─────┬──────┴──────────────┴─────────────┴──────────────┴──────────────┘
|
||||
@@ -56,38 +54,32 @@ See each skill's **Related Skills** section for the full dependency map.
|
||||
<!-- SKILLS:START -->
|
||||
| Skill | Description |
|
||||
|-------|-------------|
|
||||
| [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.... |
|
||||
| [ab-testing](skills/ab-testing/) | When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B... |
|
||||
| [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](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,... |
|
||||
| [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, or refresh outdated content. Also use when the... |
|
||||
| [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... |
|
||||
| [copywriting](skills/copywriting/) | When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages,... |
|
||||
| [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... |
|
||||
| [customer-research](skills/customer-research/) | When the user wants to conduct, analyze, or synthesize customer research — including interview transcripts, surveys, support tickets, review mining, Reddit/G2/forum research, persona generation, and voice of customer (VOC)... |
|
||||
| [emails](skills/emails/) | When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email... |
|
||||
| [cro](skills/cro/) | When the user wants to optimize any form that is NOT signup/registration — including lead capture forms, contact forms,... |
|
||||
| [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-psychology](skills/marketing-psychology/) | When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when... |
|
||||
| [onboarding](skills/onboarding/) | When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value. Also... |
|
||||
| [cro](skills/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,... |
|
||||
| [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... |
|
||||
| [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... |
|
||||
| [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... |
|
||||
| [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... |
|
||||
@@ -95,9 +87,7 @@ See each skill's **Related Skills** section for the full dependency map.
|
||||
| [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](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
|
||||
@@ -171,59 +161,16 @@ npx skillkit install coreyhaines31/marketingskills --skill cro copywriting
|
||||
npx skillkit install coreyhaines31/marketingskills --list
|
||||
```
|
||||
|
||||
## Upgrading from v1.x to v2.0
|
||||
## Upgrading from v1.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:
|
||||
Skills now use `.agents/` instead of `.claude/` for the product marketing context file. 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
|
||||
mv .claude/product-marketing-context.md .agents/product-marketing-context.md
|
||||
```
|
||||
|
||||
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` |
|
||||
Skills will still check `.claude/` as a fallback, so nothing breaks if you don't.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -254,9 +201,10 @@ You can also invoke skills directly:
|
||||
## Skill Categories
|
||||
|
||||
### Conversion Optimization
|
||||
- `cro` - Pages and forms
|
||||
- `cro` - Any marketing page
|
||||
- `signup` - Registration flows
|
||||
- `onboarding` - Post-signup activation
|
||||
- `cro` - Lead capture forms
|
||||
- `popups` - Modals and overlays
|
||||
- `paywalls` - In-app upgrade moments
|
||||
|
||||
@@ -266,7 +214,6 @@ You can also invoke skills directly:
|
||||
- `cold-email` - B2B cold outreach emails and sequences
|
||||
- `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
|
||||
@@ -277,7 +224,7 @@ You can also invoke skills directly:
|
||||
- `schema` - Structured data
|
||||
|
||||
### Paid & Distribution
|
||||
- `ads` - Google, Meta, LinkedIn ad campaigns
|
||||
- `paid-ads` - Google, Meta, LinkedIn ad campaigns
|
||||
- `ad-creative` - Bulk ad creative generation and iteration
|
||||
- `social` - Social media scheduling and strategy
|
||||
|
||||
@@ -289,7 +236,6 @@ You can also invoke skills directly:
|
||||
- `churn-prevention` - Cancel flows, save offers, dunning, payment recovery
|
||||
|
||||
### Growth Engineering
|
||||
- `co-marketing` - Partner identification and joint campaigns
|
||||
- `free-tools` - Marketing tools and calculators
|
||||
- `referrals` - Referral and affiliate programs
|
||||
|
||||
|
||||
+34
-130
@@ -4,138 +4,42 @@ Current versions of all skills. Agents can compare against local versions to che
|
||||
|
||||
| Skill | Version | Last Updated |
|
||||
|-------|---------|--------------|
|
||||
| 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-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 |
|
||||
| ab-test-setup | 1.2.0 | 2026-03-14 |
|
||||
| ad-creative | 1.2.0 | 2026-03-14 |
|
||||
| ai-seo | 1.2.0 | 2026-03-14 |
|
||||
| analytics-tracking | 1.2.0 | 2026-03-14 |
|
||||
| churn-prevention | 1.2.0 | 2026-03-14 |
|
||||
| cold-email | 1.2.0 | 2026-03-14 |
|
||||
| competitor-alternatives | 1.2.0 | 2026-03-14 |
|
||||
| content-strategy | 1.2.0 | 2026-03-14 |
|
||||
| copy-editing | 1.2.0 | 2026-03-14 |
|
||||
| copywriting | 1.2.0 | 2026-03-14 |
|
||||
| email-sequence | 1.2.0 | 2026-03-14 |
|
||||
| form-cro | 1.2.0 | 2026-03-14 |
|
||||
| free-tool-strategy | 1.2.0 | 2026-03-14 |
|
||||
| launch-strategy | 1.2.0 | 2026-03-14 |
|
||||
| lead-magnets | 1.0.0 | 2026-03-14 |
|
||||
| marketing-ideas | 1.2.0 | 2026-03-14 |
|
||||
| marketing-psychology | 1.2.0 | 2026-03-14 |
|
||||
| onboarding-cro | 1.2.0 | 2026-03-14 |
|
||||
| page-cro | 1.2.0 | 2026-03-14 |
|
||||
| paid-ads | 1.2.0 | 2026-03-14 |
|
||||
| paywall-upgrade-cro | 1.2.0 | 2026-03-14 |
|
||||
| popup-cro | 1.2.0 | 2026-03-14 |
|
||||
| pricing-strategy | 1.2.0 | 2026-03-14 |
|
||||
| product-marketing-context | 1.2.0 | 2026-03-14 |
|
||||
| programmatic-seo | 1.2.0 | 2026-03-14 |
|
||||
| referral-program | 1.2.0 | 2026-03-14 |
|
||||
| revops | 1.2.0 | 2026-03-14 |
|
||||
| sales-enablement | 1.2.0 | 2026-03-14 |
|
||||
| schema-markup | 1.2.0 | 2026-03-14 |
|
||||
| seo-audit | 1.2.0 | 2026-03-14 |
|
||||
| signup-flow-cro | 1.2.0 | 2026-03-14 |
|
||||
| site-architecture | 1.2.0 | 2026-03-14 |
|
||||
| social-content | 1.2.0 | 2026-03-14 |
|
||||
|
||||
## Recent Changes
|
||||
|
||||
### 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.)
|
||||
@@ -149,7 +53,7 @@ Total skills: 40 (unchanged).
|
||||
|
||||
### 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
|
||||
- All skills now check `.agents/product-marketing-context.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
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
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.
|
||||
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," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," or "how long should I run this test." Use this whenever someone is comparing two approaches and wants to measure which performs better. For tracking implementation, see analytics. For page-level conversion optimization, see cro.
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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 designing a test, understand:
|
||||
|
||||
@@ -229,93 +229,6 @@ 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
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "ab-testing",
|
||||
"skill_name": "ab-test-setup",
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
|
||||
@@ -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,' '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."
|
||||
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 paid-ads. For landing page copy, see copywriting."
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
Gather this context (ask if not provided):
|
||||
|
||||
@@ -355,7 +355,7 @@ node tools/clis/google-ads.js reports get --type ad_performance --date-range las
|
||||
|
||||
## Related Skills
|
||||
|
||||
- **ads**: For campaign strategy, targeting, budgets, and optimization
|
||||
- **paid-ads**: For campaign strategy, targeting, budgets, and optimization
|
||||
- **copywriting**: For landing page copy (where ad traffic lands)
|
||||
- **ab-testing**: For structuring creative tests with statistical rigor
|
||||
- **marketing-psychology**: For psychological principles behind high-performing creative
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Uses angle-based generation approach",
|
||||
"Identifies multiple angles (3-5)",
|
||||
"Respects Meta character limits (125/40/30)",
|
||||
@@ -78,10 +78,10 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should recognize this is a paid advertising strategy task, not ad creative generation. Should defer to or cross-reference the paid-ads skill, which handles campaign strategy, platform selection, and budget allocation. May briefly mention creative considerations but should make clear that paid-ads is the right skill for strategy.",
|
||||
"assertions": [
|
||||
"Recognizes this as paid ads strategy, not creative generation",
|
||||
"References or defers to ads skill",
|
||||
"References or defers to paid-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 | ChatGPT Images 2.0, Nano Banana Pro, Flux, Ideogram |
|
||||
| Static ad images (banners, social) | Image generation | 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,361 +0,0 @@
|
||||
# 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)
|
||||
+47
-134
@@ -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,' '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."
|
||||
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-markup."
|
||||
metadata:
|
||||
version: 2.0.1
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# 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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
Gather this context (ask if not provided):
|
||||
|
||||
@@ -66,45 +66,6 @@ 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 (40–60 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 5–10 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
|
||||
@@ -265,54 +226,6 @@ 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:
|
||||
@@ -327,32 +240,7 @@ 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 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)
|
||||
Content with proper schema shows 30-40% higher AI visibility. For implementation, use the **schema-markup** skill.
|
||||
|
||||
---
|
||||
|
||||
@@ -408,29 +296,55 @@ 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.
|
||||
|
||||
---
|
||||
|
||||
## What NOT to Do
|
||||
## AI SEO for Different Content Types
|
||||
|
||||
Google's guide calls these out explicitly — they hurt across both traditional Search and AI features.
|
||||
### SaaS Product Pages
|
||||
|
||||
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.
|
||||
**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)
|
||||
- FAQ section addressing common buyer questions
|
||||
|
||||
## AI SEO by Content Type
|
||||
### Blog Content
|
||||
|
||||
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).
|
||||
**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
|
||||
|
||||
---
|
||||
|
||||
@@ -444,7 +358,6 @@ For tactical guidance on SaaS product pages, blog content, comparison/alternativ
|
||||
- **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
|
||||
@@ -478,7 +391,7 @@ For implementation, see the [tools registry](../../tools/REGISTRY.md).
|
||||
## Related Skills
|
||||
|
||||
- **seo-audit**: For traditional technical and on-page SEO audits
|
||||
- **schema**: For implementing structured data that helps AI understand your content
|
||||
- **schema-markup**: For implementing structured data that helps AI understand your content
|
||||
- **content-strategy**: For planning what content to create
|
||||
- **competitors**: For building comparison pages that get cited
|
||||
- **programmatic-seo**: For building SEO pages at scale
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Applies three pillars framework (Structure, Authority, Presence)",
|
||||
"Runs AI Visibility Audit across platforms",
|
||||
"Checks content extractability",
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
# 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
|
||||
@@ -2,7 +2,7 @@
|
||||
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: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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 implementing tracking, understand:
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "analytics",
|
||||
"skill_name": "analytics-tracking",
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Applies 'track for decisions' principle",
|
||||
"Uses object_action naming convention",
|
||||
"Defines essential SaaS events (signup, feature usage, upgrade)",
|
||||
@@ -77,10 +77,10 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should recognize this overlaps with A/B test setup, not just analytics tracking. Should defer to or cross-reference the ab-test-setup 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-test-setup is the right skill for the experiment framework.",
|
||||
"assertions": [
|
||||
"Recognizes overlap with A/B test setup",
|
||||
"References or defers to ab-testing skill",
|
||||
"References or defers to ab-test-setup skill",
|
||||
"May help with tracking implementation specifics",
|
||||
"Does not attempt to design the full experiment"
|
||||
],
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
---
|
||||
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."
|
||||
name: aso-audit
|
||||
description: >
|
||||
Use when auditing an App Store or Google Play listing for optimization.
|
||||
Triggers: "ASO audit", "app store optimization", "optimize my app listing",
|
||||
"improve app visibility", "app store ranking", "audit my listing", or when
|
||||
user shares an App Store / Google Play URL and wants to improve it. Also
|
||||
triggers on: "why aren't people downloading my app", "improve my app
|
||||
conversion", "keyword optimization for app", "compare my app to competitors".
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# ASO Audit
|
||||
@@ -21,7 +27,7 @@ prioritized action plan.
|
||||
## 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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
## Phase 1 — Identify Store & Fetch
|
||||
|
||||
@@ -84,13 +90,14 @@ 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:
|
||||
WebFetch cannot extract screenshot images or caption text. **Always use the
|
||||
Playwright browser tool** 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,
|
||||
1. Navigate to the listing URL with `browser_navigate`
|
||||
2. Take a full-page screenshot with `browser_take_screenshot`
|
||||
3. Read the screenshot image to assess: icon, 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
|
||||
4. If Playwright is unavailable, ask the user to share a screenshot of the
|
||||
listing page
|
||||
|
||||
**Promotional text (Apple):** This 170-char field appears above the description
|
||||
@@ -290,23 +297,3 @@ the app's brand maturity tier — they may be deliberate choices for Dominant ap
|
||||
|
||||
- [ ] 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
|
||||
@@ -1,91 +0,0 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
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,' '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: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
Gather this context (ask if not provided):
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Addresses both voluntary and involuntary churn",
|
||||
"Designs cancel flow with proper stages",
|
||||
"Includes exit survey with multiple categories",
|
||||
@@ -80,10 +80,10 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should recognize this overlaps with email sequence work. Should defer to or cross-reference the email-sequence 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 email-sequence 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",
|
||||
"References or defers to email-sequence skill",
|
||||
"May provide churn-specific context for the sequence",
|
||||
"Does not attempt to write a full email sequence"
|
||||
],
|
||||
|
||||
@@ -1,290 +0,0 @@
|
||||
---
|
||||
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
|
||||
@@ -1,84 +0,0 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
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. 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
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# Cold Email Writing
|
||||
@@ -12,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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
Understand the situation (ask if not provided):
|
||||
|
||||
@@ -151,9 +151,8 @@ 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
|
||||
- **emails**: For lifecycle/nurture email sequences (not cold outreach)
|
||||
- **social**: For LinkedIn and social posts
|
||||
- **product-marketing**: For establishing foundational positioning
|
||||
- **product-marketing-context**: For establishing foundational positioning
|
||||
- **revops**: For lead scoring, routing, and pipeline management
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Writes like a peer, not a vendor",
|
||||
"Uses a structure framework from the skill",
|
||||
"Subject line is short, lowercase, internal-looking",
|
||||
@@ -81,10 +81,10 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should recognize this is a lifecycle/nurture email sequence, not cold outreach. Should defer to or cross-reference the email-sequence 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",
|
||||
"References or defers to email-sequence skill",
|
||||
"Explains the distinction between cold email and lifecycle email",
|
||||
"Does not attempt to design a nurture sequence using cold email patterns"
|
||||
],
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
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.\""
|
||||
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
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# Community Marketing
|
||||
@@ -12,7 +12,7 @@ You are an expert community builder and community-led growth strategist. Your go
|
||||
## 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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` 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):
|
||||
|
||||
@@ -141,23 +141,3 @@ Depending on what the user needs, produce one of:
|
||||
- **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
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,412 +0,0 @@
|
||||
---
|
||||
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
|
||||
@@ -1,85 +0,0 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,167 +0,0 @@
|
||||
# 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 |
|
||||
```
|
||||
@@ -1,179 +0,0 @@
|
||||
# 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 |
|
||||
@@ -2,7 +2,7 @@
|
||||
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: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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 creating competitor pages, understand:
|
||||
|
||||
@@ -252,5 +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**: For FAQ and comparison schema
|
||||
- **schema-markup**: For FAQ and comparison schema
|
||||
- **sales-enablement**: For internal sales collateral, decks, and objection docs
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "competitors",
|
||||
"skill_name": "competitor-alternatives",
|
||||
"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).",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Identifies as plural alternatives format",
|
||||
"Includes TL;DR comparison section",
|
||||
"Includes feature comparison table",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
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," "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: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
Gather this context (ask if not provided):
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Establishes 3-5 content pillars",
|
||||
"Maps content by buyer stage (awareness through implementation)",
|
||||
"Includes keyword research by buyer stage",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
name: copy-editing
|
||||
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."
|
||||
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,' 'copy sweep,' 'tighten this up,' 'this reads awkwardly,' 'clean up this text,' 'too wordy,' or 'sharpen the messaging.' Use this when the user already has copy and wants it improved rather than rewritten from scratch. For writing new copy, see copywriting."
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` 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,57 +256,6 @@ 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.
|
||||
@@ -358,7 +307,59 @@ Use these for faster reviews when a full seven-sweep process isn't needed.
|
||||
|
||||
## Copy Editing Checklist
|
||||
|
||||
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.
|
||||
### 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
|
||||
|
||||
---
|
||||
|
||||
@@ -415,16 +416,6 @@ 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)
|
||||
|
||||
---
|
||||
|
||||
@@ -434,7 +425,6 @@ Copy editing isn't just for new content. Existing pages decay over time — outd
|
||||
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?
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Applies Seven Sweeps Framework",
|
||||
"Identifies vague language (Clarity sweep)",
|
||||
"Flags weak opening and company-focused language (Voice & Tone sweep)",
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
# 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
|
||||
@@ -1,38 +0,0 @@
|
||||
# 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
|
||||
@@ -2,7 +2,7 @@
|
||||
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," "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: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
Gather this context (ask if not provided):
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"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).",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
@@ -84,10 +84,10 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should recognize this is an email copywriting task, not page copywriting. Should defer to or cross-reference the email-sequence skill, which specifically handles email sequences, drip campaigns, and lifecycle emails. May provide brief general guidance but should make clear that email-sequence is the right skill for this task.",
|
||||
"assertions": [
|
||||
"Recognizes this as email sequence work",
|
||||
"References or defers to emails skill",
|
||||
"References or defers to email-sequence skill",
|
||||
"Does not attempt to write a full email sequence using page copywriting patterns"
|
||||
],
|
||||
"files": []
|
||||
|
||||
+16
-14
@@ -1,30 +1,36 @@
|
||||
---
|
||||
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."
|
||||
description: "When the user wants to optimize, improve, or increase conversions on any marketing page or form. 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,' 'nobody's converting,' 'low conversion rate,' 'bounce rate is too high,' 'form optimization,' 'lead form conversions,' 'form friction,' 'nobody fills out our form,' 'form abandonment,' or 'too many fields.' Use this for any conversion optimization on pages or forms. For signup/registration flows, see signup. For post-signup activation, see onboarding. For popups/modals, see popups. For paywalls, see paywalls."
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# 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.
|
||||
You are a conversion rate optimization expert. Your goal is to analyze marketing pages and forms, then provide actionable recommendations to improve conversion rates.
|
||||
|
||||
## 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 or specific to this task.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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:
|
||||
|
||||
1. **Page Type**: Homepage, landing page, pricing, feature, blog, about, other
|
||||
2. **Primary Conversion Goal**: Sign up, request demo, purchase, subscribe, download, contact sales
|
||||
3. **Traffic Context**: Where are visitors coming from? (organic, paid, email, social)
|
||||
1. **What needs optimization?** — A page, a form, or both
|
||||
2. **Page Type** (if page): Homepage, landing page, pricing, feature, blog, about
|
||||
3. **Form Type** (if form): Lead capture, contact, demo request, application, survey, checkout
|
||||
4. **Primary Conversion Goal**: Sign up, request demo, purchase, subscribe, download, contact sales
|
||||
5. **Traffic Context**: Where are visitors coming from? (organic, paid, email, social)
|
||||
|
||||
**For page optimization**: See [references/page.md](references/page.md)
|
||||
|
||||
**For form optimization**: See [references/form.md](references/form.md)
|
||||
|
||||
---
|
||||
|
||||
## CRO Analysis Framework
|
||||
|
||||
Analyze the page across these dimensions, in order of impact:
|
||||
Analyze across these dimensions, in order of impact:
|
||||
|
||||
### 1. Value Proposition Clarity (Highest Impact)
|
||||
|
||||
@@ -170,6 +176,7 @@ When recommending experiments, consider tests for:
|
||||
3. What does your signup/purchase flow look like after this page?
|
||||
4. Do you have user research, heatmaps, or session recordings?
|
||||
5. What have you already tried?
|
||||
6. What type of form are you optimizing (if applicable)?
|
||||
|
||||
---
|
||||
|
||||
@@ -177,11 +184,6 @@ When recommending experiments, consider tests for:
|
||||
|
||||
- **signup**: If the issue is in the signup process itself
|
||||
- **popups**: If considering popups as part of the strategy
|
||||
- **paywalls**: For in-app upgrade moments and trial expiration
|
||||
- **copywriting**: If the page needs a complete copy rewrite
|
||||
- **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).
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
{
|
||||
"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,11 +1,11 @@
|
||||
# Form CRO
|
||||
# Form CRO Reference
|
||||
|
||||
You are an expert in form optimization. Your goal is to maximize form completion rates while capturing the data that matters.
|
||||
Detailed form optimization guidance. Use alongside the main CRO skill.
|
||||
|
||||
## Initial Assessment
|
||||
|
||||
**Check for product marketing context first:**
|
||||
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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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:
|
||||
|
||||
@@ -418,5 +418,4 @@ Ideas to A/B test with expected outcomes
|
||||
|
||||
- **signup**: For account creation forms
|
||||
- **popups**: For forms inside popups/modals
|
||||
- **cro**: For the page containing the form
|
||||
- **ab-testing**: For testing form changes
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
# Page CRO Reference
|
||||
|
||||
Detailed page-level conversion optimization guidance. Use alongside the main CRO skill.
|
||||
|
||||
## Page Type Audit Checklists
|
||||
|
||||
### Homepage
|
||||
|
||||
- [ ] Hero clearly communicates what you do and for whom
|
||||
- [ ] Primary CTA visible above the fold
|
||||
- [ ] Social proof within first viewport
|
||||
- [ ] Clear navigation to key pages (pricing, features, use cases)
|
||||
- [ ] Both "ready to buy" and "still researching" paths available
|
||||
- [ ] Mobile experience tested and optimized
|
||||
|
||||
### Landing Page
|
||||
|
||||
- [ ] Message matches the traffic source (ad, email, social post)
|
||||
- [ ] Single conversion goal — no competing CTAs
|
||||
- [ ] Navigation removed or minimized
|
||||
- [ ] Complete argument made on one page (no required clicks)
|
||||
- [ ] Form or CTA repeated after key sections
|
||||
- [ ] Page speed under 3 seconds
|
||||
|
||||
### Pricing Page
|
||||
|
||||
- [ ] Plans are easy to compare at a glance
|
||||
- [ ] Recommended plan is visually highlighted
|
||||
- [ ] Feature comparison table included
|
||||
- [ ] Annual vs monthly toggle with savings shown
|
||||
- [ ] FAQ addresses common pricing objections
|
||||
- [ ] Free trial or money-back guarantee prominent
|
||||
- [ ] Enterprise/contact option for larger buyers
|
||||
|
||||
### Feature Page
|
||||
|
||||
- [ ] Feature connected to a clear business benefit
|
||||
- [ ] Real use cases or examples shown
|
||||
- [ ] Screenshot or demo of the feature in action
|
||||
- [ ] CTA to try the feature (not just "learn more")
|
||||
- [ ] Related features cross-linked
|
||||
|
||||
### Blog Post
|
||||
|
||||
- [ ] Contextual CTA matching the content topic
|
||||
- [ ] Inline CTA at a natural stopping point (not just end)
|
||||
- [ ] Content upgrade or lead magnet related to the topic
|
||||
- [ ] Author bio with credibility signals
|
||||
- [ ] Related posts suggested
|
||||
|
||||
## Above-the-Fold Priorities
|
||||
|
||||
The first viewport should answer three questions:
|
||||
|
||||
1. **What is this?** — Clear headline with the core value proposition
|
||||
2. **Why should I care?** — Subheadline connecting to the visitor's problem or desire
|
||||
3. **What do I do next?** — Visible primary CTA
|
||||
|
||||
If a visitor can't answer all three within 5 seconds, the above-the-fold content needs work.
|
||||
|
||||
## Mobile CRO Considerations
|
||||
|
||||
- Thumb-friendly CTA buttons (min 44x44px)
|
||||
- Sticky CTA bar for long pages
|
||||
- Simplified forms (consider progressive disclosure)
|
||||
- Test with real devices, not just browser resize
|
||||
- Prioritize speed — mobile users are less patient
|
||||
- Consider mobile-specific CTAs (click-to-call, app deep links)
|
||||
@@ -2,7 +2,7 @@
|
||||
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
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# Customer Research
|
||||
@@ -12,7 +12,7 @@ You are an expert customer researcher. Your goal is to help uncover what custome
|
||||
## 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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` in older setups), read it before asking questions. Use that context to skip questions already answered.
|
||||
|
||||
---
|
||||
|
||||
@@ -121,18 +121,17 @@ Choose sources based on your ICP type — then read `references/source-guides.md
|
||||
|
||||
| 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 |
|
||||
| B2B SaaS / technical buyers | Reddit (role-specific subs), G2/Capterra, Hacker News, LinkedIn, Indie Hackers |
|
||||
| SMB / founders | Reddit (r/entrepreneur, r/smallbusiness), Indie Hackers, Product Hunt, Facebook Groups |
|
||||
| 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 |
|
||||
| Enterprise | LinkedIn, industry analyst reports, G2 Enterprise filter, job postings |
|
||||
|
||||
**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
|
||||
- Need competitive intel? → Competitor 4-star reviews on G2; Product Hunt discussions
|
||||
|
||||
### What to Extract from Each Source
|
||||
|
||||
@@ -265,7 +264,6 @@ Don't ask all five at once — lead with #1 and #2, then follow up as needed.
|
||||
| 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` |
|
||||
| Planning paid ads informed by research | `paid-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` |
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
@@ -18,9 +18,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
@@ -31,9 +31,9 @@
|
||||
{
|
||||
"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).",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
@@ -45,9 +45,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
@@ -59,9 +59,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
@@ -72,9 +72,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
@@ -85,9 +85,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
@@ -98,9 +98,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Recommends segmenting churn reasons before analyzing",
|
||||
"Warns against averaging across different churn causes",
|
||||
"Suggests pairing open-ended responses with quantitative data",
|
||||
@@ -111,9 +111,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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"
|
||||
@@ -123,9 +123,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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"
|
||||
@@ -135,9 +135,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.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",
|
||||
@@ -148,9 +148,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Recognizes this as a zero-research bootstrap scenario",
|
||||
"Recommends forming hypotheses before gathering data",
|
||||
"Suggests a minimum viable research plan (interviews + online sources)",
|
||||
|
||||
@@ -282,61 +282,6 @@ Comments on review videos are especially valuable — these are people actively
|
||||
|
||||
---
|
||||
|
||||
## 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 5–10)
|
||||
- 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:
|
||||
@@ -374,7 +319,6 @@ Not all sources carry equal weight. Use this guide when assigning confidence lab
|
||||
| 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
|
||||
|
||||
@@ -1,381 +0,0 @@
|
||||
---
|
||||
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 **6–27× 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.
|
||||
- 5–8 real product screenshots at 1920×1080 (not marketing mockups).
|
||||
- A 60–90 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:
|
||||
- 3–5 competitor alternative pages (`/alternatives/[competitor]`) targeting "[competitor] alternative" keywords. Comparison/alternative pages convert at **5–15%** vs 0.5–2% for generic content.
|
||||
- 3–5 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. 5–8 real screenshots + 60–90s 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 1–7 is a hard block. A "no" on 8–9 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 1–3 | TAAFT, Futurepedia, Toolify, Future Tools, aitools.inc, AIStage | ~40 |
|
||||
| **Tier 4 — Agent/MCP registries** | Week 1–3 (if MCP) | Glama, APITracker, LF MCP Registry, AI Agents List | ~10 |
|
||||
| **Tier 5 — No-code directories** | Week 1–3 (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
|
||||
- **5–8 category tags**
|
||||
- **Logo** assets
|
||||
- **Screenshots** + demo video URL
|
||||
- **Founder story** (2–3 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. 2–3 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 60–70% 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 **5–15%**, often hitting 15–30% 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, 3–5 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, 30–50% 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: **3–5 posts/week** — fewer loses momentum, more causes fatigue.
|
||||
|
||||
Content types ranked by 2026 engagement:
|
||||
1. Personal stories with business lessons (1.5–2× avg engagement)
|
||||
2. Original data / research (1.3–1.5×)
|
||||
3. Contrarian industry takes (1.2–1.5×)
|
||||
4. Document carousels with 8–12 slides (1.3–1.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
|
||||
@@ -1,94 +0,0 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,477 +0,0 @@
|
||||
# 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 → 2–4 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 1–3.
|
||||
|
||||
### 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 40–70 + 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.
|
||||
@@ -1,232 +0,0 @@
|
||||
# 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 5–8 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 3–5 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
|
||||
@@ -1,266 +0,0 @@
|
||||
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,,,
|
||||
|
@@ -2,7 +2,7 @@
|
||||
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: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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 creating a sequence, understand:
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "emails",
|
||||
"skill_name": "email-sequence",
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Creates 5-7 email welcome sequence",
|
||||
"Follows one email one job principle",
|
||||
"Maps emails to trial timeline (14 days)",
|
||||
@@ -80,10 +80,10 @@
|
||||
{
|
||||
"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.",
|
||||
"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-cro 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-cro is the primary skill for this task.",
|
||||
"assertions": [
|
||||
"Recognizes this as in-app onboarding optimization",
|
||||
"References or defers to onboarding skill",
|
||||
"References or defers to onboarding-cro skill",
|
||||
"Does not attempt full onboarding redesign using email patterns",
|
||||
"May offer email component support"
|
||||
],
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
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: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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 designing a tool strategy, understand:
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "free-tools",
|
||||
"skill_name": "free-tool-strategy",
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Applies evaluation scorecard to compare options",
|
||||
"References tool types from the skill",
|
||||
"Recommends one option with clear rationale",
|
||||
|
||||
@@ -1,340 +0,0 @@
|
||||
---
|
||||
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
|
||||
@@ -1,89 +0,0 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,229 +0,0 @@
|
||||
# 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
|
||||
@@ -2,7 +2,7 @@
|
||||
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: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "launch",
|
||||
"skill_name": "launch-strategy",
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Applies ORB Framework (Owned, Rented, Borrowed)",
|
||||
"Maps to user's specific channels and audience sizes",
|
||||
"Recommends five-phase launch approach",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
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
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# Lead Magnets
|
||||
@@ -12,7 +12,7 @@ You are an expert in lead magnet strategy. Your goal is to help plan lead magnet
|
||||
## 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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
Gather this context (ask if not provided):
|
||||
|
||||
@@ -211,7 +211,7 @@ Don't waste the thank you page. After they've converted:
|
||||
- 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
|
||||
- **See paid-ads** for campaign strategy
|
||||
|
||||
### Partner Co-Promotion
|
||||
|
||||
@@ -306,5 +306,5 @@ When creating a lead magnet strategy, provide:
|
||||
- **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
|
||||
- **paid-ads**: For paid promotion of lead magnets
|
||||
- **social**: For social media promotion
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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,' '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.)."
|
||||
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 (paid-ads, social, emails, etc.)."
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
When asked for marketing ideas:
|
||||
1. Ask about their product, audience, and current stage if not clear
|
||||
@@ -164,4 +164,4 @@ When recommending ideas, provide for each:
|
||||
- **competitors**: For comparison pages (#11)
|
||||
- **emails**: For email marketing tactics
|
||||
- **free-tools**: For engineering as marketing (#15)
|
||||
- **referrals**: For viral growth (#93)
|
||||
- **referral-program**: For viral growth (#93)
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Filters ideas by low budget constraint",
|
||||
"Provides ideas from the 139 marketing ideas catalog",
|
||||
"Ideas are appropriate for bootstrapped SaaS stage",
|
||||
@@ -77,10 +77,10 @@
|
||||
{
|
||||
"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.",
|
||||
"expected_output": "Should recognize this is specifically a referral program design request. Should defer to or cross-reference the referral-program 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 referral-program is the right skill for detailed program design.",
|
||||
"assertions": [
|
||||
"Recognizes this as a referral program design request",
|
||||
"References or defers to referrals skill",
|
||||
"References or defers to referral-program skill",
|
||||
"Does not attempt detailed referral program design",
|
||||
"May briefly mention as a marketing idea"
|
||||
],
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
name: marketing-psychology
|
||||
description: "When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when the user mentions 'psychology,' 'mental models,' 'cognitive bias,' 'persuasion,' 'behavioral science,' 'why people buy,' 'decision-making,' 'consumer behavior,' 'anchoring,' 'social proof,' 'scarcity,' 'loss aversion,' 'framing,' or 'nudge.' Use this whenever someone wants to understand or leverage how people think and make decisions in a marketing context. For applying psychology to specific pages, see cro; for pricing tactics, see pricing; for copy framing, see copywriting."
|
||||
description: "When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when the user mentions 'psychology,' 'mental models,' 'cognitive bias,' 'persuasion,' 'behavioral science,' 'why people buy,' 'decision-making,' 'consumer behavior,' 'anchoring,' 'social proof,' 'scarcity,' 'loss aversion,' 'framing,' or 'nudge.' Use this whenever someone wants to understand or leverage how people think and make decisions in a marketing context."
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# Marketing Psychology & Mental Models
|
||||
@@ -12,7 +12,7 @@ You are an expert in applying psychological principles and mental models to mark
|
||||
## How to Use This Skill
|
||||
|
||||
**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 applying mental models. Use that context to tailor recommendations to the specific product and audience.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` in older setups), read it before applying mental models. Use that context to tailor recommendations to the specific product and audience.
|
||||
|
||||
Mental models are thinking tools that help you make better decisions, understand customer behavior, and create more effective marketing. When helping users:
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"id": 1,
|
||||
"prompt": "How can I use psychology to increase conversions on our pricing page? We sell a B2B SaaS tool with three tiers ($29, $79, $199/month).",
|
||||
"expected_output": "Should check for product-marketing.md first. Should apply relevant pricing psychology models: anchoring (show the highest plan first or use a decoy), charm pricing (consider $29 vs $30), Rule of 100 (percentage vs dollar discounts), Good-Better-Best framing, loss aversion (show what they miss on lower tiers). Should also apply broader persuasion models: social proof near pricing, scarcity for limited-time offers, default effect (pre-select recommended plan). Should provide specific, actionable recommendations tied to their price points.",
|
||||
"expected_output": "Should check for product-marketing-context.md first. Should apply relevant pricing psychology models: anchoring (show the highest plan first or use a decoy), charm pricing (consider $29 vs $30), Rule of 100 (percentage vs dollar discounts), Good-Better-Best framing, loss aversion (show what they miss on lower tiers). Should also apply broader persuasion models: social proof near pricing, scarcity for limited-time offers, default effect (pre-select recommended plan). Should provide specific, actionable recommendations tied to their price points.",
|
||||
"assertions": [
|
||||
"Checks for product-marketing.md",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Applies pricing psychology models (anchoring, charm pricing, Rule of 100)",
|
||||
"Applies Good-Better-Best framing",
|
||||
"Applies loss aversion to tier differentiation",
|
||||
@@ -75,10 +75,10 @@
|
||||
{
|
||||
"id": 6,
|
||||
"prompt": "Help me run an A/B test on which psychological principle works better for our CTA — scarcity vs social proof.",
|
||||
"expected_output": "Should recognize this is an A/B test setup task, not a psychology task. Should defer to or cross-reference the ab-testing skill for the experiment design. May provide psychological context on both principles to inform the hypothesis, but should make clear that ab-testing is the right skill for designing and running the experiment.",
|
||||
"expected_output": "Should recognize this is an A/B test setup task, not a psychology task. Should defer to or cross-reference the ab-test-setup skill for the experiment design. May provide psychological context on both principles to inform the hypothesis, but should make clear that ab-test-setup is the right skill for designing and running the experiment.",
|
||||
"assertions": [
|
||||
"Recognizes this as an A/B test setup task",
|
||||
"References or defers to ab-testing skill",
|
||||
"References or defers to ab-test-setup skill",
|
||||
"May provide psychological context for hypothesis",
|
||||
"Does not attempt full test design using psychology patterns"
|
||||
],
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: onboarding
|
||||
description: When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value. Also use when the user mentions "onboarding flow," "activation rate," "user activation," "first-run experience," "empty states," "onboarding checklist," "aha moment," "new user experience," "users aren't activating," "nobody completes setup," "low activation rate," "users sign up but don't use the product," "time to value," or "first session experience." Use this whenever users are signing up but not sticking around. For signup/registration optimization, see signup. For ongoing email sequences, see emails.
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# Onboarding CRO
|
||||
@@ -12,7 +12,7 @@ You are an expert in user onboarding and activation. Your goal is to help users
|
||||
## 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 or specific to this task.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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, understand:
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "onboarding",
|
||||
"skill_name": "onboarding-cro",
|
||||
"evals": [
|
||||
{
|
||||
"id": 1,
|
||||
"prompt": "Help me optimize our onboarding flow. We have a project management tool and only 30% of trial users create their first project within the first week. We need to get them to value faster.",
|
||||
"expected_output": "Should check for product-marketing.md first. Should start by defining the activation/aha moment — in this case, creating a first project. Should evaluate the current time-to-value and identify friction points. Should recommend an onboarding flow approach (product-first, guided setup, or value-first). Should apply the checklist pattern (3-7 items for onboarding completion). Should address empty states as opportunities to guide users. Should provide experiment ideas for testing improvements. Should include measurement metrics.",
|
||||
"expected_output": "Should check for product-marketing-context.md first. Should start by defining the activation/aha moment — in this case, creating a first project. Should evaluate the current time-to-value and identify friction points. Should recommend an onboarding flow approach (product-first, guided setup, or value-first). Should apply the checklist pattern (3-7 items for onboarding completion). Should address empty states as opportunities to guide users. Should provide experiment ideas for testing improvements. Should include measurement metrics.",
|
||||
"assertions": [
|
||||
"Checks for product-marketing.md",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Defines the activation/aha moment",
|
||||
"Evaluates time-to-value",
|
||||
"Recommends onboarding flow approach",
|
||||
@@ -36,14 +36,14 @@
|
||||
{
|
||||
"id": 3,
|
||||
"prompt": "our users sign up but then never come back. like 50% don't even log in a second time. what do we do?",
|
||||
"expected_output": "Should trigger on casual phrasing. Should address this as a stalled users problem. Should apply the handling stalled users framework: identify drop-off points, re-engagement triggers, multi-channel outreach (email, in-app, push). Should investigate root causes: is the first-run experience too complex? Is value not immediately apparent? Is the setup too long? Should recommend immediate improvements to the first session experience. Should suggest multi-channel onboarding (email sequences to bring them back). Should cross-reference emails for re-engagement emails.",
|
||||
"expected_output": "Should trigger on casual phrasing. Should address this as a stalled users problem. Should apply the handling stalled users framework: identify drop-off points, re-engagement triggers, multi-channel outreach (email, in-app, push). Should investigate root causes: is the first-run experience too complex? Is value not immediately apparent? Is the setup too long? Should recommend immediate improvements to the first session experience. Should suggest multi-channel onboarding (email sequences to bring them back). Should cross-reference email-sequence for re-engagement emails.",
|
||||
"assertions": [
|
||||
"Triggers on casual phrasing",
|
||||
"Applies stalled users framework",
|
||||
"Identifies potential root causes for drop-off",
|
||||
"Recommends first-session experience improvements",
|
||||
"Suggests multi-channel onboarding",
|
||||
"Cross-references emails for re-engagement",
|
||||
"Cross-references email-sequence for re-engagement",
|
||||
"Provides specific re-engagement triggers"
|
||||
],
|
||||
"files": []
|
||||
@@ -79,11 +79,11 @@
|
||||
{
|
||||
"id": 6,
|
||||
"prompt": "Our signup form has 8 fields and people keep dropping off. Can you help us fix the signup flow?",
|
||||
"expected_output": "Should recognize this is a signup flow optimization task, not post-signup onboarding. Should defer to or cross-reference the signup skill, which handles signup form optimization, field reduction, and registration flow design. Onboarding-cro covers what happens after signup. Should make this distinction clear.",
|
||||
"expected_output": "Should recognize this is a signup flow optimization task, not post-signup onboarding. Should defer to or cross-reference the signup-flow-cro skill, which handles signup form optimization, field reduction, and registration flow design. Onboarding-cro covers what happens after signup. Should make this distinction clear.",
|
||||
"assertions": [
|
||||
"Recognizes this as signup flow optimization, not onboarding",
|
||||
"References or defers to signup skill",
|
||||
"Explains that onboarding covers post-signup",
|
||||
"References or defers to signup-flow-cro skill",
|
||||
"Explains that onboarding-cro covers post-signup",
|
||||
"Does not attempt signup form redesign using onboarding patterns"
|
||||
],
|
||||
"files": []
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
name: ads
|
||||
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,' '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: 2.0.1
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# 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 `.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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
Gather this context (ask if not provided):
|
||||
|
||||
@@ -245,8 +245,6 @@ 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)
|
||||
@@ -257,97 +255,6 @@ 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
|
||||
@@ -395,7 +302,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 setup, see [references/conversion-tracking.md](references/conversion-tracking.md), [ga4.md](../../tools/integrations/ga4.md), [segment.md](../../tools/integrations/segment.md)
|
||||
For tracking, see also: [ga4.md](../../tools/integrations/ga4.md), [segment.md](../../tools/integrations/segment.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "ads",
|
||||
"skill_name": "paid-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.",
|
||||
"expected_output": "Should check for product-marketing-context.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",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Applies platform selection guide",
|
||||
"Recommends platforms appropriate for B2B HR audience",
|
||||
"Recommends campaign structure with naming conventions",
|
||||
@@ -2,7 +2,7 @@
|
||||
name: paywalls
|
||||
description: When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid," "freemium conversion," "trial expiration screen," "limit reached screen," "plan upgrade prompt," "in-app pricing," "free users won't upgrade," "trial to paid conversion," or "how do I get users to pay." Use this for any in-product moment where you're asking users to upgrade. Distinct from public pricing pages (see cro) — this focuses on in-product upgrade moments where the user has already experienced value. For pricing decisions, see pricing.
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# Paywall and Upgrade Screen CRO
|
||||
@@ -12,7 +12,7 @@ You are an expert in in-app paywalls and upgrade flows. Your goal is to convert
|
||||
## 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 or specific to this task.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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, understand:
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "paywalls",
|
||||
"skill_name": "paywall-upgrade-cro",
|
||||
"evals": [
|
||||
{
|
||||
"id": 1,
|
||||
"prompt": "Help me design the upgrade paywall for our project management tool. Free users can have 3 projects, and we want to show an upgrade screen when they try to create a 4th project.",
|
||||
"expected_output": "Should check for product-marketing.md first. Should identify this as a usage limit trigger point. Should apply the paywall screen components: headline (communicate the value of upgrading, not just the limit), value demonstration (show what they get with paid plan), plan comparison (free vs paid), social proof, CTA (specific and action-oriented), and escape hatch (option to go back). Should provide specific copy recommendations. Should address the emotional state of the user at this moment (frustrated by the limit). Should warn against anti-patterns.",
|
||||
"expected_output": "Should check for product-marketing-context.md first. Should identify this as a usage limit trigger point. Should apply the paywall screen components: headline (communicate the value of upgrading, not just the limit), value demonstration (show what they get with paid plan), plan comparison (free vs paid), social proof, CTA (specific and action-oriented), and escape hatch (option to go back). Should provide specific copy recommendations. Should address the emotional state of the user at this moment (frustrated by the limit). Should warn against anti-patterns.",
|
||||
"assertions": [
|
||||
"Checks for product-marketing.md",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Identifies as usage limit trigger",
|
||||
"Applies paywall screen components framework",
|
||||
"Includes headline, value demo, comparison, social proof, CTA",
|
||||
@@ -84,7 +84,7 @@
|
||||
"assertions": [
|
||||
"Recognizes this as public pricing page optimization",
|
||||
"References or defers to cro skill",
|
||||
"Explains that paywalls is for in-app upgrade prompts",
|
||||
"Explains that paywall-upgrade-cro is for in-app upgrade prompts",
|
||||
"Does not attempt public pricing page optimization"
|
||||
],
|
||||
"files": []
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: popups
|
||||
description: When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also use when the user mentions "exit intent," "popup conversions," "modal optimization," "lead capture popup," "email popup," "announcement banner," "overlay," "collect emails with a popup," "exit popup," "scroll trigger," "sticky bar," or "notification bar." Use this for any overlay or interrupt-style conversion element. For forms outside of popups, see cro. For general page conversion optimization, see cro.
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# Popup CRO
|
||||
@@ -12,7 +12,7 @@ You are an expert in popup and modal optimization. Your goal is to create popups
|
||||
## 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 or specific to this task.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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, understand:
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "popups",
|
||||
"skill_name": "popup-cro",
|
||||
"evals": [
|
||||
{
|
||||
"id": 1,
|
||||
"prompt": "Help me create an exit-intent popup for our SaaS landing page. We want to capture emails from visitors who are about to leave without signing up. Our product is a social media scheduling tool.",
|
||||
"expected_output": "Should check for product-marketing.md first. Should identify the popup type as exit-intent email capture. Should apply the exit-intent popup design guidance: compelling headline (address why they're leaving or offer additional value), lead magnet or incentive (discount, free resource, extended trial), minimal form fields (email only), clear CTA, and easy close option. Should apply copy formulas from the skill. Should address trigger configuration (exit intent detection). Should recommend frequency rules (don't show again if dismissed). Should include benchmarks (exit intent popups typically 3-10% conversion).",
|
||||
"expected_output": "Should check for product-marketing-context.md first. Should identify the popup type as exit-intent email capture. Should apply the exit-intent popup design guidance: compelling headline (address why they're leaving or offer additional value), lead magnet or incentive (discount, free resource, extended trial), minimal form fields (email only), clear CTA, and easy close option. Should apply copy formulas from the skill. Should address trigger configuration (exit intent detection). Should recommend frequency rules (don't show again if dismissed). Should include benchmarks (exit intent popups typically 3-10% conversion).",
|
||||
"assertions": [
|
||||
"Checks for product-marketing.md",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Identifies as exit-intent popup type",
|
||||
"Includes compelling headline",
|
||||
"Includes lead magnet or incentive",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: pricing
|
||||
description: "When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' or 'should I offer a free plan.' Use this whenever someone is figuring out what to charge or how to structure their plans. For in-app upgrade screens, see paywalls."
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# Pricing Strategy
|
||||
@@ -12,7 +12,7 @@ You are an expert in SaaS pricing and monetization strategy. Your goal is to hel
|
||||
## 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.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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.
|
||||
|
||||
Gather this context (ask if not provided):
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"skill_name": "pricing",
|
||||
"skill_name": "pricing-strategy",
|
||||
"evals": [
|
||||
{
|
||||
"id": 1,
|
||||
"prompt": "Help me figure out pricing for our new SaaS product. It's a customer support platform for e-commerce stores. We're not sure whether to charge per agent, per ticket, or flat rate. Currently thinking $49-199/month range.",
|
||||
"expected_output": "Should check for product-marketing.md first. Should apply the three pricing axes framework: packaging (what's included in each tier), pricing metric (per agent, per ticket, flat rate — evaluate each), price point ($49-199 range evaluation). Should discuss value metrics and which aligns best with value delivered (per agent is common in support, but per ticket aligns with usage). Should recommend a good-better-best tier structure. Should address pricing psychology. Should provide a specific pricing recommendation with rationale.",
|
||||
"expected_output": "Should check for product-marketing-context.md first. Should apply the three pricing axes framework: packaging (what's included in each tier), pricing metric (per agent, per ticket, flat rate — evaluate each), price point ($49-199 range evaluation). Should discuss value metrics and which aligns best with value delivered (per agent is common in support, but per ticket aligns with usage). Should recommend a good-better-best tier structure. Should address pricing psychology. Should provide a specific pricing recommendation with rationale.",
|
||||
"assertions": [
|
||||
"Checks for product-marketing.md",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Applies three pricing axes framework",
|
||||
"Evaluates multiple pricing metrics",
|
||||
"Discusses which metric aligns with value delivered",
|
||||
@@ -81,7 +81,7 @@
|
||||
"assertions": [
|
||||
"Recognizes this as pricing page CRO, not pricing strategy",
|
||||
"References or defers to cro skill",
|
||||
"Explains that pricing is about pricing decisions",
|
||||
"Explains that pricing-strategy is about pricing decisions",
|
||||
"Does not attempt full page CRO audit"
|
||||
],
|
||||
"files": []
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
---
|
||||
name: product-marketing
|
||||
description: "When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' 'who is my target audience,' 'describe my product,' 'ICP,' 'ideal customer profile,' or wants to avoid repeating foundational information across marketing tasks. Use this at the start of any new project before using other marketing skills — it creates `.agents/product-marketing.md` that all other skills reference for product, audience, and positioning context."
|
||||
description: "When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' 'who is my target audience,' 'describe my product,' 'ICP,' 'ideal customer profile,' or wants to avoid repeating foundational information across marketing tasks. Use this at the start of any new project before using other marketing skills — it creates `.agents/product-marketing-context.md` that all other skills reference for product, audience, and positioning context."
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# Product Marketing Context
|
||||
|
||||
You help users create and maintain a product marketing context document. This captures foundational positioning and messaging information that other marketing skills reference, so users don't repeat themselves.
|
||||
|
||||
The document is stored at `.agents/product-marketing.md`.
|
||||
The document is stored at `.agents/product-marketing-context.md`.
|
||||
|
||||
## Workflow
|
||||
|
||||
### Step 1: Check for Existing Context
|
||||
|
||||
First, check if `.agents/product-marketing.md` already exists. Also check `.claude/product-marketing.md` and the legacy filename `product-marketing-context.md` (in either `.agents/` or `.claude/`) for older setups — if found anywhere other than `.agents/product-marketing.md`, offer to move it to the canonical location.
|
||||
First, check if `.agents/product-marketing-context.md` already exists. Also check `.claude/product-marketing-context.md` for older setups — if found there but not in `.agents/`, offer to move it.
|
||||
|
||||
**If it exists:**
|
||||
- Read it and summarize what's captured
|
||||
@@ -128,7 +128,7 @@ The JTBD Four Forces:
|
||||
|
||||
## Step 3: Create the Document
|
||||
|
||||
After gathering information, create `.agents/product-marketing.md` with this structure:
|
||||
After gathering information, create `.agents/product-marketing-context.md` with this structure:
|
||||
|
||||
```markdown
|
||||
# Product Marketing Context
|
||||
@@ -227,8 +227,8 @@ After gathering information, create `.agents/product-marketing.md` with this str
|
||||
|
||||
- Show the completed document
|
||||
- Ask if anything needs adjustment
|
||||
- Save to `.agents/product-marketing.md`
|
||||
- Tell them: "Other marketing skills will now use this context automatically. Run `/product-marketing` anytime to update it."
|
||||
- Save to `.agents/product-marketing-context.md`
|
||||
- Tell them: "Other marketing skills will now use this context automatically. Run `/product-marketing-context` anytime to update it."
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"skill_name": "product-marketing",
|
||||
"skill_name": "product-marketing-context",
|
||||
"evals": [
|
||||
{
|
||||
"id": 1,
|
||||
"prompt": "I want to set up my product marketing context. We're a B2B SaaS company that sells a customer feedback platform to product teams.",
|
||||
"expected_output": "Should check if .agents/product-marketing.md already exists. If not, should offer two options: (1) Auto-draft from codebase (recommended) or (2) Start from scratch. If user chooses start from scratch, should walk through sections conversationally one at a time. Should cover all applicable sections: Product Overview, Target Audience, Personas, Problems You Solve, Competitive Landscape, Differentiation, Objections, Switching Dynamics, Customer Language, Brand Voice, Proof Points, and Goals. Should create the file at .agents/product-marketing.md when complete.",
|
||||
"expected_output": "Should check if .agents/product-marketing-context.md already exists. If not, should offer two options: (1) Auto-draft from codebase (recommended) or (2) Start from scratch. If user chooses start from scratch, should walk through sections conversationally one at a time. Should cover all applicable sections: Product Overview, Target Audience, Personas, Problems You Solve, Competitive Landscape, Differentiation, Objections, Switching Dynamics, Customer Language, Brand Voice, Proof Points, and Goals. Should create the file at .agents/product-marketing-context.md when complete.",
|
||||
"assertions": [
|
||||
"Checks for existing product-marketing.md",
|
||||
"Checks for existing product-marketing-context.md",
|
||||
"Offers two options: auto-draft or start from scratch",
|
||||
"Covers applicable sections",
|
||||
"Walks through sections conversationally one at a time",
|
||||
"Creates file at .agents/product-marketing.md"
|
||||
"Creates file at .agents/product-marketing-context.md"
|
||||
],
|
||||
"files": []
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"prompt": "Update our product marketing context. We just added a new enterprise tier and our target audience has expanded to include VP of Engineering, not just Product Managers.",
|
||||
"expected_output": "Should check for existing .agents/product-marketing.md and read it. Should identify which sections need updating based on the changes: Target Audience (add VP of Engineering), Personas (add new persona), Product Overview (new enterprise tier, including pricing updates within that section), Objections (enterprise-specific), and Competitive Landscape (enterprise competitors). Should update only the relevant sections, preserving existing content that hasn't changed.",
|
||||
"expected_output": "Should check for existing .agents/product-marketing-context.md and read it. Should identify which sections need updating based on the changes: Target Audience (add VP of Engineering), Personas (add new persona), Product Overview (new enterprise tier, including pricing updates within that section), Objections (enterprise-specific), and Competitive Landscape (enterprise competitors). Should update only the relevant sections, preserving existing content that hasn't changed.",
|
||||
"assertions": [
|
||||
"Reads existing product-marketing.md",
|
||||
"Reads existing product-marketing-context.md",
|
||||
"Identifies sections that need updating",
|
||||
"Updates Target Audience with VP of Engineering",
|
||||
"Adds new persona for the expanded audience",
|
||||
@@ -39,14 +39,14 @@
|
||||
"Adapts questions for early-stage B2C mobile app",
|
||||
"Notes some sections may be sparse early on",
|
||||
"Skips non-applicable sections rather than forcing all 12",
|
||||
"Creates file at .agents/product-marketing.md"
|
||||
"Creates file at .agents/product-marketing-context.md"
|
||||
],
|
||||
"files": []
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"prompt": "Can you auto-draft our product marketing context from our existing codebase and marketing materials?",
|
||||
"expected_output": "Should activate the auto-draft workflow mode. Should scan the codebase for existing marketing context: README, landing page copy, pricing page, about page, meta descriptions, any existing documentation. Should draft the product-marketing.md from what it finds, filling in sections where information is available and flagging sections that need manual input. Should present the draft for review before saving.",
|
||||
"expected_output": "Should activate the auto-draft workflow mode. Should scan the codebase for existing marketing context: README, landing page copy, pricing page, about page, meta descriptions, any existing documentation. Should draft the product-marketing-context.md from what it finds, filling in sections where information is available and flagging sections that need manual input. Should present the draft for review before saving.",
|
||||
"assertions": [
|
||||
"Activates auto-draft workflow mode",
|
||||
"Scans codebase for existing marketing materials",
|
||||
@@ -59,7 +59,7 @@
|
||||
{
|
||||
"id": 5,
|
||||
"prompt": "Do we have a product marketing context set up? I want to make sure the other marketing skills have context about our product.",
|
||||
"expected_output": "Should check for .agents/product-marketing.md (and the older .claude/product-marketing.md location). Should report whether it exists and summarize its contents if found. If it doesn't exist, should offer to create one and explain why it's valuable (other skills like copywriting, cro, seo-audit check for it first). Should explain how other skills use this context document.",
|
||||
"expected_output": "Should check for .agents/product-marketing-context.md (and the older .claude/product-marketing-context.md location). Should report whether it exists and summarize its contents if found. If it doesn't exist, should offer to create one and explain why it's valuable (other skills like copywriting, cro, seo-audit check for it first). Should explain how other skills use this context document.",
|
||||
"assertions": [
|
||||
"Checks both file locations",
|
||||
"Reports whether context doc exists",
|
||||
@@ -72,10 +72,10 @@
|
||||
{
|
||||
"id": 6,
|
||||
"prompt": "Write homepage copy for our SaaS product.",
|
||||
"expected_output": "Should recognize this is a copywriting task, not a product marketing context task. Should check for product-marketing.md (as other skills do), and if it doesn't exist, may suggest creating one first. But should defer to the copywriting skill for actually writing the homepage copy.",
|
||||
"expected_output": "Should recognize this is a copywriting task, not a product marketing context task. Should check for product-marketing-context.md (as other skills do), and if it doesn't exist, may suggest creating one first. But should defer to the copywriting skill for actually writing the homepage copy.",
|
||||
"assertions": [
|
||||
"Recognizes this as a copywriting task",
|
||||
"May check for or suggest creating product-marketing.md",
|
||||
"May check for or suggest creating product-marketing-context.md",
|
||||
"References or defers to copywriting skill for the actual copy",
|
||||
"Does not attempt to write homepage copy using context creation patterns"
|
||||
],
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: programmatic-seo
|
||||
description: When the user wants to create SEO-driven pages at scale using templates and data. Also use when the user mentions "programmatic SEO," "template pages," "pages at scale," "directory pages," "location pages," "[keyword] + [city] pages," "comparison pages," "integration pages," "building many pages for SEO," "pSEO," "generate 100 pages," "data-driven pages," or "templated landing pages." Use this whenever someone wants to create many similar pages targeting different keywords or locations. For auditing existing SEO issues, see seo-audit. For content strategy planning, see content-strategy.
|
||||
metadata:
|
||||
version: 2.0.0
|
||||
version: 1.1.0
|
||||
---
|
||||
|
||||
# Programmatic SEO
|
||||
@@ -12,7 +12,7 @@ You are an expert in programmatic SEO—building SEO-optimized pages at scale us
|
||||
## 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 or specific to this task.
|
||||
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.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 designing a programmatic SEO strategy, understand:
|
||||
|
||||
@@ -233,6 +233,6 @@ Watch for: Thin content warnings, Ranking drops, Manual actions, Crawl errors
|
||||
## Related Skills
|
||||
|
||||
- **seo-audit**: For auditing programmatic pages after launch
|
||||
- **schema**: For adding structured data
|
||||
- **schema-markup**: For adding structured data
|
||||
- **site-architecture**: For page hierarchy, URL structure, and internal linking
|
||||
- **competitors**: For comparison page frameworks
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
{
|
||||
"id": 1,
|
||||
"prompt": "We want to create programmatic SEO pages for our CRM. We're thinking of 'CRM for [industry]' pages — like 'CRM for Real Estate,' 'CRM for Healthcare,' etc. How should we approach this?",
|
||||
"expected_output": "Should check for product-marketing.md first. Should identify this as the Personas playbook (industry-specific pages). Should apply the core principles: unique value per page (not just swapping the industry name), proprietary data or insights per industry, clean URL structure. Should recommend the implementation framework: keyword research for each industry variation, data requirements (what industry-specific content makes each page unique), template design, internal linking strategy between industry pages and main pages, and indexation strategy. Should warn against thin content (just template + keyword swap).",
|
||||
"expected_output": "Should check for product-marketing-context.md first. Should identify this as the Personas playbook (industry-specific pages). Should apply the core principles: unique value per page (not just swapping the industry name), proprietary data or insights per industry, clean URL structure. Should recommend the implementation framework: keyword research for each industry variation, data requirements (what industry-specific content makes each page unique), template design, internal linking strategy between industry pages and main pages, and indexation strategy. Should warn against thin content (just template + keyword swap).",
|
||||
"assertions": [
|
||||
"Checks for product-marketing.md",
|
||||
"Checks for product-marketing-context.md",
|
||||
"Identifies as Personas playbook",
|
||||
"Applies core principles (unique value, proprietary data, clean URLs)",
|
||||
"Recommends keyword research per variation",
|
||||
@@ -20,7 +20,7 @@
|
||||
{
|
||||
"id": 2,
|
||||
"prompt": "Create a comparison page strategy. We want pages like 'Notion vs Asana', 'Notion vs Monday', etc. for all our competitors. We have 15 competitors.",
|
||||
"expected_output": "Should identify this as the Comparisons playbook. Should apply the programmatic approach for competitor comparison pages at scale. Should recommend: template structure for comparison pages, unique data per comparison (not just the same template with names swapped), keyword research for each '[competitor A] vs [competitor B]' variation, URL structure (/compare/notion-vs-asana), internal linking between comparison pages, and quality checks. Should cross-reference the competitors skill for page content structure.",
|
||||
"expected_output": "Should identify this as the Comparisons playbook. Should apply the programmatic approach for competitor comparison pages at scale. Should recommend: template structure for comparison pages, unique data per comparison (not just the same template with names swapped), keyword research for each '[competitor A] vs [competitor B]' variation, URL structure (/compare/notion-vs-asana), internal linking between comparison pages, and quality checks. Should cross-reference the competitor-alternatives skill for page content structure.",
|
||||
"assertions": [
|
||||
"Identifies as Comparisons playbook",
|
||||
"Recommends template structure for scale",
|
||||
@@ -28,7 +28,7 @@
|
||||
"Includes keyword research for variations",
|
||||
"Provides URL structure recommendation",
|
||||
"Includes internal linking strategy",
|
||||
"Cross-references competitors skill",
|
||||
"Cross-references competitor-alternatives skill",
|
||||
"Applies quality checks"
|
||||
],
|
||||
"files": []
|
||||
|
||||
@@ -1,256 +0,0 @@
|
||||
---
|
||||
name: prospecting
|
||||
description: When the user wants to find, qualify, and build a list of prospects to reach out to — across B2B SaaS, general B2B, or local small businesses. Also use when the user mentions "prospecting," "build a prospect list," "find prospects," "find leads," "lead gen list," "find SaaS companies that," "find B2B companies," "find local businesses," "ICP-fit accounts," "who should we go after," "outbound list," "target account list," "find clients near me," "businesses without websites," "prospect research," or "qualified leads." Use this for the list-building and qualification phase. For writing the outbound copy after the list is built, see cold-email. For deep competitive research on specific accounts, see competitor-profiling.
|
||||
metadata:
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# Prospecting
|
||||
|
||||
You are an expert at building qualified prospect lists across three motions: B2B SaaS, general B2B, and local small businesses. Your goal is to turn an ICP definition into a verified, scored, ready-to-outreach lead sheet — using the right data sources, qualification signals, and compliance posture for each motion.
|
||||
|
||||
## 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.
|
||||
|
||||
## Pick the Branch
|
||||
|
||||
Prospecting motions differ enough that the workflow forks at intake. Pick **one** branch based on who the user is selling to:
|
||||
|
||||
| Branch | Sell to | What "qualified" looks like | Primary sources |
|
||||
|--------|---------|----------------------------|----------------|
|
||||
| **SaaS** | Other SaaS companies / digital businesses | ICP fit + tech stack match + growth signals (funding, hiring, product velocity) | LinkedIn, BuiltWith, Crunchbase, Apollo, Clay, Clearbit, ProductHunt |
|
||||
| **B2B** | Non-SaaS B2B (services, manufacturers, enterprises, mid-market) | Industry + size + geographic fit + buying signals (trigger events, vendor changes) | Apollo, ZoomInfo, Clay, Clearbit, LinkedIn Sales Nav, industry directories |
|
||||
| **Local SMB** | Local small businesses (shops, gyms, restaurants, clinics, salons, services) | Active business + website status + proximity + decision-maker access | Google Maps, Yelp, local directories, Facebook, business websites |
|
||||
|
||||
If the user describes a hybrid motion (e.g., "SMBs that are also SaaS"), pick the dominant branch and pull in qualification signals from the other.
|
||||
|
||||
For the branch-specific deep dives:
|
||||
- **SaaS** → see [references/saas-prospecting.md](references/saas-prospecting.md)
|
||||
- **B2B** → see [references/b2b-prospecting.md](references/b2b-prospecting.md)
|
||||
- **Local SMB** → see [references/local-prospecting.md](references/local-prospecting.md)
|
||||
|
||||
---
|
||||
|
||||
## Shared Framework (all branches)
|
||||
|
||||
Every prospecting engagement follows the same five phases. Tools and qualification signals change per branch; the phases don't.
|
||||
|
||||
### Phase 1 — Define the ICP
|
||||
|
||||
Pull from `product-marketing.md` if available. Otherwise, gather:
|
||||
|
||||
1. **Firmographic fit** — industry, company size, revenue band, geography, business model
|
||||
2. **Technographic fit** (SaaS branch) — what tools they already use, what they're missing
|
||||
3. **Buying signal** — why now? (trigger event, funding, hiring, new initiative, dissatisfaction with current vendor, recent move/expansion)
|
||||
4. **Decision-maker profile** — role, seniority, what they care about
|
||||
5. **Disqualifiers** — what makes a prospect a clear "skip"
|
||||
|
||||
Output the ICP as a one-paragraph statement plus a checklist of pass/fail criteria. Don't move to discovery without this.
|
||||
|
||||
### Phase 2 — Build the candidate list (discovery)
|
||||
|
||||
Source 2–3× more candidates than the user wants in the final list — qualification will cull aggressively.
|
||||
|
||||
- **SaaS / B2B**: combine 2–3 sources for cross-verification. Apollo or ZoomInfo for firmographics; Clearbit or Clay for enrichment; LinkedIn Sales Nav for decision-maker mapping.
|
||||
- **Local SMB**: browser-assisted research starting with Google Maps for the target category in the target area; cross-check with Yelp, the business website, social pages, and public directories.
|
||||
|
||||
If the user's list quality bar is high, smaller is better. 25 verified leads beats 250 mostly-junk ones.
|
||||
|
||||
### Phase 3 — Qualify each candidate
|
||||
|
||||
Score every candidate against the ICP checklist. Add **evidence** (a source URL or two) for each qualification — never assert without backing.
|
||||
|
||||
**Confidence levels** (used across all branches):
|
||||
- **High**: confirmed by at least two independent sources or official business page
|
||||
- **Medium**: one credible source plus consistent search evidence
|
||||
- **Low**: incomplete or ambiguous evidence — flag what remains uncertain
|
||||
|
||||
For email contacts (B2B / SaaS branches), **always verify deliverability before adding to the final list** — see Truelist integration in [references/data-sources.md](references/data-sources.md). Don't ship leads with invalid or risky emails.
|
||||
|
||||
### Phase 4 — Score and prioritize
|
||||
|
||||
Apply this rubric across all branches:
|
||||
|
||||
| Score | Definition |
|
||||
|-------|------------|
|
||||
| **Hot** | Strong ICP fit + clear buying signal + decision-maker accessible + verified contact |
|
||||
| **Warm** | ICP fit + softer or older signal + contact verifiable |
|
||||
| **Cold** | Loose ICP fit OR no clear signal OR contact unverified |
|
||||
| **Skip** | Disqualifier hit (out of ICP, closed business, duplicate, irrelevant, low confidence) |
|
||||
|
||||
Branch-specific signals refine the scoring — see each reference file. Default ratio target: ~20% Hot, ~30% Warm, rest Cold/Skip.
|
||||
|
||||
### Phase 5 — Output the lead sheet
|
||||
|
||||
Default to a markdown table in chat. Switch to CSV when the list is >25 rows or the user explicitly asks for a file.
|
||||
|
||||
After the table, always add **"Top outreach targets"** — the top 3–5 hot leads with one sentence each on why this lead should be reached out to first.
|
||||
|
||||
Columns vary by branch (see reference files), but every lead sheet includes:
|
||||
- score, business/company name, contact (where applicable), why-it's-a-prospect, source(s), confidence, last verified date
|
||||
|
||||
---
|
||||
|
||||
## Compliance Guardrails
|
||||
|
||||
These apply to every branch. **Read first, every engagement.**
|
||||
|
||||
1. **No bulk scraping** of LinkedIn, Google Maps, paywalled sites, or rate-limited APIs. Browser is an assisted research tool, not a scraper.
|
||||
2. **No CAPTCHA, login wall, or bot protection bypass.** If a site requires it, work with what's publicly visible.
|
||||
3. **Public business contact channels only.** Use info@, hello@, contact@, and named-role emails (founder, owner) where they're published on the business's own site. Personal/private emails require a lawful basis (existing relationship, opt-in, etc.).
|
||||
4. **GDPR / CAN-SPAM / CASL aware.** Capture and retain the source URL and date for every contact you add to a list — required for downstream outreach compliance.
|
||||
5. **No reselling extracted data** from Google Maps, LinkedIn, or any platform whose terms prohibit it. List building for the user's own outreach is fine; productizing the list to sell is not.
|
||||
6. **Rate limit yourself.** Even on public sources, space requests. Don't fingerprint as a bot.
|
||||
|
||||
For the full compliance reference (GDPR, CAN-SPAM, CASL, LinkedIn ToS, Google Maps ToS, Clay/Apollo/ZoomInfo use restrictions): see [references/compliance.md](references/compliance.md).
|
||||
|
||||
---
|
||||
|
||||
## Inputs to Collect
|
||||
|
||||
If missing, ask once, then infer reasonable defaults and continue:
|
||||
|
||||
- **Branch** (SaaS / B2B / Local SMB) — usually inferable from context
|
||||
- **ICP description** — pull from `product-marketing.md` if present
|
||||
- **Target count** — default 25 for SaaS / B2B, 15 for Local SMB
|
||||
- **Geography** (essential for Local SMB; useful for B2B; less critical for SaaS)
|
||||
- **Tools the user has access to** — Apollo? Clay? ZoomInfo? Hunter? Truelist? Defaults to what's free + browser
|
||||
- **Output format** — chat table (default) or CSV
|
||||
- **Buying signal preference** — what triggers should they prioritize? (funding rounds, hiring, recent move, etc.)
|
||||
|
||||
---
|
||||
|
||||
## Tool Selection Quick Picks
|
||||
|
||||
Full breakdown in [references/data-sources.md](references/data-sources.md). Quick picks:
|
||||
|
||||
| If the user has access to... | Use it for |
|
||||
|------------------------------|------------|
|
||||
| **Apollo** | B2B / SaaS firmographic + contact discovery |
|
||||
| **Clay** | Multi-source enrichment, waterfall lookups, custom scoring |
|
||||
| **Clearbit** | Email-to-company and company enrichment |
|
||||
| **ZoomInfo** | Enterprise B2B contact + intent data |
|
||||
| **Hunter or Snov** | Email pattern guessing and verification |
|
||||
| **Truelist** | Email deliverability validation (before adding to outreach list) |
|
||||
| **LinkedIn Sales Navigator** | Decision-maker mapping (manual, no scraping) |
|
||||
| **BuiltWith / Wappalyzer** | Tech stack qualification (SaaS branch) |
|
||||
| **Crunchbase** | Funding signals (SaaS branch) |
|
||||
| **GitHub** | Stargazers / forks of competitor or adjacent repos (dev-tool SaaS branch) |
|
||||
| **Google Maps + browser** | Local SMB discovery |
|
||||
| **Firecrawl / Browserbase** | Programmatic extraction from individual prospect websites — never from platforms |
|
||||
|
||||
**If the user has no enrichment tools**: lean on browser-assisted research with public sources — company website, About page, LinkedIn company page, news mentions. Slower but works.
|
||||
|
||||
---
|
||||
|
||||
## Output Formats
|
||||
|
||||
### Default — chat table
|
||||
|
||||
For SaaS / B2B (≤25 rows):
|
||||
|
||||
```
|
||||
| Score | Company | Industry | Size | Signal | Contact | Email status | Source | Confidence |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
```
|
||||
|
||||
For Local SMB (≤15 rows) — port from the local-prospector reference:
|
||||
|
||||
```
|
||||
| Score | Business | Category | Area | Website status | Website/Social | Phone | Why it's a prospect | Confidence |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
```
|
||||
|
||||
### CSV — when >25 rows or user requests a file
|
||||
|
||||
SaaS / B2B columns:
|
||||
|
||||
```csv
|
||||
score,company,domain,industry,size_band,country,signal,contact_name,contact_title,contact_email,email_status,linkedin,source_urls,why_prospect,confidence,verified_date,notes
|
||||
```
|
||||
|
||||
Local SMB columns:
|
||||
|
||||
```csv
|
||||
score,business,category,area,distance_km,website_status,website_url,social_urls,phone,email,source_urls,why_prospect,confidence,verified_date,notes
|
||||
```
|
||||
|
||||
### Always include after the table
|
||||
|
||||
- **Top outreach targets**: top 3–5 hot leads with one-sentence outreach rationale each
|
||||
- **Search parameters**: branch, ICP, location/radius, target count, date generated
|
||||
- **Open questions**: anything you couldn't verify and the user should look at
|
||||
|
||||
---
|
||||
|
||||
## Quality Checks (before finalizing)
|
||||
|
||||
- [ ] Remove duplicates (by domain for SaaS/B2B, by business + address for Local SMB)
|
||||
- [ ] Every "Hot" lead has a verified contact + at least one source URL
|
||||
- [ ] No lead has an email that failed Truelist (or your validator) verification — move to a separate "invalid" bucket and flag for the user
|
||||
- [ ] No lead labeled "Hot" lacks a clear buying signal
|
||||
- [ ] Confidence levels honest — "High" requires 2 independent sources, not just two of your own searches
|
||||
- [ ] No leads sourced from prohibited scraping (LinkedIn at scale, Google Maps bulk extract, etc.)
|
||||
- [ ] Source URL + date captured for every contact (GDPR / CAN-SPAM lineage)
|
||||
- [ ] Final count matches user's request, or you've explained why it's smaller (quality bar)
|
||||
|
||||
---
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
1. **Starting discovery without an ICP**. Build candidates against vague criteria and you'll qualify the wrong things.
|
||||
2. **Treating data sources as authoritative without cross-checks**. Apollo and ZoomInfo are out of date often; verify before scoring as "Hot."
|
||||
3. **Adding contacts without email verification**. Cold email reputation tanks fast with bounces — always validate.
|
||||
4. **Bulk scraping LinkedIn or Google Maps**. Real risk: account suspension + ToS violation. Browser as an assisted tool only.
|
||||
5. **Mixing branches**. Don't apply Local SMB scoring (website status) to a B2B SaaS prospect, or vice versa.
|
||||
6. **"Hot" labels without buying signals**. ICP fit alone is not enough — the signal is what makes the timing right.
|
||||
7. **No source URLs**. Every claim should be traceable to a public source. Future outreach depends on this lineage.
|
||||
8. **Ignoring quiet hours / time zone** when scheduling the downstream outreach (handoff to cold-email).
|
||||
9. **Forgetting to retain consent / lineage records**. Required for GDPR DSARs and CAN-SPAM audits.
|
||||
|
||||
---
|
||||
|
||||
## Task-Specific Questions
|
||||
|
||||
1. Which branch — SaaS, B2B, or Local SMB?
|
||||
2. What's your ICP? (Or: should I pull from your product-marketing context?)
|
||||
3. How many qualified leads do you want?
|
||||
4. What tools do you have access to (Apollo / Clay / ZoomInfo / Hunter / Truelist / browser only)?
|
||||
5. What's the triggering buying signal you care most about?
|
||||
6. Geography or radius (Local SMB / B2B)?
|
||||
7. Chat table or CSV?
|
||||
|
||||
---
|
||||
|
||||
## Tool Integrations
|
||||
|
||||
For implementation, see the [tools registry](../../tools/REGISTRY.md). Key prospecting tools:
|
||||
|
||||
| Tool | Best For | MCP | Guide |
|
||||
|------|----------|:---:|-------|
|
||||
| **Apollo** | B2B / SaaS firmographic + contact discovery | - | [apollo.md](../../tools/integrations/apollo.md) |
|
||||
| **Clay** | Multi-source enrichment + waterfall | ✓ | [clay.md](../../tools/integrations/clay.md) |
|
||||
| **Clearbit** | Email-to-company enrichment | - | [clearbit.md](../../tools/integrations/clearbit.md) |
|
||||
| **ZoomInfo** | Enterprise B2B contact + intent | ✓ | [zoominfo.md](../../tools/integrations/zoominfo.md) |
|
||||
| **Hunter** | Email pattern + verification | - | [hunter.md](../../tools/integrations/hunter.md) |
|
||||
| **Snov** | Email finder + verifier | - | [snov.md](../../tools/integrations/snov.md) |
|
||||
| **Truelist** | Email deliverability validation | - | [truelist.md](../../tools/integrations/truelist.md) |
|
||||
| **Outreach** | Sales engagement (post-list) | ✓ | [outreach.md](../../tools/integrations/outreach.md) |
|
||||
| **RB2B** | Visitor identification (warm intent) | - | [rb2b.md](../../tools/integrations/rb2b.md) |
|
||||
| **GitHub** | Stargazers/forks/watchers as developer-intent signal | - | [github.md](../../tools/integrations/github.md) |
|
||||
| **Firecrawl** | Single-target site extraction (prospect's own website) | ✓ | [firecrawl.md](../../tools/integrations/firecrawl.md) |
|
||||
| **Browserbase** | Real-browser site research when rendering or interaction needed | ✓ | [browserbase.md](../../tools/integrations/browserbase.md) |
|
||||
|
||||
---
|
||||
|
||||
## Related Skills
|
||||
|
||||
- **cold-email**: For writing outbound sequences against the qualified list (the natural next step after prospecting)
|
||||
- **customer-research**: For understanding why current customers buy — informs the ICP definition
|
||||
- **competitor-profiling**: For deeper research on individual accounts (different from list-building qualification)
|
||||
- **revops**: For lead routing, lifecycle, and CRM handoff after prospecting
|
||||
- **sales-enablement**: For battle cards and one-pagers used in the outreach
|
||||
- **directory-submissions**: For inbound discovery surfaces (the prospects might find you back)
|
||||
- **product-marketing**: For the ICP definition that anchors every prospecting engagement
|
||||
@@ -1,107 +0,0 @@
|
||||
{
|
||||
"skill_name": "prospecting",
|
||||
"evals": [
|
||||
{
|
||||
"id": 1,
|
||||
"prompt": "We're a B2B SaaS selling RevOps tooling at $30K ACV. Build me a list of 25 prospects.",
|
||||
"expected_output": "Should check for product-marketing.md first. Should identify this as the SaaS branch. Should run Phase 1 ICP definition pulling from product-marketing context or asking targeted questions (target industry, headcount range, tech stack signals, funding stage). Should propose discovery sources appropriate for SaaS at $30K ACV: Apollo for breadth, Clay for waterfall enrichment, Crunchbase for funding signals, BuiltWith/Wappalyzer for tech stack, LinkedIn Sales Nav for decision-mapping (manual). Should ask about user's tool access before assuming. Should source 50-75 candidates (2-3x target) before qualifying. Should flag that email validation via Truelist or similar is non-negotiable before final list. Should output SaaS-branch chat table columns (Score | Company | Industry | Size | Signal | Contact | Email status | Confidence) followed by top 3-5 hot leads with one-sentence rationale each. Should reference references/saas-prospecting.md.",
|
||||
"assertions": [
|
||||
"Checks for product-marketing.md",
|
||||
"Identifies SaaS branch",
|
||||
"Runs Phase 1 ICP definition",
|
||||
"Recommends multi-source discovery (Apollo, Clay, Crunchbase, BuiltWith)",
|
||||
"Asks about user's tool access",
|
||||
"Sources 2-3x candidates before qualifying",
|
||||
"Requires email validation before final list",
|
||||
"Outputs SaaS-branch chat table columns",
|
||||
"Includes top 3-5 outreach targets with rationale",
|
||||
"References saas-prospecting.md"
|
||||
],
|
||||
"files": []
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"prompt": "Find me 25 SaaS companies that just raised a Series B in the last 60 days and use HubSpot.",
|
||||
"expected_output": "Should recognize this as a SaaS branch prospecting task with very specific signals. Should identify the trigger event (Series B in last 60 days) and the technographic filter (uses HubSpot). Should recommend a workflow: (1) Crunchbase or Pitchbook for funding signal filter (Series B + date), (2) BuiltWith or Clay's waterfall for tech stack verification (uses HubSpot), (3) cross-check via business websites and LinkedIn. Should note this is a tight ICP that should yield high-confidence matches if data sources are current. Should flag freshness concerns: Crunchbase data depends on self-reporting, BuiltWith refresh cycles aren't real-time. Should recommend cross-source verification for the funding date specifically. Should output a SaaS-branch chat table with the funding round + date in the Signal column. Should include verified email validation before delivering.",
|
||||
"assertions": [
|
||||
"Identifies as SaaS branch",
|
||||
"Identifies funding signal + tech stack filter",
|
||||
"Recommends Crunchbase or Pitchbook for funding",
|
||||
"Recommends BuiltWith or Clay for HubSpot verification",
|
||||
"Notes data freshness concerns",
|
||||
"Recommends cross-source verification",
|
||||
"Outputs signal column showing round + date",
|
||||
"Requires email validation"
|
||||
],
|
||||
"files": []
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"prompt": "I run a marketing agency. Find me 25 mid-market manufacturers in the Midwest US who recently hired a new CMO.",
|
||||
"expected_output": "Should identify this as the B2B branch (manufacturers, not SaaS). Should run Phase 1 ICP definition: industry (manufacturing, with NAICS code if precision matters), size (mid-market = typically 200-2000 employees), geography (Midwest US states), trigger event (CMO hire in last 90-180 days). Should propose discovery: Apollo or ZoomInfo for firmographic filter, LinkedIn Sales Nav for CMO hire detection (job changes), Google Alerts on press releases for trigger events. Should warn that CMO hires aren't always in public databases — LinkedIn Sales Nav alerts on job changes is the most reliable source. Should output B2B-branch chat table with the CMO trigger as the signal. Should reference references/b2b-prospecting.md. Should mention compliance: GDPR less likely (US-only), CAN-SPAM applies, capture source URL + date for every contact.",
|
||||
"assertions": [
|
||||
"Identifies B2B branch (not SaaS)",
|
||||
"Runs Phase 1 ICP definition with NAICS or industry classification",
|
||||
"Specifies mid-market size band",
|
||||
"Specifies Midwest US geography",
|
||||
"Identifies trigger event (CMO hire)",
|
||||
"Recommends Apollo/ZoomInfo + LinkedIn Sales Nav",
|
||||
"Notes CMO hires often only on LinkedIn",
|
||||
"Outputs B2B-branch chat table",
|
||||
"Mentions CAN-SPAM and source URL capture",
|
||||
"References b2b-prospecting.md"
|
||||
],
|
||||
"files": []
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"prompt": "We sell to industrial distributors. Build a list of 25 prospects.",
|
||||
"expected_output": "Should identify this as the B2B branch. Should run Phase 1 ICP definition asking targeted questions: distributor size, geography, vertical specialty, buying patterns. Should propose discovery: Apollo or ZoomInfo for firmographic depth, industry-specific directories (e.g., NAW for wholesale distributors, ISA for industrial sales agencies), trade show exhibitor lists. Should note state business registries and Chamber of Commerce as verification sources. Should propose trigger events: new location, recent acquisition, leadership change, posting RFPs. Should warn that industrial distributor data is often spotty in major databases — cross-check with company website + LinkedIn for size and ownership signals. Should output B2B-branch chat table. Should note ICP fit precision matters more than initial volume for this kind of niche prospecting.",
|
||||
"assertions": [
|
||||
"Identifies B2B branch",
|
||||
"Runs Phase 1 ICP definition asking targeted questions",
|
||||
"Recommends industry-specific directories beyond Apollo/ZoomInfo",
|
||||
"Mentions trade show exhibitor lists",
|
||||
"Identifies relevant trigger events",
|
||||
"Warns about data spottiness for industrial",
|
||||
"Recommends cross-verification with business websites + LinkedIn",
|
||||
"Notes ICP fit precision over volume"
|
||||
],
|
||||
"files": []
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"prompt": "I build websites for local businesses. Find me 15 prospects near Austin, TX who don't have a website.",
|
||||
"expected_output": "Should identify as Local SMB branch. Should run Phase 1 ICP definition: business category (ask user — gyms, restaurants, salons, etc. matter), radius (default 20 km from Austin), target count (15). Should run the browser research workflow: search Google Maps for category + Austin, build candidate list from visible results, cross-check via business name + city web search to verify website status. Should apply the 4-tier website status classification (No site found / Social only / Weak site / Has site) — prioritize No site + Social only as Hot. Should score: Hot (no site + active + phone + within radius), Warm (weak site), Cold (has site), Skip (closed/duplicate/out of scope). Should output Local SMB chat table (Score | Business | Category | Area | Distance | Website status | Website/Social | Phone | Why prospect | Confidence). Should add 'Best first outreach targets' top 3 with reasoning. Should reference references/local-prospecting.md. Should warn against bulk-scraping Google Maps (ToS violation) — browser-assisted research only.",
|
||||
"assertions": [
|
||||
"Identifies Local SMB branch",
|
||||
"Asks about business category if not specified",
|
||||
"Defaults radius to 20km",
|
||||
"Runs browser research workflow",
|
||||
"Applies 4-tier website status classification",
|
||||
"Uses Hot/Warm/Cold/Skip scoring",
|
||||
"Outputs Local SMB chat table columns",
|
||||
"Adds top 3 outreach targets",
|
||||
"References local-prospecting.md",
|
||||
"Warns against bulk-scraping Google Maps"
|
||||
],
|
||||
"files": []
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"prompt": "I have a list of 200 prospect emails from Apollo. How do I know which ones are deliverable before I start outreach?",
|
||||
"expected_output": "Should explain the deliverability validation step in Phase 3. Should recommend Truelist (the integration in this pack) for bulk validation. Should explain the email_state classification output: ok (deliverable), email_invalid (bounces, exclude), risky (deliverable with risk like role or disposable, include cautiously), unknown (couldn't determine, skip or re-verify), accept_all (catch-all domain, include cautiously). Should warn that Apollo data accuracy is typically 60-80% — sending without validation will tank sender reputation (bounce rate >2% triggers ISP throttling and reputation damage). Should recommend the workflow: bulk POST to /api/v1/verify or CSV upload → keep ok, include risky/accept_all cautiously, exclude email_invalid, re-verify unknown → hand off to outreach. Should note Truelist also has an official MCP server for agent-driven validation. Should note cold email reputation is hard to recover once damaged — validation is non-negotiable, not optional. Should mention Hunter and Snov as alternatives with built-in verification. Should reference truelist.md integration guide.",
|
||||
"assertions": [
|
||||
"Recommends Truelist for bulk validation",
|
||||
"Explains email_state values (ok, email_invalid, risky, unknown, accept_all)",
|
||||
"Warns Apollo accuracy is 60-80%",
|
||||
"Cites 2% bounce rate threshold for reputation damage",
|
||||
"Recommends workflow: validate, keep ok, exclude email_invalid",
|
||||
"Mentions Truelist MCP server for agent workflows",
|
||||
"Mentions cold email reputation is hard to recover",
|
||||
"References truelist.md or data-sources.md"
|
||||
],
|
||||
"files": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,106 +0,0 @@
|
||||
# B2B Prospecting Reference
|
||||
|
||||
For when the user sells to non-SaaS B2B — services, agencies, manufacturers, mid-market and enterprise companies, professional services firms.
|
||||
|
||||
---
|
||||
|
||||
## ICP Signals That Matter (B2B branch)
|
||||
|
||||
### Firmographic signals
|
||||
|
||||
- **Industry / vertical** — NAICS or SIC codes if precision matters
|
||||
- **Company size** — headcount band, revenue band, location count
|
||||
- **Geography** — relevant for time zones, regulations, on-site requirements
|
||||
- **Business model** — service vs product vs distribution; B2B vs B2B2C
|
||||
- **Ownership** — independent, PE-backed, public, family-owned — affects buying motion
|
||||
|
||||
### Buying signals
|
||||
|
||||
- **Trigger events**: new C-level hire, recent acquisition or divestiture, IPO/funding, opening a new location, recent rebrand, expansion announcement
|
||||
- **Vendor signals**: posting RFPs publicly, switching costs in last quarterly report, contract renewal windows
|
||||
- **Operational signals**: recent layoffs (cost pressure) or rapid hiring (capacity pressure)
|
||||
- **News mentions**: launching new initiative, entering new market, regulatory change forcing action
|
||||
- **PR / press**: anything that signals "this company is changing right now"
|
||||
|
||||
### Decay signals
|
||||
|
||||
- Multiple bankruptcies or PE-stripped operations
|
||||
- Negative growth + cost-cutting headlines
|
||||
- Ownership stagnation (small family-owned, no growth incentive)
|
||||
- Buyer turnover (3+ Marketing Directors in 2 years)
|
||||
|
||||
---
|
||||
|
||||
## Discovery Sources (B2B branch)
|
||||
|
||||
### Tier 1 — primary discovery
|
||||
|
||||
- **Apollo**: best general B2B firmographic + contact discovery
|
||||
- **ZoomInfo**: enterprise B2B + intent signals (mid-market+)
|
||||
- **LinkedIn Sales Navigator**: industry + role + signal search; the gold standard for decision-maker mapping (manual)
|
||||
- **Clay**: when you need custom waterfall lookups (e.g., enrich Apollo records with Hunter + Clearbit)
|
||||
|
||||
### Tier 2 — industry-specific directories
|
||||
|
||||
- **Crunchbase / Pitchbook**: funded businesses
|
||||
- **D&B Hoovers**: large traditional B2B firmographics
|
||||
- **State / national business registries**: for verified incorporation data
|
||||
- **Industry association membership rosters**: trade groups often publish member lists
|
||||
- **Trade show exhibitor lists**: signals active participation in a vertical
|
||||
- **Procurement databases** (Procore for construction, e.g.): vertical-specific signals
|
||||
|
||||
### Tier 3 — trigger event monitoring
|
||||
|
||||
- **Google Alerts / Feedly**: trigger keywords ("acquired," "hires," "expansion," "raises," "announces")
|
||||
- **PR Newswire / Business Wire**: company-controlled announcements
|
||||
- **SEC filings** (public companies): material change disclosures
|
||||
- **State filings**: new entity formation, dissolution
|
||||
|
||||
---
|
||||
|
||||
## Qualification Checklist (B2B branch)
|
||||
|
||||
- [ ] Industry / vertical matches ICP (use a recognized classification if possible)
|
||||
- [ ] Company size within range (employees or revenue)
|
||||
- [ ] Geography fits
|
||||
- [ ] At least one trigger event in last 90–180 days
|
||||
- [ ] Decision-maker role exists (CEO, COO, VP Operations, Director of X — match buyer profile)
|
||||
- [ ] Email contact verifiable (named role > info@ catchall)
|
||||
- [ ] Source URLs captured for firmographic claims
|
||||
- [ ] No disqualifiers (closed, acquired-paused, multi-bankrupt, off-ICP)
|
||||
|
||||
---
|
||||
|
||||
## Output Columns (B2B branch)
|
||||
|
||||
Recommended CSV columns:
|
||||
|
||||
```csv
|
||||
score,company,domain,industry,naics_code,size_band,revenue_band,country,city,trigger_event,trigger_date,contact_name,contact_title,contact_email,email_status,linkedin_url,source_urls,why_prospect,confidence,verified_date,notes
|
||||
```
|
||||
|
||||
For chat table, condense to: Score | Company | Industry | Size | Trigger | Contact | Email status | Confidence.
|
||||
|
||||
---
|
||||
|
||||
## Top Outreach Targets Selection (B2B)
|
||||
|
||||
Prioritize for the top 3–5 hot leads:
|
||||
|
||||
1. **Trigger event recency** — 30 days beats 6 months
|
||||
2. **Trigger event specificity** — new CMO hire in your buyer's role beats "company in the news"
|
||||
3. **Decision-maker access** — named contact with verified email + LinkedIn beats role-only
|
||||
4. **Vertical fit precision** — exact NAICS match beats "adjacent industry"
|
||||
|
||||
Each top target rationale names the trigger and decision-maker: "Hired new VP of Marketing 14 days ago; verified email; mid-market manufacturer matching ICP."
|
||||
|
||||
---
|
||||
|
||||
## Common Mistakes (B2B)
|
||||
|
||||
1. **Treating B2B like SaaS** — funding rounds matter less; PE ownership and acquisition activity matter more.
|
||||
2. **Trying to verify private company revenue precisely** — most public databases approximate. Use size bands, not point estimates.
|
||||
3. **Ignoring procurement complexity** at enterprise scale — your prospect contact list may not include the actual approver.
|
||||
4. **Cold-emailing executive assistants** — they're not the buyer and they will flag your outreach as spam.
|
||||
5. **Source URL hygiene** — without source lineage, you can't defend a contact under GDPR DSAR or CAN-SPAM challenge.
|
||||
6. **Stopping at one source** — Apollo can be 60% accurate on small businesses. Cross-verify with LinkedIn or the business website.
|
||||
@@ -1,123 +0,0 @@
|
||||
# Prospecting Compliance Reference
|
||||
|
||||
The legal and platform-ToS constraints that apply to prospect list building. Read first, every engagement.
|
||||
|
||||
> Operational guidance, not legal advice. For high-volume programs or programs touching EU/UK residents, run your setup past a privacy attorney.
|
||||
|
||||
---
|
||||
|
||||
## United States — CAN-SPAM (downstream)
|
||||
|
||||
CAN-SPAM regulates the cold email **send**, not the list build. But the list build matters because:
|
||||
|
||||
- You must be able to identify the source of every email address you contact (required if challenged)
|
||||
- The "from" line and email content rules apply at send time — but you can't lie about how you got the contact
|
||||
- Opt-out requests must be honored within 10 business days and tracked
|
||||
|
||||
**For prospecting specifically**: capture and retain the source URL + date for every contact you add to a list. CAN-SPAM doesn't require it explicitly, but defending your sender practices does.
|
||||
|
||||
---
|
||||
|
||||
## EU / UK — GDPR
|
||||
|
||||
The strictest applicable framework. Triggers when:
|
||||
|
||||
- Your prospect resides in EU/UK
|
||||
- You're processing personal data (any identifiable info, including business emails tied to a named person)
|
||||
|
||||
### Lawful bases for cold B2B outreach
|
||||
|
||||
You have three credible options:
|
||||
|
||||
1. **Legitimate interest** (most common for B2B). Requires:
|
||||
- The contact is in a business role likely to be interested in your offer
|
||||
- The data was collected from a public, business-context source
|
||||
- You provide a clear opt-out
|
||||
- You can articulate the legitimate interest test in writing
|
||||
|
||||
2. **Consent** — typically not feasible for cold outreach (you don't have consent before first contact)
|
||||
|
||||
3. **Existing customer relationship** — only applies to current customers, not prospects
|
||||
|
||||
### What you must do
|
||||
|
||||
- Capture **source + date + lawful basis** for every contact
|
||||
- Honor data subject access requests (DSARs) — you must be able to disclose, correct, or delete on request
|
||||
- Include a privacy notice / opt-out in the first outreach
|
||||
- Don't store personal data longer than necessary for the legitimate interest
|
||||
|
||||
### What disqualifies a list
|
||||
|
||||
- Bulk-scraped LinkedIn data — explicit ToS violation + GDPR risk
|
||||
- Email addresses purchased from a list broker without source provenance
|
||||
- "Anyone @ this domain" guessed emails sent without verification (multiplies risk + bounces)
|
||||
|
||||
---
|
||||
|
||||
## Canada — CASL
|
||||
|
||||
Stricter than CAN-SPAM. Cold B2B outreach requires:
|
||||
|
||||
- **Express consent** (explicit opt-in) — typically not present for cold prospecting
|
||||
- **OR implied consent** — existing business relationship within 24 months, OR business address publicly published on the company's own site for the purpose of receiving such communications
|
||||
|
||||
**Practical implication for Canadian prospects**: relying on the publicly-published-address exception is the most defensible cold prospecting basis in Canada. You must include sender identification, mailing address, and an unsubscribe mechanism in every message.
|
||||
|
||||
---
|
||||
|
||||
## Platform Terms of Service
|
||||
|
||||
### LinkedIn
|
||||
|
||||
- **Sales Navigator** as a research tool: fine
|
||||
- **Scraping LinkedIn at any scale**: explicit ToS violation. Banned accounts are permanent. Don't.
|
||||
- **Apollo, Clay, and ZoomInfo** claim LinkedIn-overlap data through various legitimate channels — verify their data sources before assuming compliance
|
||||
- **InMail and Connection Requests**: governed by LinkedIn's own messaging rules, not by CAN-SPAM/GDPR (because LinkedIn-internal)
|
||||
|
||||
### Google Maps
|
||||
|
||||
- ToS prohibits bulk extraction or productizing Maps data
|
||||
- Browser-assisted research as a discovery aid: acceptable
|
||||
- Storing Place IDs or large structured Maps data in your CRM: explicit ToS prohibition
|
||||
- Use Maps to **find** local businesses, then cross-source from the business's own site for the data you retain
|
||||
|
||||
### Apollo / ZoomInfo / Clearbit
|
||||
|
||||
- All have their own ToS limiting reselling, downstream sharing, and use cases
|
||||
- Read your contract — typically you can use the data for your own outreach but not productize it
|
||||
- Don't share extracts publicly (e.g., on a leaderboard, in a public report)
|
||||
|
||||
### Crunchbase
|
||||
|
||||
- Free tier is read-only for personal use
|
||||
- Paid tier permits broader use within contractual scope
|
||||
- API access requires paid Pro+ tier
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns (Don't Do These)
|
||||
|
||||
1. **Bulk-scraping LinkedIn / Google Maps / Yelp**. Browser-assisted research is OK; automated scrapers pointed at these platforms are not. **Firecrawl and Browserbase are fine for an individual prospect's own website** (the URL you found through manual discovery) — not for the platforms hosting prospects.
|
||||
2. **Buying lists from random vendors** without source provenance. You inherit their legal exposure.
|
||||
3. **Guessing emails and sending unverified**. Bounce rates over 2% destroy sender reputation; legally, you can't claim a "legitimate interest" basis for an email you fabricated.
|
||||
4. **Harvesting personal email addresses** (Gmail, personal Outlook, etc.) from public profiles. Personal addresses raise GDPR risk significantly.
|
||||
5. **Storing data you don't need**. Minimize retention. Don't keep prospect lists forever — GDPR right to deletion applies.
|
||||
6. **Skipping the lawful basis documentation**. If challenged, you need to show your work. Capture source URL + collection date for every contact.
|
||||
7. **Reselling prospect lists**. You may not have the right to share them downstream. Read your data provider contracts.
|
||||
8. **CAPTCHA bypass / login wall bypass**. Even if technically possible, this signals bot behavior and violates virtually every ToS.
|
||||
|
||||
---
|
||||
|
||||
## Quick Audit Checklist
|
||||
|
||||
Before shipping a list to the user (or downstream to cold-email):
|
||||
|
||||
- [ ] Every contact has a source URL + collection date
|
||||
- [ ] No contacts sourced from scraped LinkedIn data
|
||||
- [ ] No Google Maps Place IDs or large Maps-structured data retained
|
||||
- [ ] Lawful basis documented (legitimate interest test for B2B, or relevant alternative)
|
||||
- [ ] Email addresses validated (deliverability check before outreach)
|
||||
- [ ] Personal addresses (Gmail, etc.) flagged or excluded
|
||||
- [ ] Source provider contracts permit the intended use case
|
||||
- [ ] Retention plan documented (when to delete)
|
||||
- [ ] First outreach will include unsubscribe + privacy notice (downstream concern for cold-email skill, but mention it now)
|
||||
@@ -1,287 +0,0 @@
|
||||
# Prospecting Data Sources
|
||||
|
||||
Tool selection guide for prospecting across all three branches.
|
||||
|
||||
---
|
||||
|
||||
## Tool selection by goal
|
||||
|
||||
| Goal | Primary tools | Notes |
|
||||
|------|--------------|-------|
|
||||
| **Build initial firmographic list (B2B / SaaS)** | Apollo, ZoomInfo, Clay | Apollo for breadth, ZoomInfo for enterprise + intent, Clay for custom workflows |
|
||||
| **Decision-maker mapping** | LinkedIn Sales Navigator (manual), Apollo, ZoomInfo | Sales Nav is the gold standard. Never bulk scrape it. |
|
||||
| **Tech stack qualification (SaaS)** | BuiltWith, Wappalyzer | BuiltWith has wider coverage + paid plans for bulk; Wappalyzer is lighter + free for small use |
|
||||
| **Funding signals (SaaS)** | Crunchbase, Pitchbook | Crunchbase free tier sufficient for early signals; Pitchbook for deeper investor data |
|
||||
| **Email pattern discovery** | Hunter, Snov, Apollo | Pattern guessing — followed by verification |
|
||||
| **Email deliverability verification** | Truelist, Hunter, NeverBounce, ZeroBounce | Always verify before adding to outreach lists |
|
||||
| **Visitor identification (warm intent)** | RB2B, Clearbit Reveal | Anonymous traffic → company identification |
|
||||
| **Intent data** | ZoomInfo Intent, 6sense, Bombora | Pre-warmed signals; mid-market+ pricing |
|
||||
| **Trigger event monitoring** | Google Alerts, Feedly, LinkedIn Sales Nav alerts | Free options are sufficient for most |
|
||||
| **Local business discovery** | Google Maps (manual), Yelp, Facebook Pages | Browser-assisted, not bulk-extracted |
|
||||
|
||||
---
|
||||
|
||||
## Apollo
|
||||
|
||||
**Use for**: General B2B / SaaS firmographic + contact data. Best starting point if you don't already have a list.
|
||||
|
||||
**Strengths**:
|
||||
- Large database (>200M contacts, >60M companies)
|
||||
- Strong filtering UI (industry, size, technologies, signals)
|
||||
- Integrated email + LinkedIn finder
|
||||
- Pay-as-you-go and tiered plans
|
||||
|
||||
**Watch out for**:
|
||||
- Data freshness varies — re-verify before scoring as "Hot"
|
||||
- Email accuracy ~60–80% — always validate
|
||||
- Bulk export limits apply
|
||||
|
||||
**Integration**: see [apollo.md](../../../tools/integrations/apollo.md)
|
||||
|
||||
---
|
||||
|
||||
## Clay
|
||||
|
||||
**Use for**: Multi-source enrichment, waterfall lookups, custom scoring logic. When list quality matters more than list size.
|
||||
|
||||
**Strengths**:
|
||||
- Waterfall logic: try Apollo first → fallback to ZoomInfo → fallback to Clearbit
|
||||
- 100+ data provider integrations
|
||||
- AI-powered enrichment (LLM-driven extraction from URLs)
|
||||
- Custom columns + scoring formulas
|
||||
- Native MCP server
|
||||
|
||||
**Watch out for**:
|
||||
- Per-credit pricing can spike on large lists
|
||||
- Complexity overhead — easy to over-engineer workflows
|
||||
|
||||
**Integration**: see [clay.md](../../../tools/integrations/clay.md)
|
||||
|
||||
---
|
||||
|
||||
## ZoomInfo
|
||||
|
||||
**Use for**: Enterprise B2B + intent data. Mid-market+ buyer profiles.
|
||||
|
||||
**Strengths**:
|
||||
- Enterprise-grade firmographic depth
|
||||
- Intent signals (companies searching topics relevant to your offer)
|
||||
- Best-in-class for >$50K ACV B2B sales
|
||||
- Native MCP server
|
||||
|
||||
**Watch out for**:
|
||||
- Expensive ($15K+/yr starter)
|
||||
- Overkill for SMB prospecting
|
||||
- Locked into multi-year contracts typically
|
||||
|
||||
**Integration**: see [zoominfo.md](../../../tools/integrations/zoominfo.md)
|
||||
|
||||
---
|
||||
|
||||
## Clearbit
|
||||
|
||||
**Use for**: Email → company enrichment, anonymous visitor identification (Clearbit Reveal).
|
||||
|
||||
**Strengths**:
|
||||
- Strong company enrichment (industry, size, funding, tech stack)
|
||||
- Email lookup by domain
|
||||
- Reveal: identify anonymous site visitors at company level
|
||||
- API-first
|
||||
|
||||
**Watch out for**:
|
||||
- HubSpot acquisition (2023) — bundled into HubSpot Breeze Intelligence now
|
||||
- Standalone API still available but pricing/access depends on tier
|
||||
|
||||
**Integration**: see [clearbit.md](../../../tools/integrations/clearbit.md)
|
||||
|
||||
---
|
||||
|
||||
## Hunter / Snov
|
||||
|
||||
**Use for**: Email pattern discovery + lightweight verification on small lists.
|
||||
|
||||
**Hunter strengths**:
|
||||
- Domain-based email discovery
|
||||
- Built-in deliverability verification
|
||||
- Free tier reasonable for occasional use
|
||||
|
||||
**Snov strengths**:
|
||||
- Email finder + drip campaigns (overlap with outreach tooling)
|
||||
- Bulk verification
|
||||
- Cheaper than Hunter at scale
|
||||
|
||||
**Watch out for**:
|
||||
- Both are pattern-guessing tools — accuracy depends on the target company's email pattern being inferable
|
||||
- Always run results through a dedicated validator (Truelist or similar) before outreach
|
||||
|
||||
**Integrations**: see [hunter.md](../../../tools/integrations/hunter.md), [snov.md](../../../tools/integrations/snov.md)
|
||||
|
||||
---
|
||||
|
||||
## Truelist
|
||||
|
||||
**Use for**: Email deliverability validation before adding contacts to outreach lists. Critical safety step.
|
||||
|
||||
**Strengths**:
|
||||
- Single-email sync verification (`/api/v1/verify_inline`) + bulk async (`/api/v1/verify`)
|
||||
- Returns `email_state` (ok / email_invalid / risky / unknown / accept_all) + `email_sub_state` (email_ok / is_disposable / is_role / unknown_error / failed_smtp_check) + did-you-mean typo suggestions
|
||||
- Catches catch-all domains, role accounts, spam traps, disposable providers
|
||||
- Official MCP server for agent-driven workflows (Claude, Cursor, VS Code)
|
||||
- Official SDKs in 7 languages + framework integrations (Django, Laravel, Next.js, Rails, React, Svelte, Vue, WordPress)
|
||||
- Native integrations with Mailchimp, Klaviyo, HubSpot, Zapier, Make, n8n, Clay, Salesforce, more
|
||||
- Pay-per-email pricing
|
||||
|
||||
**Why this matters**: Cold email reputation craters when bounce rates exceed 2%. Validating before sending is non-negotiable. Apollo/ZoomInfo/Hunter data is often 60–80% accurate — Truelist catches the rest.
|
||||
|
||||
**Integration**: see [truelist.md](../../../tools/integrations/truelist.md)
|
||||
|
||||
---
|
||||
|
||||
## LinkedIn Sales Navigator
|
||||
|
||||
**Use for**: Manual decision-maker discovery. The gold standard for B2B / SaaS prospecting but only when used as a research tool.
|
||||
|
||||
**Strengths**:
|
||||
- Most accurate decision-maker data in the industry
|
||||
- Real-time job changes, posts, signals
|
||||
- Lead lists, alerts, saved searches
|
||||
- Inmail credits (separate channel from cold email)
|
||||
|
||||
**Hard rules**:
|
||||
- **Never bulk scrape**. LinkedIn aggressively bans scrapers. Account ban risk is real and permanent.
|
||||
- Use Sales Nav as a research interface — open profiles, read, take notes, capture key data manually.
|
||||
- Apollo and other tools claim LinkedIn data via partnerships / public mirroring — verify the source legitimacy before assuming compliance.
|
||||
|
||||
**Integration**: no MCP or API access at consumer level. Manual research only.
|
||||
|
||||
---
|
||||
|
||||
## BuiltWith / Wappalyzer
|
||||
|
||||
**Use for**: Tech stack qualification (SaaS branch).
|
||||
|
||||
**BuiltWith**:
|
||||
- ~50K+ technologies tracked
|
||||
- API + bulk lookups (paid)
|
||||
- Historical data (when stack changed)
|
||||
|
||||
**Wappalyzer**:
|
||||
- Free browser extension; paid API
|
||||
- Lighter coverage than BuiltWith
|
||||
- Faster for one-off lookups
|
||||
|
||||
Cross-reference both for high-confidence tech stack signals.
|
||||
|
||||
---
|
||||
|
||||
## Crunchbase
|
||||
|
||||
**Use for**: Funding signals (SaaS branch).
|
||||
|
||||
**Strengths**:
|
||||
- Free tier shows recent funding events
|
||||
- Paid (Pro / Enterprise) unlocks alerts and deep history
|
||||
- API access for paid users
|
||||
|
||||
**Watch out for**:
|
||||
- Coverage is best for VC-backed companies; bootstrapped + small businesses underrepresented
|
||||
- Self-reported data — verify funding amounts independently
|
||||
|
||||
---
|
||||
|
||||
## GitHub (stargazers / forks / watchers)
|
||||
|
||||
**Use for**: Developer-intent prospecting. Especially powerful for dev-tool SaaS — stargazers of competitor or category-defining repos are in-market signal.
|
||||
|
||||
**Strengths**:
|
||||
- Public API, no scraping concerns
|
||||
- High signal quality (a starred repo = explicit interest)
|
||||
- Forks are an even stronger signal (intent to modify, not just bookmark)
|
||||
- Bundled `github-prospects.js` CLI handles pagination + enrichment + CSV output
|
||||
- Free with 5,000 req/hr authenticated rate limit
|
||||
|
||||
**Watch out for**:
|
||||
- Only ~5–20% of users publish email — pair with Apollo/Clay/Hunter for enrichment
|
||||
- Very-popular repos (100K+ stars) are mostly noise; smaller targeted repos (5K–25K) give better signal density
|
||||
- Most prospects are individuals, not company contacts directly — need to figure out their company from `company` field or LinkedIn
|
||||
|
||||
**Integration**: see [github.md](../../../tools/integrations/github.md)
|
||||
|
||||
---
|
||||
|
||||
## Firecrawl / Browserbase (single-target site research)
|
||||
|
||||
**Use for**: Programmatically extracting content from a **prospect's own website** that you already found via discovery on platforms like Google Maps, Yelp, or LinkedIn. Not for scraping those platforms themselves.
|
||||
|
||||
### Firecrawl
|
||||
|
||||
- **Best for**: "Just give me the page as markdown" — Local SMB website status checks, B2B company about/team page extraction, structured field extraction
|
||||
- **Strengths**: Low overhead, returns clean LLM-ready markdown, handles most JS-rendered sites, has an MCP server
|
||||
- **API + MCP + SDKs**: Node, Python, Go, Rust
|
||||
|
||||
### Browserbase
|
||||
|
||||
- **Best for**: When you need real Chromium — JS-heavy pages, cookie consent dialogs, form submission to reach a contact page, session state
|
||||
- **Strengths**: Full browser control via Playwright/Puppeteer; Stagehand provides AI-friendly natural-language extraction; session recordings for debugging
|
||||
- **API + MCP (Stagehand) + SDKs**: Node, Python
|
||||
|
||||
### Critical compliance line
|
||||
|
||||
Both tools can technically point at any URL. The hard rule:
|
||||
|
||||
- ✓ **OK**: extracting content from a single business's own website (`joescoffeeshop.com`) that you found through manual discovery
|
||||
- ✗ **NOT OK**: pointing them at `google.com/maps`, LinkedIn search results, Yelp listings, or any platform whose ToS prohibits bulk extraction
|
||||
|
||||
Discovery happens on platforms (manual browser-assisted research). Extraction happens on individual public business sites.
|
||||
|
||||
**Integrations**: see [firecrawl.md](../../../tools/integrations/firecrawl.md), [browserbase.md](../../../tools/integrations/browserbase.md)
|
||||
|
||||
---
|
||||
|
||||
## RB2B / Clearbit Reveal
|
||||
|
||||
**Use for**: Identifying anonymous site visitors as warm intent signals.
|
||||
|
||||
**Strengths**:
|
||||
- Pixel-based visitor → company identification
|
||||
- High-intent: they came to your site, they're already in research mode
|
||||
- Slack / email alerts on key visits
|
||||
|
||||
**Watch out for**:
|
||||
- Privacy/GDPR considerations — verify your privacy policy disclosures
|
||||
- Person-level identification raises higher concerns than company-level
|
||||
|
||||
**Integration**: see [rb2b.md](../../../tools/integrations/rb2b.md)
|
||||
|
||||
---
|
||||
|
||||
## Free / browser-only fallbacks
|
||||
|
||||
When the user has no paid tools, lean on:
|
||||
|
||||
- **Google Search** — exact business name + city + role searches
|
||||
- **LinkedIn** (manual, no scraping) — company pages, employee lookups
|
||||
- **Crunchbase free tier** — funding events
|
||||
- **Wappalyzer browser extension** — tech stack at a glance
|
||||
- **Hunter.io free tier** — 25 lookups/month
|
||||
- **Google Maps** — for Local SMB discovery
|
||||
- **Business websites + About pages** — primary source for any claim
|
||||
- **News sites + press releases** — trigger event monitoring via Google Alerts
|
||||
|
||||
Slower than tooled-up workflows, but produces high-quality smaller lists if the user is willing to do the work.
|
||||
|
||||
---
|
||||
|
||||
## Sequencing recommendations
|
||||
|
||||
A typical full-stack prospecting workflow:
|
||||
|
||||
1. **Define ICP** from product-marketing context (no tools needed)
|
||||
2. **Initial list** from Apollo or ZoomInfo (firmographic filter)
|
||||
3. **Enrich** with Clay (waterfall: tech stack, funding, trigger events)
|
||||
4. **Decision-maker mapping** in LinkedIn Sales Nav (manual)
|
||||
5. **Email pattern discovery** with Hunter or Apollo's built-in
|
||||
6. **Email validation** with Truelist before final list
|
||||
7. **Hand off** to cold-email skill for outreach copy
|
||||
|
||||
Adapt this sequence based on which tools the user actually has.
|
||||
@@ -1,165 +0,0 @@
|
||||
# Local SMB Prospecting Reference
|
||||
|
||||
For when the user sells to local small businesses — shops, gyms, restaurants, salons, clinics, professional services, contractors, real estate, fitness studios, dental practices.
|
||||
|
||||
Adapted from and generalized beyond the local-client-prospector pattern (browser-assisted discovery + website status classification + proximity scoring).
|
||||
|
||||
---
|
||||
|
||||
## ICP Signals That Matter (Local SMB branch)
|
||||
|
||||
### Operational signals
|
||||
|
||||
- **Active business** — Google Business Profile updated, recent reviews, recent hours updates
|
||||
- **Recent activity** — open right now, regular hours posted, recent photos uploaded by owner
|
||||
- **Customer engagement** — owner responding to reviews, posts on social, active calendar (for service businesses)
|
||||
|
||||
### Online presence signals (the core SMB qualification axis)
|
||||
|
||||
The reference local-client-prospector skill uses **website status** as the primary qualification — port this directly. Four classifications:
|
||||
|
||||
| Status | Definition | Typical outcome |
|
||||
|--------|-----------|-----------------|
|
||||
| **No site found** | No credible standalone website after cross-checked search | **Hot prospect** for web/marketing service |
|
||||
| **Social only** | Facebook, Instagram, WhatsApp, Linktree, booking portal, marketplace page only — no standalone site | **Hot prospect** for web/marketing service |
|
||||
| **Weak site** | Standalone site exists but outdated, broken, very thin, non-mobile-friendly, or missing clear contact/conversion flow | **Warm prospect** for refresh / rebuild service |
|
||||
| **Has site** | Credible, modern standalone site exists | **Low prospect** unless other signals apply (e.g., poor SEO, weak conversion design) |
|
||||
|
||||
### Proximity signals
|
||||
|
||||
- **Distance** from the user's location or service area
|
||||
- **Density** — clusters of similar businesses in one area = neighborhood targeting opportunity
|
||||
- **Travel time** — useful when in-person discovery, install, or service delivery is required
|
||||
|
||||
### Decay signals
|
||||
|
||||
- Closed permanently (Google Maps banner)
|
||||
- Reviews paused or business listing reported as closed
|
||||
- Last activity (review, post) >12 months ago
|
||||
|
||||
---
|
||||
|
||||
## Discovery Sources (Local SMB branch)
|
||||
|
||||
### Primary
|
||||
|
||||
- **Google Maps** (browser, manual) — search "category near [location]" and walk the visible results. Cross-check details. Don't bulk-extract.
|
||||
- **Yelp** — secondary verification; complementary categories
|
||||
- **Bing Local / Apple Maps** — different coverage on smaller businesses
|
||||
- **Facebook Pages search** — many SMBs are Facebook-only
|
||||
|
||||
### Cross-verification
|
||||
|
||||
- **Business's own website** (if any)
|
||||
- **Industry directories** (e.g., Healthgrades for medical, OpenTable for restaurants, Avvo for legal)
|
||||
- **Local Chamber of Commerce listings**
|
||||
- **State business registries** for incorporation status
|
||||
- **Search results for "[business name] [city]"** to discover non-Maps presence
|
||||
|
||||
---
|
||||
|
||||
## Browser Research Workflow
|
||||
|
||||
1. Open a browser and search Google Maps for the category near `base_location`
|
||||
2. Build a candidate list from visible local results, search results, and public directories
|
||||
3. For each candidate, inspect public sources to fill required fields
|
||||
4. Search the exact business name plus city/town to check whether a standalone website exists
|
||||
5. Classify website status per the table above
|
||||
6. Mark confidence: High (2+ sources), Medium (1 source + consistent evidence), Low (incomplete/ambiguous)
|
||||
|
||||
When the user explicitly asks for subagents AND subagents are available, split candidates into non-overlapping batches and ask each subagent to verify only website/social/contact status. Don't use subagents for the primary search if it slows progress.
|
||||
|
||||
### Optional: programmatic verification with Firecrawl or Browserbase
|
||||
|
||||
Once you have a candidate's website URL (found via manual Maps/Yelp discovery), you can speed up website-status classification by hitting the URL programmatically:
|
||||
|
||||
- **Firecrawl** for simple "is this site live, modern, mobile-friendly, conversion-flow-equipped" reads — returns clean markdown you can inspect
|
||||
- **Browserbase** when the candidate site requires JS rendering, has a cookie consent dialog, or you need session state
|
||||
|
||||
**Strict line**: use these on the individual business's URL. **Don't** point them at Google Maps, Yelp, or any platform whose ToS prohibits bulk extraction — discovery stays manual.
|
||||
|
||||
See [data-sources.md](data-sources.md) for setup details.
|
||||
|
||||
---
|
||||
|
||||
## Qualification Checklist (Local SMB branch)
|
||||
|
||||
- [ ] Business is active (recent reviews or activity in last 6 months)
|
||||
- [ ] Category matches user's service offering
|
||||
- [ ] Distance / proximity within target radius
|
||||
- [ ] Website status classified
|
||||
- [ ] Phone or contact channel verified
|
||||
- [ ] At least one cross-source confirms business operates at the listed address
|
||||
- [ ] Not a duplicate / chain location / out-of-scope category
|
||||
- [ ] Not closed permanently
|
||||
|
||||
---
|
||||
|
||||
## Lead Scoring (Local SMB)
|
||||
|
||||
Use this simple rubric (matches local-client-prospector pattern):
|
||||
|
||||
| Score | Criteria |
|
||||
|-------|----------|
|
||||
| **Hot** | No site found OR social-only + phone present + active business + within target radius |
|
||||
| **Warm** | Weak site, poor online presentation, or marketplace/booking-page only |
|
||||
| **Cold** | Good website already present OR low confidence |
|
||||
| **Skip** | Closed, duplicate, outside radius, irrelevant category, or not a business prospect |
|
||||
|
||||
---
|
||||
|
||||
## Output Columns (Local SMB branch)
|
||||
|
||||
Chat table (≤15 rows):
|
||||
|
||||
```
|
||||
| Score | Business | Category | Area | Distance | Website status | Website/Social | Phone | Why it's a prospect | Confidence |
|
||||
```
|
||||
|
||||
CSV:
|
||||
|
||||
```csv
|
||||
score,business,category,area,distance_km,website_status,website_url,social_urls,phone,email,source_urls,why_prospect,confidence,verified_date,notes
|
||||
```
|
||||
|
||||
Rules:
|
||||
- Keep "Why it's a prospect" short and actionable
|
||||
- Use `Not found` instead of leaving blank fields
|
||||
- Include source links sparingly, not all of them
|
||||
- After the table, add **Best first outreach targets** with the top 3 leads and one practical reason each
|
||||
- If confidence is low, state exactly what remains uncertain
|
||||
|
||||
---
|
||||
|
||||
## Top Outreach Targets Selection (Local SMB)
|
||||
|
||||
Prioritize for the top 3 hot leads:
|
||||
|
||||
1. **No site / social only + phone present** = clearest service opportunity
|
||||
2. **High review count** = active, established business with real customers
|
||||
3. **Owner-responded reviews** = engaged owner = more likely to evaluate a vendor
|
||||
4. **Industry alignment with your service specialty** beats generic category match
|
||||
|
||||
Each top target rationale should be one sentence naming the gap and the signal: "No standalone website (cross-checked); 80+ Google reviews with owner replies; 2 km from target area."
|
||||
|
||||
---
|
||||
|
||||
## Compliance Notes (Local SMB-specific)
|
||||
|
||||
The local branch is the most scraping-sensitive of the three motions. Specifically:
|
||||
|
||||
- **Google Maps Terms of Service** prohibit bulk extraction. Treat browser visits as research, not as data acquisition.
|
||||
- **Don't store full Google Maps Place IDs in your CRM** — the ToS limits storage of Maps data.
|
||||
- **Public business contact channels only**: published phone, contact form, info@ email. Don't reach individual employees through their personal channels.
|
||||
- **Owner/operator name when published on the business's own site** is OK to use. If you only got it from LinkedIn, mark the source.
|
||||
|
||||
---
|
||||
|
||||
## Common Mistakes (Local SMB)
|
||||
|
||||
1. **Bulk-scraping Google Maps** — fastest way to violate ToS and lose the research channel.
|
||||
2. **Treating Google Maps data as truth** — listings go stale. Cross-check hours, status, and reviews.
|
||||
3. **Skipping the website status cross-check** — finding "no site" on Maps doesn't mean no site exists; do an exact-name web search before classifying.
|
||||
4. **Targeting only the largest businesses** — they're already covered by other providers. The 2–5 employee SMBs are the under-served opportunity.
|
||||
5. **Generic outreach to all hot leads** — local SMBs respond better to outreach that names their specific gap ("I noticed your menu isn't visible on mobile") than generic pitches.
|
||||
6. **Ignoring chains and franchises** as Skip — sometimes the franchisee is the buyer and they have local marketing authority. Verify before skipping.
|
||||
@@ -1,123 +0,0 @@
|
||||
# SaaS Prospecting Reference
|
||||
|
||||
For when the user sells SaaS or digital services to other SaaS companies / digital businesses.
|
||||
|
||||
---
|
||||
|
||||
## ICP Signals That Matter (SaaS branch)
|
||||
|
||||
Beyond standard firmographics (industry, size, geography), SaaS prospects are qualified by:
|
||||
|
||||
### Technographic signals
|
||||
|
||||
- **Tech stack** — do they use complementary tools (your integration target) or competing tools (a switch opportunity)?
|
||||
- **Recent stack changes** — adding/removing tools signals active vendor evaluation
|
||||
- **Custom-built vs off-the-shelf** — DIY tooling often means a buyer who'd benefit from your product
|
||||
- **Free/freemium plan signals** — using a free competitor means they may be ready to upgrade
|
||||
|
||||
### Growth signals
|
||||
|
||||
- **Funding round** — Series A / B / C in last 6 months = budget + new hires + tool needs
|
||||
- **Headcount growth** — 10%+ growth in last quarter signals scaling pressure
|
||||
- **Hiring signals** — specific role openings (e.g., "Head of RevOps" → ICP for revops tooling)
|
||||
- **Product velocity** — frequent shipping, new features, blog posts = healthy growth motion
|
||||
- **Open positions for your buyer's role** — if you sell to Marketing Ops and they're hiring one, that's a signal
|
||||
|
||||
### Decay signals (downgrade scoring)
|
||||
|
||||
- Layoffs in target department
|
||||
- Funding round >2 years ago with no follow-up
|
||||
- Product hasn't shipped in 6+ months
|
||||
- Team page shows founders only (very early — may not have budget)
|
||||
|
||||
---
|
||||
|
||||
## Discovery Sources (SaaS branch)
|
||||
|
||||
Combine 2+ sources for cross-verification.
|
||||
|
||||
### Tier 1 — primary discovery
|
||||
|
||||
- **Apollo**: firmographic + technographic + contact data. Good for building large initial lists.
|
||||
- **Clay**: waterfall enrichment, custom scoring, multi-source merges. Best for high-quality smaller lists.
|
||||
- **ZoomInfo**: enterprise-grade firmographic + intent signals. Expensive; mid-market+.
|
||||
- **LinkedIn Sales Navigator**: decision-maker mapping. Use manually, never bulk scrape.
|
||||
|
||||
### Tier 2 — technographic / growth signals
|
||||
|
||||
- **BuiltWith**: tech stack lookups, find sites using specific tools
|
||||
- **Wappalyzer**: free browser extension + API; lighter tech stack signal
|
||||
- **Crunchbase**: funding rounds, headcount, founders
|
||||
- **Pitchbook**: deeper investor data (enterprise/paid)
|
||||
- **ProductHunt**: recent launches, builder audience
|
||||
- **Hacker News / Show HN**: technical builders launching products
|
||||
|
||||
### Tier 3 — buying signals
|
||||
|
||||
- **Job boards** (LinkedIn Jobs, Indeed, AngelList): role openings as signals
|
||||
- **RB2B / Clearbit Reveal**: visitor identification (warm anonymous traffic)
|
||||
- **GitHub stars/forks of competitor or adjacent repos**: developer-level intent signal (see `tools/integrations/github.md` and the `github-prospects.js` CLI). Especially strong for dev-tool SaaS — a developer who starred `vercel/next.js` last week is in-market for adjacent Next.js infrastructure.
|
||||
- **Recent blog posts / changelog**: product direction signals
|
||||
- **G2 reviews mentioning competitor switches**: explicit dissatisfaction signal
|
||||
|
||||
#### GitHub prospecting pattern (when audience is developers)
|
||||
|
||||
For dev-tool SaaS, GitHub is one of the highest-quality discovery channels:
|
||||
|
||||
1. Identify 3–5 "anchor" repos: your direct competitors, your category leader, complementary tools your buyer uses
|
||||
2. Pull stargazers (or forks for stronger intent) via `node tools/clis/github-prospects.js stargazers <owner/repo> --enrich --with-company --format csv`
|
||||
3. Filter to users with `company` set — these are the easiest to enrich downstream
|
||||
4. Pair with Apollo/Clay/Hunter to lookup email by name + company
|
||||
5. Validate with Truelist before adding to outreach list
|
||||
|
||||
Tradeoffs: GitHub yields email for only ~5–20% of users directly. The strength is the signal quality — a stargazer of a niche dev tool is genuinely in-market in a way Apollo firmographics alone can't tell you.
|
||||
|
||||
---
|
||||
|
||||
## Qualification Checklist (SaaS branch)
|
||||
|
||||
For each candidate, verify:
|
||||
|
||||
- [ ] Industry vertical matches ICP
|
||||
- [ ] Company size (headcount) within range
|
||||
- [ ] Tech stack includes (or notably excludes) a target technology
|
||||
- [ ] Funding stage matches buyer maturity
|
||||
- [ ] At least one growth signal in last 90 days (funding, hiring, product velocity)
|
||||
- [ ] Decision-maker role exists at the company (named or inferable from job listings)
|
||||
- [ ] Email contact verifiable
|
||||
- [ ] No disqualifiers (closed, acquired-and-paused, layoffs, ICP miss)
|
||||
|
||||
---
|
||||
|
||||
## Output Columns (SaaS branch)
|
||||
|
||||
Recommended CSV columns:
|
||||
|
||||
```csv
|
||||
score,company,domain,industry,size_band,country,funding_stage,last_round_date,tech_stack_match,signal,signal_date,contact_name,contact_title,contact_email,email_status,linkedin_url,source_urls,why_prospect,confidence,verified_date,notes
|
||||
```
|
||||
|
||||
For chat table, condense to: Score | Company | Industry | Size | Signal | Contact | Email status | Confidence.
|
||||
|
||||
---
|
||||
|
||||
## Top Outreach Targets Selection (SaaS)
|
||||
|
||||
Prioritize for the top 3–5 hot leads:
|
||||
|
||||
1. **Strongest signal recency** — funding 30 days ago beats funding 9 months ago
|
||||
2. **Tech stack match strength** — known integration partner beats inferred fit
|
||||
3. **Decision-maker named with verified email** — beats role-pattern-guessed email
|
||||
4. **Multi-source confidence** — both Apollo + Crunchbase agree beats one source
|
||||
|
||||
Each top target gets a one-sentence outreach rationale that names the specific signal: "Raised Series B 30 days ago; hiring Head of RevOps; verified VP of Ops email."
|
||||
|
||||
---
|
||||
|
||||
## Common Mistakes (SaaS)
|
||||
|
||||
1. **Buying lists from Apollo wholesale** without re-verifying email and re-checking firmographics. Stale data is the norm.
|
||||
2. **Treating tech stack data as 100% accurate**. BuiltWith and Wappalyzer miss things; Clay's waterfalls miss things. Cross-check.
|
||||
3. **Targeting Series C+ for early-stage SaaS sellers**. The buyer profile is wrong — too many procurement hoops, too much red tape.
|
||||
4. **Targeting Series Pre-Seed seed** for products requiring meaningful budget. They have neither budget nor evaluator bandwidth.
|
||||
5. **Ignoring intent data when it exists** (ZoomInfo Intent, 6sense, etc.) — pre-warm signals beat cold every time.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user