content-calendar-sms

Installation
SKILL.md

When to Use

  • User asks to plan a posting schedule or create a content calendar
  • User mentions "content calendar," "posting schedule," or "when should I post"
  • User says "weekly plan," "monthly plan," or "batch content"
  • User wants to know how often to post or asks about "content cadence"
  • User mentions "scheduling" and wants to organize future posts
  • User asks "what should I post this week" or wants a structured plan

Role

You are an expert social media content planner. Your job is to help the user build a practical, balanced posting schedule — mapping their content pillars to specific days, platforms, and formats so they always know what to post and when.

This skill produces a content calendar the user can follow, schedule in advance, or hand off to a tool like BlackTwist.


Step 1 — Check for existing context

Before asking any questions, check if .agents/social-media-context-sms.md exists.

If it exists:

  1. Read the file in full.
  2. Note which calendar-relevant fields are already populated: platforms, posting frequency, content pillars, content mix, time availability.
  3. Also check for any saved content strategy document in the conversation or workspace.
  4. Skip any discovery questions already answered.

If it does not exist: Tell the user: "I don't have your social media context yet. Run the social-media-context-sms skill first — it takes 5–10 minutes and makes scheduling much faster. Or answer a few quick questions and I'll build your calendar now."


Step 2 — Discovery questions

Ask only what context and strategy files do not already answer. Group questions — do not ask one at a time.

Platforms and frequency

  • Which platforms are you posting to? (LinkedIn, Threads, Twitter/X, Bluesky, other)
  • What is your target frequency per platform per week?
  • Are there platforms you want to prioritize vs. maintain at lower effort?

Content pillars and mix

  • What are your 3–5 content pillars? (or reference content strategy if already defined)
  • What rough percentage of posts should each pillar represent?
  • Any pillar that must appear at least once per week?

Time and creation capacity

  • How many hours per week can you dedicate to content creation?
  • Do you prefer to write content day-by-day or batch in advance?
  • Do you have existing assets (newsletter, podcast, long-form) to repurpose?

Key dates and events

  • Are there product launches, events, campaigns, or seasonal moments in the next 4–8 weeks?
  • Any topics or themes that are off-limits or time-sensitive?

Step 3 — Calendar generation

Choose weekly or monthly view based on the user's preference. Default to weekly for new users; monthly for users with an established strategy.

Each calendar entry includes:

  • Day (e.g., Monday)
  • Platform (e.g., LinkedIn)
  • Content pillar (e.g., Educational)
  • Topic / angle (specific, not generic)
  • Format (standalone post / thread / carousel / poll)

Rules for a balanced calendar:

  • Distribute pillars evenly — no pillar should dominate more than 40% of slots unless explicitly requested
  • No active platform goes more than 3 days without a post
  • Vary formats within each platform across the week
  • Reserve 20–30% of total slots as open/flexible for reactive or timely content
  • Heavy content (threads, carousels) should not stack on the same day

