Agent skill

Social Fetch

by coreyhaines31 in coreyhaines31/makerskills

When you or another skill needs to fetch the content of a social media post by URL — tweet, X thread, LinkedIn post, Instagram post, TikTok video, Bluesky post, Reddit thread, Mastodon status…

MITAuto-check passedWriting & Content

Install Social Fetch

skills CLI
$ npx skills add coreyhaines31/makerskills --skill social-fetch -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install coreyhaines31/makerskills social-fetch --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/social-fetch .claude/skills/social-fetch && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
social-fetch
GitHub stars
851
Token cost
~1.9k tokens
SKILL.md length
730 words
Files
4 (incl. references)
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

When you or another skill needs to fetch the content of a social media post by URL — tweet, X thread, LinkedIn post, Instagram post, TikTok video, Bluesky post, Reddit thread, Mastodon status…

  • Works in 6 steps: Detect platform → Pick strategy chain → Execute strategy → …
  • /social-fetch <url
  • SKILL.md covers Step 1 — Detect platform, Step 2 — Pick strategy chain, Step 3 — Execute strategy and Step 4 — Normalize output, plus 5 more sections
  • Reaches x.com; needs SCRAPECREATORS_API_KEY and APIFY_API_TOKEN

What it does

Social Fetch is an agent skill from coreyhaines31/makerskills. When you or another skill needs to fetch the content of a social media post by URL — tweet, X thread, LinkedIn post, Instagram post, TikTok video, Bluesky post, Reddit thread, Mastodon status, Threads post, Hacker News thread. Returns normalized structured data (author, postedat, text, engagement counts, media URLs, replies if requested) regardless of platform. Tries strategies in order: direct API (Bluesky, Mastodon, HN, Reddit), agent-browser with modal dismissal (LinkedIn, X preview), Wayback Machine (older…

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/auth-keys.md`, `references/output-schema.md` and `references/strategies.md`).

It sits in Writing & Content, covering Social media posts. It works with LinkedIn, Reddit, Bluesky and Instagram. The repository describes itself as: AI agent skills for the personal operator's craft — decisions, research, second-brain, content rotation, scenario modeling, and meta-skills to author more. Works with Claude… The licence is MIT.

When your agent uses it

  • /social-fetch <url
  • Fetch this tweet
  • Fetch this post
  • What does this LinkedIn say

Example prompts

  • “/social-fetch <url,”
  • “fetch this tweet,”
  • “fetch this post,”
  • “/social-fetch”

Requirements

  • A credential in SCRAPECREATORS_API_KEY
  • A credential in APIFY_API_TOKEN

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Detect platform
  2. Pick strategy chain
  3. Execute strategy
  4. Normalize output
  5. Optional enrichments
  6. Cache (optional)

What it can do on your machine

Read from SKILL.md and the folder at commit cc31579. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • x.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SCRAPECREATORS_API_KEY
    • APIFY_API_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Social Fetch loads about 1.9k tokens when it runs, and up to ~6.5k if it reads all its reference files. Until then it costs about 222 tokens; SKILL.md has 730 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~222
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from coreyhaines31/makerskills at commit cc31579, republished under its MIT licence (© coreyhaines31). 730 words, ~1,864 tokens.

Download SKILL.mdSave it as .claude/skills/social-fetch/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
social-fetch
description
When you or another skill needs to fetch the content of a social media post by URL — tweet, X thread, LinkedIn post, Instagram post, TikTok video, Bluesky post, Reddit thread, Mastodon status, Threads post, Hacker News thread. Returns normalized structured data (author, posted_at, text, engagement counts, media URLs, replies if requested) regardless of platform. Tries strategies in order: direct API (Bluesky, Mastodon, HN, Reddit), agent-browser with modal dismissal (LinkedIn, X preview), Wayback Machine (older posts), paid APIs (ScrapeCreators / Apify — only if env keys present). Triggers on "/social-fetch <url>," "fetch this tweet," "fetch this post," "what does this LinkedIn say," "read this thread," "pull this post." Used by deep-research (citing specific posts), jab-hook (inspiration account analysis), business-brainstorm (competitor / operator commentary).
metadata.version
0.1.2

/social-fetch — Pull any social post by URL

Normalized fetcher for social posts across platforms. Detects platform from URL, tries strategies in order, returns the same JSON shape regardless of source.

Step 1 — Detect platform

URL patternPlatform
x.com/<user>/status/<id> or twitter.com/<user>/status/<id>x (Twitter)
linkedin.com/posts/<slug> or linkedin.com/feed/update/urn:li:activity:<id>linkedin
linkedin.com/in/<handle> (profile, recent activity)linkedin-profile
instagram.com/p/<id> or instagram.com/reel/<id>instagram
tiktok.com/@<user>/video/<id>tiktok
bsky.app/profile/<handle>/post/<rkey>bluesky
reddit.com/r/<sub>/comments/<id>/...reddit
<mastodon-instance>/@<user>/<id> (e.g. mastodon.social, hachyderm.io)mastodon
threads.net/@<user>/post/<id>threads
news.ycombinator.com/item?id=<id>hn
youtube.com/watch?v=<id> or youtu.be/<id>→ defer to watch-video

If the URL doesn't match any pattern, ask the user what platform it is.

Step 2 — Pick strategy chain

Read references/strategies.md for the per-platform strategy chain. Each platform has 2–5 strategies tried in order.

Key principles:

  • Free strategies first (direct APIs, agent-browser)
  • Paid only as fallback (ScrapeCreators / Apify) — and only if the env key is set
  • Bluesky / Mastodon / HN / Reddit are free + reliable (public APIs)
  • X / LinkedIn / Instagram / TikTok / Threads need paid or scraping fallback for full data

Step 3 — Execute strategy

For each strategy in the chain:

  1. Try it
  2. If success: parse → normalize → return
  3. If failure (404, 402, auth wall, empty response): note the failure and try the next strategy

After exhausting the chain, return a clear error: which strategies were tried, why each failed, and what's needed to unlock (e.g., "Add $SCRAPECREATORS_API_KEY for X — see references/auth-keys.md").

Step 4 — Normalize output

Return this shape regardless of platform (see references/output-schema.md for the full spec + platform-specific examples):

json
{
  "platform": "x",
  "url": "https://x.com/example/status/1234567890",
  "fetched_at": "2026-06-17T14:35:00Z",
  "raw_source": "scrapecreators",
  "author": {
    "handle": "@example",
    "name": "the user Ganim",
    "verified": true
  },
  "posted_at": "2026-06-17T16:53:00Z",
  "text": "The 80/20 of a useful AI second brain: ...",
  "media": [],
  "engagement": {
    "likes": 51,
    "reposts": 13,
    "replies": 9,
    "bookmarks": 7,
    "views": 32700
  },
  "is_thread": true,
  "thread": [],
  "replies": []
}

Fields with no equivalent on a platform (e.g., bookmarks on Mastodon) get null, not 0. Missing data is different from zero data.

Step 5 — Optional enrichments

Based on flags / asks:

FlagBehavior
--with-repliesFetch top-level replies (1 hop). Costs extra API quota.
--threadIf the post is part of a thread by the same author, fetch the whole thread.
--rawInclude the raw API/scrape response in the output (for debugging)
--mediaDownload media files (images/videos) to ~/Documents/social-fetches/<platform>-<id>/

Default: just the post itself, no replies, no media download (just URLs).

Step 6 — Cache (optional)

If ~/Documents/social-fetches/_cache/ exists, cache successful fetches there by {platform}-{id}.json for 24h. Saves API quota when the same post is referenced repeatedly across skills.

Skip cache if --no-cache flag is set or for --with-replies / --thread (likely-stale).

Composes with

  • deep-research — cite specific posts in research briefs. When research surfaces a relevant tweet/post URL, fetch and include in the brief.
  • jab-hook — pull recent posts from inspiration accounts for deeper format analysis (currently uses agent-browser inline; should call this skill instead).
  • business-brainstorm — pull competitor / operator commentary as evidence during scoring.
  • second-brain — capture a post into raw/ with the tweet- / bookmark- prefix; the structured output makes for cleaner raw files than a screenshot or copy-paste.
  • watch-video — for YouTube URLs (or any video — Loom, Vimeo, Riverside, MP4), route there instead.
Show full SKILL.md (278 more words)Show less

Known limits

  • X: free strategies return tweet preview only (text, author, basic engagement). Full thread + replies need $SCRAPECREATORS_API_KEY or $APIFY_API_TOKEN.
  • LinkedIn: agent-browser works for profile recent-activity (after dismissing the modal). Specific post URLs (linkedin.com/posts/...) often need paid fallback.
  • Instagram / TikTok / Threads: heavy anti-bot. Paid fallback strongly recommended.
  • Bluesky / Mastodon / HN / Reddit: free + reliable.
  • Private / deleted posts: nothing helps. Try Wayback Machine for deleted content.

If a platform consistently fails on free strategies and the user uses it often, prompt to set up the paid key (see references/auth-keys.md).

Notes on quality

  • Strategy chain, not single-source. Every platform has a fallback ladder (native oEmbed → agent-browser → SCS API → Apify). If one step fails, degrade gracefully to the next. Never fail hard on the first attempt.
  • Structured output over screenshots. Downstream skills (jab-hook, deep-research, second-brain) need JSON with author + text + engagement fields, not an image. Even when the underlying strategy is a screenshot, extract text before returning.
  • Cache aggressively, invalidate honestly. 24h TTL on ~/Documents/social-fetches/_cache/ prevents API burn when the same post is referenced across multiple skills in a session. --with-replies / --thread skip cache because replies age fast.
  • Respect paid-key economics. ScrapeCreators / Apify calls cost real money. Prompt before hitting paid strategies if the user hasn't confirmed they want depth. Free strategies first, always.
  • Media download is opt-in. Default is post text only; --media downloads images/videos. Silent media downloads eat disk quickly.
  • Private / deleted content is a hard stop. No strategy chain rescues private accounts or deleted posts. Suggest Wayback Machine for deleted content and stop.
  • Rate-limits are per-platform. X free strategies hit rate limits fast; LinkedIn agent-browser burns session fingerprints. Space out calls in loops or the workflow degrades to worse-than-manual.

© coreyhaines31, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/social-fetch of coreyhaines31/makerskills.

  • SKILL.md
  • references/auth-keys.md
  • references/output-schema.md
  • references/strategies.md

Open the folder on GitHubat commit cc31579

Compare with similar skills

Social Fetch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Social Fetch compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Social Fetch this skillcoreyhaines31/makerskills851—~1.9kAutomated safety check: PassMIT
Outlier Post FinderScrapeCreators/social-media-research-skills3.4k—~1.5kAutomated safety check: NotesMIT
Post Writer Smsblacktwist/social-media-skills560—~3.7kAutomated safety check: PassMIT
Blog RepurposeAgriciDaniel/claude-blog2.3k—~3kAutomated safety check: PassMIT
Caption Writer Smsblacktwist/social-media-skills560—~5.3kAutomated safety check: PassMIT
Social ContentOpenClaudia/openclaudia-skills713—~5.2kAutomated safety check: NotesMIT

Similar skills

  • Outlier Post Finder

    ScrapeCreators/social-media-research-skills

    A skill your agent uses when the user wants to find posts, videos, reels, shorts, tweets, or social content that overperformed versus a creator, brand, or competitor baseline.

    3.4k GitHub stars~1.5k tokensUpdated 1 mo ago
    Writing & ContentAuto-check: notes
  • Post Writer Sms

    blacktwist/social-media-skills

    When the user wants to write a social media post for LinkedIn, Twitter/X, Threads, Bluesky, Facebook, Instagram, TikTok, Pinterest, or YouTube.

    560 GitHub stars~3.7k tokensUpdated 5 mo ago
    Writing & ContentAuto-check passed
  • Blog Repurpose

    AgriciDaniel/claude-blog

    Repurpose blog posts for social media, email, video, podcast, and community channels.

    2.3k GitHub stars~3k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Caption Writer Sms

    blacktwist/social-media-skills

    When the user wants to write a caption for a visual-first social media post on Facebook, Instagram, TikTok, Pinterest, or YouTube.

    560 GitHub stars~5.3k tokensUpdated 5 mo ago
    Writing & ContentAuto-check passed
  • Social Content

    OpenClaudia/openclaudia-skills

    Create and publish social media posts for Reddit, Twitter/X, LinkedIn, Instagram, Facebook, and TikTok.

    713 GitHub stars~5.2k tokensUpdated 23 days ago
    Writing & ContentAuto-check: notes
  • Postfast

    LeoYeAI/openclaw-master-skills

    Schedule and manage social media posts across TikTok, Instagram, Facebook, X (Twitter), YouTube, LinkedIn, Threads, Bluesky, Pinterest, and Telegram using the PostFast API.

    2.2k GitHub stars~4.8k tokensUpdated 2 mo ago
    Writing & ContentAuto-check passed

More from coreyhaines31/makerskills

All 21 skills in this repo
  • Business Brainstorm

    coreyhaines31/makerskills

    When you want to pressure-test a potential new business, product, or side project against the serial-founder filter.

    851 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Company Brain

    coreyhaines31/makerskills

    Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so an agent can answer on your team's behalf.

    851 GitHub stars~4.9k tokensUpdated 2 days ago
    Auto-check passed
  • Company Cfo

    coreyhaines31/makerskills

    Monthly CFO workflow for a company or agency — pull raw data from bank + payment processor + payroll + expense management, categorize and reconcile, compute end-of-month cash via transaction-sum…

    851 GitHub stars~4k tokensUpdated 2 days ago
    Auto-check: notes
  • Decide

    coreyhaines31/makerskills

    When you have a decision to make and want a structured workflow that picks the load-bearing questions, walks through them, reaches a call (or "wait"), and archives the rationale for future reference.

    851 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Ingest

    coreyhaines31/makerskills

    When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into…

    851 GitHub stars~1.8k tokensUpdated 2 days ago
    Auto-check passed
  • Maker Council

    coreyhaines31/makerskills

    When you want multiple expert perspectives on a founder/operator question — a simulated board of advisors (Jason Fried, Elon Musk, Jeff Bezos, Jensen Huang, Bob Iger, Paul Graham, Naval Ravikant…

    851 GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed

Questions about Social Fetch

What does Social Fetch do?

When you or another skill needs to fetch the content of a social media post by URL — tweet, X thread, LinkedIn post, Instagram post, TikTok video, Bluesky post, Reddit thread, Mastodon status…. Social Fetch is an agent skill from coreyhaines31/makerskills. When you or another skill needs to fetch the content of a social media post by URL — tweet, X thread, LinkedIn post, Instagram post, TikTok video, Bluesky post, Reddit thread, Mastodon status, Threads post, Hacker News thread.

When should I use Social Fetch?

Social Fetch fits situations like: /social-fetch <url; fetch this tweet; fetch this post; what does this LinkedIn say.

How do I install Social Fetch in Claude Code?

Run `npx skills add coreyhaines31/makerskills --skill social-fetch -a claude-code`. Or copy the skill folder (skills/social-fetch in coreyhaines31/makerskills) into .claude/skills/social-fetch in your project. Claude Code loads it when a task matches its description.

How do I install Social Fetch in Codex?

Run `npx skills add coreyhaines31/makerskills --skill social-fetch -a codex`. Or copy the skill folder (skills/social-fetch in coreyhaines31/makerskills) into .agents/skills/social-fetch in your project. Codex loads it when a task matches its description.

Can I use Social Fetch in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add coreyhaines31/makerskills --skill social-fetch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/social-fetch, .gemini/skills/social-fetch, .github/skills/social-fetch and .opencode/skills/social-fetch in your project.

What does Social Fetch need to run?

Going by SKILL.md and its folder, Social Fetch needs credentials named SCRAPECREATORS_API_KEY and APIFY_API_TOKEN. Our summary lists: A credential in SCRAPECREATORS_API_KEY; A credential in APIFY_API_TOKEN.

Does Social Fetch access the network?

SKILL.md names 1 domain. In commands or code: x.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Social Fetch safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Social Fetch use?

Social Fetch is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Social Fetch use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.6k tokens, read only when the agent opens those files.

What are the alternatives to Social Fetch?

Skills that share tags, products or a category with Social Fetch: Outlier Post Finder (ScrapeCreators/social-media-research-skills, 3.4k stars), Post Writer Sms (blacktwist/social-media-skills, 560 stars), Blog Repurpose (AgriciDaniel/claude-blog, 2.3k stars) and Caption Writer Sms (blacktwist/social-media-skills, 560 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Social Fetch?

coreyhaines31 (a GitHub user) maintains it in coreyhaines31/makerskills, which has 851 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.

Source: coreyhaines31/makerskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.