New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Build a sized Instagram hashtag set

Instagram Hashtag Strategist

by sergebulaev · MIT license · ★ 138 on GitHub · updated Sep 17

Instagram Hashtag Strategist cover

Build a sized Instagram hashtag set for a post using the 2026 reality that 3 to 5 well-chosen tags beat 30 random ones. Sizes each tag as niche (under 50k posts), mid (50k to 500k), or broad (500k+), then assembles a 2-3 niche, 1-2 mid,…

---
name: ig-hashtag-strategist
description: "Build a sized Instagram hashtag set for a post using the 2026 reality that 3 to 5 well-chosen tags beat 30 random ones. Sizes each tag as niche (under 50k posts), mid (50k to 500k), or broad (500k+), then assembles a 2-3 niche, 1-2 mid, 0-1 broad mix that a small or mid account can actually rank in, matched to the post content and rotated to avoid spam patterns. Use to choose hashtags for a caption, carousel, or Reel. Not for writing the caption itself (use ig-caption-writer)."
---

# Instagram Hashtag Strategist

Pick 3-5 hashtags that actually help, sized so the post can rank. The 30-tag wall
is dead: in 2026 hashtags work as topic labels, and a small account ranks in
niche tags, not in million-post broad ones. This skill builds the sized set.

## When to use

- User has a caption, carousel, or Reel and needs hashtags
- User is still posting 20-30 generic tags and wants the 2026 approach
- User wants tags sized to where their account can actually rank

## The model: size, not volume

Overview

Pick 3-5 hashtags that actually help, sized so the post can rank. The 30-tag wall is dead: in 2026 hashtags work as topic labels, and a small account ranks in niche tags, not in million-post broad ones. This skill builds the sized set.

Manual install (npx, ZIP)
Claude Codenpx skills add sergebulaev/instagram-skills --skill ig-hashtag-strategist -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/sergebulaev/instagram-skills/tar.gz/2919f0a6d8b1 \ | tar -xz -C ~/.claude/skills --strip-components=4 instagram-skills-2919f0a6d8b1/.codex-marketplace/instagram-skills/skills/ig-hashtag-strategist
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/4f844f07e5b8fb81c008/ig-hashtag-strategist.zip" -OutFile "$env:TEMP\ig-hashtag-strategist.zip"; Expand-Archive "$env:TEMP\ig-hashtag-strategist.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.4 KB
  • references/1 file · 2.2 KB
Read the files here
sergebulaev/2919f0a2 files
Shared references2SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text97 lines

Instagram Hashtag Strategist

Pick 3-5 hashtags that actually help, sized so the post can rank. The 30-tag wall is dead: in 2026 hashtags work as topic labels, and a small account ranks in niche tags, not in million-post broad ones. This skill builds the sized set.

When to use

  • User has a caption, carousel, or Reel and needs hashtags
  • User is still posting 20-30 generic tags and wants the 2026 approach
  • User wants tags sized to where their account can actually rank

The model: size, not volume

A tag's size is its total post count. The strategy is a mix so the post ranks in the small tags while touching the bigger ones.

Tier Post count Role Use
Niche under 50k where a small/mid account can actually rank for hours 2-3
Mid 50k - 500k enough audience, beatable competition 1-2
Broad 500k+ a brief category-label touch, ranks for minutes 0-1

Default: 3-5 total. Full reasoning in ../../references/hashtag-strategy.md.

