Install
openclaw skills install cold-outreach-skillMeta-skill for orchestrating Apollo API, LinkedIn API, YC Cold Outreach, and MachFive Cold Email into a complete B2B cold outreach pipeline. Use when the user wants end-to-end lead sourcing, enrichment, personalized copy strategy, and generation-ready outreach sequences with strict quality and safety gates.
openclaw skills install cold-outreach-skillRun a full B2B cold outreach workflow from ICP definition to sequence-ready output.
Primary objective:
This is an orchestration skill. It coordinates upstream skills; it does not replace them.
apollo-api (inspected latest: 1.0.5)linkedin-api (inspected latest: 1.0.2)yc-cold-outreach (inspected latest: 1.0.1)cold-email (MachFive Cold Email, inspected latest: 1.0.5)Install/update with ClawHub:
npx -y clawhub@latest install apollo-api
npx -y clawhub@latest install linkedin-api
npx -y clawhub@latest install yc-cold-outreach
npx -y clawhub@latest install cold-email
npx -y clawhub@latest update --all
Verify availability:
npx -y clawhub@latest list
If any required skill is missing, stop and report exact install commands.
MATON_API_KEY for apollo-api and linkedin-api (Maton gateway)MACHFIVE_API_KEY for cold-emailPreflight checks:
echo "$MATON_API_KEY" | wc -c
echo "$MACHFIVE_API_KEY" | wc -c
If either key is missing or empty, stop before lead processing.
Collect these inputs before execution:
offer: what is being sold (example: design service)icp_title: target role (example: CMO)icp_industry: target industry (example: SaaS)icp_location: target location (example: Berlin)lead_count_target (example: 50)campaign_goal: reply, meeting, referral, audit request, etc.proof_points: case studies, metrics, social prooftone_constraints: plain-English, short, non-salesymachfive_campaign (campaign ID or campaign name to resolve)execution_mode: draft-only or generation-readyDo not start writing copy until these are explicit.
apollo-api)Use for lead discovery and basic enrichment.
Operationally relevant behavior from inspected skill:
POST /apollo/v1/mixed_people/api_searchq_person_titleperson_locationsq_organization_nameq_keywordsPOST /apollo/v1/people/matchpage and per_page.Maton-Connection header.Primary output of this stage:
linkedin-api)Use for LinkedIn-side context where accessible through provided endpoints.
Operationally relevant behavior from inspected skill:
ugcPosts) and organization post/stat APIs.MATON_API_KEY and LinkedIn protocol headers.Important boundary:
yc-cold-outreach)Use as writing strategy/critique framework, not as a transport API.
Core principles to enforce:
cold-email)Use for sequence generation from prepared lead records.
Operationally relevant behavior from inspected skill:
campaign_id mandatory for generate endpoints)./generate) can take minutes; use long timeout./generate-batch) returns list_id; poll list status; export when complete.email is required.lead_count_target or quality threshold is reached.generation-ready mode is requested (MachFive requires email).Recommended normalized lead schema:
{
"lead_id": "apollo-or-derived-id",
"name": "Anna Example",
"title": "Chief Marketing Officer",
"company": "Startup GmbH",
"location": "Berlin",
"email": "anna@startup.com",
"linkedin_url": "https://linkedin.com/in/...",
"source": "apollo-api"
}
not_available.Personalization object per lead:
{
"icebreaker": "not_available_or_verified_fact",
"pain_hypothesis": "Likely CRO bottleneck in paid landing pages",
"proof_hook": "Helped X improve conversion by Y%",
"confidence": 0.0
}
Hard rule:
For each lead, create a strategy brief before generating copy:
Apply YC constraints:
GET /api/v1/campaigns) if not provided.Required generation payload hygiene:
name, title, company, emaillinkedin_url and company_website when availableemail_count intentionally (usually 3)Before declaring output ready, validate each sequence:
Any failed sequence must be flagged needs_revision.
This meta-skill outputs send-ready recommendations, not direct send automation.
If user asks for timing optimization (for example Tuesday 10:00), return it as a scheduling recommendation field and handoff plan.
Example handoff object:
{
"lead_id": "...",
"sequence_status": "approved",
"suggested_send_time_local": "Tuesday 10:00",
"timezone": "Europe/Berlin",
"send_system": "external",
"notes": "Timing is recommendation-only; execution tool must schedule/send."
}
For the scenario "sell design services to startup marketing leaders":
Always return these sections:
LeadSummary
EnrichmentSummary
SequencePackage
approved or needs_revision)ExecutionPlan
approved when CTA is unclear or multiple asks exist.MATON_API_KEY: stop Apollo/LinkedIn stages.MACHFIVE_API_KEY: stop generation stage and return draft-only strategy.linkedin-api inspected capability set is not equivalent to unrestricted scraping of arbitrary personal lead activity.cold-email generates sequences but does not itself guarantee outbound send scheduling/execution.apollo-api provides search/enrichment primitives; email deliverability validation beyond provider fields may require extra tooling.Treat these as explicit constraints in planning and reporting.