Post Formatter
charlie947/social-media-skills
Turn a topic into a ready-to-publish LinkedIn post using PAS, AIDA, BAB, STAR, or SLAY frameworks.
Write the Instagram caption - the line that survives the "...
$ npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Jakeschincariol/instagram-agent-skill ig-caption --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Jakeschincariol/instagram-agent-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ig-caption .claude/skills/ig-caption && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ig-caption" agent skill from https://github.com/Jakeschincariol/instagram-agent-skill/tree/main/skills/ig-caption into .claude/skills/ig-caption/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ig-caption", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Jakeschincariol/instagram-agent-skill/tree/main/skills/ig-captionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Jakeschincariol/instagram-agent-skill ig-caption --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Jakeschincariol/instagram-agent-skill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ig-caption .agents/skills/ig-caption && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ig-caption" agent skill from https://github.com/Jakeschincariol/instagram-agent-skill/tree/main/skills/ig-caption into .agents/skills/ig-caption/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ig-caption", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Jakeschincariol/instagram-agent-skill ig-caption --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Jakeschincariol/instagram-agent-skill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ig-caption .cursor/skills/ig-caption && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ig-caption" agent skill from https://github.com/Jakeschincariol/instagram-agent-skill/tree/main/skills/ig-caption into .cursor/skills/ig-caption/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ig-caption", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Jakeschincariol/instagram-agent-skill.git --path skills/ig-caption--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Jakeschincariol/instagram-agent-skill ig-caption --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Jakeschincariol/instagram-agent-skill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ig-caption .gemini/skills/ig-caption && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ig-caption" agent skill from https://github.com/Jakeschincariol/instagram-agent-skill/tree/main/skills/ig-caption into .gemini/skills/ig-caption/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ig-caption", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Jakeschincariol/instagram-agent-skill ig-captionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Jakeschincariol/instagram-agent-skill.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ig-caption .github/skills/ig-caption && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ig-caption" agent skill from https://github.com/Jakeschincariol/instagram-agent-skill/tree/main/skills/ig-caption into .github/skills/ig-caption/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ig-caption", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Jakeschincariol/instagram-agent-skill ig-caption --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Jakeschincariol/instagram-agent-skill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ig-caption .opencode/skills/ig-caption && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ig-caption" agent skill from https://github.com/Jakeschincariol/instagram-agent-skill/tree/main/skills/ig-caption into .opencode/skills/ig-caption/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ig-caption", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ig-captionWrite the Instagram caption - the line that survives the "...
Ig Caption is an agent skill from Jakeschincariol/instagram-agent-skill. Write the Instagram caption - the line that survives the "... more" cut, the body, the single ask, the search terms and the three hashtags - and lint it before it goes out. Use when the user says "write the caption", "caption this", "what do I put in the description", has a reel or a carousel ready and needs the text, or asks about hashtags.
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `caption.py`).
It sits in Writing & Content, covering Social media posts and Linting and formatting. The repository describes itself as: Thirteen Claude skills that run an Instagram account: Reels off 26 scored hook formulas, a viral research skill, a caption linter, and a humanizer. Free, MIT. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d03c56b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ig Caption loads about 1.2k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 589 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Jakeschincariol/instagram-agent-skill at commit d03c56b, republished under its MIT licence (© Jakeschincariol). 589 words, ~1,157 tokens.
.claude/skills/ig-caption/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.One tool lives in this folder and it runs:
python3 caption.py caption.txt
python3 caption.py caption.txt --keywords "client proposals,agency pricing"It prints the caption the way the feed prints it: the first 125 characters in a box, everything else behind the tap. Read that box before you read anything else you wrote.
This is the decision that ruins captions when it is skipped.
Job A: the video already hooked them. A Reel carries its own hook in the first two seconds, spoken and on screen. The caption is not a second hook and competing with the video is how you lose both. Its job is the ask, the context that makes the ask make sense, and the words people search.
Job B: the caption is the content. A photo, a single image, a carousel cover that opens a loop. Here line one is the hook and it works exactly like a Reel hook: concrete, short, and cut off at a cliff rather than mid-clause.
Ask which one you are writing. If the user has a Reel with a strong hook, write A and say why.
Line 1 125 characters of visible space. Job A: the ask, plainly.
Job B: the hook.
Never a greeting, never a hashtag, never an emoji as the first
character.
Body short paragraphs, one line of white space between each. Two to six
of them. This is where the search terms live.
The ask one. Comment a keyword, save it, or DM. One.
Hashtags up to five, on their own line at the bottom, or none.Limit is 2,200 characters and almost nothing needs 2,200. A caption that earns the tap and then delivers 600 characters beats one that delivers 1,800.
Hashtags are not a reach lever any more, and the platform has now said so with a product change. Instagram capped hashtags at five per post on 18 December 2025, down from thirty, telling creators that "using fewer (up to 5) more targeted hashtags, rather than many generic ones" performs better. Adam Mosseri had already said in February 2025 that hashtags do not work to increase reach and are a label, not a distribution lever.
So: up to five, specific, as topic labels. If the user has a block of twenty saved in their notes app, that block is now dead weight and the linter will fail it.
#viral, #fyp, #explorepage, #foryou describe nothing. Cut them.
Instagram search reads the caption text. So the phrase the user wants to be found for goes in the caption as a phrase a human would type, in a sentence that reads normally. "Client proposals" as words in line three, not "#clientproposals" in a block at the bottom.
Ask for two or three of those terms, then pass them to the linter:
python3 caption.py draft.txt --keywords "client proposals,agency pricing"caption.py counts them.Comment CONTRACT works.
Comment "the contract guide" does not./ig-human on it. Captions are short, so slop is louder here than
anywhere else in the pack.caption.py with the user's search terms. Fix every FAIL. Decide on
every WARN out loud rather than silently.CAPTION READY
job: A - the reel carries the hook
visible: 118 of 125 characters used before the cut
ask: one, comment CONTRACT
hashtags: 3
search: "client proposals" in line 3, "agency pricing" in line 5
linter: READYNothing is posted. The user pastes it.
© Jakeschincariol, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/ig-caption of Jakeschincariol/instagram-agent-skill.
Open the folder on GitHubat commit d03c56b
Ig Caption next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ig Caption this skillJakeschincariol/instagram-agent-skill | 615 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Post Formattercharlie947/social-media-skills | 3.8k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Linkedin Post Formattergithub/awesome-copilot | 40k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Linkedin Contentalirezarezvani/claude-skills | 28k | — | ~1.4k | Automated safety check: Pass | MIT | |
| CopywritingZJU-REAL/Easel | 3.2k | — | ~883 | Automated safety check: Pass | Apache-2.0 | |
| Social ContentZJU-REAL/Easel | 3.2k | — | ~792 | Automated safety check: Pass | Apache-2.0 |
charlie947/social-media-skills
Turn a topic into a ready-to-publish LinkedIn post using PAS, AIDA, BAB, STAR, or SLAY frameworks.
github/awesome-copilot
Format and draft compelling LinkedIn posts using Unicode bold/italic styling, visual separators, structured sections, and engagement-optimized patterns.
alirezarezvani/claude-skills
A skill your agent uses when someone wants to write, edit, or lint a LinkedIn post — a story, how-to, opinion piece, carousel script, video script, or poll — or wants an article, talk, or transcript…
ZJU-REAL/Easel
国内带货转化营销文案:提炼卖点并产出种草、信息流广告、活动促销、电商详情页或落地页的标题、正文和 CTA. An agent skill from ZJU-REAL/Easel.
ZJU-REAL/Easel
通用多平台社媒内容(单条/兜底):钩子文案、正文、标签策略和互动引导,主打涨粉/互动/内容运营, 支持微博/抖音/B站/知乎/公众号/X 等;平台不确定或要多平台一次成稿时的默认选择。
ZJU-REAL/Easel
内容模板的保存、复用、管理。把成功的内容结构保存为模板,下次直接套用,支持模板分类和版本管理. An agent skill from ZJU-REAL/Easel.
Jakeschincariol/instagram-agent-skill
Strip the machine fingerprint out of any draft - em dashes, AI slop words, invisible watermark characters - and score it against a five-check detection panel before it goes out.
Jakeschincariol/instagram-agent-skill
Write an Instagram Reel from a raw idea - hook options off 26 formulas, the spoken script, the on-screen text, and a timed beat sheet - in the user's own voice and scored before they shoot it.
Jakeschincariol/instagram-agent-skill
Go and find the reels that are actually working right now in the user's niche, rank them by how far each beat its own account, name the hook formula each one used, and turn that into a swipe file…
Jakeschincariol/instagram-agent-skill
Post-mortem on what the user has already posted - which reels actually worked, why, and what to stop making.
Jakeschincariol/instagram-agent-skill
Build an Instagram carousel - the cover that earns the swipe, slide-by-slide copy, and the 1080x1350 files to upload.
Jakeschincariol/instagram-agent-skill
Write comments on other people's Instagram posts and reels that read as a person with an opinion, not a bot.
Categories
Write the Instagram caption - the line that survives the "... Ig Caption is an agent skill from Jakeschincariol/instagram-agent-skill. Write the Instagram caption - the line that survives the "...
Ig Caption fits situations like: the user says write the caption; what do I put in the description; A carousel ready and needs the text; asks about hashtags.
Run `npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a claude-code`. Or copy the skill folder (skills/ig-caption in Jakeschincariol/instagram-agent-skill) into .claude/skills/ig-caption in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a codex`. Or copy the skill folder (skills/ig-caption in Jakeschincariol/instagram-agent-skill) into .agents/skills/ig-caption in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ig-caption, .gemini/skills/ig-caption, .github/skills/ig-caption and .opencode/skills/ig-caption in your project.
Going by SKILL.md and its folder, Ig Caption needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ig Caption is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ig Caption: Post Formatter (charlie947/social-media-skills, 3.8k stars), Linkedin Post Formatter (github/awesome-copilot, 40k stars), Linkedin Content (alirezarezvani/claude-skills, 28k stars) and Copywriting (ZJU-REAL/Easel, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Jakeschincariol (a GitHub user) maintains it in Jakeschincariol/instagram-agent-skill, which has 615 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 13, 2026.
Source: Jakeschincariol/instagram-agent-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.