$npx -y skills add yoyothesheep/claude-skills --skill distribute-outreachBacklink and citation outreach for a newly published post. Finds Substack writers, journalists, and bloggers likely to reference the post's key claim, generates personalized pitches, and maintains a running outreach contacts file. Use after a post is published and socially distri
| 1 | # Distribute Outreach |
| 2 | |
| 3 | Finds writers, journalists, and bloggers likely to reference a new post's key claim. Generates personalized pitches and appends new contacts to the outreach CRM file. |
| 4 | |
| 5 | --- |
| 6 | |
| 7 | ## Inputs Required |
| 8 | |
| 9 | Ask the user for: |
| 10 | - **Post slug** |
| 11 | - **Post title** |
| 12 | - **Post URL** |
| 13 | - **Key claim** — 1–2 sentences: the most specific, data-backed claim in the post |
| 14 | |
| 15 | --- |
| 16 | |
| 17 | ## Workflow |
| 18 | |
| 19 | ### Step 1: Derive Search Queries |
| 20 | |
| 21 | Read the CONFIG.md universal targets. Then extract post-specific angles from the post URL/title/claim to generate 2–3 narrower queries. |
| 22 | |
| 23 | Merge both layers — post-specific queries take priority. |
| 24 | |
| 25 | ### Step 2: Find Contacts |
| 26 | |
| 27 | Prioritize in this order: |
| 28 | |
| 29 | **Tier 1 — Newsletter writers (highest ROI)** |
| 30 | - Substack writers covering `{OUTREACH_TOPICS}` + post-specific angle |
| 31 | - Search: `{OUTREACH_SUBSTACK_QUERIES}` + post-specific queries |
| 32 | - Target: writers with 1K–50K subscribers |
| 33 | |
| 34 | **Tier 2 — Journalists and staff writers** |
| 35 | - Reporters at publications listed in `OUTREACH_PUBLICATIONS` |
| 36 | - Find bylines covering the post's specific topic area |
| 37 | |
| 38 | **Tier 3 — Bloggers and independent researchers** |
| 39 | - Personal blogs cited in your topic's research circles |
| 40 | - LinkedIn thought leaders in the space |
| 41 | |
| 42 | Searches to run: |
| 43 | ``` |
| 44 | web_search: "[post-specific claim or topic] site:substack.com" |
| 45 | web_search: "[universal topic from OUTREACH_TOPICS] site:substack.com" |
| 46 | web_search: "[post-specific claim exact phrase]" site:medium.com |
| 47 | web_search: "[specific claim from post]" -site:reddit.com |
| 48 | ``` |
| 49 | |
| 50 | For each result, extract: writer name, publication, URL of a relevant piece, contact method. |
| 51 | |
| 52 | ### Step 3: Dedup Against Existing Contacts |
| 53 | |
| 54 | Before adding any contact, read `{OUTREACH_CONTACTS_PATH}`. Skip any name or publication URL already present regardless of status. |
| 55 | |
| 56 | ### Step 4: Generate Pitches |
| 57 | |
| 58 | One personalized 3-sentence pitch per contact: |
| 59 | |
| 60 | ``` |
| 61 | Sentence 1: Reference their specific piece by name — show you read it. |
| 62 | Sentence 2: Lead with your key claim and the specific data point that supports it. |
| 63 | Sentence 3: Offer the URL as a potential source — no ask for anything in return. |
| 64 | ``` |
| 65 | |
| 66 | Never: "I thought you might be interested in...", promotional openers, mass-template language. |
| 67 | |
| 68 | ### Step 5: Update Outreach Contacts File |
| 69 | |
| 70 | Append each new contact to `{OUTREACH_CONTACTS_PATH}`: |
| 71 | |
| 72 | ```markdown |
| 73 | | [Name] | [Publication] | [Their Article URL] | [Contact method] | [Post slug] | [Date added] | New | |
| 74 | ``` |
| 75 | |
| 76 | Status values: `New` → `Pitched` → `Responded` → `Linked` → `Declined` |
| 77 | |
| 78 | If the file doesn't exist, create it with header: |
| 79 | ```markdown |
| 80 | # Outreach Contacts |
| 81 | |
| 82 | | Name | Publication | Their Article | Contact | Post | Date Added | Status | |
| 83 | |------|-------------|---------------|---------|------|------------|--------| |
| 84 | ``` |
| 85 | |
| 86 | --- |
| 87 | |
| 88 | ## Output |
| 89 | |
| 90 | ``` |
| 91 | ## Outreach — [Post Title] — [Date] |
| 92 | |
| 93 | - [N] new contacts added to [OUTREACH_CONTACTS_PATH] |
| 94 | - [N] pitches drafted |
| 95 | |
| 96 | ### New Contacts |
| 97 | | Name | Publication | Contact | Pitch | |
| 98 | |------|-------------|---------|-------| |
| 99 | | ... | ... | ... | ... | |
| 100 | ``` |
| 101 | |
| 102 | Minimum 5 new contacts per run, target 10–15. |