agentleFS
uplikauplika/uplika-plugin/skills/ig-audit/SKILL.md

ig-audit

Skill3 starsChanged 34 days agoMITView on GitHub

Instagram post-mortem from real insights. Rank posts by multiple over your median views, find what separates hits from misses, say what to stop.

9 other projects use a version of this, 7 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use ig-plan and ig-reply.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • JakeschincariolSkill

    ig-plan

    Build the week on Instagram - what to post, which format, when, and who to engage with. Use when the user says "plan my week", "what should I post", "content calendar", "I have nothing to post about", or wants a posting schedule and an engagement list.

    Also in 7 projects that use this

  • vava2684Skill

    ig-reply

    Instagram 貼文留言智慧回覆。抓某篇貼文底下的新留言,由 Claude 在對話裡依貼文內容與留言者語言生成友善回覆,再透過 Graph API 自動送出。觸發時機:使用者說「回覆留言」「處理 IG 留言」「回 IG」「IG 自動回覆」「抓留言來回」「回我 IG 那篇」等。

    Also in 7 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 1 is common, 3 are distinctive, and 0 are very specific to this project.

  • 1

    Common

    Most of the 9 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use when the person asks "what's working", "why did this flop", "read my analytics", "audit my content", or wants to know what to do more …

    line 10
  2. Common:

    Hold at 3 seconds: If the top and bottom differ here, it is the hook and nothing else, and everything downstream is a distraction.

    line 41
  3. Distinctive:

    Day and time: Check this last and only if the others show nothing.

    line 47
  4. Distinctive:

    Use whatever the person pastes, as in Input above.

    line 97

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

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Adapted from Jakeschincariol/instagram-agent-skill (MIT). Not affiliated with the original author.

ig-audit

Use when the person asks "what's working", "why did this flop", "read my analytics", "audit my content", or wants to know what to do more of.

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 person's own last 30 posts are the evidence.

Input

With Uplika connected, the posts and the numbers Uplika reports come from the tools (see "With Uplika connected"). Everything else comes from the person, and the same list is the whole input when nothing is connected. Ask for whichever they have:

  • Insights per post from the Instagram app: 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.

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:

metrichowwhat it tells youwhere it comes from
Outlier multipleviews / the account's own median viewswhether this was a real hit or a normal dayUplika (views per post) or the app
Non-follower reach% of reach from people who do not followwhether it travelled at allthe app only
Hold at 3sviewers still there at 3s / viewers who startedwhether the hook worked. This is the hook's grade.the app only (retention graph)
Average watch timestraight from insightswhether the middle workedthe app only
Sends per reachshares / reachthe strongest single signal you can earn. A send is a person putting their name on it.the app; Uplika has shares and views but no reach
Follows per reachfollows / reachwhether the profile converted the attentionthe app only

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. When only Uplika's numbers are available, shares per view is the closest stand-in: say that it is a different measure from sends per reach.

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 person 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 formulas from the ig-reel skill's scripts/hooks.json are in the top five? Read the first line of each caption, and ask the person what each reel said first, since the spoken hook is not in the caption.
  • Format. Reel, carousel, single image.
  • Length. Group into under 15s, 15 to 30s, 30 to 60s, over 60s. Uplika's answer does not include video length, so ask the person or skip it.
  • Theme.
  • Whether the person 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.

Mark every column that came from the person rather than from Uplika, and every post where a number was missing.

Then hand the conclusions to the schedule-week skill, so next week is built on the person'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.

With Uplika connected

  1. Account. Call list_accounts and find the Instagram account. Never assume it is connected; if it is not, send the person to https://uplika.com/dashboard/connections. If the answer is workspace_required, show the workspaces it lists, ask which one, and pass that workspaceId on the next calls.
  2. Posts. Call list_channel_posts with that account's id and a limit that covers the period you are auditing. Each post comes with its caption, time, type, permalink and thumbnail, including posts made in the Instagram app. The type tells a reel from a feed post; it does not tell a carousel from a single image, so look at the post or ask.
  3. Numbers. For each post, call get_insights with its permalink. Instagram reports views, likes, replies (comments) and shares there. A null means Instagram did not report that number: it is not zero, so leave it out of the median and say how many posts were missing it.
  4. Compute the median views, each post's multiple over it, and shares per view.
  5. Ask for the rest. Reach, the non-follower share, saves, follows, average watch time and the retention graph (hold at 3 seconds) are not in Uplika's answer. Ask for screenshots of the best and worst reels at minimum.

Without Uplika

Use whatever the person pastes, as in Input above. A first pass on views alone is still worth doing; say what it cannot show.

Tools

  • list_accounts: find the connected Instagram account
  • list_channel_posts: the posts on the account (caption, time, type, permalink, thumbnail)
  • get_insights: views, likes, replies and shares for one post (null is not zero)

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.