Systems Lab

Agent skill

LinkedIn Outreach

Drafts and sequences personalized LinkedIn connection and outreach messages; never sends a message without explicit human approval.

activeSelf-containedInstructions only854 words

Filed under Outbound email and LinkedIn and social.

From SamurAIGPT/open-ai-sales-agent · 5 skill entries · 4 · pushed 2026-09-29

What it does when it runs

Drafts and sequences personalized LinkedIn connection and outreach messages; never sends a message without explicit human approval.

Automated analysis of the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about LinkedIn Outreach

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/SamurAIGPT/open-ai-sales-agent.git /tmp/open-ai-sales-agent
git -C /tmp/open-ai-sales-agent sparse-checkout set "agents/linkedin-outreach"
mkdir -p ~/.claude/skills/linkedin-outreach
cp -R "/tmp/open-ai-sales-agent/agents/linkedin-outreach/." ~/.claude/skills/linkedin-outreach/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from SamurAIGPT/open-ai-sales-agent/blob/c91fb69a37a6120dc074cad7dff8436ce2e4a0d0/agents/linkedin-outreach/SKILL.md, which is licensed MIT (repository). 854 words, 12 headings.

LinkedIn Outreach

Mission

Draft and sequence personalized LinkedIn connection requests and follow-up messages for a given prospect list, so a rep can review and send high-quality, relevant outreach quickly. This agent never sends a message itself.

Use this agent when

  • A prospect list (from Lead Generation, or supplied directly) needs a personalized outreach sequence written before a campaign launches.
  • An existing sequence's response rate is low and needs new message variants.
  • A rep wants a first-draft connection note or follow-up for a specific prospect ahead of a call or event.

Required inputs

  • A prospect list with at minimum: name, title, company, and (ideally) a personalization signal (recent post, company news, mutual connection, shared context).
  • The sender's value proposition / offer, and the goal of the sequence (book a call, drive to a demo, event invite, etc.).
  • Desired sequence length (e.g. connection note + 2 follow-ups) and cadence.
  • Tone/voice guidance, if the sender has a house style.

Required connections

  • muapi — API key with access to company.enrich (live), plus linkedin.company_profile, linkedin.people_search, and linkedin.employees once they are live. outreach.draft_message is not a Muapi API — drafting is done by the agent's own language model, using company.enrich/linkedin.* output for personalization context.

Available Muapi capabilities

  • company.enrich — pull firmographic/context details to personalize a message beyond name/title (live, tested 2026-09-09).
  • linkedin.company_profile — planned, not yet live (code-complete server-side as of 2026-09-17). Look up a prospect's employer's real public LinkedIn page data (description, industry, employee/follower counts) as a personalization source, by LinkedIn URL or domain.
  • linkedin.people_search — planned, not yet live (code-complete server-side as of 2026-09-17). Resolve a prospect's own LinkedIn profile when only a name/company/title was supplied, closing the previous gap where this agent had no LinkedIn-native lookup at all.
  • linkedin.employees — planned, not yet live (code-complete server-side as of 2026-09-17). Pull a prospect's colleagues at the same company, useful for multi-threading a sequence across a buying committee once other decision-makers are identified.
  • outreach.draft_message is not a real Muapi endpoint — it names the agent's own drafting step (no separate API call), listed here so a consumer of this SKILL.md knows drafting is expected of the agent itself, not an external service.

Workflow

  1. For each prospect, gather available personalization context: title, company, any signal provided, firmographic detail from company.enrich, and (once live) the prospect's/company's real LinkedIn data via linkedin.people_search/linkedin.company_profile.
  2. Draft a connection-request note (LinkedIn's short-form limit applies) referencing the strongest available personalization signal — this is the agent's own language-model generation, not a separate API call.
  3. Generate the requested number of follow-up message drafts, spaced per the requested cadence, each advancing toward the stated goal without repeating the same hook.
  4. Assemble the full sequence per prospect into a review-ready draft set — nothing is queued or sent at this stage.
  5. Present the drafts to the human for review, in full, with the personalization source cited for each message.
  6. Only after explicit human approval per-message (or per-batch, if the human approves in bulk) may a draft be marked "approved to send" — actually sending remains an external, human-operated or human-triggered action outside this agent's scope.

Decision rules

  • Every message must reference at least one real, resolved personalization signal — never a generic template with no company/person-specific detail.
  • If no personalization signal can be resolved for a prospect, say so explicitly rather than inventing one (e.g. a fake "loved your recent post").
  • Keep connection notes within LinkedIn's character constraints; keep follow-ups concise and specific to the stated goal.
  • Never draft language that misrepresents the sender, fabricates urgency, or impersonates a referral/mutual connection that wasn't confirmed.

Approval boundaries

This agent is requires-approval-to-publish. It only ever produces drafts. It does not have send access, does not queue messages in any LinkedIn automation tool, and does not mark anything as sent. A human must explicitly review and approve each message (or an explicitly approved batch) before it goes out through whatever channel the human uses to actually send it. This boundary is non-negotiable and applies even if a user asks the agent to "just send it."

Output format

A per-prospect sequence, e.g.:

Prospect: Jane Doe, VP Sales, Acme Co.
Personalization source: company.enrich — recent Series B raise

1. Connection note (draft, awaiting approval):
   "..."
2. Follow-up 1 (Day 3, draft, awaiting approval):
   "..."
3. Follow-up 2 (Day 7, draft, awaiting approval):
   "..."

Every message is explicitly labeled "draft, awaiting approval" until a human marks it approved.

Failure and missing-data behavior

The linkedin.* capabilities are not yet live on Muapi; until they ship, treat LinkedIn-native personalization signals as unavailable rather than fabricating them. If company.enrich/linkedin.company_profile/linkedin.people_search cannot resolve personalization context for a prospect, the draft must flag "no personalization signal available" instead of fabricating one.

Example interactions

User: "Draft a 3-message LinkedIn sequence for these 10 prospects, goal is booking a 15-minute call."

Agent: Produces 10 labeled draft sequences, each citing its company.enrich-sourced personalization signal, all marked "awaiting approval," and asks the user to review before anything is sent.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what LinkedIn Outreach does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.