| name | Instagram Post |
| slug | instagram-post |
| category | Content |
| one_shot | true |
| description | Creates Instagram content for a creator or business owner — carousels, reels, or stories — using a decision framework for format, caption, and tone that prioritizes resonance over virality. |
| keywords | ["Instagram","Instagram post","carousel","reel","social media","thought leadership","caption writing"] |
Instagram Post
Create Instagram content that builds trust and context around your expertise. Instagram works as a support channel for humanizing ideas that live elsewhere (LinkedIn, blog, podcast). The goal is resonance and clarity, not virality or persuasion.
Operating principle: "If it feels like marketing, pull it back. If it feels like a thoughtful person explaining something clearly, it's correct."
Before Creating
Check reference docs first:
If reference/writing-style.md and reference/target-reader.md exist and are filled in, read them before asking questions. Use that context to understand the user's niche, audience, and voice. Only ask for what isn't already covered.
Step 1: Gather Required Information
| Field | Description |
|---|
| Input | The idea, LinkedIn post, blog post, or raw thought to adapt |
| Content Goal | Reach/Discovery, Resonance/Trust (default), or Conversion/Lead Gen |
| Format Preference | (Optional) Carousel, Reel, or Story — if not provided, the framework will determine this |
| Caption Length | (Optional) Short or Long — if not provided, the framework will determine this |
If the user has provided enough context upfront, skip straight to the framework.
Step 2: Classify the Input
Classify the input into ONE category:
- Reflective / Conceptual → Carousel or long-caption post
- Opinionated / Perspective → Reel or Carousel
- Process / Tactical → Instagram optional, or Story-only (flag this to the user)
- Personal / Observational → Story or short-caption post
If input is heavily tactical, tell the user Instagram may not be the best fit and suggest Story-only or skipping Instagram.
Step 3: Select Format
Choose Carousel if:
- Idea benefits from structure
- Reader may want to save
- Nuance matters
- Long caption is likely
Choose Reel if:
- Idea works spoken
- One clear insight
- Voice adds meaning
Choose Story-only if:
- Idea is unfinished
- Personal
- Situational
- Context > permanence
Step 4: Select Template
Once format is determined, identify the right template from templates/:
| Format | Template | Export command |
|---|
| Carousel (multi-slide) | templates/carousel-clean/ | node tools/screenshot-slides.js templates/carousel-clean/index.html projects/social-[slug]/exports |
| Quote / single image | templates/portrait-quote/ | node tools/screenshot-slides.js templates/portrait-quote/index.html projects/social-[slug]/exports --width=1080 --height=1350 |
| Reel | No template needed — talking head video | — |
| Story-only | No template needed | — |
After generating content, include a Next Steps block at the end of your output telling the user which template to use and the exact export command to run.
Step 5: Determine Caption Length
Use long captions (300–600 words) when:
- Adapting a LinkedIn or blog idea
- Nuance would be lost if compressed
- The post is reflective or narrative
- The caption IS the content
Use short captions (1–4 lines) when:
- Visual or spoken content carries the idea
- Post is primarily personal
- The goal is presence, not depth
Long captions must earn their length.
Step 6: Select Content Goal
Before generating, classify into ONE goal:
-
Reach / Discovery
- Goal: visibility
- Best formats: Reel, short carousel
- Stories: optional, context-only
-
Resonance / Trust (Default)
- Goal: clarity, authority, relatability
- Best formats: Carousel, Story-first
- Stories: yes (often Highlight-worthy)
-
Conversion / Lead Gen
- Goal: email signups, off-platform action
- Best formats: Carousel + Story
- Stories: yes (explicit CTA)
Step 7: Create the Content
Carousel
Create slide-by-slide content:
- One core idea per carousel
- Each slide should be skimmable
- End with a soft reflective takeaway, not a hard CTA
- Tone: calm, clear, confident
- No hype, no emojis
Include a long caption (300–600 words) that expands on the carousel idea.
Also output the slide content in a format ready to drop into the template:
- Cover slide: hook or title
- Content slides: one point per slide, short and skimmable
- Final slide: soft CTA or open question
Reel
Create a short script:
- Format: talking point or single insight
- Tone: grounded, conversational, not performative
- Length: under 45 seconds
- Avoid trends, hooks-for-hooks-sake, or exaggerated claims
Include one mid-reel CTA. A strong template: "Hey, I'm [Your Name]. I help [your audience] [core outcome]. [Follow / like / check the link in bio if that resonates.]"
Keep it short, direct, and grounded — not hype-driven.
Story-only
Create 1–2 Story slides:
- Format: text-first
- Tone: human, unfinished, reflective
- No CTA unless explicitly requested
Step 8: Story Companion (Grid Posts Only)
If a grid post (carousel or reel) was created, also create one Story companion that adds context, not summary.
The Story should answer: "Why did this feel worth sharing today?"
Rules:
- Do not summarize the post
- Do not repeat phrasing from the post
- Explain why it exists or why it matters
Step 9: Highlight Eligibility
After Story creation, evaluate:
Save to Highlight only if:
- Evergreen
- Helpful to a new visitor
- Fits an existing category
Otherwise, let it disappear.
Voice Rules (Apply to All Content)
Tone:
- Calm, thoughtful, experience-based
- Confident without urgency
- Human before strategic
- Sounds like someone thinking clearly in public
Voice characteristics:
- First-person
- Reflective, not declarative
- Opinionated, framed as observation
- Willing to leave questions unresolved
- Assumes the reader is intelligent
Preferred framing:
- "I've been noticing..."
- "This surprised me."
- "I don't think this gets talked about enough."
- "I could be wrong, but..."
Relationship to your business or product:
- Appears as context, not the centerpiece
- Never sales-forward
- Content must stand alone without the product mentioned
- Your expertise is the point, not what you sell
Personal content:
- Personal moments (life outside the business, behind-the-scenes, observations) build trust and increase time-on-profile
- Do not force lessons onto personal moments. Let them coexist.
What to Avoid
- Hype language
- Absolutes
- Performative vulnerability
- Algorithm-aware phrasing
- Trend-chasing
- Growth hacks
- Urgency-based CTAs
- "This blew up" framing
- Over-posting
- Content that feels manufactured
- Emojis
Hard Constraints
- Do NOT recommend daily posting
- Do NOT generate multiple Stories for one post
- Do NOT prioritize virality over clarity
- Do NOT force CTAs where trust is the goal
Output Specification
Every output must include:
**Format:** Story / Carousel / Reel
**Template:** templates/[name]/ — or: none needed
**Content Goal:** Reach / Resonance / Conversion
**Visual Needs:** text slide, talking head, screenshot, casual photo
**Caption Length:** short / long
**Story Companion:** yes / no
**Highlight Eligible:** yes / no + category (if yes)
Followed by:
- The full content (slides, script, or caption)
- Story companion (if applicable)
- Any notes on visual execution
Next Steps block — always end with:
## Next Steps
1. Copy slide content into `templates/[name]/index.html`
2. Run: `node tools/screenshot-slides.js templates/[name]/index.html projects/social-[slug]/exports`
3. Run: `python3 scripts/create-buffer-drafts.py [slug]`
(Omit if format is Reel or Story-only.)