ig-story
Skill3 starsChanged 35 days agoMITView on GitHub
Plan the day's Instagram Stories (frame sequence, which sticker does which job, the DM funnel) and publish the frames as stories after approval.
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
- 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
- postzen-dev/instagram-agent-skilledited, first seen Oct 11, 2026
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.
JakeschincariolSkillig-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
vava2684Skillig-reply
Instagram 貼文留言智慧回覆。抓某篇貼文底下的新留言,由 Claude 在對話裡依貼文內容與留言者語言生成友善回覆,再透過 Graph API 自動送出。觸發時機:使用者說「回覆留言」「處理 IG 留言」「回 IG」「IG 自動回覆」「抓留言來回」「回我 IG 那篇」等。
Also in 7 projects that use this
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 7
- Jakeschincariol/instagram-agent-skill★ 8888% same
- postzen-dev/instagram-agent-skill★ 3474% same
- nessalazne/instagram-agent-skill★ 386% same
- aipphilie/claude-skills★ 088% same
- larkinmd7/instagram-agent-skill★ 088% same
- lodhaarihant/instagram-agent-arihant★ 088% same
- Oumi-Mez/Claude-skills★ 088% 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 repository50 other files it gives its agents.
- automationsSkill
- commentsSkill
- hooksSkill
- ig-auditSkill
- ig-captionSkill
- ig-carouselSkill
- ig-dmSkill
- ig-humanSkill
- ig-profileSkill
- ig-reelSkill
- ig-viralSkill
- inboxSkill
- linkedin-comment-drafterSkill
- linkedin-content-plannerSkill
- linkedin-employee-advocacySkill
- linkedin-engager-analyticsSkill
- linkedin-hook-extractorSkill
- linkedin-humanizerSkill
- linkedin-interviewerSkill
- linkedin-post-writerSkill
- linkedin-profile-optimizerSkill
- linkedin-reply-handlerSkill
- linkedin-repurposerSkill
- linkedin-thread-monitorSkill
- naver-ai-citeSkill
- naver-draftsSkill
- naver-engageSkill
- naver-keywordsSkill
- naver-postSkill
- performance-reviewSkill
- publishSkill
- repurposeSkill
- schedule-weekSkill
- setupSkill
- threadsSkill
- troubleshootSkill
- voice-profileSkill
- yt-auditSkill
- yt-benchmarkSkill
- yt-chaptersSkill
- yt-commentSkill
- yt-editSkill
- yt-packageSkill
- yt-planSkill
- yt-retentionSkill
- yt-scriptSkill
- yt-seoSkill
- yt-shortsSkill
- yt-uploadSkill
- yt-viralSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Use when the person says "stories", "what do I post on my story", "story sequence", "poll idea", "I have nothing to story about", or wants …
- Very specific: line 18
Read the voice file ~/.uplika/<workspace-slug>/voice.md first if it exists.
- Distinctive: line 31
Put the ask at frame 4, not frame 7.
- Very specific: line 78
Run the words through ig-human before showing them.
- Very specific: line 85
Rules: Read Instagram in list_platforms: image and video rules, the option schema under options, and the features table.
“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
Adapted from Jakeschincariol/instagram-agent-skill (MIT). Not affiliated with the original author.
ig-story
Use when the person says "stories", "what do I post on my story", "story sequence", "poll idea", "I have nothing to story about", or wants to sell something without making a post about it.
Stories are not a smaller feed. The feed is how strangers find you. Stories are how the people who already follow you decide whether you are a person worth buying from, and they are the only surface on Instagram where a tap turns into a conversation in one move.
Most people who watch a Story already follow you, so the job is completely different: depth, not reach.
Stories are not private, though. On a public account anyone who opens the profile can watch them, and Uplika cannot limit a Story to Close Friends or any other list. If the person needs a smaller audience, they set it in the Instagram app before posting there themselves.
Read the voice file ~/.uplika/<workspace-slug>/voice.md first if it exists. If it does not, ask three questions (tone, how they end a line, words they avoid) and offer to save the answers with the voice-profile skill.
The daily shape
Three to seven frames a day. Beyond about seven, the tap-forward rate climbs and the last frames play to nobody, which is exactly where people put the ask.
1 THE OPEN something happening today, with a face or a hand in it.
2-3 THE MIDDLE the actual content: the process, the result, the mistake.
4 THE ASK one sticker. Poll, question box, quiz or link.
5 THE CLOSE the answer, the outcome, or tomorrow's setup.Put the ask at frame 4, not frame 7. Completion drops with every tap and the ask should be seen by the people who are still there.
The stickers, and what each is actually for
| sticker | job | use when |
| Poll | the cheapest tap there is | you want volume of response, not information |
| Question box | harvesting the exact words people use | you need content ideas or objections, verbatim |
| Quiz | teaching by letting them be wrong | there is a common misconception in the niche |
| Slider | vibe check | nothing important. Fun, low value |
| Link | the only clickable surface besides the bio | there is somewhere real to go |
| Countdown | a deadline people can subscribe to | a launch, a live, a close date |
| Add yours | reach beyond your followers, occasionally | the prompt is one anyone in the niche can answer |
The question box is the most undervalued one in the list. Every answer is a caption, a Reel hook or a DM opener written in the audience's own words. Feed them to ig-reel as formula #16.
Rules
- A face or a hand in the first frame. Text on a coloured background gets tapped through, and the first frame decides whether the rest get watched.
- One idea per frame. Reading a paragraph on a story is not a thing anyone does.
- Keep text inside the middle. The profile row sits on top of the frame and the reply bar sits underneath; anything in those bands is covered.
- Talk to one person. "You" singular. Stories are the closest thing to a DM that is not one.
- Do not repost your own feed post to stories with no comment. It is the single most ignored frame on the platform. If you are pointing at a post, say what happened in the comments and why it is worth going back for.
- Sell on stories, not in posts. Three frames of context, one frame of offer, one frame of proof. That sequence sells more than a feed post about the same thing and costs you no reach.
The DM funnel, done honestly
The sequence that works: a story that names a problem, a question box or a poll that lets people say "that's me", and then a reply to each person who answered. The conversation starts because they spoke first.
Automated replies are a real, supported feature for professional accounts, through Instagram's own tools and approved partners. Bulk DMing people who did not interact is not, and it is what gets accounts restricted. The rule is simple: they act first, then you reply.
Output
The frames in order, each with what is on screen, what is said, and which sticker, plus what to do with the answers:
STORIES · Tuesday · 5 frames
1 [selfie, walking] "Third refund request this year. Same reason."
2 [screen recording] the clause, highlighted
3 [talking] "Approval is a feeling. Delivery is a date."
4 [poll] "Have you been burned by a late approval?" Yes / Not yet
5 [text on photo] "Reply and I will send you the clause."
After: everyone who votes Yes gets a reply. That is the whole funnel.Run the words through ig-human before showing them.
With Uplika connected
Uplika publishes each story frame as one image or one video. Read the option schema before promising more: it has no sticker fields (poll, question box, quiz, link, countdown, add yours), so a frame that needs a sticker is posted from the Instagram app.
- Account. Call
select_channelswith the Instagram account, or with no scope and let the person choose. Never assume Instagram is connected; if it is not, send the person to https://uplika.com/dashboard/connections. If the answer isworkspace_required, show the workspaces it lists, ask which one, and pass thatworkspaceIdon every later call. - Rules. Read Instagram in
list_platforms: image and video rules, the option schema underoptions, and the features table. Instagram posts cannot be edited after they go out (the features table says so), so the frames are approved first. - Build each frame as a full-screen vertical image or video with every word on it. Stories show no caption.
- Upload each frame. With a terminal:
media_presignwith the file name, type and size, PUT the bytes to the returneduploadUrlwith curl, thenmedia_complete. Without one:media_from_urlfor a file at a public https address, ormedia_upload_linkfor files on the person's device (give them the link, then pollmedia_upload_statusuntil it is ready). PassaiGeneratedfor media made with AI. - Show and confirm. Show the frames in order, which ones Uplika will publish and which ones the person posts from the app, the account and the time. Publish only after they approve.
- Publish one frame per call.
publishwith theaccountIdsfromselect_channels, one media id,options.instagram.contentTypeset tostory, andwait: true; then the next frame. Stories appear in the order they are posted, so wait for each before sending the next. When the sequence has a sticker frame, either post the whole sequence from the app, or publish the frames before it, let the person add the sticker frame in the app, then publish the rest. For a later time give each frame its ownscheduledAtwith a time zone offset, spaced out in the order the frames should appear, and ask which time zone the person means.options.instagram.firstCommentandoptions.instagram.collaboratorsdo not apply to stories. - Report.
get_postfor each frame gives its status. If one failed, callget_helpwith its code and pass on the answer and its url.reconsent_required,feature_in_reviewandaccount_disconnectedgo to thetroubleshootskill.
The reply side of the funnel:
- A reply someone types in a story's message bar arrives as a DM and opens the messaging window. An automation can answer it with a coupon, a link or an answer:
template:story_reply_dm, set up with theautomationsskill. Someone who mentions the account in their own story can get a thank-you:template:story_mention_thanks. - Poll votes and other sticker answers do not arrive as messages, so no automation sees them. Those people are answered by hand in the app.
- Answering by hand inside an open conversation is the
inboxskill. The window rules arefaq:dm-24h-window. - A DM to someone who does not follow the account lands in their message requests and carries text only (
faq:dm-non-follower-media). Write the reply so the text alone works.
Without Uplika
Print the frames as above. The person builds and posts them from the Instagram app, stickers included, and replies by hand.
Tools
select_channels: pick the Instagram account; returns the accountIdslist_platforms: image and video rules and the option schema (no sticker fields)media_presign: upload slot when you can PUT the file yourselfmedia_complete: confirm that uploadmedia_from_url: attach an image or video from a public https addressmedia_upload_link: let the person upload from their own devicemedia_upload_status: wait until that upload is readypublish: one call per frame, only after the person approvesget_post: status of each frameget_help: the answer for an error code
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.

