Cold Outreach Skill

v1.0.0

Orchestrates Apollo, LinkedIn, YC Cold Outreach, and MachFive APIs to source leads, enrich profiles, create personalized B2B outreach sequences ready for sen...

0· 719·0 current·0 all-time
byHagen Hoferichter@h4gen

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for h4gen/cold-outreach-skill.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Cold Outreach Skill" (h4gen/cold-outreach-skill) from ClawHub.
Skill page: https://clawhub.ai/h4gen/cold-outreach-skill
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: MATON_API_KEY, MACHFIVE_API_KEY
Required binaries: python3, npx
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install cold-outreach-skill

ClawHub CLI

Package manager switcher

npx clawhub@latest install cold-outreach-skill
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description (orchestrating Apollo, LinkedIn, YC Cold Outreach, MachFive) matches the declared needs: it asks for Maton gateway API key (MATON_API_KEY) and MachFive API key (MACHFIVE_API_KEY) and instructs installing the referenced upstream skills. Required binaries (npx for ClawHub installs, python3 likely needed by upstream skills) are plausibly relevant. Nothing requested appears unrelated to the stated goal.
Instruction Scope
SKILL.md is an instruction-only orchestration document. It limits actions to installing/updating listed upstream skills, checking for the two API keys, querying Apollo, optional LinkedIn enrichment, and using MachFive for generation. It explicitly forbids inventing personal posts and requires emails for generation-ready mode. It does not instruct reading unrelated system files or exfiltrating data to unknown endpoints.
Install Mechanism
The skill itself has no install spec or code (instruction-only). It tells the operator to run npx -y clawhub@latest to install upstream skills — that will pull packages from the network/npm when you run the commands. This is a normal approach for ClawHub but means running the install commands will download and install third-party packages; review those upstream packages before executing.
Credentials
Only MATON_API_KEY and MACHFIVE_API_KEY are required and both are justified by integration with Maton-gateway-backed Apollo/LinkedIn and MachFive Cold Email. No unrelated secrets or broad cloud credentials are requested. The SKILL.md uses the declared env vars (preflight checks) and does not reference other hidden env values.
Persistence & Privilege
The skill is not always-enabled, and it does not request persistent elevated privileges or modification of other skills. disable-model-invocation is false (normal). Because it is instruction-only, it does not write code to disk by itself; running the suggested npx install commands is an explicit operator action.
Scan Findings in Context
[instruction-only-no-code] expected: Regex scanner had no code files to analyze. This is expected because SKILL.md is an instruction-only meta-skill; any executable content would come from upstream skills installed via npx.
Assessment
This meta-skill appears to be what it says: an orchestrator that coordinates Apollo (via Maton), LinkedIn, a writing/critique framework, and MachFive cold-email generation. Before installing or running it: 1) Confirm the legitimacy and scope of your MATON_API_KEY and MACHFIVE_API_KEY (who issued them, what permissions they grant, and where they are stored). 2) Audit the upstream packages (apollo-api, linkedin-api, yc-cold-outreach, cold-email) before running the npx install commands because those will be downloaded and installed from the network. 3) Be aware the workflow processes personal contact data (emails, LinkedIn profiles) — ensure this use complies with your privacy policy, data protection rules (GDPR, etc.), and your organization's acceptable use. 4) Run installs in an isolated or development environment first (not on sensitive production systems). 5) If you need higher assurance, ask for the upstream skills' code or hashes and verify the Maton gateway behavior (one gateway key for multiple services is plausible but verify with the provider).

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

dart Clawdis
Binspython3, npx
EnvMATON_API_KEY, MACHFIVE_API_KEY
latestvk97ayhb22gzzavr83w7jnw74bx815tq2
719downloads
0stars
1versions
Updated 2mo ago
v1.0.0
MIT-0

Purpose

Run a full B2B cold outreach workflow from ICP definition to sequence-ready output.

Primary objective:

  • Identify high-fit leads.
  • Enrich context for personalization.
  • Produce concise, non-salesy, high-response outreach sequences.
  • Return execution-ready assets for external sending/scheduling systems.

This is an orchestration skill. It coordinates upstream skills; it does not replace them.

Required Installed Skills

  • 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.

Required Credentials

  • MATON_API_KEY for apollo-api and linkedin-api (Maton gateway)
  • MACHFIVE_API_KEY for cold-email

Preflight checks:

echo "$MATON_API_KEY" | wc -c
echo "$MACHFIVE_API_KEY" | wc -c

If either key is missing or empty, stop before lead processing.

Job Context Template

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 proof
  • tone_constraints: plain-English, short, non-salesy
  • machfive_campaign (campaign ID or campaign name to resolve)
  • execution_mode: draft-only or generation-ready

Do not start writing copy until these are explicit.

Tool Responsibilities

Apollo API (apollo-api)

Use for lead discovery and basic enrichment.

Operationally relevant behavior from inspected skill:

  • Search people: POST /apollo/v1/mixed_people/api_search
  • Search filters include:
    • q_person_title
    • person_locations
    • q_organization_name
    • q_keywords
  • Enrich person by email or LinkedIn URL:
    • POST /apollo/v1/people/match
  • Supports pagination via page and per_page.
  • Uses Maton gateway and optional Maton-Connection header.

