---
name: "content_calendar"
description: "Build a 30-day social content calendar: define 3-5 content pillars, rotate weekly themes, batch production into a few sessions, and repurpose one idea across platforms without sounding repetitive. Use when the user says 'content calendar', 'plan my posts', 'batch content', or needs a month of posts mapped out."
---

# Content Calendar

## Purpose
Turn a business or creator's month into a concrete, sustainable 30-day posting plan: one goal, 3–5 pillars, weekly theme rotation, a batching schedule, and a repurposing map so one idea feeds multiple platforms without sounding repetitive.

## Workflow

### 1. Gather inputs
Ask for (or infer from context) these, and stop if any are missing and not inferable:
1. **Who** — business/creator description and who the audience is.
2. **Where** — which platforms (each platform gets its own repurposing pass later).
3. **How much** — realistic posts per week. Default to the number they sustained in their last good month, not the number they wish for. A consistent 2–3/week beats an abandoned 7/week.
4. **One goal** — a single outcome for the month: followers, leads, engagement, watch time, or a promotion. Everything on the calendar must serve it.
5. **Voice** — 2–3 adjectives plus one "never" (e.g. warm, direct, never hype-y).

### 2. Define 3–5 content pillars, each mapped to a funnel stage
Typical set — pick/rename to fit the business:
- **Educate** (teach a tip/framework) → goal: discovery. CTA: "save this" / "follow for more".
- **Story** (personal lesson, behind-the-scenes) → goal: trust. CTA: reply/question.
- **Engage** (question, opinion, poll) → goal: conversation. CTA: comment.
- **Proof** (result, case, testimonial) → goal: credibility. CTA: "DM me" / "link in bio".
- **Convert** (offer, lead magnet, booking link) → goal: action. CTA: book/buy/sign up.

Record for each pillar: name, one-sentence purpose, and its CTA family. This table goes in the output.

### 3. Set the weekly rotation
Give each posting day a fixed pillar so planning never starts from a blank page (e.g. Mon = Educate, Wed = Story, Fri = Engage). Then lay a funnel arc over the four weeks:
- **Week 1 — Authority:** Educate + Proof skew. Audience learns something real.
- **Week 2 — Trust:** Story + Engage skew. Audience learns who you are.
- **Week 3 — Proof:** results, testimonials, before/afters.
- **Week 4 — Conversion:** offers and CTAs earn their place after three weeks of value.

The calendar skeleton helper (`bin/calendar_skeleton.py`) generates the day/pillar/angle grid from a JSON config — use it, don't hand-build grids. A fully filled example calendar lives in `references/30-day-example.md`; follow its shape when filling slots.

### 4. Fill the 30 slots
For each slot write four fields: **topic** (one line), **hook** (the first line or scroll-stopper — must be a claim the business can actually deliver), **format** (short video, carousel, single image, thread, story), **CTA** (from the pillar's CTA family).

Anti-repetition rules (enforce while filling):
- No identical hook pattern twice within 7 days.
- No more than 2 posts in a row from the same pillar.
- Every week contains at least one Educate and one Engage post.

### 5. Repurpose: one idea, many platforms, no echoes
Each week, pick one slot's topic as the **pillar piece** (the best-researched one). Atomize it:
1. **Extract** the reusable units: the core claim, 2–3 proof points, one story, one quotable line, any real numbers.
2. **Adapt per platform** — never paste the same paragraph twice. Keep the core claim and proof points identical; let structure, length, and tone follow each platform's conventions. X wants the thesis as a hook tweet + condensed points; LinkedIn wants a worked example; Instagram wants the visual version; email wants the story version.
3. **One point per derivative** — each piece makes a single point and points back to the pillar piece or offer.
4. **Rotate the angle** on repeat: the same idea can return in 2–3 weeks as a different angle (story → data → myth-bust → framework → contrarian take), but never in the same format twice running.

### 6. Build the batching plan (80/20 rule)
- **~80% batched, scheduled; ~20% left open** for trends, news, and timely reactions. Mark flex slots explicitly on the calendar so they read as intentional, not empty.
- **Session 1 — Planning (1–2 hrs):** lock all 30 topics, hooks, formats, CTAs in a table before anything is produced.
- **Session 2+ — Production, grouped by task not by post:** write all hooks/captions in one block; film/record in one block (hardest first); edit in a block; covers + scheduling last. Task-grouping beats post-by-post every time.
- **Asset prep list:** templates, testimonials, screenshots, data charts, B-roll — note which are evergreen vs time-sensitive.

### 7. Capacity reality check
Before finalizing: total planned pieces ≤ the user's sustainable weekly output. If it exceeds capacity, cut cadence (fewer days) before cutting quality. State the check result in the output: "Planned N posts/week against sustainable capacity of M."

## Output Contract
Deliver:
1. **The goal line** — one sentence: what this month is for.
2. **Pillar table** — pillar, purpose, CTA family.
3. **The 30-day calendar** — per slot: date/day, pillar, topic, hook, format, CTA. Flex slots marked `[FLEX]`.
4. **Repurposing map** — per week: the pillar piece + its derivatives per platform (claim, angle, format).
5. **Batching schedule** — the sessions (planning + production blocks) and the asset prep list.
6. **Capacity check** — the one-line result from step 7.

## Operating Rules
1. **No invented facts.** Every statistic, testimonial, and result in hooks or examples must come from the user's business or a source they provide. A hook the business can't back is a deleted hook.
2. **Adapt, never paste.** The same sentence does not appear on two platforms. Same claim, different shape.
3. **One goal per month.** If the user names two goals, ask which one wins and plan for that one.
4. **Capacity is a ceiling, not a target.** Sustainable output is measured from their history, not their ambition.
5. **CTA matches funnel stage.** No hard sell in Weeks 1–2; conversion posts earn their slot in Week 3–4.
6. **Label evergreen vs timely.** Timely posts go in flex slots; evergreen posts can shift days without breaking the plan.
