Write the Instagram caption - the line that survives the "...

MITAuto-check passedWriting & Content

Install Ig Caption

skills CLI
$ npx skills add Jakeschincariol/instagram-agent-skill --skill ig-caption -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Jakeschincariol/instagram-agent-skill ig-caption --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
ig-caption
GitHub stars
615
Token cost
~1.2k tokens
SKILL.md length
589 words
Files
2
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

Write the Instagram caption - the line that survives the "...

  • Works in 5 steps: Decide Job A or Job B and say which. → Draft it. → Run /ig-human on it. Captions are short,… → …
  • The user says write the caption
  • SKILL.md covers First, decide which job this…, The shape, Hashtags, honestly and Search terms matter more than…, plus 2 more sections
  • Runs Python scripts from its folder; calls python3

What it does

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.

When your agent uses it

  • The user says write the caption
  • What do I put in the description
  • A carousel ready and needs the text
  • Asks about hashtags

Example prompts

  • “... more”
  • “write the caption”
  • “caption this”
  • “/ig-caption”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Decide Job A or Job B and say which.
  2. Draft it.
  3. Run /ig-human on it. Captions are short, so slop is louder here than
  4. Run caption.py with the user's search terms. Fix every FAIL. Decide on
  5. Print the copy-ready block, then the receipt

What it can do on your machine

Read from SKILL.md and the folder at commit d03c56b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from Jakeschincariol/instagram-agent-skill at commit d03c56b, republished under its MIT licence (© Jakeschincariol). 589 words, ~1,157 tokens.

Download SKILL.mdSave it as .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.
name
ig-caption
description
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.

ig-caption

One tool lives in this folder and it runs:

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

First, decide which job this caption has

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.

The shape

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, honestly

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.

Show full SKILL.md (262 more words)Show less

Search terms matter more than hashtags now

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:

bash
python3 caption.py draft.txt --keywords "client proposals,agency pricing"

Rules

  • No link in the caption. Captions are not clickable. A URL in the body is dead text that says "I do not use this platform". Bio or DM.
  • One ask. Two asks is the same as none. caption.py counts them.
  • The keyword ask needs a keyword people can type. One word, no spaces, no emoji, and say it out loud in the video too. Comment CONTRACT works. Comment "the contract guide" does not.
  • Write the first comment separately if there is a link. Say so in the receipt.
  • Emoji as punctuation, not decoration. The linter flags anything over 4 per 100 characters.
  • Alt text is worth 20 seconds. For carousels and photos, write it. It is read by screen readers and by Instagram.

The loop

  1. Decide Job A or Job B and say which.
  2. Draft it.
  3. Run /ig-human on it. Captions are short, so slop is louder here than anywhere else in the pack.
  4. Run caption.py with the user's search terms. Fix every FAIL. Decide on every WARN out loud rather than silently.
  5. Print the copy-ready block, then the receipt:
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:     READY

Nothing 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

Files

SKILL.md and 1 other file in skills/ig-caption of Jakeschincariol/instagram-agent-skill.

  • SKILL.md
  • caption.py

Open the folder on GitHubat commit d03c56b

Compare with similar skills

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.

Ig Caption compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ig Caption this skillJakeschincariol/instagram-agent-skill615—~1.2kAutomated safety check: PassMIT
Post Formattercharlie947/social-media-skills3.8k—~1.4kAutomated safety check: PassMIT
Linkedin Post Formattergithub/awesome-copilot40k1 repos~1.4kAutomated safety check: PassMIT
Linkedin Contentalirezarezvani/claude-skills28k—~1.4kAutomated safety check: PassMIT
CopywritingZJU-REAL/Easel3.2k—~883Automated safety check: PassApache-2.0
Social ContentZJU-REAL/Easel3.2k—~792Automated safety check: PassApache-2.0

Similar skills

  • Post Formatter

    charlie947/social-media-skills

    Turn a topic into a ready-to-publish LinkedIn post using PAS, AIDA, BAB, STAR, or SLAY frameworks.

    3.8k GitHub stars~1.4k tokensUpdated 23 days ago
    Writing & ContentAuto-check passed
  • Linkedin Post Formatter

    github/awesome-copilot

    Official

    Format and draft compelling LinkedIn posts using Unicode bold/italic styling, visual separators, structured sections, and engagement-optimized patterns.

    40k GitHub starsUsed in 1 repo~1.4k tokens
    Writing & ContentAuto-check passed
  • Linkedin Content

    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…

    28k GitHub stars~1.4k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Copywriting

    ZJU-REAL/Easel

    国内带货转化营销文案:提炼卖点并产出种草、信息流广告、活动促销、电商详情页或落地页的标题、正文和 CTA. An agent skill from ZJU-REAL/Easel.

    3.2k GitHub stars~883 tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Social Content

    ZJU-REAL/Easel

    通用多平台社媒内容(单条/兜底):钩子文案、正文、标签策略和互动引导,主打涨粉/互动/内容运营, 支持微博/抖音/B站/知乎/公众号/X 等;平台不确定或要多平台一次成稿时的默认选择。

    3.2k GitHub stars~792 tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Template Library

    ZJU-REAL/Easel

    内容模板的保存、复用、管理。把成功的内容结构保存为模板,下次直接套用,支持模板分类和版本管理. An agent skill from ZJU-REAL/Easel.

    3.2k GitHub stars~1k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from Jakeschincariol/instagram-agent-skill

All 13 skills in this repo
  • Ig Human

    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.

    615 GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Ig Reel

    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.

    615 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Ig Viral

    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…

    615 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Ig Audit

    Jakeschincariol/instagram-agent-skill

    Post-mortem on what the user has already posted - which reels actually worked, why, and what to stop making.

    615 GitHub stars~1.1k tokensUpdated 25 days ago
    Auto-check passed
  • Ig Carousel

    Jakeschincariol/instagram-agent-skill

    Build an Instagram carousel - the cover that earns the swipe, slide-by-slide copy, and the 1080x1350 files to upload.

    615 GitHub stars~1k tokensUpdated 25 days ago
    Auto-check passed
  • Ig Comment

    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.

    615 GitHub stars~1.1k tokensUpdated 25 days ago
    Auto-check passed

Questions about Ig Caption

What does Ig Caption do?

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

When should I use Ig Caption?

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.

How do I install Ig Caption in Claude Code?

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.

How do I install Ig Caption in Codex?

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.

Can I use Ig Caption in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Ig Caption need to run?

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.

Does Ig Caption access the network?

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.

Is Ig Caption safe to install?

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.

What licence does Ig Caption use?

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.

How many tokens does Ig Caption use?

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.

What are the alternatives to Ig Caption?

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.

Who maintains Ig Caption?

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.