ig-audit
Skill34 starsChanged 29 days agoMITView on GitHub
Post-mortem on what the user has already posted - which reels actually worked, why, and what to stop making. Use when the user pastes their Instagram insights or past posts, or has PostZen connected, and asks "what's working", "why did this flop", "read my analytics", "audit my content", or wants to know what to do more of.
9 other projects use a version of this, 7 of them edited.
Adopted by
Most recently taken up by
- aipphilie/claude-skillsedited, first seen Nov 1, 2026
- Oumi-Mez/Claude-skillsedited, first seen Oct 25, 2026
- uplika/uplika-pluginedited, first seen Oct 25, 2026
- nicojunk/claude-igtheir own version, first seen Oct 25, 2026
- workflownicojunk/claude-skillstheir own version, first seen Oct 20, 2026
- lodhaarihant/instagram-agent-arihantedited, first seen Oct 17, 2026
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 7
- Jakeschincariol/instagram-agent-skill★ 8894% same
- nessalazne/instagram-agent-skill★ 394% same
- uplika/uplika-plugin★ 350% same
- aipphilie/claude-skills★ 094% same
- larkinmd7/instagram-agent-skill★ 094% same
- lodhaarihant/instagram-agent-arihant★ 094% same
- Oumi-Mez/Claude-skills★ 094% same
Wrote their own version · 2
- nicojunk/claude-ig★ 17same name
- workflownicojunk/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- ig-captionSkill
- ig-carouselSkill
- ig-commentSkill
- ig-dmSkill
- ig-humanSkill
- ig-planSkill
- ig-profileSkill
- ig-publishSkill
- ig-reelSkill
- ig-replySkill
- ig-repurposeSkill
- ig-storySkill
- ig-viralSkill
The file
We split this skill into the rules it gives an agent
5 rules. 3 are common, 1 is distinctive, and 1 is very specific to this project.
3
Common
Most of the 9 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 19
Ask for whichever the user has:
- Distinctive: line 32
If the PostZen MCP tools are in this session, most of the numbers come from there and the user only screenshots what the API does not carry.
- Very specific: line 44
If the last month looks thin, syncExternalPosts({ accountId }) pulls the latest 20 posts from the last 30 days on demand.
- Common: line 100
Hold at 3 seconds: If the top and bottom differ here, it is the hook and nothing else, and everything downstream is a distraction.
- Common: line 107
Day and time: Check this last and only if the others show nothing.
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ig-audit
The only honest source of what works for an account is that account. Every rule in every Instagram guide, including the ones in this pack, is a prior. The user's own last 30 posts are the evidence.
Input
Ask for whichever the user has:
- Insights per post: views, reach, interactions, watch time, saves, shares, follows, and the non-follower share of reach. Screenshots are fine.
- Or the retention graph for their best and worst recent reels. This one screenshot is worth more than the rest combined.
- Or just the posts and their view counts, which is enough for a first pass.
Also read ~/.instagram-agent/log.md if it exists, since it records which
hook formula each post used.
Pulling it yourself through PostZen
If the PostZen MCP tools are in this session, most of the numbers come from there and the user only screenshots what the API does not carry.
listAccounts({ platform: "instagram" })for the account_id.getAnalytics({ platform: "instagram", accountId, source: "all", fromDate, toDate, limit: 100, sortBy: "date" }). Per post you getcontent,publishedAt,mediaType(image,video,carousel),platformAnalytics[].platformPostUrl, andanalyticswithviews,reach,likes,comments,shares,saves,engagementRate. Page withpageifpaginationsays there is more.source: "all"includes posts published by hand, which PostZen imports going back up to 366 days from when the account was connected. Date ranges are clamped to 366 days. If the last month looks thin,syncExternalPosts({ accountId })pulls the latest 20 posts from the last 30 days on demand.getDailyMetrics({ platform: "instagram", accountId, fromDate, toDate })for the week-by-week shape. These are post metrics summed by publish date, not account insights.attribution: "received"puts the numbers on the day they were observed instead.getFollowerStats({ accountIds: "<_id>", fromDate, toDate })for the follower curve.accountIdsis a comma-separated string, not an array. PostZen reads only the current follower count from Instagram and builds the history from its own snapshots, so expect the curve to start at the connection date. A week-old connection has a week of points.getPostTimeline({ postId })for one post's day-by-day numbers when the question is how long a reel kept travelling.
Three things about these numbers:
impressionsis a copy ofviews; Instagram retired impressions.clicksis always 0 for Instagram. It is not reported, so it is not a real zero.engagementRateis (likes + comments + shares + saves) / views × 100. Useful for ranking, but it is not the Instagram app's number.
What still needs a screenshot, because the API does not expose it to anyone: the retention graph and hold at 3 seconds, average watch time, non-follower share of reach, follows per post, profile visits, link taps, and every story metric (story insights expire after 24 hours and PostZen skips them). Ask for the retention graphs of the best and worst three; that is still the most valuable input on the page.
What to actually measure
Raw views is the least useful number on the page, because it is mostly a function of how many people already follow the account. Compute these instead and show the working:
| metric | how | source | what it tells you |
| Outlier multiple | views / the account's own median views | PostZen or screenshot | whether this was a real hit or a normal day |
| Non-follower reach | % of reach from people who do not follow | screenshot only | whether it travelled at all |
| Hold at 3s | viewers still there at 3s / viewers who started | screenshot only | whether the hook worked. This is the hook's grade. |
| Average watch time | straight from insights | screenshot only | whether the middle worked |
| Sends per reach | shares / reach | PostZen or screenshot | the strongest single signal you can earn. A send is a person putting their name on it. |
| Saves per reach | saves / reach | PostZen or screenshot | whether it was worth keeping. Carousels live on this one. |
| Follows per reach | follows / reach | screenshot only | whether the profile converted the attention |
Rank by outlier multiple and sends per reach, not views. A reel with 4,000 views and 90 sends beat the one with 60,000 views and 11. With PostZen data alone you can rank every post on the first, fifth and sixth rows and the engagement rate, which is enough for a first pass. Say which rows are missing rather than filling them in.
Then find the pattern
With the top five and bottom five side by side, look for what separates them, and be willing to conclude something the user will not like:
- Hold at 3 seconds. If the top and bottom differ here, it is the hook and nothing else, and everything downstream is a distraction.
- Hook formula. Which ids from
ig-reel/hooks.jsonare in the top five? - Format. Reel, carousel, single image.
- Length. Group into under 15s, 15 to 30s, 30 to 60s, over 60s.
- Theme.
- Whether the user replied to comments in the first hour.
- Day and time. Check this last and only if the others show nothing. It is almost never the cause and it is where people want it to be.
State the finding as a claim with the evidence attached, and say how confident it is. With 30 posts you can see a pattern. With 6 you cannot, and saying so is better than inventing one.
The distinction that saves people months
A reel that gets views and no follows is not a failed reel, it is a profile
problem. A reel that gets no views is a hook problem. Separate the two before
recommending anything. If non-follower reach is high and follows per reach is
low, stop rewriting hooks and go to /ig-profile.
Output
AUDIT · 31 posts · Jun 12 - Sep 5 · median views 4,100
TOP 5 BY OUTLIER MULTIPLE
18.2x #3 Nobody Tells You 74,600 views 62% non-follower hold@3s 71% 128 sends
6.4x #1 Cost Confession 26,300 views 48% non-follower hold@3s 64% 71 sends
...
BOTTOM 5
0.3x #11 Numbered 1,200 views 9% non-follower hold@3s 31% 2 sends
...
WHAT THE DATA SAYS
1. Hold at 3 seconds is the whole story. Top five average 66%, bottom five 33%.
Everything else you are worried about is downstream of the first two seconds.
2. The posts where you were the one who looked bad: mean 8.1x vs 0.9x for
everything else. n=5. Strongest signal here and it is not close.
3. Tool listicles get views and nothing else. High reach, no sends, no follows.
Three of your bottom five.
4. Day of week shows nothing. Your Tuesday and Friday means are inside the
noise. Stop optimising it.
STOP: listicles.
DO MORE: the ones with a cost you paid and a number attached.Then hand the conclusions to /ig-plan so next week is built on the user's own
evidence rather than on defaults, and to /ig-viral so the swipe file gets
filtered to the formulas that work for this account specifically.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

