Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Create and manage multi-step outreach sequences — LinkedIn messages, cold emails, and follow-ups with personalization. Use when asked to "send outreach", "cr...
Create and manage multi-step outreach sequences — LinkedIn messages, cold emails, and follow-ups with personalization. Use when asked to "send outreach", "cr...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Design, schedule, and execute multi-step outreach sequences across LinkedIn and email. Each message is personalized per lead using their profile data from DuckDB.
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
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")
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)
Each message is generated per-lead using their DuckDB profile data. Use these variables: VariableSourceExample{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"
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
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
browser → open LinkedIn messaging browser → search for recipient browser → open conversation browser → type personalized message browser → send → Update DuckDB status: "Sent"
gog gmail send \ --to "{email}" \ --subject "{subject}" \ --body "{personalized_body}" \ --account patrick@candlefish.ai For follow-ups (reply to thread): gog gmail reply \ --thread-id "{thread_id}" \ --body "{follow_up_body}"
Track in DuckDB with these status fields: FieldValuesNotesOutreach StatusQueued, Sent, Replied, Converted, Bounced, Opted OutMain statusSequence Step1, 2, 3, 4Current step in sequenceLast OutreachdateWhen last message was sentNext OutreachdateWhen next step is dueOutreach ChannelLinkedIn, Email, BothActive channelReply ReceivedbooleanTrue if they respondedThread IDtextGmail 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" <= CURRENT_DATE ORDER BY "Next Outreach";
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."
{ "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 <= today. Send personalized messages for their current sequence step. Update statuses. Report results.", "timeoutSeconds": 300 } }
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
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%)
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.