← Back to Skills Marketplace
aspenas

Ironclaw Outreach Sequencer

by Patrick Smith · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
720
Downloads
0
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install ironclaw-outreach-sequencer
Description
Create and manage multi-step outreach sequences — LinkedIn messages, cold emails, and follow-ups with personalization. Use when asked to "send outreach", "cr...
README (SKILL.md)

Outreach Sequencer — Multi-Step Personalized Campaigns

Design, schedule, and execute multi-step outreach sequences across LinkedIn and email. Each message is personalized per lead using their profile data from DuckDB.

Sequence Templates

Template 1: LinkedIn Connection + Message

Day 0: Send LinkedIn connection request (with note)
Day 1: If accepted → Send intro message
Day 3: If no reply → Follow-up message
Day 7: If no reply → Break-up / value-add message

Template 2: Cold Email Sequence

Day 0: Initial cold email
Day 3: Follow-up (reply to original thread)
Day 7: Value-add email (case study, resource)
Day 14: Break-up email ("closing the loop")

Template 3: Multi-Channel

Day 0: LinkedIn connection request
Day 2: Cold email (if not connected on LinkedIn)
Day 4: LinkedIn message (if connected) OR email follow-up
Day 7: Final touch (whichever channel they engaged on)

Personalization Engine

Each message is generated per-lead using their DuckDB profile data. Use these variables:

Variable Source Example
{first_name} Name field (split) "Jane"
{company} Company field "Acme Corp"
{title} Title field "CTO"
{mutual} Shared connections/background "Stanford"
{trigger} Why reaching out now "saw your Series A"
{value_prop} What you offer them "AI-powered analytics"
{pain_point} Their likely challenge "scaling engineering team"

Personalization Rules

  • Never use generic openers like "I hope this finds you well"
  • Reference something specific: recent post, company news, shared background
  • Keep LinkedIn messages under 300 chars (connection note limit)
  • Keep cold emails under 150 words (respect attention)
  • Vary language across leads — don't send identical messages to people at the same company
  • Match tone to seniority: C-suite gets concise/strategic, ICs get technical/peer-level

Message Generation Pattern

1. Read lead profile from DuckDB
2. Identify personalization hooks:
   - Shared background (school, company, location)
   - Recent company news (web search if needed)
   - Role-specific pain points
3. Select message template for sequence step
4. Generate personalized message
5. Store message + status in DuckDB

Execution

LinkedIn Messages (via Browser)

browser → open LinkedIn messaging
browser → search for recipient
browser → open conversation
browser → type personalized message
browser → send
→ Update DuckDB status: "Sent"

Email (via gog CLI)

gog gmail send \
  --to "{email}" \
  --subject "{subject}" \
  --body "{personalized_body}" \
  --account [email protected]

For follow-ups (reply to thread):

gog gmail reply \
  --thread-id "{thread_id}" \
  --body "{follow_up_body}"

Sequence Status Tracking

Track in DuckDB with these status fields:

Field Values Notes
Outreach Status Queued, Sent, Replied, Converted, Bounced, Opted Out Main status
Sequence Step 1, 2, 3, 4 Current step in sequence
Last Outreach date When last message was sent
Next Outreach date When next step is due
Outreach Channel LinkedIn, Email, Both Active channel
Reply Received boolean True if they responded
Thread ID text Gmail thread ID for email chains
-- Find leads due for next sequence step
SELECT "Name", "Email", "Outreach Status", "Sequence Step", "Next Outreach"
FROM v_leads
WHERE "Outreach Status" = 'Sent'
  AND "Reply Received" = false
  AND "Next Outreach" \x3C= CURRENT_DATE
ORDER BY "Next Outreach";

Cron Integration

Set up automated sequence execution:

Schedule: Every 2 hours during business hours (9am-5pm Mon-Fri)
Action:
1. Query leads due for next step
2. For each due lead:
   a. Generate personalized message for their current step
   b. Send via appropriate channel
   c. Update status + advance step
   d. Set next outreach date
3. Report: "Sent 12 messages (8 LinkedIn, 4 email). 3 replies received."

Cron Job Setup (for OpenClaw)

{
  "name": "Outreach Sequencer",
  "schedule": { "kind": "cron", "expr": "0 9,11,13,15 * * 1-5", "tz": "America/Denver" },
  "sessionTarget": "isolated",
  "payload": {
    "kind": "agentTurn",
    "message": "Run outreach sequence check. Query DuckDB for leads with Next Outreach \x3C= today. Send personalized messages for their current sequence step. Update statuses. Report results.",
    "timeoutSeconds": 300
  }
}

Safety & Compliance

  • Daily send limits: Max 50 LinkedIn connection requests/day, 100 messages/day
  • Email limits: Max 100 cold emails/day (avoid spam flags)
  • Opt-out handling: If someone replies "not interested" / "unsubscribe", immediately set status to "Opted Out" and never contact again
  • Bounce handling: If email bounces, mark as "Bounced" and try alternate email patterns
  • CAN-SPAM compliance: Include sender identity, physical address option, and opt-out mechanism in emails
  • LinkedIn ToS: Keep connection notes professional, don't spam InMails
  • Cool-down: If a lead hasn't replied after full sequence, wait 90 days before any re-engagement

Analytics

After each sequence run, track:

