10 Claude Code skills for running outbound end-to-end in your terminal. Built at Workflows.io after mapping our full GTM process, breaking it into standalone skills, and running them through hundreds of real-client campaigns.
Connect the right MCPs and Claude Code becomes your outbound team.
| # | Skill | What it does |
|---|---|---|
| 1 | fivos-icp-segmentation |
Turn a client brief into an ICP matrix + tiered filter JSON |
| 2 | fivos-campaign-strategist |
Pick plays, signals, sequence shapes, volume targets |
| 3 | fivos-account-sourcing |
Source accounts from Discolike / AI Ark / Ocean.io with two-gate approval |
| 4 | fivos-account-enrichment |
Enrich accounts through Clay (tech stack, funding, hiring, custom research) |
| 5 | fivos-contact-sourcing |
Find decision-makers at target accounts via AI Ark + Clay |
| 6 | fivos-contact-enrichment |
Email + phone waterfall via Findymail + BetterContact, Zerobounce verification |
| 7 | fivos-lead-scoring |
Tier accounts A/B/C with a 10-row audit sample + reasoning |
| 8 | fivos-copywriter |
Tier-aware email + LinkedIn sequences, AI-tell blocklist, no em dashes |
| 9 | fivos-campaign-launcher |
Create + activate campaigns in Instantly + HeyReach |
| 10 | fivos-campaign-analysis |
Weekly analytics + anomaly detection across sequencers |
git clone https://github.com/fivosaresti/workflows-outbound-skills.git ~/.claude/skills/fivosClaude Code auto-discovers skills by reading the frontmatter in each SKILL.md. Nothing else to install.
Update later with cd ~/.claude/skills/fivos && git pull.
Copy .env.example to your Claude Code env file (usually ~/.claude/.env) and fill in keys for whichever providers you're using. The skills degrade gracefully - they'll work with whichever providers you've wired and tell you what's missing for the rest.
# Account sourcing (pick any subset)
DISCOLIKE_API_KEY=
AI_ARK_API_KEY=
OCEAN_IO_API_KEY=
# Contact enrichment
FINDYMAIL_API_KEY=
BETTERCONTACT_API_KEY=
ZEROBOUNCE_API_KEY=
# Campaign launchers
INSTANTLY_API_KEY=
HEYREACH_API_KEY=These MCPs are called by the skills. Install whichever ones you need - each skill degrades to a curl-based REST fallback if the MCP isn't available.
| MCP | Used by | Status in v0.1 |
|---|---|---|
| Discolike | account-sourcing | Expected prefix mcp__discolike__* |
| AI Ark | account-sourcing, contact-sourcing | Expected prefix mcp__ai_ark__* |
| Ocean.io | account-sourcing | Expected prefix mcp__ocean_io__* |
| Clay | account-enrichment, contact-sourcing | Expected prefix mcp__claude_ai_Clay__* |
| Findymail | contact-enrichment | Expected prefix mcp__findymail__* |
| BetterContact | contact-enrichment | Expected prefix mcp__bettercontact__* |
| Zerobounce | contact-enrichment | Expected prefix mcp__zerobounce__* |
| Instantly | campaign-launcher, campaign-analysis | Expected prefix mcp__instantly__* |
HeyReach is REST-only (no MCP today) - uses HEYREACH_API_KEY directly via Bash + curl.
If your actual MCP tool names differ from these prefixes, a find-and-replace across the skills folder closes the gap. The skill logic doesn't change.
The 10 skills form one pipeline. Run them in order per client / campaign:
icp-segmentation → campaign-strategist → account-sourcing → account-enrichment
↓
contact-sourcing → contact-enrichment → lead-scoring → copywriter → campaign-launcher → campaign-analysis
Each skill writes its output CSV to disk; the next skill reads it. The engineer stays in the loop at two approval gates: before spending on providers, and after the first 10-row qualification sample.
These are enforced across the skills - don't fight them:
- Two approval gates on sourcing + scoring (pre-spend, post-sample).
- Contacts come from AI Ark + Clay only (we tried every other provider - this pair covers 95% of cases cheapest).
- AI Ark uses structured filters, never natural-language prompts - NL wastes credits.
- Stop on deliverable in the email waterfall. No "let's run one more provider to compare."
- No em dashes anywhere. Use
-. The copywriter skill has an AI-tell blocklist and enforces this. - Upload every qualified CSV to an internal DB (if you have one) tagged by client + campaign so past builds are reusable.
fivos-account-sourcing Step 0 queries an internal DB of companies you've already sourced. Skip if you don't have one. If you do, tag every upload by client, campaign, and a short contents description so past lists are filterable. The DB compounds - every campaign makes the next one cheaper.
Works with any DB: Postgres, BigQuery, Supabase, Snowflake. Update _query_internal_db.py / _upload_to_db.py in account-sourcing/ to talk to yours.
Pop a new Claude Code session and run:
/skills
You should see all 10 fivos-* skills in the list.
Once the MCPs are wired, run these in order against one real client:
fivos-icp-segmentation→ ICP doc.fivos-campaign-strategist→ campaign plan.fivos-account-sourcing- start with a 10-row sample.fivos-account-enrichmenton the sourced CSV.fivos-lead-scoring- 10-row sample, audit reasoning, approve, full run.fivos-contact-sourcingon qualified accounts.fivos-contact-enrichmentemail waterfall.fivos-copywriter3 rows, review voice, full run.fivos-campaign-launcherinto a throwaway Instantly campaign (don't activate until you've reviewed).fivos-campaign-analysisonce live, weekly.
- Lead scoring runs via Claude in-session - fast for <500 rows, slower at scale. Swap in a dedicated qualification model for big runs.
- HeyReach is REST-only; no MCP yet.
- Smartlead / Lemlist mentions in
campaign-launcherare pattern-only - extend the skill yourself to activate them. - No Apollo or HubSpot integration in v0.1.
- Prompts, rubrics, provider-weighting updates: open a PR.
- Adding a new provider: add a sub-file under the relevant skill folder (e.g.
account-sourcing/<provider>.md), document the MCP prefix + filter shape + pricing + strengths/weaknesses, then wire it into the mainSKILL.mdworkflow. - Bug or bad output: open an issue with the command, the input CSV shape, and what you got back.
Open an issue or DM me on LinkedIn: linkedin.com/in/fivosaresti.
MIT - see LICENSE.