Skip to content
Development
Skill

/content-calendar

Manage editorial content through 6 pipeline stages.

From plugin
vexjoy-agent
421122 skills198 agents11 commands76 hooks
Install
$ npx -y skills add notque/vexjoy-agent --skill content-calendar --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/content-calendar

Context preview

The summary Claude sees to decide when to auto-load this skill.

Manage editorial content through 6 pipeline stages.

SKILL.md

content-calendar.SKILL.md
name: content-calendar
description: "Manage editorial content through 6 pipeline stages."
user-invocable: false
allowed-tools:
  - Read
  - Write
  - Bash
  - Grep
  - Glob
  - Edit
routing:
  triggers:
    - "content pipeline"
    - "editorial calendar"
    - "publishing schedule"
    - "content schedule"
    - "publication plan"
    - "plan series"
    - "multi-part content"
    - "content series"
    - "article series"
    - "content arc"
    - "brainstorm topics"
    - "content ideas"
    - "blog topic ideas"
    - "what to write about"
    - "angles"
    - "story angles"
    - "headline"
    - "headline options"
    - "headline for"
    - "headlines"
    - "article title"
    - "title options"
    - "subject line"
    - "better title"
    - "repurpose this"
    - "adapt for social"
    - "turn this into posts"
    - "content from article"
    - "content from demo"
    - "content from doc"
    - "write variants for"
    - "social content from"
    - "platform variants"
    - "repurpose for"
    - "news collection"
    - "collect news"
    - "qualify news items"
    - "news triage"
    - "filter news feed"
    - "check news freshness"
  not_for: "general research reports — that is research-pipeline. Pick this when the input is a stream of news items to qualify for a content pipeline."
  category: content-creation
  pairs_with:
    - publish
    - voice-writer
    - x-api
    - fact-check

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.

Reference Loading Table

| Signal | Load These Files | Why | |---|---|---| | calendar file location, template, section formats | `calendar-format.md` | Loads detailed guidance from `calendar-format.md`. | | errors, error handling | `error-handling.md` | Loads detailed guidance from `error-handling.md`. | | velocity tracking and stuck-content detection | `metrics.md` | Loads detailed guidance from `metrics.md`. | | series planning: multi-part structure, cross-linking, cadence | `series-planner.md` | Series planning domain from folded series-planner skill. | | topic brainstorming: problem mining, gap analysis, scoring | `topic-brainstormer.md` | Topic ideation domain from folded topic-brainstormer skill. | | headlines: charge, volume, tighten, format adaptation | `headlines.md` | Headline generation domain from folded headlines skill. | | content repurposing: platform-native social variants | `content-engine.md` | Content repurposing domain from folded content-engine skill. | | news collection: item qualification, freshness forensics | `news-collection.md` | News collection domain from folded news-collection skill. | | executing view, add, move, schedule, archive operations | `operations.md` | Loads detailed guidance from `operations.md`. | | stage definitions and transition rules | `pipeline-stages.md` | Loads detailed guidance from `pipeline-stages.md`. |

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. Updat

Read more
Ships withvexjoy-agent

Essays and writing behind this toolkit live at vexjoy.com. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.

Get the whole plugin

Other skills on vexjoy-agent.