Install
$ agentstack add skill-nicojunk-claude-ig-ig ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
IG: Instagram Content Engine
Full-lifecycle Instagram management: hooks, Reels, Stories, Carousels, captions, affiliate content, performance analysis, competitor research, editorial planning, and content repurposing. Optimized for the 2026 Instagram algorithm with watch time, DM-sends, and saves as primary distribution signals.
Works for any Instagram account and niche. Detects account context from API data and adapts content strategy, hook patterns, and scoring calibration accordingly.
Quick Reference
| Command | What it does | |---------|-------------| | /ig reel | Write a complete Reel (hook, script, caption, thumbnail) | | /ig hook | Generate and score hooks for any format | | /ig caption | Write an optimized caption (500+ chars, save CTA) | | /ig story | Plan a Story sequence (slides, stickers, polls) | | /ig carousel | Plan a Carousel (cover hook, slides, CTA) | | /ig analyze [post-url] | Analyze post performance via Instagram API | | /ig audit | Full content audit with parallel subagent delegation | | /ig competitor | Research competitor content | | /ig calendar [weekly\|monthly] | Generate an editorial content calendar | | /ig strategy | Content strategy and positioning analysis | | /ig affiliate | Create compliant affiliate content | | /ig comment | Comment response strategy and automation | | /ig repurpose | Repurpose IG content for other platforms |
Orchestration Logic
Command Routing
- Parse the user's command to determine the sub-skill
- If no sub-command given, ask which action they need
- Route to the appropriate sub-skill:
reel/skript/video->ig-reel(full Reel production)hook/opening->ig-hook(hook generation and scoring)caption/beschreibung/text->ig-caption(caption writing)story/stories->ig-story(Story sequence planning)carousel/karussell/slides->ig-carousel(Carousel planning)analyze/analyse/performance/insights->ig-analyze(API-driven analysis)audit/check/health->ig-audit(full content audit with subagents)competitor/konkurrenz/research/spy->ig-competitor(competitor research)calendar/plan/kalender/schedule->ig-calendar(editorial calendar)strategy/strategie/positioning->ig-strategy(positioning and content mix)affiliate/werbung/kooperation/sponsored->ig-affiliate(compliant partner content)comment/kommentar/replies->ig-comment(comment response)repurpose/redistribute/cross-post->ig-repurpose(cross-platform repurposing)
Niche Detection
Detect account niche from bio, content patterns, and hashtag analysis:
| Signal | Niche | Adaptation | |--------|-------|-----------| | Workout demos, exercise names, body part focus | Fitness | Correction hooks, body-part targeting, safe exercise form | | Recipe posts, nutrition tips, meal prep | Food / Nutrition | Recipe format templates, ingredient lists, macro data | | Product reviews, tutorials, before/after | Beauty / Skincare | Transformation hooks, product comparison carousels | | Tips, frameworks, income proof | Business / Coaching | Authority hooks, case study carousels, lead magnet CTAs | | Lessons, how-to, step-by-step | Education | Curiosity gap hooks, carousel-heavy strategy | | Day-in-life, travel, personal stories | Lifestyle | Identity trigger hooks, story-heavy strategy | | Mixed / unclear | Creator | Analyze top 10 posts to determine primary content type |
Adapt hook library selection, caption voice, CTA strategy, and content mix recommendations based on detected niche. If the user has configured references/account-baseline.md, use that data instead of detecting.
Algorithm Priority (2026)
Every piece of content is optimized in this priority order:
| Priority | Signal | Weight | Why | |----------|--------|--------|-----| | 1 | Watch Time | Highest | First 3 seconds determine distribution. Completion rate is king. | | 2 | DM-Sends per Reach | 3-5x likes | Primary signal for reaching new audiences via Explore | | 3 | Saves | ~3x likes | Signal for lasting value, drives Explore and Suggested placement | | 4 | Likes/Comments | Lowest | Weakest signals; comments without saves = algorithm ignores | | 5 | Originality Score | Gate | Recycled formats tank reach; always adapt through creator's unique lens |
Quality Gates
Hard rules. Content that violates any gate is blocked from delivery:
| # | Gate | Threshold | |---|------|-----------| | G1 | Score before delivery | NEVER deliver content without a Content Quality Score | | G2 | Em dashes | NEVER use em dashes (U+2014) in any output | | G3 | Affiliate disclosure | NEVER create affiliate content without proper disclosure at caption TOP | | G4 | Controversial opinions | NEVER recommend controversial opinion posts (high comments, zero saves) | | G5 | Affiliate spacing | NEVER place 2 affiliate posts on consecutive days | | G6 | Metrics guessing | NEVER guess account metrics; use API data or state data is unavailable | | G7 | Safe zones | NEVER place text in format-specific unsafe zones (check format-specs.md) |
Scoring Methodology
Content Quality Score (0-100)
5-category weighted scoring from references/scoring-system.md:
| Category | Weight | What it measures | |----------|--------|-----------------| | Hook Strength | 25 pts | Curiosity gap, pattern interrupt, identity trigger, first 3s clarity | | Content Quality | 25 pts | Value density, structure, problem-solution flow, voice authenticity | | Caption & CTA | 20 pts | Length (500+ chars), save/DM CTA, hook variation opener, hashtag quality | | Format Compliance | 15 pts | Correct specs, safe zones, thumbnail, duration targets | | Algorithm Signals | 15 pts | Save/DM optimization, originality, non-controversial, watch time design |
Scoring Bands
| Score | Grade | Rating | Action | |-------|-------|--------|--------| | 90-100 | A | Publish | Ready to post, flagship content | | 80-89 | B | Strong | Minor polish, ready for publication | | 60-79 | C | OK | Targeted improvements needed (must include fix instructions) | | 40-59 | D | Below Standard | Significant rework required | | solution -> insight) with segment timing
- Caption: Write 500+ char caption with save CTA and niche hashtags
- Thumbnail: Describe thumbnail concept with text overlay
- Score: Apply full 5-category Content Quality Score
- Deliver: Output complete package with score and revision notes
For /ig analyze, steps 1-2 run, then API calls replace steps 3-7 with data analysis. For /ig audit, all 6 agents spawn in parallel, results aggregate into unified report.
Instagram API Integration
Graph API Authentication
Instagram data is accessed via the Facebook Graph API at https://graph.facebook.com/v21.0. Do NOT use graph.instagram.com (that endpoint rejects Page Tokens).
Two-Token System:
- User Token (
INSTAGRAM_ACCESS_TOKEN): For ads, user-level queries - Page Token (
META_PAGE_TOKEN): Required for all Instagram content endpoints (media, insights, stories)
If META_PAGE_TOKEN is stale or missing, derive a fresh one:
source ~/Desktop/.env
PT=$(curl -s "https://graph.facebook.com/v21.0/$META_PAGE_ID?fields=access_token&access_token=$INSTAGRAM_ACCESS_TOKEN" \
| python3 -c "import sys,json; print(json.load(sys.stdin)['access_token'])")
Environment variables (load with source ~/Desktop/.env):
INSTAGRAM_ACCESS_TOKEN: Long-Lived User TokenMETA_PAGE_TOKEN: Page Token (required for content endpoints)INSTAGRAM_BUSINESS_ACCOUNT_ID: IG Business Account IDMETA_PAGE_ID: Facebook Page ID (for token derivation)META_AD_ACCOUNT_ID: Ad Account ID (for ads endpoints)
Endpoints
Base URL: https://graph.facebook.com/v21.0
Auth: Page Token for content, User Token for ads
Rate Limit: 200 calls/hour per token
Content endpoints (Page Token):
GET /{ig-id}?fields=id,username,media_count,followers_count,follows_count,biography,website,profile_picture_url
GET /{ig-id}/media?fields=id,caption,media_type,thumbnail_url,timestamp,like_count,comments_count,permalink&limit=50
GET /{media-id}/insights?metric=reach,saved,shares,likes,comments,total_interactions
GET /{ig-id}/insights?metric=reach,follower_count,profile_views&period=day&since={unix}&until={unix}
GET /{ig-id}/insights?metric=accounts_engaged,total_interactions&metric_type=total_value&period=day&since={unix}&until={unix}
GET /{ig-id}/stories?fields=id,media_type,timestamp
IMPORTANT: Do NOT request impressions or plays (deprecated for Reels in v22+). accounts_engaged requires metric_type=total_value and cannot be mixed with time-series metrics.
Script Usage
The scripts/analyze_post.py script handles token management automatically:
source ~/Desktop/.env
python3 scripts/analyze_post.py --user-id $INSTAGRAM_BUSINESS_ACCOUNT_ID --token $INSTAGRAM_ACCESS_TOKEN --page-token $META_PAGE_TOKEN --page-id $META_PAGE_ID
If --page-token is omitted, the script derives one from --token + --page-id.
Graceful Degradation
If API access is not configured or token is expired:
- Inform the user that live data is unavailable
- Fall back to data in
references/account-baseline.md(if populated) - Clearly mark any analysis as "based on cached data, not live"
- Never fabricate metrics
Setup: Account Configuration
After installation, configure for your account:
- Populate account-baseline.md with your account metrics:
- Run
/ig analyzeto pull live data via API - Or manually enter: followers, avg engagement, top posts, posting schedule
- Set API credentials in your
.envfile - Customize hook-library.md with hooks that work in your niche
- Run
/ig auditto establish your baseline scores
The skill works without configuration (using general best practices), but performs significantly better with account-specific data.
Anti-Patterns (Never Do These)
| Anti-Pattern | Why | |-------------|-----| | Deliver without score | Incomplete deliverable; score is mandatory | | Use em dashes | #1 signal of AI-generated text | | Generic hashtags (#fitness, #motivation) | Zero distribution value, signals low effort | | Controversial opinion posts | High comments, zero saves = algorithm ignores | | Copy competitor hooks verbatim | Originality Score (2026) penalizes recycled formats | | Guess metrics | Stale data leads to wrong decisions; use API or state uncertainty | | Skip format-specs.md | Wrong specs = reduced reach (safe zones, duration, ratio) | | Affiliate without disclosure | Legal violation in most jurisdictions | | Optimize for likes over saves | Likes are the weakest algorithm signal | | Wall-of-text captions | Line breaks mandatory for readability and retention | | Post at the same time every day | Algorithm rewards variation within optimal windows |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: nicojunk
- Source: nicojunk/claude-ig
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.