Primary output of this stage:

  • initial lead list with role/company/email/linkedin_url (when available)

LinkedIn API (linkedin-api)

Use for LinkedIn-side context where accessible through provided endpoints.

Operationally relevant behavior from inspected skill:

  • Authenticated profile/user info endpoints (for connected account context).
  • Content/posting APIs (ugcPosts) and organization post/stat APIs.
  • Requires MATON_API_KEY and LinkedIn protocol headers.

Important boundary:

  • The inspected skill is not a generic scraper for arbitrary third-party personal profiles and recent personal posts.
  • If a workflow requires deep per-lead personal-post enrichment, mark that as additional-tool-required.

YC Cold Outreach (yc-cold-outreach)

Use as writing strategy/critique framework, not as a transport API.

Core principles to enforce:

  • single goal per email
  • human tone
  • deep personalization (not just token replacement)
  • brevity/mobile readability
  • credibility and proof
  • reader-centric language
  • clear CTA

MachFive Cold Email (cold-email)

Use for sequence generation from prepared lead records.

Operationally relevant behavior from inspected skill:

  • Campaign required (campaign_id mandatory for generate endpoints).
  • Single lead sync generation (/generate) can take minutes; use long timeout.
  • Batch async generation (/generate-batch) returns list_id; poll list status; export when complete.
  • Lead email is required.
  • Supports structured sequence output with subject/body per step.

Canonical Workflow

Stage 1: Build lead universe (Apollo)

  1. Query Apollo for ICP-constrained leads (example: CMO + SaaS + Berlin).
  2. Page until lead_count_target or quality threshold is reached.
  3. Normalize each lead record to required fields.
  4. Drop records without email if 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"
}

Stage 2: Enrich personalization context

  1. Attempt LinkedIn/API enrichment within supported endpoints.
  2. If direct personal-post signal is unavailable, keep the context slot explicit as not_available.
  3. Optionally enrich from Apollo fields (company, role, keywords, domain context) to avoid fake personalization.

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:

  • Never invent a post, interest, or quote.

Stage 3: Message strategy (YC framework)

For each lead, create a strategy brief before generating copy:

  • Problem: what specific pain this role likely has
  • Solution: what your offer solves
  • Proof: one concrete metric/client signal
  • CTA: one low-friction next step

Apply YC constraints:

  • one ask
  • short/mobile-first
  • human language
  • personalization grounded in verifiable context

Stage 4: Sequence generation (MachFive)

  1. Resolve campaign ID first (GET /api/v1/campaigns) if not provided.
  2. Submit leads with required email field.
  3. Prefer batch for many leads; poll until completion.
  4. Export JSON result and map sequences back to lead IDs.

Required generation payload hygiene:

  • include name, title, company, email
  • include linkedin_url and company_website when available
  • set email_count intentionally (usually 3)
  • use approved CTA set aligned with campaign goal

Stage 5: QA and decision gate

Before declaring output ready, validate each sequence:

  • personalization factuality check
  • YC rubric check (human, concise, one CTA)
  • token insertion sanity (name/company/title correct)
  • prohibited claims check (no fabricated proof)

Any failed sequence must be flagged needs_revision.

Stage 6: Scheduling and send handoff

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."
}

Causal Chain (Scenario Mapping)

For the scenario "sell design services to startup marketing leaders":

  1. Apollo returns target leads (example target: 50 CMOs in Berlin SaaS).
  2. LinkedIn/API enrichment attempts to add usable context per lead.
  3. YC framework converts lead context into a concise Problem → Solution → Proof → CTA angle.
  4. MachFive generates multi-step sequences with validated variables.
  5. Agent outputs:
    • approved sequences
    • quality score per lead
    • scheduling recommendation (example: Tuesday 10:00 local)

Output Contract

Always return these sections:

  • LeadSummary

    • requested vs qualified lead count
    • rejection reasons (missing email, poor fit, duplicate)
  • EnrichmentSummary

    • fields successfully enriched
    • unavailable fields and why
  • SequencePackage

    • one object per lead with subjects/bodies by step
    • QA status (approved or needs_revision)
  • ExecutionPlan

    • send-time recommendation
    • required external sender/scheduler
    • blockers (missing campaign, missing API key, missing email)

Guardrails

  • Never fabricate personalization facts.
  • Never claim a lead posted something unless sourced and verifiable.
  • Do not proceed to MachFive generation without campaign ID resolution.
  • Do not mark sequence approved when CTA is unclear or multiple asks exist.
  • Keep language non-manipulative and compliant with outreach policies.

Failure Handling

  • Missing MATON_API_KEY: stop Apollo/LinkedIn stages.
  • Missing MACHFIVE_API_KEY: stop generation stage and return draft-only strategy.
  • Missing campaign ID: list campaigns and request explicit selection.
  • Batch timeout/partial output: continue via list status + export recovery flow.
  • Insufficient lead quality: return reduced high-quality set instead of forcing volume.

Known Limits from Inspected Upstream Skills

  • 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.

Comments

Loading comments...