SkillAgentSearch skills...

write-outreach

Cold outreach a person sends to business buyers: email and LinkedIn sequences, a first line per prospect, reply and objection answers, and a read of replies

Install / Use

npx skills add gooseworks-ai/goose-skills --skill write-outreach

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

86/100

Supported Platforms

Universal

Tags

Our assessment of write-outreach

write-outreach scores 86/100 on our quality scale, 285th of 401 Communication skills we index.

Its SKILL.md is 17 KB long, well organised into 9 sections and no code examples: a thorough specification that gives an agent plenty to work with.

With 1,222 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
13/20
Description
15/15
Adoption
13/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 33 days ago, so write-outreach is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

write-outreach compared with similar skills

All 4 of these similar skills score higher than write-outreach; compare them before choosing.

SkillScoreStarsUpdatedFormat
write-outreach (this skill)by gooseworks-ai861.2k33d agoSKILL.md
crawl4aiby unclecode10086.3k3d agoMCP Server
algorithmic-artby anthropics100177.9k33d agoSKILL.md
pptxby anthropics100177.9k33d agoSKILL.md
designby nextlevelbuilder100137.2k11d agoSKILL.md

Frequently asked questions

How do I install write-outreach?
Run npx skills add gooseworks-ai/goose-skills --skill write-outreach. The install tabs above show the steps for each supported agent.
Which AI agents does write-outreach work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is write-outreach safe to use?
It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is write-outreach still maintained?
The repository was last updated 33 days ago, so write-outreach is actively maintained.

name: write-outreach description: >- Cold outreach a person sends to business buyers: email and LinkedIn sequences, a first line per prospect, reply and objection answers, and a read of replies. Use when the marketer says "write a cold email sequence", "what do I send to this list", "write LinkedIn messages for these leads", "how do I reply to this prospect" or "handle this objection", "reply to this demo request", "win back or reconnect with accounts that churned or went quiet", or "why is nobody replying to my outreach". Drafts only; the marketer sends from their own tool. Not for finding the people — use research-audience; not for emails to subscribers or users, or consumer win-back — use email-lifecycle. version: 0.2.2

write-outreach

Turns a list, or a buyer group, into words a founder or seller can send this week: sequences per segment, a first line per person, replies and objection answers, and later what the replies say to fix. The craft is in the references; this file is the order of work.

The rule that matters most: write from evidence, send nothing. Every first line rests on a dated fact about that person or account; every proof line is signed off; every message has one ask. The marketer sends from their own mailbox and tool, after warming it up — GooseWorks' own inbox is not a cold-email sender.

What you get

  1. The outreach pack, in the shape and checks of the write-report skill. Outreach adds: the first move is who to send to first (with no list, that there is no one yet); decisions cover proof lines to sign off, the sender, the sending tool, daily volume and timing; with no list or on a first pack, the whole path and who does each step (references/handoff-and-compliance.md § The whole path); per segment the angle, the full sequence once (email and LinkedIn, with days) and 3 sample first lines; replies and objection answers; the before-you-send checklist with the one-line country summary; Sources say where each first line's facts came from and which proof was signed off and which cut. Every row's first line and finished messages go in the send file (and an appendix table when the marketer has no tool).
  2. A send file the marketer imports into their tool (one subject and body column per touch, merge fields filled) — references/handoff-and-compliance.md.
  3. Later, on request: reply drafts for real replies, and a read of results — what to fix in targeting, timing or message.

Before you start