Active Sequences: 85 leads
├── Step 1 (Initial): 20 leads
├── Step 2 (Follow-up): 35 leads
├── Step 3 (Value-add): 18 leads
├── Step 4 (Break-up): 12 leads
│
Outcomes:
├── Replied: 23 (27% reply rate)
├── Converted: 8 (9.4% conversion)
├── Opted Out: 3 (3.5%)
├── Bounced: 2 (2.4%)
└── No Response (completed): 15 (17.6%)
Usage Guidance
Before installing or running this skill: (1) Require the author to declare exactly what credentials and config paths are needed (Gmail OAuth tokens, LinkedIn auth/cookies, DuckDB file path) and how those secrets will be provided and stored; do not proceed if credentials are not explicit. (2) Verify the 'gog' CLI and any browser-automation tooling the skill expects are trusted and installed deliberately — the skill has no install step. (3) Remove or replace any hardcoded account identifiers in the skill and confirm who '[email protected]' refers to. (4) Test in an isolated account/environment first (use a sandbox Gmail and a test LinkedIn account) to confirm behavior and rate limits. (5) Ensure opt-out, CAN-SPAM, and LinkedIn ToS handling are enforced and log all sends. (6) If you want to proceed, request the author to add explicit requires.env entries (e.g., GMAIL_OAUTH_TOKEN, LINKEDIN_SESSION, DUCKDB_PATH) and document where data is stored and how long it is retained. If the author cannot justify these omissions, treat the skill as unsafe to enable with live accounts.
Capability Analysis
Type: OpenClaw Skill Name: ironclaw-outreach-sequencer Version: 1.0.0 The skill is classified as suspicious due to its reliance on high-risk capabilities, specifically direct browser automation for LinkedIn interactions and the execution of external CLI commands (`gog gmail send/reply`) for email. While these actions are described for a legitimate 'outreach' purpose, the underlying capabilities present a significant attack surface. If the agent were compromised or subjected to prompt injection, these features could be exploited to exfiltrate sensitive browser data, send unauthorized emails, or perform other harmful actions beyond the skill's stated intent, even though the current instructions in SKILL.md do not explicitly direct such malicious behavior.
Capability Assessment
Purpose & Capability
The skill claims to run multi-step outreach across LinkedIn and Gmail and to read/write lead profiles in DuckDB, but the registry metadata declares no credentials, no config paths, and no required binaries. The SKILL.md references a 'gog gmail' CLI and browser automation for LinkedIn and even shows a specific account email ([email protected]). Those capabilities normally require OAuth/API credentials, a browser automation capability, and a DuckDB file path; none are declared — this is a mismatch between claimed purpose and declared requirements.
Instruction Scope
Runtime instructions direct the agent to: open LinkedIn in a browser, search for recipients, type and send messages; run 'gog gmail send' and 'gog gmail reply' with a named account; read and update lead profiles in DuckDB; optionally perform web searches for company news. These steps involve interacting with a user mailbox, message threads, and a local database. The SKILL.md does not specify where the DuckDB lives, how Gmail/LinkedIn auth is obtained, or what browser automation stack is expected — giving the agent broad, underspecified discretion to access accounts and local data.
Install Mechanism
There is no install spec (instruction-only), which reduces installer risk. However, the instructions assume the presence of external tooling ('gog' CLI, DuckDB, and a browser automation environment). Because those dependencies are not installed or declared, the skill will either fail at runtime or silently depend on preinstalled tools, which is an operational/availability risk.
Credentials
The skill requests no environment variables or credentials in metadata but clearly requires mailbox access (Gmail), LinkedIn session/authentication, and read/write access to a DuckDB file. The presence of a hardcoded email address in examples increases risk/ambiguity. Required secrets (Gmail OAuth tokens, LinkedIn cookies/session, DB path) are not declared — this is disproportionate and under-specified.
Persistence & Privilege
The skill is not marked always:true and is user-invocable (normal). The SKILL.md includes a cron integration example for scheduled runs; that implies potential autonomous, periodic sending of messages if the user wires up scheduling. Autonomous invocation is platform-normal, but combined with the other concerns (undeclared credentials, account access) it increases the blast radius if configured without careful access controls.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ironclaw-outreach-sequencer
  3. After installation, invoke the skill by name or use /ironclaw-outreach-sequencer
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Outreach sequencer v1.0.0 — initial release. - Create and manage multi-step outreach sequences across LinkedIn and email with built-in personalization. - Includes ready-to-use sequence templates for LinkedIn, cold email, and multi-channel outreach. - Personalizes messages per-lead using DuckDB profile data and specific message generation rules. - Automates execution, message delivery, and status tracking via DuckDB. - Enforces safety (send limits, opt-out, compliance) and provides analytics after each run. - Supports scheduled/automated outreach execution through cron integration.
Metadata
Slug ironclaw-outreach-sequencer
Version 1.0.0
License
All-time Installs 2
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is Ironclaw Outreach Sequencer?

Create and manage multi-step outreach sequences — LinkedIn messages, cold emails, and follow-ups with personalization. Use when asked to "send outreach", "cr... It is an AI Agent Skill for Claude Code / OpenClaw, with 720 downloads so far.

How do I install Ironclaw Outreach Sequencer?

Run "/install ironclaw-outreach-sequencer" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ironclaw Outreach Sequencer free?

Yes, Ironclaw Outreach Sequencer is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Ironclaw Outreach Sequencer support?

Ironclaw Outreach Sequencer is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ironclaw Outreach Sequencer?

It is built and maintained by Patrick Smith (@aspenas); the current version is v1.0.0.

💬 Comments