Install
$ agentstack add skill-notque-vexjoy-agent-content-calendar ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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. | | 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.
- Read
content-calendar.mdfrom the project root. Also read the repository CLAUDE.md to ensure compliance with project-specific rules. - Parse pipeline sections -- extract entries from Ideas, Outlined, Drafted, Editing, Ready, Published, and Historical sections.
- 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
- Count entries in each stage
- Identify upcoming scheduled content (next 14 days)
- Identify in-progress content (Outlined, Drafted, Editing) -- emphasize these as actively being worked on
- Gather recent publications (last 30 days)
- Display dashboard with progress indicators
- Optionally flag content stuck in a stage for 14+ days or show velocity metrics if requested
Operation: Add Idea
- Validate topic name is non-empty
- Search all sections for duplicate titles (case-insensitive); warn if a matching title exists because duplicates clutter the pipeline
- Append
- [ ] [Topic name]to Ideas section - 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.
- Find topic in its current section (search all sections)
- Validate target stage is the next sequential stage:
- Ideas -> Outlined -> Drafted -> Editing -> Ready -> Published
- Remove entry from current section
- 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)
- Update pipeline counts
Operation: Schedule Content
- Find topic (must be in Ready section)
- Validate date is today or future
- Update or add
Scheduled: YYYY-MM-DDto entry - Update file
Operation: Archive Published
Archive prevents the Published section from growing unbounded, which makes the dashboard cluttered and counts misleading.
- Find Published entries older than current month
- Move to appropriate
### YYYY-MMsection in Historical - 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.
- Write the updated calendar file back to disk.
- Re-read the file and verify the change is present. Looking correct is not the same as being correct; the re-read proves it.
- 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:
- Create initial calendar file with all empty sections and overview table
- Confirm file creation to user
- Proceed with requested operation
Error: "Topic not found in pipeline"
Cause: User referenced a topic name that does not match any entry Solution:
- Search all sections for partial matches (case-insensitive)
- Suggest closest matches if available
- 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:
- Explain the required stage sequence
- Show the topic's current stage and the next valid stage
- Ask user to confirm sequential move or move to adjacent stage
References
| Task | Load | |------|------| | Stage definitions, transition criteria | ${CLAUDE_SKILL_DIR}/references/pipeline-stages.md | | File format, section structure, date fields | ${CLAUDE_SKILL_DIR}/references/calendar-format.md | | Command reference, edge cases per operation | ${CLAUDE_SKILL_DIR}/references/operations.md | | File not found, corrupt sections, count drift, malformed dates | ${CLAUDE_SKILL_DIR}/references/error-handling.md | | Velocity metrics, stuck content, pipeline health dashboard | ${CLAUDE_SKILL_DIR}/references/metrics.md |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: notque
- Source: notque/vexjoy-agent
- License: MIT
- Homepage: https://vexjoy.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.