Best use case
content-calendar is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Manage editorial content through 6 pipeline stages.
Teams using content-calendar should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/content-calendar/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How content-calendar Compares
| Feature / Agent | content-calendar | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Manage editorial content through 6 pipeline stages.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Content Calendar Skill
Manage editorial content through 6 pipeline stages: Ideas, Outlined, Drafted, Editing, Ready, Published. All pipeline state lives in a single `content-calendar.md` file -- this is the sole source of truth, never store state elsewhere.
## Instructions
### Phase 1: READ PIPELINE
**Goal**: Load and validate the current calendar state before any mutation.
Memory of pipeline state is unreliable -- always read the actual file, because assumed state leads to overwrites of changes made by other processes or manual edits.
1. Read `content-calendar.md` from the project root. Also read the repository CLAUDE.md to ensure compliance with project-specific rules.
2. Parse pipeline sections -- extract entries from Ideas, Outlined, Drafted, Editing, Ready, Published, and Historical sections.
3. Validate file structure -- all required sections exist, counts match actual entries.
**Gate**: Calendar file loaded and parsed successfully. All sections accounted for. Proceed only when gate passes.
### Phase 2: EXECUTE OPERATION
**Goal**: Perform the requested pipeline operation -- only the operation requested. No speculative reorganization, no "while I'm here" reformatting of unrelated sections.
#### Operation: View Pipeline
1. Count entries in each stage
2. Identify upcoming scheduled content (next 14 days)
3. Identify in-progress content (Outlined, Drafted, Editing) -- emphasize these as actively being worked on
4. Gather recent publications (last 30 days)
5. Display dashboard with progress indicators
6. Optionally flag content stuck in a stage for 14+ days or show velocity metrics if requested
#### Operation: Add Idea
1. Validate topic name is non-empty
2. Search all sections for duplicate titles (case-insensitive); warn if a matching title exists because duplicates clutter the pipeline
3. Append `- [ ] [Topic name]` to Ideas section
4. Update pipeline count in overview table
#### Operation: Move Content
Content moves forward through defined stages only -- each transition represents real editorial work completed, so skipping stages misrepresents progress.
1. Find topic in its current section (search all sections)
2. Validate target stage is the next sequential stage:
- Ideas -> Outlined -> Drafted -> Editing -> Ready -> Published
3. Remove entry from current section
4. Add to target section with timestamp metadata (every transition records YYYY-MM-DD):
- outlined: `(outline: YYYY-MM-DD)`
- drafted: `(draft: YYYY-MM-DD)`
- editing: `(editing: YYYY-MM-DD)`
- ready: `(ready: YYYY-MM-DD)` -- prompt for a scheduled publication date because content without a date clogs the pipeline and goes stale
- published: `(published: YYYY-MM-DD)`
5. Update pipeline counts
#### Operation: Schedule Content
1. Find topic (must be in Ready section)
2. Validate date is today or future
3. Update or add `Scheduled: YYYY-MM-DD` to entry
4. Update file
#### Operation: Archive Published
Archive prevents the Published section from growing unbounded, which makes the dashboard cluttered and counts misleading.
1. Find Published entries older than current month
2. Move to appropriate `### YYYY-MM` section in Historical
3. Update pipeline counts
**Gate**: Operation executed with all validations passing. Proceed only when gate passes.
### Phase 3: WRITE AND CONFIRM
**Goal**: Persist changes and verify the write succeeded.
Read the full calendar file before writing -- never truncate or lose existing entries.
1. Write the updated calendar file back to disk.
2. Re-read the file and verify the change is present. Looking correct is not the same as being correct; the re-read proves it.
3. Display confirmation with relevant dashboard section showing the change.
**Gate**: File written, re-read confirms changes persisted. Operation complete.
## Error Handling
### Error: "Calendar file not found"
Cause: `content-calendar.md` does not exist in the project
Solution:
1. Create initial calendar file with all empty sections and overview table
2. Confirm file creation to user
3. Proceed with requested operation
### Error: "Topic not found in pipeline"
Cause: User referenced a topic name that does not match any entry
Solution:
1. Search all sections for partial matches (case-insensitive)
2. Suggest closest matches if available
3. Show current pipeline state so user can identify the correct title
### Error: "Invalid stage transition"
Cause: User attempted to skip a stage (e.g., Ideas directly to Ready)
Solution:
1. Explain the required stage sequence
2. Show the topic's current stage and the next valid stage
3. Ask user to confirm sequential move or move to adjacent stage
## References
- `${CLAUDE_SKILL_DIR}/references/pipeline-stages.md`: Detailed stage definitions and transition criteria
- `${CLAUDE_SKILL_DIR}/references/calendar-format.md`: Complete file format specification with examples
- `${CLAUDE_SKILL_DIR}/references/operations.md`: Detailed command reference with edge casesRelated Skills
content-engine
Repurpose source assets into platform-native social content.
x-api
Post tweets, build threads, upload media via the X API.
worktree-agent
Mandatory rules for agents in git worktree isolation.
workflow
Structured multi-phase workflows: review, debug, refactor, deploy, create, research, and more.
workflow-help
Interactive guide to workflow system: agents, skills, routing, execution patterns.
wordpress-uploader
WordPress REST API integration for posts and media uploads.
wordpress-live-validation
Validate published WordPress posts in browser via Playwright.
with-anti-rationalization
Anti-rationalization enforcement for maximum-rigor task execution.
voice-writer
Unified voice content generation pipeline with mandatory validation and joy-check. 8-phase pipeline: LOAD, GROUND, GENERATE, VALIDATE, REFINE, JOY-CHECK, OUTPUT, CLEANUP. Use when writing articles, blog posts, or any content that uses a voice profile. Use for "write article", "blog post", "write in voice", "generate content", "draft article", "write about".
voice-validator
Critique-and-rewrite loop for voice fidelity validation.
vitest-runner
Run Vitest tests and parse results into actionable output.
video-editing
Video editing pipeline: cut footage, assemble clips via FFmpeg and Remotion.