* feat: add prospecting skill + truelist integration New skill: skills/prospecting/ - SKILL.md (251 lines, well under 500 limit): branch picker for SaaS / B2B / Local SMB, shared 5-phase framework (ICP -> discovery -> qualify -> score -> output), compliance guardrails, tool selection quick-picks, output formats - references/saas-prospecting.md: tech stack signals, funding/hiring triggers, SaaS-specific sources and qualification - references/b2b-prospecting.md: industry/firmographic signals, trigger events, decision-maker mapping, B2B-specific sources - references/local-prospecting.md: 4-tier website status classification, browser-assisted research workflow (generalized from the local-client- prospector pattern), proximity scoring - references/data-sources.md: deep dives on Apollo, Clay, ZoomInfo, Clearbit, Hunter, Snov, Truelist, LinkedIn Sales Nav, BuiltWith, Crunchbase, RB2B, with sequencing recommendations across the three branches - references/compliance.md: CAN-SPAM, GDPR, CASL, platform ToS (LinkedIn, Google Maps, Apollo/ZI/Clearbit), anti-patterns, audit checklist - evals/evals.json: 6 evals (2 SaaS, 2 B2B, 1 Local SMB, 1 deliverability) New integration: - tools/integrations/truelist.md: email deliverability validation (Deliverable / Risky / Undeliverable / Unknown classification) Registry + marketplace wiring: - tools/REGISTRY.md: truelist row + new Email Verification category section - .claude-plugin/marketplace.json: bumped to 2.1.0, prospecting added to plugin description - VERSIONS.md: prospecting 1.0.0 + 2.1.0 changelog entry - README.md: skill table re-synced, prospecting added to ASCII flow under Sales & GTM column All 41 skills pass validation. sync-skills.js is idempotent. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * feat(prospecting): add GitHub stargazers/forks/watchers as discovery channel Net-new in this commit: - tools/clis/github-prospects.js: zero-dep Node CLI with commands stargazers / forks / watchers / user / rate-limit. Pagination via Link header, optional --enrich for full profile data, --with-email / --with-company / --with-blog filters, --format csv|json output, --dry-run preview. Uses GITHUB_TOKEN for 5000/hr rate limit (vs 60/hr unauthenticated). - tools/integrations/github.md: integration guide covering auth, rate limits, endpoints, workflows for SaaS prospecting, compliance notes (public API, not scraping), CLI reference. Skill updates: - skills/prospecting/SKILL.md: added GitHub to the tool selection quick picks and to the tool integrations table. - skills/prospecting/references/saas-prospecting.md: added GitHub to Tier 3 buying signals plus a dedicated "GitHub prospecting pattern (when audience is developers)" subsection with end-to-end workflow. - skills/prospecting/references/data-sources.md: added GitHub deep-dive section between RB2B and Free fallbacks. Registry: - tools/REGISTRY.md: github row in Tool Index, new Developer Intent / GitHub category section. All 41 skills still pass validation. sync-skills.js still no-op. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * refactor(prospecting): apply review suggestions CLI hardening + optimization: - github-prospects.js: encodeURIComponent on username path interpolation (defense in depth; GitHub usernames are restricted enough that this is safe in practice, but good hygiene). - github-prospects.js: refactored enrichUsers to filter inline and support --target N early termination. Previously, --with-email on a 1000-star repo would enrich all 1000 users before filtering down to the ~50 that match. Now you can pass --target 25 to stop as soon as 25 matches are found, saving API quota on restrictive filters. - github.md: documented the new --target flag. Reverse cross-references (so prospecting is discoverable from sibling skills): - cold-email: added prospecting as the natural upstream skill - customer-research: added "Translating customer research into an ICP for outbound" hand-off to prospecting - competitor-profiling: distinguished from prospecting ("this skill does deep research on specific accounts; prospecting builds the initial list") All 41 skills still pass validation. sync-skills.js still no-op. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * fix(truelist): align integration doc with actual OpenAPI spec Source of truth: Truelist-Labs/truelist-openapi (OpenAPI 3.1). The earlier integration doc had inferred (and wrong) endpoint paths, request shapes, and status enum values. Corrected against the published spec: Base URL: https://api.truelist.io Endpoints (real): - POST /api/v1/verify_inline?email=... (sync single, email is query param) - POST /api/v1/verify (async bulk, body: {emails: [...]}) - GET /me (account info) Real email_state enum: - ok, email_invalid, risky, unknown, accept_all (not the inferred "Deliverable / Risky / Undeliverable / Unknown") Real email_sub_state enum: - email_ok, is_disposable, is_role, unknown_error, failed_smtp_check Also corrected: - Truelist has an official MCP server (Truelist-Labs/truelist-mcp) — was marked as MCP unavailable - Truelist has 7 official SDKs (Node, Python, Ruby, PHP, Go, Java, .NET) + framework integrations (Django, Laravel, Next.js, Rails, React, Svelte, Vue, WordPress) — was marked as SDK unavailable - Native integrations with Mailchimp, Klaviyo, HubSpot, Zapier, Make, n8n, Clay, Salesforce, ActiveCampaign, Brevo, ConvertKit, Drip, BigCommerce, Go High Level — was unlisted - Rate limits: 10 req/s per endpoint (was unspecified) Files updated: - tools/integrations/truelist.md: full rewrite against spec - tools/REGISTRY.md: MCP and SDK columns now show ✓ for truelist; classifier note in the Email Verification section reflects real enum values - skills/prospecting/evals/evals.json: eval #6 expected_output and assertions use real email_state values and mention the MCP server - skills/prospecting/references/data-sources.md: Truelist deep-dive uses real endpoint paths, real enum values, and lists the MCP/SDK ecosystem All 41 skills still pass validation. sync-skills.js still no-op. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * feat(prospecting): add Firecrawl + Browserbase for single-target site research Both tools are programmatic scrapers, but their use in prospecting is strictly bounded: extract content from individual public business sites (the prospect's own website URL), never from the platforms hosting them (Google Maps, LinkedIn, Yelp, Apollo, etc.). This matches the line drawn by the original local-client-prospector reference skill and our own compliance section. New integration docs: - tools/integrations/firecrawl.md: REST + MCP + SDKs (Node/Python/Go/Rust); scrape / map / crawl / extract / search endpoints; explicit "when NOT to use" section listing the prohibited platforms. - tools/integrations/browserbase.md: real Chromium via Playwright/Puppeteer or Stagehand (AI-friendly natural-language extraction); session recordings; useful when rendering or interaction is required. Prospecting skill updates: - SKILL.md: added Firecrawl + Browserbase to tool selection quick picks and tool integrations table. - references/data-sources.md: new "Firecrawl / Browserbase (single-target site research)" section between RB2B and Free fallbacks. Includes the compliance line inline so the framing isn't lost. - references/local-prospecting.md: optional "programmatic verification" paragraph in the browser research workflow — once you have a candidate's URL from manual Maps discovery, you can hit it programmatically. - references/compliance.md: anti-pattern #1 now explicitly clarifies that Firecrawl/Browserbase are fine for the prospect's own website but not for the platforms hosting prospects. Registry: - tools/REGISTRY.md: firecrawl + browserbase rows in Tool Index, new "Site Scraping (single-target only)" category section with the compliance framing in the agent recommendation. All 41 skills still pass validation. sync-skills.js still no-op. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
5.9 KiB
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.mdand thegithub-prospects.jsCLI). Especially strong for dev-tool SaaS — a developer who starredvercel/next.jslast 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:
- Identify 3–5 "anchor" repos: your direct competitors, your category leader, complementary tools your buyer uses
- Pull stargazers (or forks for stronger intent) via
node tools/clis/github-prospects.js stargazers <owner/repo> --enrich --with-company --format csv - Filter to users with
companyset — these are the easiest to enrich downstream - Pair with Apollo/Clay/Hunter to lookup email by name + company
- 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:
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:
- Strongest signal recency — funding 30 days ago beats funding 9 months ago
- Tech stack match strength — known integration partner beats inferred fit
- Decision-maker named with verified email — beats role-pattern-guessed email
- 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)
- Buying lists from Apollo wholesale without re-verifying email and re-checking firmographics. Stale data is the norm.
- Treating tech stack data as 100% accurate. BuiltWith and Wappalyzer miss things; Clay's waterfalls miss things. Cross-check.
- Targeting Series C+ for early-stage SaaS sellers. The buyer profile is wrong — too many procurement hoops, too much red tape.
- Targeting Series Pre-Seed seed for products requiring meaningful budget. They have neither budget nor evaluator bandwidth.
- Ignoring intent data when it exists (ZoomInfo Intent, 6sense, etc.) — pre-warm signals beat cold every time.