Steps

  1. Get the post. The caption, carousel topic, or Reel subject, plus the target audience and the account's rough size (so the niche/mid split fits).
  2. Extract topics. Pull the 3-5 real topics the post is about (the subject, the niche community, the format, the outcome).
  3. Generate candidates per tier. For each topic, propose niche, mid, and broad candidates. Niche tags are specific and long-tail (#notionforfreelancers); broad tags are single common words (#marketing).
  4. Size each candidate. Estimate the tier from specificity (the API does not expose counts, so use judgment and tell the user to verify counts in the app's search). Flag any obviously generic or flag-prone tags (#follow4follow, #like4like) to drop.
  5. Assemble the set. 2-3 niche + 1-2 mid + 0-1 broad, total 3-5. Drop the broad slot if nothing genuinely fits. Every tag must match the content.
  6. Check the match. Reject any tag that is popular but off-topic; a mismatch mistrains the recommendation engine and lowers reach.
  7. Rotate. Tell the user to vary the set per topic, not reuse one block on every post (identical sets across many posts read as automation).
  8. Output. The 3-5 set, each tagged with its tier and a one-line why, plus placement guidance (end of caption or first comment).

Output format

Sized set (4 tags):
  #notionforfreelancers   niche   the exact community this post serves
  #freelanceworkflow      niche   long-tail, low churn, rankable
  #productivitytips       mid     warm relevant audience, beatable
  #notion                 broad   category label, one touch

Placement: end of the caption or the first comment. Rotate the niche tags per topic.

Hard rules

Global voice rules: see root SKILL.md Voice rules. Additional skill-specific rules:

  • 3-5 tags total. Never output a 30-tag block.
  • Every tag must describe the actual content. No popular-but-off-topic tags.
  • At most one broad tag; drop it if nothing fits.
  • Flag and remove engagement-farm tags (#follow4follow, #like4like) and any known flagged tags.
  • Hashtags go at the end of the caption or in the first comment, never mid-sentence.
  • Rotate sets per topic; do not hand the user one block to paste forever.

Anti-patterns (skill will refuse)

  • Outputting 20-30 hashtags.
  • A "viral hashtag pack" of generic broad tags.
  • Tags that do not match the post to chase a bigger audience.
  • Hiding 30 tags behind dots to "look clean".
  • All-broad sets a small account cannot rank in.

Resources

  • ../../references/hashtag-strategy.md - the full 2026 sizing model and recipe
  • ../../references/algorithm-heuristics.md - why sends and saves, not hashtag feeds, drive reach
  • ig-caption-writer - writes the caption the hashtags attach to
  • ig-carousel-planner - the carousel whose caption carries the set
  • ig-content-planner - rotate tag themes across a week
1---
2name: ig-hashtag-strategist
3description: "Build a sized Instagram hashtag set for a post using the 2026 reality that 3 to 5 well-chosen tags beat 30 random ones. Sizes each tag as niche (under 50k posts), mid (50k to 500k), or broad (500k+), then assembles a 2-3 niche, 1-2 mid, 0-1 broad mix that a small or mid account can actually rank in, matched to the post content and rotated to avoid spam patterns. Use to choose hashtags for a caption, carousel, or Reel. Not for writing the caption itself (use ig-caption-writer)."
4---
5 
6# Instagram Hashtag Strategist
7 
8Pick 3-5 hashtags that actually help, sized so the post can rank. The 30-tag wall
9is dead: in 2026 hashtags work as topic labels, and a small account ranks in
10niche tags, not in million-post broad ones. This skill builds the sized set.
11 
12## When to use
13 
14- User has a caption, carousel, or Reel and needs hashtags
15- User is still posting 20-30 generic tags and wants the 2026 approach
16- User wants tags sized to where their account can actually rank
17 
18## The model: size, not volume
19 
20A tag's **size** is its total post count. The strategy is a mix so the post
21ranks in the small tags while touching the bigger ones.
22 
23| Tier | Post count | Role | Use |
24|---|---|---|---|
25| Niche | under 50k | where a small/mid account can actually rank for hours | 2-3 |
26| Mid | 50k - 500k | enough audience, beatable competition | 1-2 |
27| Broad | 500k+ | a brief category-label touch, ranks for minutes | 0-1 |
28 
29**Default: 3-5 total.** Full reasoning in `../../references/hashtag-strategy.md`.
30 
31## Steps
32 
331. **Get the post.** The caption, carousel topic, or Reel subject, plus the
34 target audience and the account's rough size (so the niche/mid split fits).
352. **Extract topics.** Pull the 3-5 real topics the post is about (the subject,
36 the niche community, the format, the outcome).
373. **Generate candidates per tier.** For each topic, propose niche, mid, and
38 broad candidates. Niche tags are specific and long-tail
39 (`#notionforfreelancers`); broad tags are single common words (`#marketing`).
404. **Size each candidate.** Estimate the tier from specificity (the API does not
41 expose counts, so use judgment and tell the user to verify counts in the app's
42 search). Flag any obviously generic or flag-prone tags
43 (`#follow4follow`, `#like4like`) to drop.
445. **Assemble the set.** 2-3 niche + 1-2 mid + 0-1 broad, total 3-5. Drop the
45 broad slot if nothing genuinely fits. Every tag must match the content.
466. **Check the match.** Reject any tag that is popular but off-topic; a mismatch
47 mistrains the recommendation engine and lowers reach.
487. **Rotate.** Tell the user to vary the set per topic, not reuse one block on
49 every post (identical sets across many posts read as automation).
508. **Output.** The 3-5 set, each tagged with its tier and a one-line why, plus
51 placement guidance (end of caption or first comment).
52 
53## Output format
54 
55```
56Sized set (4 tags):
57 #notionforfreelancers niche the exact community this post serves
58 #freelanceworkflow niche long-tail, low churn, rankable
59 #productivitytips mid warm relevant audience, beatable
60 #notion broad category label, one touch
61 
62Placement: end of the caption or the first comment. Rotate the niche tags per topic.
63```
64 
65## Hard rules
66 
67Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific
68rules:
69 
70- 3-5 tags total. Never output a 30-tag block.
71- Every tag must describe the actual content. No popular-but-off-topic tags.
72- At most one broad tag; drop it if nothing fits.
73- Flag and remove engagement-farm tags (`#follow4follow`, `#like4like`) and any
74 known flagged tags.
75- Hashtags go at the end of the caption or in the first comment, never
76 mid-sentence.
77- Rotate sets per topic; do not hand the user one block to paste forever.
78 
79## Anti-patterns (skill will refuse)
80 
81- Outputting 20-30 hashtags.
82- A "viral hashtag pack" of generic broad tags.
83- Tags that do not match the post to chase a bigger audience.
84- Hiding 30 tags behind dots to "look clean".
85- All-broad sets a small account cannot rank in.
86 
87## Resources
88 
89- `../../references/hashtag-strategy.md` - the full 2026 sizing model and recipe
90- `../../references/algorithm-heuristics.md` - why sends and saves, not hashtag feeds, drive reach
91 
92## Related skills
93 
94- `ig-caption-writer` - writes the caption the hashtags attach to
95- `ig-carousel-planner` - the carousel whose caption carries the set
96- `ig-content-planner` - rotate tag themes across a week
97 
View all files on GitHub →

Details

Updated
Sep 17, 2026
License
MIT
Stars on the repo
★ 138
Checked
Source
sergebulaev/instagram-skills ↗
Creator
sergebulaev · 77 listings
View creator

Similar skills

See all →
SkillGenerate a branded slide-by-slide LinkedIn carouselGemini carouselcharlie947/social-media-skills · by charlie947Generate a branded slide-by-slide LinkedIn carousel using Gemini. Takes source content, builds a design brief, waits for approval, then outputs per-slide image generation prompts. 1080x1350 vertical format. Use this skill whenever the user says "carousel", "build a carousel", "turn this into a carousel", "gemini carousel", or wants multi-slide LinkedIn content. Always includes an approval gate between brief and image generation.★ 3.7k GitHub starsSkillBuild a LinkedIn document postLi carouselJakeschincariol/linkedin-agent-skill · by JakeschincariolBuild a LinkedIn document post (carousel) - slide-by-slide copy, the cover that earns the swipe, and the PDF to upload. Use when the user says carousel", "document post", "slides for LinkedIn", "turn this into a carousel", or has a list-shaped idea that would die as a text post.★ 1.9k GitHub starsSkillDraft an Instagram caption with the hook in the first 125Instagram Caption Writersergebulaev/instagram-skills · by sergebulaevDraft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).★ 138 GitHub starsSkillPlan an Instagram carousel slide by slide, up to 10 slidesInstagram Carousel Plannersergebulaev/instagram-skills · by sergebulaevPlan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle, before/after, myth-buster, framework) by goal (saves, shares, follows), drafts each slide's text plus the caption, then publishes the images you supply via Publora. Use to structure a multi-slide carousel. Not for single-image captions (use ig-caption-writer).★ 138 GitHub starsSkillSocial media campaign analysis and performance trackingSocial media analyzeralirezarezvani/claude-skills · by alirezarezvaniSocial media campaign analysis and performance tracking. Calculates engagement rates, ROI, and benchmarks across platforms. Use when analyzing social media performance, calculating engagement rate, measuring campaign ROI, comparing platform metrics, or benchmarking against industry standards. Also use when the user mentions "social media audit," "engagement rate," or "which platform performs best.★ 26.3k GitHub starsSkillScore a LinkedIn post using real performance dataPost scorercharlie947/social-media-skills · by charlie947Score a LinkedIn post using real performance data. Pulls the user's own post history via Apify (or uses cached data) to identify what actually performs, then scores the draft against those patterns. Use this skill whenever the user says "score my post", "review my post", "rate this post", "give me feedback", "how good is this post", or pastes a LinkedIn post and asks for critique. Separates historical comparisons from an explicitly labelled editorial-only fallback. Designed for live scoring at events and everyday post review.★ 3.7k GitHub stars

More from sergebulaev

SkillBy density per paragraph, not per wordAI Tells — Complete Blacklist (V3, 2026-09)sergebulaev/linkedin-skills · by sergebulaevScored the way readers read: by density per paragraph, not per word. One marker in a paragraph is English. Three is a signature. The…★ 3.1k GitHub starsSkillFifteen rules from the linkedin-humanizer packageAI-Tell Rules: Tier-Classified Referencesergebulaev/linkedin-skills · by sergebulaevFifteen rules from the linkedin-humanizer package, sorted by what kind of evidence each one actually represents.★ 3.1k GitHub starsSkillPattern data from MagicPost LinkedIn analysisEmoji Patterns — AI vs. Humansergebulaev/linkedin-skills · by sergebulaevPattern data from MagicPost LinkedIn analysis (Feb 2026, viral post with 220 engagement).★ 3.1k GitHub starsSkillRead your Instagram niche and profile from real dataInstagram Audience Insightssergebulaev/instagram-skills · by sergebulaevRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).★ 138 GitHub starsSkillDraft an Instagram caption with the hook in the first 125Instagram Caption Writersergebulaev/instagram-skills · by sergebulaevDraft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).★ 138 GitHub starsSkillPlan an Instagram carousel slide by slide, up to 10 slidesInstagram Carousel Plannersergebulaev/instagram-skills · by sergebulaevPlan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle, before/after, myth-buster, framework) by goal (saves, shares, follows), drafts each slide's text plus the caption, then publishes the images you supply via Publora. Use to structure a multi-slide carousel. Not for single-image captions (use ig-caption-writer).★ 138 GitHub stars