Builds a month's content calendar with a grid by channel, pillar, format, owner, status and approval date, the evidence behind each post, and a balance check by pillar and channel. Use for "run gmkt-content-calendar", "content calendar for next month", "plan our social posts for the month", "content plan template", "what should we post this month", "social media calendar", "editorial calendar", "we only post when there is time", part of the Claude for Marketing Graduates Pack by Polar Bear.
Installs into .claude/skills of the current project.
Are you the author of Gmkt Content Calendar?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/polar-bear-org-gmkt-content-calendar)
---
name: gmkt-content-calendar
description: Builds a month's content calendar with a grid by channel, pillar, format, owner, status and approval date, the evidence behind each post, and a balance check by pillar and channel. Use for "run gmkt-content-calendar", "content calendar for next month", "plan our social posts for the month", "content plan template", "what should we post this month", "social media calendar", "editorial calendar", "we only post when there is time", part of the Claude for Marketing Graduates Pack by Polar Bear.
---
# Content Calendar
## When To Use
You post when there is time, the month has no shape, and your manager asks what is going out next week. This answers one question: what goes out, where, made by whom, and what real thing each piece is about.
## When Not To Use
If nobody has decided which audience stages the content should serve, run See Think Do Care Plan first; the calendar schedules, it does not set strategy. If you need this week's posts written, go straight to Social Media Posts.
## Inputs
- Your content pillars or messaging house, if one exists
- Channels you run, the month, and dates that matter (launches, events, seasonal moments)
- Hours a week you and anyone helping can actually give
- Material you hold: product news, behind-the-scenes moments, real customer questions, approved quotes
If you have none of this, I start from the brand's channels and one launch date, and mark the output as a first draft.
## Approach
Content pillars are a practitioner convention: three to five recurring themes the brand has the right to talk about. The rule underneath matters more than the grid: every piece has a point it makes, evidence behind it and an owner who agreed to make it. The failure mode it prevents is the calendar with twenty slots and nothing to say, filled on the day with a stock quote and an invented "did you know" statistic.
## Workflow
1. Ask three questions: how many hours a week can go on content, which channels are live, and which dates this month cannot move.
2. Set capacity first. Divide the hours by a rough time per format you confirm; that number of pieces is the month. Ambition does not add slots.
3. Fix three to five pillars, from the messaging house if it exists. Six or more and every pillar gets one thin post; I say so.
4. Fill the grid: date, channel, pillar, format, working title, the point it makes, the evidence or source, owner, status (idea, drafted, approved, scheduled, published, dropped), approval date. Fixed dates go in first.
5. Drop any piece with no evidence or no owner who agreed. Dropped is a status, not a failure; padding is the failure.
6. Run the balance check: pieces per pillar and per channel. Flag an empty pillar, a channel with one post in four weeks, and any paid, gifted or incentivised piece that needs "Ad" up front.
7. Optional: in the desktop app, with Google Drive connected, ask for the grid as a Google Sheet through the Output picker. The plain table works in any chat.
## Output Format
```markdown
# Content Calendar
Month: [month] · Channels: [channels] · Capacity: [hours a week] = [number] pieces
## Pillars
1. [pillar] · what we can show: [real material]
## Grid
| Date | Channel | Pillar | Format | Working title | Point it makes | Evidence or source | Owner | Status | Approval date | Ad label? |
|---|---|---|---|---|---|---|---|---|---|---|
| [date] | [channel] | [pillar] | [format] | [title] | [one sentence] | [source or "evidence needed"] | [name who agreed] | [status] | [date] | [yes / no] |
## Balance check
| Pillar or channel | Pieces | Flag |
|---|---|---|
| [pillar] | [count] | [empty / thin / fine] |
## Dropped and why
- [piece]: [no evidence / no owner]
## Decision
[Manager name] approves the grid by [date]; owners confirm their pieces by [date].
```
## Done When
- The number of pieces matches the stated capacity
- Every row names its evidence and an owner who agreed, or is dropped
- The balance check flags empty pillars and thin channels
- Paid, gifted or incentivised pieces are flagged for an "Ad" label
## Quality Bar
- Owners are people who said yes; status tracks pieces, never a person's performance.
- Working titles say the point, not "Tuesday post".
- Where an "Ad" label applies, the calendar flags it and the approver decides; check with a qualified adviser on labelling questions.
- Every planned post names the evidence behind it; Claude never fills a slot with an invented stat or story.
## Next
Run gmkt-social-media-posts (Social Media Posts) to write this week's posts from the grid.
## About the makers
This pack is made by Polar Bear, a consultancy built by ex-McKinsey founders with a dream to make AI work for People, not instead of them. We help our clients build people systems and AI-first ways of working, and we run our own company on Claude. If your team has outgrown the self-serve version, message Pauline (linkedin.com/in/paulinebertry).