instagram-post-builder
Interactively builds a complete, copy-paste-ready Instagram post package - three hook variants using distinct patterns, a caption body, one clear CTA, a 15-20 hashtag set across reach tiers, alt text, and a visual direction with shot list or slide breakdown - through a one-question-at-a-time interview, optionally grounded in a trend-educator briefing. Use when someone says "write an Instagram post for my launch", "build the full post package for this reel", "put together a carousel with hooks and hashtags", or reaches the build stage after trend-educator. Do NOT use for finding what is trending - use instagram-trend-scout instead; for a single caption without the full package - use social-caption-writer; for planning a month of content - use social-content-calendar.
- License 许可
- MIT
- 最近更新
- 2026-10-14
- Stars
- ★ 25
- Forks
- 3
01 前言 Front Matter
- name
- instagram-post-builder
- slug
- instagram-post-builder
- tags
- [ "instagram", "social-media", "copywriting", "captions", "hashtags", "content-creation" ]
- stage
- S3
- license
- MIT
- version
- 1.0.0
- metadata
- { "title": "Instagram Post Builder" }
- description
- Interactively builds a complete, copy-paste-ready Instagram post package - three hook variants using distinct patterns, a caption body, one clear CTA, a 15-20 hashtag set across reach tiers, alt text, and a visual direction with shot list or slide breakdown - through a one-question-at-a-time interview, optionally grounded in a trend-educator briefing. Use when someone says "write an Instagram post for my launch", "build the full post package for this reel", "put together a carousel with hooks and hashtags", or reaches the build stage after trend-educator. Do NOT use for finding what is trending - use instagram-trend-scout instead; for a single caption without the full package - use social-caption-writer; for planning a month of content - use social-content-calendar.
03 SKILL.md 正文
Instagram Post Builder
Stage: S3 - Build (final skill in the Instagram Trend Post Builder flywheel)
This is where trend awareness becomes an actual post. It takes the trend card from trend-educator as fuel, but the post is built around the user's own message - the trend informs the packaging, it does not dictate the content. The result is a copy-paste-ready package.
The defining behavior of this skill is conversational, one question at a time. Do not interrogate the user with a form. Ask, listen, then ask the next thing - adapting to what they said.
Input Schema
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
user_message |
string | yes* | - | What the user wants to say / the topic of the post. *If absent, the skill elicits it as the first question rather than failing. |
educator_brief |
object | no | - | The output from trend-educator (trend_summary, why_it_works, opportunity_angles, confidence_note). When present, the build is grounded in these trends. When absent, the skill still works in standalone mode. |
tone |
string | no | (asked) | Desired voice (e.g. "warm", "punchy", "expert", "playful"). Elicited if not provided. |
audience |
string | no | (asked) | Who the post is for. Elicited if not provided. |
cta_goal |
string | no | (asked) | The action the post should drive (e.g. "save it", "comment a word", "visit link in bio", "follow"). Elicited if not provided. |
Workflow
The skill runs as a short guided interview, then generates. Ask exactly one question per turn and wait for the answer before continuing.
- Open and orient. If
educator_briefis present, lead with one line referencing the opportunity it unlocks ("The scout found that contrarian Reels are landing in your niche - let's use that."). If absent, say you'll build from scratch. - Q1 - The message. If
user_messageis missing, ask: "What's the one thing you want this post to say or teach?" If it is present, reflect it back in a sentence and confirm before moving on. - Q2 - The audience. Ask who it's for and what they're struggling with. (Skip if
audiencealready supplied.) - Q3 - The tone. Ask how they want to sound, offering 3 quick options anchored to their brand. (Skip if
tonesupplied.) - Q4 - The goal. Ask what one action a viewer should take after seeing it (maps to
cta_goal). (Skip if supplied.) - Q5 - Format pick. Recommend a
formatfrom theopportunity_angles(or ask, if standalone) and confirm reel vs carousel vs single image - because it changes hook and visual direction. - Confirm the brief. Echo a one-line summary: message + audience + tone + goal + format. Ask "Build it?" Proceed on confirmation; revise if not.
- Generate hooks. Write 3 distinct hook variants, each using a different proven pattern from the trend card's
winning_hookswhere available (e.g. one curiosity-gap, one contrarian, one direct-promise). Keep each under ~12 words and front-load the stakes - on a reel, the first 3 seconds decide whether the viewer scrolls past, so the hook must land in the first frame, not after an intro. - Write the caption body. Open by paying off the chosen hook, deliver the message with one clear idea per line/short paragraph, and write in the agreed
tonefor the statedaudience. The feed truncates captions at roughly 125 characters before the "…more" fold - the hook payoff and the reason to keep reading must fit above it. The hard ceiling is 2,200 characters; educational carousels can run long, reel captions work best well under that since the video carries the message. - Write the CTA. One clear ask aligned to
cta_goal. Make it specific and low-friction ("comment 'GUIDE' and I'll send it" beats "let me know your thoughts"). - Build the hashtag set. Produce 15-20 hashtags mixing three tiers: a few broad (high-volume), several mid-size (niche-defining), and a few specific/long-tail (low-competition). The platform allows up to 30 per post - maxing it out reads as spam to both the algorithm and humans, which is why this skill caps at 20. Avoid banned or spammy tags. Tie them to the niche from the brief.
- Write the alt text. One to two sentences describing the visual for screen-reader accessibility - literal and descriptive, not keyword-stuffed.
- Suggest a visual direction. Concrete art direction for the chosen format: shot list / slide breakdown, on-screen text placement, and a first-frame or cover idea that matches the hook. For carousels, keep it to 6-10 slides - completion rate falls off past that, and the last slide should always be the CTA.
- Assemble and deliver the complete post package as copy-paste blocks (see Output Format).
Output Schema
{
"format": "string - reel | carousel | single_image | story",
"hooks": [
{
"variant": "string - pattern name, e.g. 'curiosity-gap'",
"text": "string - the hook line (on-screen text for reels, first line for static)"
}
],
"caption_body": "string - the full caption, formatted with line breaks",
"cta": "string - the single call to action",
"hashtags": ["string - 15 to 20 tags, '#'-prefixed, mixed reach tiers"],
"alt_text": "string - 1 to 2 sentence accessibility description",
"visual_direction": {
"concept": "string - the core visual idea",
"shot_or_slides": "string - shot list (reel) or slide-by-slide breakdown (carousel)",
"on_screen_text": "string - text overlay guidance",
"cover_idea": "string - first-frame / cover-slide concept tied to the hook"
},
"post_brief": {
"message": "string",
"audience": "string",
"tone": "string",
"cta_goal": "string"
}
}
Output Format
Deliver as labeled, copy-paste-ready blocks under the header 📦 Post Package - {format}:
- Hooks (pick one) - the 3 variants as a numbered list, each tagged with its pattern.
- Caption - in a fenced block so the user can copy it cleanly, CTA included as the final line.
- Hashtags - in a fenced block, space-separated, ready to paste.
- Alt text - in a fenced block.
- Visual direction - concept, shots/slides, on-screen text, cover idea as a short bulleted brief.
- Close with:
Want a second angle, a different tone, or a carousel version? Say the word.
Error Handling
- No user_message: Don't stall or guess the topic - make eliciting it Q1 (Workflow step 2). The skill is designed to start empty.
- No educator_brief (standalone use): Proceed in standalone mode. Ask one extra question about the niche so hooks and hashtags are still targeted, and note that trend-grounding is skipped.
- Vague answers ("idk", "anything"): Offer 2-3 concrete options to react to rather than asking the same open question again. Reacting is easier than generating.
- User abandons mid-interview: Build the best package you can from what's been gathered so far, clearly mark the assumptions you filled in, and invite the user to refine any field. Never leave them empty-handed.
- User wants edits after delivery: Treat the package as a draft. Regenerate only the requested part (e.g. just new hooks) rather than rebuilding everything.
- Over/under hashtag count: Always land in the 15-20 range; if the niche is narrow, fill with adjacent and long-tail tags rather than padding with generic ones or dropping below 15.
Do NOT
- Do not ask multiple questions in one turn. The one-question-at-a-time interview is the skill's defining behavior; a wall of form fields gets half-answered and the package inherits the gaps.
- Do not bury the hook after an intro. "Hey guys, so today I want to talk about…" is the first 3 seconds a reel cannot afford. The hook is line one, frame one, always.
- Do not write the caption's payoff below the ~125-character fold. If the reader has to tap "more" to find out why they should care, most never will.
- Do not pad the hashtag set with generic mega-tags (#love, #instagood) to hit the count. They add spam signal, not reach - fill with adjacent long-tail niche tags instead.
- Do not keyword-stuff the alt text. It exists for screen readers; describe the visual literally. Stuffing it trades accessibility for an SEO myth.
- Do not let the trend dictate the message. The
educator_briefshapes the packaging (format, hook pattern, timing); the user's own message is the content. A post that is all trend and no message performs once and builds nothing.
Quality bar
- Three hooks, three genuinely different patterns - not one idea reworded.
- The chosen hook's payoff sits above the caption fold.
- CTA is a single, specific, low-friction action matching
cta_goal. - Hashtag set lands in 15-20 with all three reach tiers represented.
- Every block is copy-paste ready - no placeholders left unfilled, no meta-commentary inside the fenced blocks.
Flywheel Connections
- Fed by:
trend-educator- consumes itsopportunity_angles,trend_summary, andwhy_it_worksaseducator_briefto ground the post in working trends. - Feeds into: (end of cycle - the post ships; next week the loop restarts at
instagram-trend-scout). Optionally hand the published post's performance back intoinstagram-trend-scoutas a future signal. - Part of pack: Instagram Trend Post Builder (S1 → S2 → S3).
04 同仓库更多 Skills
有氧运动计划
zone-2-cardio-plan
当有人要求制定稳态有氧训练计划、进行有氧基础训练或达到第二区间、安排轻松或耐力型的每周有氧训练、按心率区间训练,或提高静息心率、最大摄氧量或耐力时,可以使用此方案。该方案构建了一个包含训练计划结构、训练方式选择和进度安排的心率区间有氧训练模块。本方案仅提供一般健身指导,不构成医疗建议。请勿用于设计力量或举重训练计划(请使用力量训练计划)、高强度间歇训练 (HIIT) 或循环训练(请使用体能训练和 HIIT 计划),或灵活性/柔韧性训练(请使用灵活性训练计划)。
youtube-script-writer
Writes retention-engineered long-form YouTube scripts on a hook/body/payoff architecture - a first-30-seconds hook that survives the retention cliff, a beat-sheet body with mini-hooks and bridges, timed pattern interrupts, and a payoff that over-delivers - with B-roll and editing cues marked inline. Use when someone says "script my next video", "my retention graph dies at the start", "tighten this draft", or "outline a video on X". Do NOT use for the 3-second opener of TikTok, Reels, or Shorts - use video-hook-writer instead; do NOT use for spoken voiceover synced to on-screen tutorial actions - use narration-script instead; do NOT use for a sales demo built on a buyer's discovery notes - use demo-script instead; do NOT use to design the thumbnail and title - use thumbnail-concept instead.
win-back-campaign
Designs segmented win-back email sequences for dormant users - dormancy tiers, a three-beat sequence with a single proportional incentive, and a suppression rule - and measures success by re-activation, not opens. Use when someone says "our users went quiet", "design a win-back campaign", "how do I re-engage lapsed customers", "should we email people who haven't logged in for months", or lifecycle messaging has stopped landing with a lapsed segment. Do NOT use for recovering an unfinished checkout - use abandoned-cart-sequence instead. Do NOT use for diagnosing and fixing why active customers cancel - use churn-reduction instead. Do NOT use for building always-on onboarding or nurture flows - use email-drip-builder instead.
wikipedia-style
Writes neutral, verifiable, encyclopedic prose following Wikipedia's core content policies and manual of style - NPOV, inline citations, notability-backed claims, and a strict ban on promotional language. Use when someone asks "write this like a Wikipedia article", "draft a Wikipedia page for this company or person", "make this neutral and encyclopedic", or "why does my article draft keep getting rejected". Do NOT use for persuasive or opinion writing - use op-ed-writer instead; for thesis-driven academic papers, use academic-essay; for verifying claims in existing text, use fact-checker.
whitepapers
Structures and writes authoritative B2B whitepapers - a standalone executive summary, a data-sized problem statement, methodology, evidence-driven findings, recommendations, and a soft call to action - flagging every claim that needs a real citation. Use when a marketer asks "write a whitepaper on this topic", "turn our research into a lead-gen asset", "make this credible enough for executives", or a draft reads like a product pitch instead of analysis. Do NOT use for customer-story-driven proof - use case-study-builder instead; for policy audiences, use policy-brief.
white-space-analysis
Finds unmet market gaps by ranking jobs-to-be-done on importance versus satisfaction, overlaying them against current solutions and workarounds, and validating that each gap is real, winnable, and worth winning. Use when someone asks "where are the gaps in this market", "what's underserved here", "where should we play next", or is hunting for product, feature, or market-entry opportunities. Do NOT use for profiling competitors and building battle cards - use competitive-intelligence instead; for putting a dollar figure on an identified opportunity - use market-sizing instead; for extracting jobs-to-be-done from raw customer interviews - use jtbd-extractor instead.