{"id":"2108f1a6-9ddb-4896-9461-a04e6259a86c","shortId":"ZSJCQu","kind":"skill","title":"instagram","tagline":"Manage Instagram professional accounts via the Hyper MCP — publish photos, Reels, Stories, and carousels; moderate comments and mentions; send Direct Messages; pull account and media insights. Uses the Instagram API with Instagram Login (Business Login). Use when the user mention","description":"# Instagram\n\nComplete skill for managing Instagram professional accounts through the Instagram API with Instagram Login (Business Login). Covers content publishing, messaging, comment moderation, insights, and profile management.\n\n## Out of scope — defer to other skills\n\n| Request | Send them to |\n| --- | --- |\n| Paid Instagram / Facebook ads, boosting a post, Advantage+ | `meta-ads` |\n| Competitor ad research from the Meta Ad Library | `meta-ads-library` |\n| TikTok publishing | `tiktok` |\n| LinkedIn document or carousel posts | `linkedin` |\n\n## Requirements\n\n- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)\n- **Instagram integration connected** at [https://app.hyperfx.ai/integrations](https://app.hyperfx.ai/integrations) — this skill uses the **Instagram API with Instagram Login** (NOT the older Instagram Graph API via Facebook Login).\n- For organization posts to a company page, the connected account must have permission to post for that organization.\n\nIf `instagram_get_me` is not in the tool list, stop and tell the user to enable Hyper MCP and connect Instagram.\n\n## Tool surface\n\n| Tool group | Tools |\n| --- | --- |\n| Account | `instagram_get_me`, `instagram_get_user` *(look up any public IG profile by username or ID — useful for researching commenters and DM contacts)* |\n| Publishing | `instagram_create_photo_container`, `instagram_create_reel_container`, `instagram_create_carousel_container`, `instagram_check_container_status`, `instagram_publish_media`, `instagram_check_publishing_limit` |\n| Media library | `instagram_list_media`, `instagram_get_media`, `instagram_get_album_children`, `instagram_list_stories`, `instagram_get_tagged_media` |\n| Comments | `instagram_list_comments`, `instagram_post_comment`, `instagram_reply_to_comment`, `instagram_hide_comment`, `instagram_delete_comment`, `instagram_toggle_comments` |\n| Direct Messages | `instagram_list_conversations`, `instagram_get_conversation_messages`, `instagram_get_message`, `instagram_send_message`, `instagram_send_media_message`, `instagram_send_post_message`, `instagram_react_to_message` |\n| Insights | `instagram_get_account_insights`, `instagram_get_media_insights` |\n\n## Critical Rules\n\n> **CRITICAL**: This toolkit uses the **Instagram API with Instagram Login** (not the older Instagram Graph API via Facebook Login). Metric names and available fields differ from the older API. Always use the metric names documented in this skill.\n\n> **CRITICAL**: The `engagement` metric does NOT exist in this API. Use individual metrics like `likes`, `comments`, `shares`, `total_interactions` instead.\n\n> **CRITICAL**: The `impressions` metric is NOT valid for account-level insights. Use `reach` or `views` instead.\n\n> **CRITICAL**: Content publishing uses a two-step container workflow: (1) create a media container, (2) publish it. For video content, poll the container status until `FINISHED` before publishing.\n\n> **CRITICAL**: Instagram DM responses must be sent within 24 hours of the user's last message (standard messaging window). The Human Agent tag extends this to 7 days if approved.\n\n> **IMPORTANT**: Publishing rate limit is 100 API-published posts per 24-hour rolling window. Carousels count as 1 post. Always call `instagram_check_publishing_limit` before bulk publishing.\n\n> **CRITICAL**: Do NOT use the `location_id` parameter on photo, reel, or carousel containers unless the user explicitly provides a verified Facebook Page ID. This integration uses Instagram Business Login which cannot look up or validate location IDs. Passing an invalid or guessed ID will cause a 400 error (`Param location_id is not a valid location page ID`). If a user asks for location tagging, explain that they need to provide their Facebook Page ID with location data.\n\n> **CRITICAL**: When passing media URLs (`image_url`, `video_url`, `cover_url`, `media_url`) to any Instagram tool, use the URL **exactly as returned** by the source tool — most commonly the `url` field from `read_file` or `display_file`. Do NOT:\n> - Reconstruct or shorten the URL.\n> - Drop, change, or invent any query parameters (signatures, timestamps, etc.).\n> - Substitute a different host.\n> - Copy a URL from memory or transcribe it character-by-character — call `read_file` again instead.\n>\n> Hyper-hosted CDN URLs are automatically resized and re-signed for Meta when needed, so just hand them through verbatim. A single-character corruption in a presigned signature causes Meta to return a misleading `9004 / 2207052: Only photo or video can be accepted as media type` error.\n\n> **IMPORTANT**: Always call `instagram_get_me` first to get the user's IG user ID. Most endpoints require this ID.\n\n## Phase 1: Account Setup\n\n### Get the connected account\n\n```python\ninstagram_get_me()\n```\n\nReturns: `user_id`, `username`, `name`, `account_type`, `profile_picture_url`, `followers_count`, `follows_count`, `media_count`, `biography`, `website`.\n\nStore the `user_id` — it's required for most subsequent calls.\n\n## Phase 2: Content Publishing\n\n### Publishing workflow\n\n1. **Create a media container** (photo, reel, story, or carousel).\n2. **Check container status** (required for video / reels — poll until `FINISHED`).\n3. **Publish the container.**\n4. **Verify** by listing recent media.\n\n### Single photo post\n\n```python\ninstagram_create_photo_container(\n    user_id=\"<user_id>\",\n    image_url=\"https://example.com/photo.jpg\",   # Public JPEG URL, max 8MB\n    caption=\"Your caption here #hashtag\",\n    alt_text=\"Accessibility description\",\n)\n# Returns container ID\n\ninstagram_publish_media(\n    user_id=\"<user_id>\",\n    creation_id=\"<container_id>\",\n)\n```\n\n### Reel (short-form video)\n\n```python\ninstagram_create_reel_container(\n    user_id=\"<user_id>\",\n    video_url=\"https://example.com/video.mp4\",   # Public MP4/MOV, max 300MB, 3s-15min\n    caption=\"Reel caption #reels\",\n    cover_url=\"https://example.com/cover.jpg\",   # Optional cover image\n    share_to_feed=True,\n)\n\n# MUST poll status for video content\ninstagram_check_container_status(container_id=\"<container_id>\")\n# Wait until status_code == \"FINISHED\", poll once per minute, max 5 minutes\n\ninstagram_publish_media(user_id=\"<user_id>\", creation_id=\"<container_id>\")\n```\n\n### Story (24-hour expiry)\n\n> **Note:** Story *publishing* is not yet supported by this MCP integration. To read currently active stories use:\n>\n> ```python\n> instagram_list_stories(user_id=\"<user_id>\")\n> ```\n>\n> If the user asks to post a story, inform them this capability is not yet available and suggest posting a Reel with `share_to_feed=True` as an alternative.\n\n### Carousel (2-10 items)\n\n```python\n# Step 1: create child containers (each with is_carousel_item=True for photos)\ninstagram_create_photo_container(\n    user_id=\"<user_id>\",\n    image_url=\"https://example.com/photo1.jpg\",\n    is_carousel_item=True,\n)\n# Repeat for each image / video\n\n# Step 2: create the carousel container with child IDs\ninstagram_create_carousel_container(\n    user_id=\"<user_id>\",\n    children=[\"<child_id_1>\", \"<child_id_2>\", \"<child_id_3>\"],\n    caption=\"Carousel caption\",\n)\n\n# Step 3: publish\ninstagram_publish_media(user_id=\"<user_id>\", creation_id=\"<carousel_container_id>\")\n```\n\n### Content limits\n\n| Type | Format | Max size | Duration |\n| --- | --- | --- | --- |\n| Photo | JPEG | 8MB | — |\n| Reel | MP4 / MOV | 300MB | 3s – 15min |\n| Story image | JPEG | 8MB | — |\n| Story video | MP4 / MOV | 100MB | 3s – 60s |\n| Caption | Text | 2200 chars | 30 hashtags, 20 @tags |\n| Carousel | Mixed | 2 – 10 items | — |\n\n## Phase 3: Comment Moderation\n\n### Read comments\n\n```python\ninstagram_list_comments(media_id=\"<media_id>\")\n```\n\n### Post a comment\n\n```python\ninstagram_post_comment(media_id=\"<media_id>\", message=\"Great post!\")\n```\n\n### Reply to a comment\n\n```python\ninstagram_reply_to_comment(comment_id=\"<comment_id>\", message=\"Thanks!\")\n```\n\n### Moderate comments\n\n```python\n# Hide spam / inappropriate comments\ninstagram_hide_comment(comment_id=\"<comment_id>\", hide=True)\n\n# Delete a comment (only the media owner can delete)\ninstagram_delete_comment(comment_id=\"<comment_id>\")\n\n# Toggle comments on / off for a post\ninstagram_toggle_comments(media_id=\"<media_id>\", comment_enabled=False)\n```\n\n### Respond to mentions\n\n> **Note:** Mention-specific tools (`instagram_reply_to_mention`, `instagram_get_mentioned_media`, `instagram_get_mentioned_comment`) are not yet available in this MCP integration. Mentions appear as comments on your media — respond to them using `instagram_reply_to_comment` with the comment ID from `instagram_list_comments`.\n\n## Phase 4: Direct Messages (CRM)\n\n### List conversations\n\n```python\ninstagram_list_conversations(user_id=\"<user_id>\")\n```\n\n### Read messages\n\n```python\n# Get message IDs from a conversation\ninstagram_get_conversation_messages(conversation_id=\"<conversation_id>\")\n\n# Get full message details (only 20 most recent are queryable)\ninstagram_get_message(message_id=\"<message_id>\")\n```\n\n### Send messages\n\n```python\n# Text message\ninstagram_send_message(\n    user_id=\"<user_id>\",\n    recipient_id=\"<recipient_igsid>\",   # From the message's 'from' field\n    text=\"Thanks for reaching out!\",\n)\n\n# Media attachment (image, video, audio, PDF)\ninstagram_send_media_message(\n    user_id=\"<user_id>\",\n    recipient_id=\"<recipient_igsid>\",\n    media_type=\"image\",                 # image, video, audio, or file\n    media_url=\"https://example.com/photo.jpg\",\n)\n\n# Share a published post via DM\ninstagram_send_post_message(\n    user_id=\"<user_id>\",\n    recipient_id=\"<recipient_igsid>\",\n    post_id=\"<media_id>\",               # Must be your own post\n)\n\n# React to a message\ninstagram_react_to_message(\n    user_id=\"<user_id>\",\n    recipient_id=\"<recipient_igsid>\",\n    message_id=\"<message_id>\",\n    reaction=\"love\",\n)\n```\n\n### Messaging constraints\n\n- The recipient must have initiated the conversation first.\n- 24-hour response window from the user's last message (7 days with the Human Agent tag).\n- Text messages: UTF-8, max 1000 bytes.\n- Media limits: images (PNG / JPEG, 8MB), videos (MP4 / OGG, 25MB), audio (AAC / WAV, 25MB), files (PDF, 25MB).\n\n## Phase 5: Analytics & Insights\n\n### Account-level insights\n\n```python\ninstagram_get_account_insights(\n    user_id=\"<user_id>\",\n    metric=[\"reach\", \"profile_views\", \"follower_count\", \"accounts_engaged\", \"total_interactions\"],\n    period=\"week\",\n)\n```\n\n> **Note:** Some metrics (`profile_views`, `total_interactions`, demographic metrics) require `instagram_business_manage_insights` permission and a **Business** account — they will be silently omitted for Creator accounts. If a metric is missing from the response, check the account type returned by `instagram_get_me`.\n\n**Valid account metrics:**\n\n| Metric | Description |\n| --- | --- |\n| `reach` | Unique accounts that saw any content. |\n| `follower_count` | Total followers (lifetime period only). |\n| `website_clicks` | Clicks on the website link in the profile. |\n| `profile_views` | Profile page views. |\n| `online_followers` | Followers online at a given time. |\n| `accounts_engaged` | Unique accounts that interacted. |\n| `total_interactions` | Total likes, comments, shares, saves, replies. |\n| `likes` | Total likes across all content. |\n| `comments` | Total comments across all content. |\n| `shares` | Total shares across all content. |\n| `saves` | Total saves across all content. |\n| `replies` | Total replies (stories / messages). |\n| `follows_and_unfollows` | Net follower changes. |\n| `profile_links_taps` | Taps on profile links. |\n| `views` | Total content views. |\n| `engaged_audience_demographics` | Demographics of the engaged audience. |\n| `reached_audience_demographics` | Demographics of the reached audience. |\n| `follower_demographics` | Demographics of followers. |\n\n**Invalid account metrics:** `impressions`, `email_contacts`, `phone_call_clicks`, `text_message_clicks`, `get_directions_clicks`.\n\n### Media-level insights\n\n```python\ninstagram_get_media_insights(\n    media_id=\"<media_id>\",\n    metric=[\"reach\", \"likes\", \"comments\", \"saved\", \"shares\", \"total_interactions\"],\n)\n```\n\n- **Common metrics (all non-Story media):** `reach`, `saved`, `likes`, `comments`, `shares`, `total_interactions`, `views`.\n- **Reel-only extras** (auto-stripped for non-Reels): `ig_reels_avg_watch_time`, `ig_reels_video_view_total_time`, `clips_replays_count`, `ig_reels_aggregated_all_plays_count`.\n- **Story-only metrics:** `reach`, `replies`, `follows`, `navigation`, `profile_visits`, `profile_activity`, `views`.\n\n> **Tip:** When unsure if media is a Reel, just use the common metrics. Reel-only metrics sent to non-Reel media will be auto-stripped by the server.\n\n**Invalid media metrics:** `engagement`, `impressions`, `plays`, `saves` — for media use `saved` (not `saves`; `saves` is account-level only).\n\n### Period values\n\n| Period | Description |\n| --- | --- |\n| `day` | Daily breakdown. |\n| `week` | Weekly breakdown. |\n| `days_28` | 28-day breakdown. |\n| `month` | Monthly breakdown. |\n| `lifetime` | All time (required for `follower_count`). |\n\n## Phase 6: Media & Story Management\n\n### Browse media library\n\n```python\n# List recent posts (up to 10K)\ninstagram_list_media(user_id=\"<user_id>\", limit=25)\n\n# Get details of a specific post\ninstagram_get_media(media_id=\"<media_id>\")\n\n# Get carousel children\ninstagram_get_album_children(media_id=\"<carousel_media_id>\")\n\n# List active stories (24h window)\ninstagram_list_stories(user_id=\"<user_id>\")\n\n# Get tagged media\ninstagram_get_tagged_media(user_id=\"<user_id>\")\n```","tags":["instagram","marketing","skills","hyperfx-ai","agent-skills","ai-agent","claude","claude-code","claude-skills","codex","cursor","google-ads"],"capabilities":["skill","source-hyperfx-ai","skill-instagram","topic-agent-skills","topic-ai-agent","topic-claude","topic-claude-code","topic-claude-skills","topic-codex","topic-cursor","topic-google-ads","topic-hermes","topic-marketing","topic-mcp","topic-meta-ads"],"categories":["marketing-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/hyperfx-ai/marketing-skills/instagram","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add hyperfx-ai/marketing-skills","source_repo":"https://github.com/hyperfx-ai/marketing-skills","install_from":"skills.sh"}},"qualityScore":"0.462","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 24 github stars · SKILL.md body (13,531 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:05:16.538Z","embedding":null,"createdAt":"2026-05-07T13:06:43.286Z","updatedAt":"2026-05-18T19:05:16.538Z","lastSeenAt":"2026-05-18T19:05:16.538Z","tsv":"'-10':950 '-8':1346 '/cover.jpg':853 '/integrations](https://app.hyperfx.ai/integrations)':127 '/mcp](https://app.hyperfx.ai/mcp)':120 '/photo.jpg':796,1278 '/photo1.jpg':976 '/video.mp4':837 '1':401,468,705,751,954 '10':1053 '100':455 '1000':1348 '100mb':1039 '10k':1743 '15min':844,1030 '2':406,746,761,949,987,1052 '20':1048,1219 '2200':1044 '2207052':672 '24':428,461,893,1326 '24h':1774 '25':1750 '25mb':1359,1363,1366 '28':1715,1716 '3':772,1006,1056 '30':1046 '300mb':841,1028 '3s':843,1029,1040 '3s-15min':842 '4':776,1187 '400':526 '5':883,1368 '6':1730 '60s':1041 '7':446,1336 '8mb':801,1024,1034,1355 '9004':671 'aac':1361 'accept':679 'access':809 'account':5,24,49,155,191,308,383,706,711,721,1372,1378,1388,1412,1420,1431,1439,1445,1480,1483,1562,1701 'account-level':382,1371,1700 'across':1497,1503,1509,1515 'activ':910,1652,1772 'ad':83,90,92,97,101 'advantag':87 'agent':441,1341 'aggreg':1637 'album':249,1767 'alt':807 'altern':947 'alway':345,470,685 'analyt':1369 'api':31,53,133,142,322,331,344,363,457 'api-publish':456 'app.hyperfx.ai':119,126 'app.hyperfx.ai/integrations](https://app.hyperfx.ai/integrations)':125 'app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)':118 'appear':1164 'approv':449 'ask':541,922 'attach':1253 'audienc':1541,1547,1549,1555 'audio':1256,1271,1360 'auto':1615,1680 'auto-strip':1614,1679 'automat':640 'avail':338,934,1158 'avg':1623 'biographi':732 'boost':84 'breakdown':1710,1713,1718,1721 'brows':1734 'bulk':477 'busi':35,57,507,1405,1411 'byte':1349 'call':471,629,686,744,1568 'cannot':510 'capabl':930 'caption':802,804,845,847,1002,1004,1042 'carousel':15,109,226,465,491,760,948,961,978,990,997,1003,1050,1763 'caus':524,665 'cdn':637 'chang':604,1528 'char':1045 'charact':626,628,659 'character-by-charact':625 'check':229,236,473,762,868,1429 'child':956,993 'children':250,1001,1764,1768 'click':1458,1459,1569,1572,1575 'clip':1632 'code':876 'comment':17,63,211,258,261,264,268,271,274,277,369,1057,1060,1064,1069,1073,1082,1087,1088,1093,1098,1101,1102,1108,1117,1118,1121,1129,1132,1154,1166,1177,1180,1185,1490,1500,1502,1590,1605 'common':586,1595,1665 'compani':151 'competitor':91 'complet':43 'connect':117,123,154,184,710 'constraint':1317 'contact':214,1566 'contain':219,223,227,230,399,405,414,492,755,763,775,789,812,830,869,871,957,969,991,998 'content':60,392,411,747,866,1015,1449,1499,1505,1511,1517,1538 'convers':282,285,1192,1196,1207,1210,1212,1324 'copi':617 'corrupt':660 'count':466,727,729,731,1387,1451,1634,1640,1728 'cover':59,567,849,855 'creat':217,221,225,402,752,787,828,955,967,988,996 'creation':819,890,1013 'creator':1419 'critic':314,316,354,374,391,420,479,558 'crm':1190 'current':909 'daili':1709 'data':557 'day':447,1337,1708,1714,1717 'defer':72 'delet':273,1106,1114,1116 'demograph':1401,1542,1543,1550,1551,1557,1558 'descript':810,1442,1707 'detail':1217,1752 'differ':340,615 'direct':21,278,1188,1574 'display':594 'dm':213,422,1284 'document':107,350 'drop':603 'durat':1021 'email':1565 'enabl':180,1133 'endpoint':700 'engag':356,1389,1481,1540,1546,1688 'error':527,683 'etc':612 'exact':578 'example.com':795,836,852,975,1277 'example.com/cover.jpg':851 'example.com/photo.jpg':794,1276 'example.com/photo1.jpg':974 'example.com/video.mp4':835 'exist':360 'expiri':895 'explain':545 'explicit':496 'extend':443 'extra':1613 'facebook':82,144,333,500,552 'fals':1134 'feed':859,943 'field':339,589,1246 'file':592,595,631,1273,1364 'finish':417,771,877 'first':690,1325 'follow':726,728,1386,1450,1453,1473,1474,1523,1527,1556,1560,1647,1727 'form':824 'format':1018 'full':1215 'get':166,193,196,245,248,255,284,288,307,311,688,692,708,714,1148,1152,1202,1209,1214,1225,1377,1436,1573,1582,1751,1758,1762,1766,1781,1785 'given':1478 'graph':141,330 'great':1077 'group':189 'guess':521 'hand':652 'hashtag':806,1047 'hide':270,1095,1100,1104 'host':616,636 'hour':429,462,894,1327 'human':440,1340 'hyper':8,113,181,635 'hyper-host':634 'id':207,485,502,516,522,530,537,554,698,703,718,737,791,813,818,820,832,872,889,891,918,971,994,1000,1012,1014,1066,1075,1089,1103,1119,1131,1181,1198,1204,1213,1228,1238,1240,1263,1265,1290,1292,1294,1309,1311,1313,1381,1586,1748,1761,1770,1780,1789 'ig':202,696,1621,1626,1635 'imag':563,792,856,972,984,1032,1254,1268,1269,1352 'import':450,684 'impress':376,1564,1689 'inappropri':1097 'individu':365 'inform':927 'initi':1322 'insight':27,65,305,309,313,385,1370,1374,1379,1407,1579,1584 'instagram':1,3,30,33,42,47,52,55,81,121,132,135,140,165,185,192,195,216,220,224,228,232,235,241,244,247,251,254,259,262,265,269,272,275,280,283,287,290,293,297,301,306,310,321,324,329,421,472,506,573,687,713,786,814,827,867,885,914,966,995,1008,1062,1071,1084,1099,1115,1127,1143,1147,1151,1174,1183,1194,1208,1224,1234,1258,1285,1304,1376,1404,1435,1581,1744,1757,1765,1776,1784 'instal':115 'instead':373,390,633 'integr':122,504,906,1162 'interact':372,1391,1400,1485,1487,1594,1608 'invalid':519,1561,1685 'invent':606 'item':951,962,979,1054 'jpeg':798,1023,1033,1354 'last':434,1334 'level':384,1373,1578,1702 'librari':98,102,240,1736 'lifetim':1454,1722 'like':367,368,1489,1494,1496,1589,1604 'limit':238,453,475,1016,1351,1749 'link':1463,1530,1535 'linkedin':106,111 'list':173,242,252,260,281,779,915,1063,1184,1191,1195,1738,1745,1771,1777 'locat':484,515,529,535,543,556 'login':34,36,56,58,136,145,325,334,508 'look':198,511 'love':1315 'manag':2,46,68,1406,1733 'max':800,840,882,1019,1347 'mcp':9,114,182,905,1161 'media':26,234,239,243,246,257,295,312,404,561,569,681,730,754,781,816,887,1010,1065,1074,1111,1130,1150,1169,1252,1260,1266,1274,1350,1577,1583,1585,1601,1658,1676,1686,1693,1731,1735,1746,1759,1760,1769,1783,1787 'media-level':1576 'memori':621 'mention':19,41,1137,1140,1146,1149,1153,1163 'mention-specif':1139 'messag':22,62,279,286,289,292,296,300,304,435,437,1076,1090,1189,1200,1203,1211,1216,1226,1227,1230,1233,1236,1243,1261,1288,1303,1307,1312,1316,1335,1344,1522,1571 'meta':89,96,100,647,666 'meta-ad':88 'meta-ads-librari':99 'metric':335,348,357,366,377,1382,1396,1402,1423,1440,1441,1563,1587,1596,1644,1666,1670,1687 'minut':881,884 'mislead':670 'miss':1425 'mix':1051 'moder':16,64,1058,1092 'month':1719,1720 'mov':1027,1038 'mp4':1026,1037,1357 'mp4/mov':839 'must':156,424,861,1295,1320 'name':336,349,720 'navig':1648 'need':548,649 'net':1526 'non':1599,1619,1674 'non-reel':1618,1673 'non-stori':1598 'note':896,1138,1394 'ogg':1358 'older':139,328,343 'omit':1417 'onlin':1472,1475 'option':854 'organ':147,163 'owner':1112 'page':152,501,536,553,1470 'paid':80 'param':528 'paramet':486,609 'pass':517,560 'pdf':1257,1365 'per':460,880 'period':1392,1455,1704,1706 'permiss':158,1408 'phase':704,745,1055,1186,1367,1729 'phone':1567 'photo':11,218,488,674,756,783,788,965,968,1022 'pictur':724 'play':1639,1690 'png':1353 'poll':412,769,862,878 'post':86,110,148,160,263,299,459,469,784,924,937,1067,1072,1078,1126,1282,1287,1293,1299,1740,1756 'presign':663 'profession':4,48 'profil':67,203,723,1384,1397,1466,1467,1469,1529,1534,1649,1651 'provid':497,550 'public':201,797,838 'publish':10,61,104,215,233,237,393,407,419,451,458,474,478,748,749,773,815,886,898,1007,1009,1281 'pull':23 'python':712,785,826,913,952,1061,1070,1083,1094,1193,1201,1231,1375,1580,1737 'queri':608 'queryabl':1223 'rate':452 're':644 're-sign':643 'reach':387,1250,1383,1443,1548,1554,1588,1602,1645 'react':302,1300,1305 'reaction':1314 'read':591,630,908,1059,1199 'recent':780,1221,1739 'recipi':1239,1264,1291,1310,1319 'reconstruct':598 'reel':12,222,489,757,768,821,829,846,848,939,1025,1611,1620,1622,1627,1636,1661,1668,1675 'reel-on':1610,1667 'repeat':981 'replay':1633 'repli':266,1079,1085,1144,1175,1493,1518,1520,1646 'request':76 'requir':112,701,740,765,1403,1725 'research':93,210 'resiz':641 'respond':1135,1170 'respons':423,1328,1428 'return':580,668,716,811,1433 'roll':463 'rule':315 'save':1492,1512,1514,1591,1603,1691,1695,1697,1698 'saw':1447 'scope':71 'send':20,77,291,294,298,1229,1235,1259,1286 'sent':426,1671 'server':1684 'setup':707 'share':370,857,941,1279,1491,1506,1508,1592,1606 'short':823 'short-form':822 'shorten':600 'sign':645 'signatur':610,664 'silent':1416 'singl':658,782 'single-charact':657 'size':1020 'skill':44,75,129,353 'skill-instagram' 'sourc':583 'source-hyperfx-ai' 'spam':1096 'specif':1141,1755 'standard':436 'status':231,415,764,863,870,875 'step':398,953,986,1005 'stop':174 'store':734 'stori':13,253,758,892,897,911,916,926,1031,1035,1521,1600,1642,1732,1773,1778 'story-on':1641 'strip':1616,1681 'subsequ':743 'substitut':613 'suggest':936 'support':902 'surfac':187 'tag':256,442,544,1049,1342,1782,1786 'tap':1531,1532 'tell':176 'text':808,1043,1232,1247,1343,1570 'thank':1091,1248 'tiktok':103,105 'time':1479,1625,1631,1724 'timestamp':611 'tip':1654 'toggl':276,1120,1128 'tool':172,186,188,190,574,584,1142 'toolkit':318 'topic-agent-skills' 'topic-ai-agent' 'topic-claude' 'topic-claude-code' 'topic-claude-skills' 'topic-codex' 'topic-cursor' 'topic-google-ads' 'topic-hermes' 'topic-marketing' 'topic-mcp' 'topic-meta-ads' 'total':371,1390,1399,1452,1486,1488,1495,1501,1507,1513,1519,1537,1593,1607,1630 'transcrib':623 'true':860,944,963,980,1105 'two':397 'two-step':396 'type':682,722,1017,1267,1432 'unfollow':1525 'uniqu':1444,1482 'unless':493 'unsur':1656 'url':562,564,566,568,570,577,588,602,619,638,725,793,799,834,850,973,1275 'use':28,37,130,208,319,346,364,386,394,482,505,575,912,1173,1663,1694 'user':40,178,197,432,495,540,694,697,717,736,790,817,831,888,917,921,970,999,1011,1197,1237,1262,1289,1308,1332,1380,1747,1779,1788 'usernam':205,719 'utf':1345 'valid':380,514,534,1438 'valu':1705 'verbatim':655 'verifi':499,777 'via':6,143,332,1283 'video':410,565,676,767,825,833,865,985,1036,1255,1270,1356,1628 'view':389,1385,1398,1468,1471,1536,1539,1609,1629,1653 'visit':1650 'wait':873 'watch':1624 'wav':1362 'websit':733,1457,1462 'week':1393,1711,1712 'window':438,464,1329,1775 'within':427 'workflow':400,750 'yet':901,933,1157","prices":[{"id":"1c07542b-e04f-4ee5-9f85-c3a726b6537b","listingId":"2108f1a6-9ddb-4896-9461-a04e6259a86c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"hyperfx-ai","category":"marketing-skills","install_from":"skills.sh"},"createdAt":"2026-05-07T13:06:43.286Z"}],"sources":[{"listingId":"2108f1a6-9ddb-4896-9461-a04e6259a86c","source":"github","sourceId":"hyperfx-ai/marketing-skills/instagram","sourceUrl":"https://github.com/hyperfx-ai/marketing-skills/tree/main/skills/instagram","isPrimary":false,"firstSeenAt":"2026-05-07T13:06:43.286Z","lastSeenAt":"2026-05-18T19:05:16.538Z"}],"details":{"listingId":"2108f1a6-9ddb-4896-9461-a04e6259a86c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"hyperfx-ai","slug":"instagram","github":{"repo":"hyperfx-ai/marketing-skills","stars":24,"topics":["agent-skills","ai-agent","claude","claude-code","claude-skills","codex","cursor","google-ads","hermes","marketing","mcp","meta-ads","openclaw","seo"],"license":"mit","html_url":"https://github.com/hyperfx-ai/marketing-skills","pushed_at":"2026-05-09T22:58:46Z","description":"Marketing skills for AI agents — paid ads, social media, SEO, competitor research, creative generation, email, analytics, and more. Powered by Hyper MCP.","skill_md_sha":"0fa079dee7b1e0eb8a2ab5b073f0c3e13eba8ea5","skill_md_path":"skills/instagram/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/hyperfx-ai/marketing-skills/tree/main/skills/instagram"},"layout":"multi","source":"github","category":"marketing-skills","frontmatter":{"name":"instagram","description":"Manage Instagram professional accounts via the Hyper MCP — publish photos, Reels, Stories, and carousels; moderate comments and mentions; send Direct Messages; pull account and media insights. Uses the Instagram API with Instagram Login (Business Login). Use when the user mentions Instagram posts, Reels, Stories, carousels, IG DMs, Instagram comments, mentions, profile, or analytics. For paid Instagram advertising, use `meta-ads`."},"skills_sh_url":"https://skills.sh/hyperfx-ai/marketing-skills/instagram"},"updatedAt":"2026-05-18T19:05:16.538Z"}}