All skills
coreyhaines31 avatar

/social-fetch

@69f1970

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).

Use this Skill: https://skilld.dev/gh/coreyhaines31/makerskills/social-fetch

This session only. Nothing lands on disk.

referencesauth-keys.md

≈707 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Auth keys — unlocking paid fallback strategies

The free strategies (Bluesky API, Mastodon API, HN Algolia, Reddit .json, agent-browser) work for many cases. For X / LinkedIn (specific posts) / Instagram / TikTok / Threads, paid keys unlock reliable + complete data.

Which key unlocks what

Key Unlocks Cost (approx, 2026)
$SCRAPECREATORS_API_KEY X (tweets + threads + replies), LinkedIn posts, Instagram, TikTok, possibly Threads Pay-as-you-go, ~$0.005–$0.02/post depending on endpoint
$APIFY_API_TOKEN Nearly any platform via "Actors" (X, IG, TikTok, LinkedIn, Threads, even niche ones) Per-actor pricing, often $1–$5 / 1K results

Setting up

ScrapeCreators

  1. Sign up at https://scrapecreators.com
  2. Get API key from dashboard
  3. Add to ~/.zshenv:
    export SCRAPECREATORS_API_KEY="<your-key>"
  4. source ~/.zshenv or new terminal
  5. Verify: echo $SCRAPECREATORS_API_KEY | head -c 8

Apify

  1. Sign up at https://apify.com (free tier exists; pay-as-you-go after)
  2. Get API token from Settings → Integrations → API
  3. Add to ~/.zshenv:
    export APIFY_API_TOKEN="<your-token>"
  4. source ~/.zshenv
  5. Verify: echo $APIFY_API_TOKEN | head -c 8

Free-only mode

If neither key is set, social-fetch runs in free-only mode:

  • Bluesky / Mastodon / HN / Reddit — fully functional
  • X — preview only (text + basic engagement, no thread/replies)
  • LinkedIn profiles — recent activity feed visible (no specific post fetch)
  • Instagram / TikTok / Threads — Open Graph metadata only (title, description, image — no engagement, no replies)

This is fine for most one-off fetches. Paid fallback is mostly useful when:

  • Building corpus (deep-research running many fetches)
  • Analyzing thread structure or reply trees on X
  • Inspiration-account analysis on Instagram / TikTok (where free fails entirely)

Cost discipline

When using paid strategies:

  • Always check the cache first (~/Documents/social-fetches/_cache/ if it exists)
  • Default to 24h cache TTL
  • Don't auto-enrich with --with-replies or --thread unless requested — these multiply quota use
  • For high-volume work (e.g., fetching last 50 posts from an inspiration account), batch via Apify actors (cheaper per item) instead of ScrapeCreators per-call

When to set up paid

Don't set up keys preemptively. Set them up when:

  • A real workflow (deep-research, inspiration analysis, competitor monitoring) is being blocked
  • You've done >10 fetches and the free strategies are missing data you need
  • You're starting on swipe-save or another skill where social capture is central

If social-fetch falls through to "no paid key set" on the same platform 3+ times in a session, it'll surface a one-time prompt.

Source: SKILL.md on GitHub

2 warnings2mo3 checks · Risk MEDIUM
  • Gen Agent Trust Hub2mo

    This skill fetches social media content using shell command templates and third-party APIs. It contains structural vulnerabilities where unvalidated components of a user-provided URL are interpolated into shell commands, potentially leading to command injection. It also ingests untrusted data from the web which could contain malicious instructions for downstream processing.

  • Socket2mo

    No alerts

  • Snyk2mo

    Risk: MEDIUM · 1 issue

Signed by skilld at 69f1970. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 4 weeks ago.

Activeupdated 3 months ago
metadata
{
  "version": "0.1.1"
}

README badge

README badge for coreyhaines31/makerskills/social-fetch