Read research/market/positioning-<product>.md when present, else research/market/positioning.md, and its dated report. Carry the owner-selected launch direction into this work even when the live site/kit still uses earlier messaging. Unselected options stay proposals and every factual claim keeps its existing proof/approval status.

  1. Setup first: do the marketing-guide skill §1–2 (connect, brand, brain read) before anything else; the job line is "I write your outreach from what's saved about your brand." (get_started with wants: "more"; tool groups brand, files.)
  2. Read — free, no questions. Brain path: chapters 14 (rules — every [outreach …] and [outreach-copy …] one), 22 and 23 (what we've run, what is working) and the products chapter; gooseworks:brand_knowledge_search for outreach lessons, case studies, customer results and signed-off claims. Fallback: gooseworks:brand_read (summary, kit, products with prices, learnings) and gooseworks:knowledge_search for the same. Claims: the read step of the claims-gate skill. Workspace: research/audience/ — the newest <D>-<list>/list.csv and its report.md (the segments' angles), catch-all.csv, fit-definition.md, buyer-groups.md, voc-bank.md, ledger.csv, lessons/; outreach/ — earlier packs and results reads. The sender's voice card if one exists (the voice-card skill, read only). 2b. Since last time. (In results mode, after the paste is written to the ledger — references/run-memory.md.) The Start steps of the run-memory skill, job outreach, subject = the pack (references/run-memory.md): the last record for this pack (or, for a new pack, the brand's last outreach records), last run's recommendations checked against the ledger and the brain, and reply and meeting rates per segment and per opener recounted from the ledger — 3–5 lines that open the reply and the pack or read, and that this run acts on.
  3. Pick the mode from the ask — never ask which:
    • Sequences (default): a list, a segment or a buyer group → sequences per segment plus first lines per row.
    • Openers only: "first lines for these prospects" → one first line per row, from its signal and hook.
    • Replies: a prospect's reply pasted → the write-outreach-reply-reader skill for that one reply, then the draft answer.
    • Read results: stats or a batch of replies pasted → the write-outreach-reply-reader skill for the batch, then references/reading-results.md.
    • Consumers who signed up (a waitlist, app or newsletter sign-ups, shoppers): not cold outreach — one line pointing to email-lifecycle (the brand's own consented emails); this playbook writes only to business buyers.
    • Inbound replies: leads who asked the brand (consent_basis: asked-us from research-audience's score-a-list — demo requests, trial sign-ups at companies): a warm, prompt reply that names what they did and answers it, the ask matched to urgency (now: two times this week; today: a walkthrough of one feature; 24 hours: a useful resource) — never a cold sequence.
    • Win-back: churned business accounts → the win-back segment in references/angles-by-signal.md. Lapsed consumer customers → email-lifecycle, in one line.
  4. No list on file (no list.csv, no rows pasted) — whether or not buyer groups exist: still write the sequences for the saved buyer groups (lead first) or, with none, groups drafted from the site and brain, labelled provisional; each segment gets its default opener. The closing opens with the no-list shape (step 8). Never stop to ask for a list.
  5. Assume, don't ask: sender = the founder (from the brain) unless named, as a decision: whoever runs the buyer calls may be the better signer; their own mailbox; their sending tool is one decision, asked once (references/handoff-and-compliance.md § Your sending tool — read it when connected); about 30–50 emails a day per warmed-up mailbox in total (roughly 10–15 new people a day once a sequence runs). State each assumption in the decisions box.

Steps (sequences mode)

  1. Segments. Pick the row in references/outreach-by-company-type.md for the motion. Take the list's segments and angles from segments.csv next to list.csv (or the list's report.md), or the buyer groups. At most four segments in one pack; more → the top four by tier and value, the rest named as next. Each segment's angle: pain in the buyers' own words (from the quote bank, linked — no bank yet: two or three free searches for real posts, else our words labelled "not yet from buyers"), proof — one signed-off claim verbatim, or "proof needed: <what>", ask — one low-friction next step (references/email-craft.md § The ask). Timing check against the buyer's calendar: if it would land in their busiest weeks (DTC and retail from mid-November to Cyber Monday; accountants in tax season), make it the first decision: LinkedIn now with a January angle, or hold the emails.

  2. Sequence shape per segment from where the lead came from and its signal (references/sequences.md § Lead source → sequence): touches, channel per touch (email, LinkedIn connection, LinkedIn message), days between, and what each touch adds (never "just bumping this").

  3. Write. One worker per segment where the host supports it — given the write-outreach-draft-sequence skill pasted whole plus the segment's angle, rows and rules; at most four, one level, no web research beyond re-checking a hook's link. Otherwise segment by segment. Email rules: references/email-craft.md; LinkedIn: references/linkedin-craft.md; first line per signal: references/angles-by-signal.md.

  4. First lines per row. For every row in the list: one first line built on its signal and hook (the fact, why it matters to their pain), or — no hook — the segment's default opener, marked "no personal hook". Never invent a fact, a compliment or a mutual connection.

  5. Replies and objections. Per segment: the 6–8 replies the angle is most likely to draw and the answer to each (references/replies-and-objections.md) — positive, "send info", timing, "we use X", price, wrong person (ask for the referral), not interested, unsubscribe.

  6. Check with the write-outreach-outreach-qa skill: every proof line through claims-gate (cuts listed with the proof that would restore them), country rules per row (references/handoff-and-compliance.md § Country rules), length and character limits, one ask, no tracking-dependent advice, no banned hooks. Every price or offer in a message follows the guide's rule "Live facts" (the marketing-guide skill §3); a mismatch with the brain is flagged in decisions. Fix, then re-check.

  7. Deliver through write-report: the pack as a local file with a clickable link, the send file beside it, a copy saved with the save-to-brain skill (the pack's brand copy keeps the angles, sequences and replies but no person's name, company or first line — per-person text lives only in the local file and the send file) and a gooseworks:file_url link. Write each row's opener_id and sequence_id into the ledger (columns only; references/run-memory.md), then run-memory's End steps: the run record with the counts and the "send first" call as a recommendation with its test.

  8. One closing message, this shape (with no list, the first line is replaced by the no-list block below — never "Send first: <segment, N a day>" without people):

    Send first: <segment, how many people, which touch> — <why>. <pack title> · send file: <name> · saved to your brand: open Decisions: <proof lines to sign off> · <sender and daily volume, if assumed> · paste the replies here as they come in — I'll draft answers and tell you what to fix.

    No list:

    Before you can send: you don't have anyone to send these to yet. Two ways on: (a) Say build the list — I'll find a first batch of about 50 right-fit companies and the buyer at the best of them (name, title, LinkedIn). A test you can read needs 300–500 accounts, so we build it in batches. I can't find or check email addresses yet, so you'll run them through an email finder (such as Apollo or Hunter) and a checker (such as ZeroBounce or NeverBounce) before sending. Start setting up a separate sending domain today — it needs 2–4 weeks of warm-up. (b) Already have a list? Paste or upload it and I'll write a first line for every person. then the links line and Decisions as above. (When the connector can find and check addresses, (a) sa

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars1.2k
CategoryCommunication
Updated1mo ago
Forks208

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions