agentsclimarketplace

Instagram clone

Skill ImYourBoyRoy/Portable_Web_toolkit/skills/instagram-clone

Portable Astro + Cloudflare toolkit with versioned skills for Codex, Cursor, Claude, and Antigravity; readiness, deployment, discovery, and starter CLIs.

Install
npx -y skills add ImYourBoyRoy/Portable_Web_toolkit --skill instagram-clone

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Clones a public Instagram profile into feed.json and local media for Astro portfolio sites. Use when building Instagram galleries without Meta API tokens, setting INSTAGRAM_USERNAME, seeding static fallbacks, refreshing after 429 rate limits, or auditing feed.json.

SKILL.md

2.8 KB, as published. Nobody here has run it

Instagram Clone

Public Instagram → local assets. No Meta Graph API tokens.

Preflight

Read the client repository's applicable instructions and site profile, preserve unrelated work, and confirm the toolkit link belongs to this project. Confirm the operator has the right or permission to reproduce and store the selected profile media; public availability alone is not authorization.

When to use

  • Portfolio gallery from a public IG account
  • Static fallback when Worker/KV sync hits 429
  • Before deploy after client posts new work

NOT for: private accounts, DMs, stories-only, authenticated Meta APIs.

Setup (client project .env)

INSTAGRAM_USERNAME=handle_without_at
INSTAGRAM_CLONE_LIMIT=24

Also document in .env.example. Optional site profile:

"instagram": { "username": "handle", "cloneLimit": 24 }

Resolution order: --usernameINSTAGRAM_USERNAMEinstagram.username in profile.

Commands

# Clone (uses .env)
node ./Web_Toolkit/instagram_clone/bin/instagram-clone.mjs clone --project-root .

# Override handle once
node ./Web_Toolkit/instagram_clone/bin/instagram-clone.mjs clone --project-root . --username other_handle

# Verify feed + assets
node ./Web_Toolkit/instagram_clone/bin/instagram-clone.mjs audit --project-root .

npm script (add to client package.json):

"ig:clone": "node ./Web_Toolkit/instagram_clone/bin/instagram-clone.mjs clone --project-root ."

Outputs

PathContent
src/data/instagram/feed.jsonPosts, captions, hashtags, slides[], profile
public/assets/instagram/profile.jpgProfile photo
public/assets/instagram/{shortcode}*Carousel media

Site architecture

Always keep a static feed.json fallback and never live-fetch Instagram on a page request. Add KV caching, Worker cron, or a refresh endpoint only when the repository architecture and site profile already select or authorize that dynamic path. A static site may use manual ig:clone refreshes only.

Workflow with other skills

  1. site-starter — scaffold site
  2. Set INSTAGRAM_USERNAME in .env
  3. instagram-clone cloneaudit
  4. site-readiness — confirms instagram step
  5. portable-web-toolkit — build/deploy

Verification

  • audit passes
  • Gallery reads slides[] for carousels (not cover only)
  • No secrets in feed.json or git

Rate limits

Automatic backoff: 5s → 15s → 45s → 90s. If clone fails, site still serves last feed.json.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.