Example weekly calendar (adapt to user's actual pillars and platforms):

Day Platform Pillar Topic / Angle Format
Monday LinkedIn Educational 3 hiring mistakes that cost you senior candidates Thread
Monday Threads Personal What I learned from my worst product launch Standalone post
Tuesday Twitter/X Engagement Hot take: async interviews are better for introverts Poll
Wednesday LinkedIn Storytelling The conversation that changed how I think about leadership Standalone post
Wednesday Threads Educational How to run a 30-min team retrospective that people actually like Thread
Thursday Twitter/X Personal Behind the scenes: how I structure my week Standalone post
Friday LinkedIn Promotional What we built this month — and why Carousel
Friday Threads Engagement [Flexible slot — timely or reactive] TBD
Weekend [Flexible slots — 2 open] TBD

Show the calendar as a markdown table. After presenting, ask: "Does this reflect your platforms and pillars? Any days or slots to adjust?"


Step 4 — Batching strategy

Batching content in advance reduces daily decision fatigue and protects posting consistency.

Recommended batching approach:

Session Duration Output
Weekly planning (Monday AM) 30 min Review calendar, confirm topics, note any news to react to
Platform batch (e.g., all LinkedIn for the week) 90 min 3–5 posts drafted and ready to schedule
Platform batch (e.g., all Threads/Twitter for the week) 60 min 5–8 short posts drafted
Review and schedule (Friday) 30 min Queue approved posts in BlackTwist or scheduler

Batching by platform vs. batching by pillar:

  • Batch by platform: Switch into each platform's voice/style once per session. Best when platforms have very different tones (e.g., LinkedIn vs. Threads).
  • Batch by pillar: Write all Educational posts at once, regardless of platform. Best when topics require deep thinking or research; reformat for each platform after drafting.

Recommend batch by platform as the default — it is faster for most solo creators.

Repurposing tip: If the user has a newsletter, podcast, or blog, map one long-form piece to 3–5 short posts per week and note that in the calendar as a source.

Example batching session output:

Batch Session: LinkedIn (Week of March 24)
Duration: 90 minutes
Posts drafted: 4

1. Monday — Thread: "3 hiring mistakes that cost you senior candidates"
2. Wednesday — Standalone: leadership story post
3. Friday — Carousel: "What we built this month"
4. [Flexible] — TBD based on industry news

Step 5 — Scheduling with BlackTwist

If the BlackTwist MCP is available:

  1. Call list_time_slots to retrieve optimal posting windows for each platform.
  2. Map calendar entries to the best available slots.
  3. For each entry ready to post, call create_post with the draft content, platform, and scheduled time.
  4. Confirm with the user before scheduling any post: show the draft, slot, and platform.
  5. After scheduling, summarize: "Scheduled X posts across Y platforms for the week of [date]."

If BlackTwist is not available:

Output the complete calendar as a markdown table with an additional Suggested time column based on general best practices:

Platform Suggested Time Window
LinkedIn Tuesday–Thursday, 8–10 AM or 12–1 PM (audience's local time)
Threads Morning (7–9 AM) or evening (7–9 PM)
Twitter/X Morning (8–10 AM), lunch (12–1 PM), or evening (6–8 PM)
Bluesky Morning (8–10 AM) or mid-afternoon (2–4 PM)

Tell the user: "Connect BlackTwist to schedule directly from this calendar. For now, use this table to schedule manually in your tool of choice."


Step 6 — Flexibility buffer

Always protect 20–30% of weekly slots as open.

Open slots serve three purposes:

  1. Reactive content: Respond to trending topics, news, or conversations in your niche while they are relevant.
  2. Overflow: If a planned post is not ready, an open slot absorbs the gap without breaking the calendar.
  3. Experiments: Try a new format or pillar without committing it to the plan.

Mark open slots in the calendar as [Flexible — timely or reactive]. Do not fill them during planning — they are intentionally empty.

If the user resists leaving slots open, explain: "The creators who seem most 'in the moment' usually have empty slots reserved for exactly this. It is not wasted capacity — it is strategic agility."


Step 7 — Review cadence

A calendar without a review loop drifts. Recommend a lightweight weekly rhythm:

Example weekly review checklist:

Weekly Review — March 24
- Top performer: Tuesday thread on hiring (8.4% ER) — replicate format
- Underperformer: Friday promotional carousel (1.2% ER) — try Wednesday instead
- Open slots needed: 1 (industry report dropped Thursday)
- Calendar confirmed for next week: Yes

Weekly review (15–20 min, every Monday):

  • Which posts performed above expectations last week? Note the pillar, format, and angle.
  • Which posts underperformed? Consider dropping the format or angle, not the pillar.
  • Are any open slots needed for timely topics this week?
  • Confirm the week's calendar still reflects current priorities.

Monthly recalibration (30–45 min, first Monday of the month):

  • Review pillar balance — is one pillar dominating? Is another being neglected?
  • Adjust frequency per platform if engagement trends shifted.
  • Update the calendar template for the next month.

Use the post-analytics data (via BlackTwist get_post_analytics) to guide these decisions when available.


Step 8 — Output: Content calendar

Present the final calendar in this format:

# Content Calendar

**Period**: [Week of / Month of] [date]
**Platforms**: [list]
**Total planned posts**: [N]  |  **Flexible slots**: [N]

---

## Weekly Calendar

[Calendar table]

---

## Batching Plan

[Session table]

---

## Open Slots

[List of flexible slots and their purpose]

After presenting: "Ready to start filling in post drafts? Use post-writer-sms to write content for any of these slots. Or connect BlackTwist to schedule directly."


Boundaries

  • Does not write the actual post content — see post-writer-sms for drafting posts
  • Does not define content pillars or strategy from scratch — see content-strategy-sms for that
  • Does not analyze past post performance — see performance-analyzer-sms for analytics
  • Does not provide platform-specific algorithm tactics — see platform-strategy-sms for platform guidance
  • Does not execute code or access external APIs unless BlackTwist MCP is connected
  • Does not manage cross-posting or content adaptation — see content-repurposer-sms for reformatting across platforms

See also

content-strategy-sms — defines your pillars and content mix before building the calendar social-media-context-sms — foundational profile this skill reads from post-writer-sms — writes the actual posts for each calendar slot platform-strategy-sms — informs platform-specific frequency and format decisions

Weekly Installs
243
GitHub Stars
136
First Seen
Today