ig-dm
Skill3 starsChanged 34 days agoMITView on GitHub
Draft Instagram DMs that get replies (keyword delivery, first message to someone who engaged, collab pitch, two follow-ups). Drafts only.
8 other projects use a version of this, 7 of them edited.
Adopted by
Most recently taken up by
- diegotrigal/redes-sociales-latamtheir own version, first seen Nov 8, 2026
- aipphilie/claude-skillsedited, first seen Nov 1, 2026
- Oumi-Mez/Claude-skillsedited, first seen Oct 25, 2026
- lodhaarihant/instagram-agent-arihantedited, first seen Oct 17, 2026
- postzen-dev/instagram-agent-skilledited, first seen Oct 11, 2026
- nessalazne/instagram-agent-skilledited, first seen Sep 28, 2026
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 7
- Jakeschincariol/instagram-agent-skill★ 8892% same
- postzen-dev/instagram-agent-skill★ 3434% same
- nessalazne/instagram-agent-skill★ 392% same
- aipphilie/claude-skills★ 092% same
- larkinmd7/instagram-agent-skill★ 092% same
- lodhaarihant/instagram-agent-arihant★ 092% same
- Oumi-Mez/Claude-skills★ 092% same
Wrote their own version · 1
- diegotrigal/redes-sociales-latam★ 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-humanSkill
- ig-profileSkill
- ig-reelSkill
- ig-storySkill
- 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
11 rules. 6 are common, 4 are distinctive, and 1 is very specific to this project.
6
Common
Most of the 7 edited versions we read keep these.
4
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
- Distinctive: line 10
Use when the person says "DM this person", "what do I send them", "outreach message", "how do I follow up", "pitch this brand", or is …
- Very specific: line 14
Read the voice file ~/.uplika/<workspace-slug>/voice.md first if it exists.
- Common: line 28
Ask in one batched question:
- Common: line 34
If there is no trigger, there is no message.
- Common: line 69
+4 days: add something new. Never "just bumping this".
- Distinctive: line 76
Never automate outreach DMs, and never use a tool that sends on a schedule to people who did not interact.
- Common: line 77
Never fabricate having watched something, a mutual, or a shared anything.
- Common: line 78
Never open with "Hey! Quick question" and then not ask a question.
- Common: line 79
Never send the pitch in the same message as the compliment.
- Distinctive: line 90
Follow-ups: When the other person has not answered, the follow-ups fall outside the messaging window, so Uplika refuses them.
- Distinctive: line 93
Warm approaches and collab pitches: start a conversation, so the person types them in the Instagram app.
“Common” is measured: kept by at least 6 in 10 of the 7 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-dm
Use when the person says "DM this person", "what do I send them", "outreach message", "how do I follow up", "pitch this brand", or is reaching out to someone specific. This skill writes drafts and sends nothing; see "With Uplika connected" for where sending happens.
Instagram DMs are the only place on the platform where money actually changes hands, and they are also where most accounts burn the goodwill their content earned. The difference is entirely about who moved first.
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 three kinds of DM, and only three are worth writing
1. The reply to a hand raised. They commented the keyword, answered the poll, replied to a story, or saved and asked. They moved first. This is 90% of the DMs worth sending and it converts because it is not outreach.
2. The warm approach. Someone whose posts the person has genuinely been commenting on for weeks. There is a shared thread of conversation already.
3. The collab or brand pitch. A specific proposal to a specific account, with a reason it is them.
Everything else is cold DMing strangers, which is what everybody else does, and it is why reply rates sit where they do. If the person is asking for a cold sequence, say plainly that it is the lowest-yield thing they could do with the same hour, and offer the alternative: comment on those ten accounts for two weeks first. Then write it if they still want it.
Before writing, get the specifics
Ask in one batched question:
- Who: handle, what they do, and what they posted or did that started this.
- The trigger: the actual reason to message today. A keyword they commented, a story they replied to, a post they published. Not "they fit the ICP".
- What the person wants: a conversation, a sale, a collab, a referral. Be honest internally, even if the message does not lead with it.
If there is no trigger, there is no message. Say so.
The keyword delivery
The most common DM in this pack and the easiest to ruin. They commented one word. They are expecting the thing. So:
{their name}, here it is: {the thing, or the link}.
{one line on how to use it}
{one question they can answer in four words}Send the thing first, in message one, with no gate. A keyword post that delivers a "before I send it, can I ask what you do?" is a bait and switch and it is remembered. The question at the end is what starts the conversation, and it is optional for them.
Automated keyword replies are a supported feature for professional accounts, through Instagram's own tools or an approved partner. Using that is fine. Sending unsolicited bulk DMs is not, and it is the fastest route to a restricted account.
The first message to someone warm
- Two to four sentences. A screen of text is a delete.
- Reference the specific thing. The comment, the post, the reply. In their words.
- Give before asking. A number, a template, a name, an answer.
- One ask, small. "Worth a quick call?" beats "let me walk you through the platform".
- No link and no calendar in message one. It reads as a funnel because it is one.
- No voice note to a stranger. It is a great tool and it is for people who already know the person's voice.
The collab pitch
Four lines, in this order: what you have watched them do, the specific idea, what they get, what you need from them. A collab post lands on both grids and reaches both audiences, which is the strongest single growth mechanic on Instagram that does not involve paying anybody. Pitch it as that and be concrete about who does what.
Follow-ups
Two. That is the number.
- +4 days: add something new. Never "just bumping this". If there is nothing new, there is no follow-up.
- +10 days: the close-the-loop message. Say you will stop, and mean it. This one gets a surprising share of the total replies, because it removes the pressure.
Then stop. A third converts nobody and costs the relationship.
Never
- Never automate outreach DMs, and never use a tool that sends on a schedule to people who did not interact. It violates Instagram's Terms of Use and restricts the account.
- Never fabricate having watched something, a mutual, or a shared anything.
- Never open with "Hey! Quick question" and then not ask a question.
- Never send the pitch in the same message as the compliment.
Output
The message, the character count, and the two follow-ups with the day each goes out, all run through ig-human. Nothing is sent from here: the person approves each one and sends it the way the next section describes.
With Uplika connected
This skill still only drafts. Uplika can send in some of these cases and not in others, and the difference is Meta's messaging rules:
- Replying inside an open conversation. Hand the approved draft to the
inboxskill. It reads the conversation, checks the messaging window and sends after the person approves. Outside the window nothing can be sent until the other person writes again (faq:dm-24h-window). - Follow-ups. When the other person has not answered, the follow-ups fall outside the messaging window, so Uplika refuses them. The person sends those by hand from the Instagram app.
- Keyword delivery. That is an automation, not a typed message: the
automationsskill sets uptemplate:comment_to_dmfor a keyword comment andtemplate:keyword_dmfor a keyword someone sends in a DM. Use the draft above as its message. Uplika cannot open a conversation with someone who only commented; the one automatic way in is a single private reply to that comment (faq:private-reply-once). - Non-followers. A DM to someone who does not follow the account lands in their message requests, where Instagram refuses buttons, cards and files and Uplika sends the text alone (
faq:dm-non-follower-media). Write the keyword delivery so the text alone does the job. - Warm approaches and collab pitches start a conversation, so the person types them in the Instagram app.
Without Uplika
The person sends every message by hand, or through their own approved automation for keyword replies only.
Tools
None. This skill drafts; the inbox skill sends inside the messaging window and the automations skill sets up keyword delivery.
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.

