Agent skill
social-content-calendar
When the user wants to plan a posting schedule, create a content calendar, or organize when and what to post. Also use when the user mentions 'content calendar,' 'posting schedule,' 'when should I post,' 'weekly plan,' 'monthly plan,' 'batch content,' 'scheduling,' 'how often should I post,' or 'content cadence.' For deciding what topics to cover, see social-content-strategy. For writing the actual posts, see social-post-writer.
Install this agent skill to your Project
npx add-skill https://github.com/EvolutionAPI/evo-nexus/tree/main/.claude/skills/social-content-calendar
Metadata
Additional technical details for this skill
- version
- 1.0.0
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 ferramenta externa.
Step 1 — Check for existing context
Before asking any questions, check if workspace/social/[C] social-context.md exists.
If it exists:
- Read the file in full.
- Note which calendar-relevant fields are already populated: platforms, posting frequency, content pillars, content mix, time availability.
- Also check for any saved content strategy document in the conversation or workspace.
- 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-context 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 | 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 | 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 | 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 ferramenta externa 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 ferramenta externa
If the ferramenta de agendamento is available:
- Call
list_time_slotsto retrieve optimal posting windows for each platform. - Map calendar entries to the best available slots.
- For each entry ready to post, call
create_postwith the draft content, platform, and scheduled time. - Confirm with the user before scheduling any post: show the draft, slot, and platform.
- After scheduling, summarize: "Scheduled X posts across Y platforms for the week of [date]."
If ferramenta externa 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 |
|---|---|
| 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 ferramenta externa 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:
- Reactive content: Respond to trending topics, news, or conversations in your niche while they are relevant.
- Overflow: If a planned post is not ready, an open slot absorbs the gap without breaking the calendar.
- 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 ferramenta externa 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 social-post-writer to write content for any of these slots. Or connect ferramenta externa to schedule directly."
Boundaries
- Does not write the actual post content — see social-post-writer for drafting posts
- Does not define content pillars or strategy from scratch — see social-content-strategy for that
- Does not analyze past post performance — see social-performance-analyzer for analytics
- Does not provide platform-specific algorithm tactics — see social-platform-strategy for platform guidance
- Does not execute code or access external APIs without automated publishing integration — save as draft
- Does not manage cross-posting or content adaptation — see social-content-repurposer for reformatting across platforms
See also
social-content-strategy — defines your pillars and content mix before building the calendar social-context — foundational profile this skill reads from social-post-writer — writes the actual posts for each calendar slot social-platform-strategy — informs platform-specific frequency and format decisions
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
data-create-viz
Cria visualizações de dados de qualidade profissional com Python no tema Evolution (fundo escuro, acento
cs-customer-escalation
Empacota uma escalação para Devs, Produto ou Davidson com contexto completo. Use quando um bug precisa de atenção além do suporte normal, vários clientes reportam o mesmo problema, um cliente está ameaçando cancelar, ou um problema ficou sem resolução além do SLA. / Package an escalation for engineering, product, or leadership with full context. Use when a bug needs engineering attention beyond normal support, multiple customers report the same issue, a customer is threatening to churn, or an issue has sat unresolved past its SLA.
mkt-draft-content
Draft blog posts, social media, email newsletters, landing pages, press releases, and case studies with channel-specific formatting and SEO recommendations. Use when writing any marketing content, when you need headline or subject line options, or when adapting a message for a specific platform, audience, and brand voice.
gog-tasks
Create, manage, and prioritize tasks and todo items. Convert emails to tasks, set priorities (P0-P3) and categories (Work/Personal/Errands/Admin), review daily priorities, track blocked and overdue tasks. Use when user mentions tasks, todos, action items, or wants to convert emails to tasks. Requires confirmation before creating or deleting tasks.
discord-get-messages
Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.
cs-customer-research
Pesquisa multi-fonte sobre pergunta ou tópico de cliente com atribuição de fontes. Use quando um cliente pergunta algo que precisa ser verificado, investigando se um bug foi reportado antes, verificando o que foi dito anteriormente a uma conta específica, ou coletando contexto antes de redigir uma resposta. / Multi-source research on a customer question or topic with source attribution. Use when a customer asks something you need to look up, investigating whether a bug has been reported before, checking what was previously told to a specific account, or gathering background before drafting a response.
Didn't find tool you were looking for?