content · git:20260919.28d30f9 · 2026-09-19 · sha256 7acf60d8bfa29276
content git:20260919.28d30f9A
Immutable. This exact content is served forever at /api/v1/blob/7acf60d8bfa29276.
---
name: content
description: "Content operations: editorial calendar, marketing, publishing, social media management."
user-invocable: true
allowed-tools:
- Read
- Write
- Edit
- Bash
- Grep
- Glob
- WebFetch
routing:
force_route: false
not_for: "prose voice and style (use writing), code documentation (use docs-sync-checker)"
triggers:
- "editorial calendar"
- "content pipeline"
- "content schedule"
- "marketing"
- "SEO"
- "campaign"
- "email sequence"
- "outline post"
- "pre-publish check"
- "upload to wordpress"
- "wordpress draft"
- "post to X"
- "tweet this"
- "post tweet"
- "read Bluesky"
- "Bluesky feed"
- "moderate Reddit"
- "modqueue"
- "headline"
- "content strategy"
- "audit links"
- "audit images"
- "batch edit posts"
- "repurpose this"
- "news collection"
category: content
pairs_with:
- writing
- workflow
---
# Content Skill
Six modes: **Calendar** (editorial pipeline), **Marketing** (SEO, campaigns,
email, competitive), **Publish** (outline, pre-publish, SEO, audits, WordPress),
**Social-X** (X/Twitter posts and threads), **Social-Bluesky** (public feed
reading), **Social-Reddit** (moderation). Classify the request and follow the
matching section.
## Mode Selection
| Mode | Signals |
|------|---------|
| **Calendar** | editorial calendar, content pipeline, ideas, scheduling, topics, headlines, news, series, repurpose |
| **Marketing** | SEO audit, campaign, email sequence, content strategy, competitive analysis, brand review, performance |
| **Publish** | outline post, pre-publish check, SEO optimize, batch edit, audit links, audit images, taxonomy, WordPress upload |
| **Social-X** | post to X, tweet, thread, X API |
| **Social-Bluesky** | read Bluesky, Bluesky feed, search Bluesky |
| **Social-Reddit** | moderate Reddit, modqueue, reports |
---
## Calendar Mode
Manage editorial content through 6 pipeline stages: Ideas, Outlined, Drafted,
Editing, Ready, Published. All state lives in a single `content-calendar.md`
file.
### Workflow
1. **READ** -- Load and parse `content-calendar.md`. Validate all sections exist. Do not trust memory; always re-read the actual file.
2. **EXECUTE** -- Perform the requested operation:
- **View**: count per stage, upcoming scheduled (14 days), in-progress, recent publications (30 days). Flag stuck content (14+ days in one stage).
- **Add idea**: check for duplicate titles (case-insensitive), append to Ideas.
- **Move**: forward only through defined sequence (Ideas -> Outlined -> Drafted -> Editing -> Ready -> Published). Record `YYYY-MM-DD` timestamp at each transition.
- **Schedule**: set date on Ready items. Date must be today or future.
- **Archive**: move Published entries older than current month to Historical sections.
3. **WRITE** -- Persist changes, re-read file to verify.
### Calendar Sub-modes
| Request | Load |
|---------|------|
| Topic brainstorming, idea generation | `references/topic-brainstormer.md` |
| Headlines, title generation | `references/headlines.md` |
| Series planning, multi-part content | `references/series-planner.md` |
| Content repurposing, platform variants | `references/content-engine.md` |
| News collection, item qualification | `references/news-collection.md` |
---
## Marketing Mode
Seven sub-modes. Always load `references/llm-marketing-failure-modes.md`
alongside mode-specific references for detection heuristics against generic
copy, keyword stuffing, fabricated metrics.
| Sub-mode | Signals | Framework | Load |
|----------|---------|-----------|------|
| SEO_AUDIT | SEO audit, keywords, content gaps, technical SEO | RESEARCH -> AUDIT -> PRIORITIZE | `references/seo-audit.md` |
| CAMPAIGN | Campaign plan, product launch, lead gen, budget | BRIEF -> PLAN -> CALENDAR | `references/campaign-planning.md` |
| CONTENT | Content strategy, editorial calendar, funnel mapping | AUDIT -> PLAN -> DELIVER | `references/content-strategy.md` |
| EMAIL | Email sequence, drip campaign, nurture flow | SEQUENCE -> DRAFT -> AUTOMATE | `references/email-sequences.md` |
| COMPETITIVE | Competitor research, battlecard, positioning | RESEARCH -> COMPARE -> POSITION | `references/seo-audit.md` + `references/campaign-planning.md` |
| BRAND | Brand review, voice check, messaging consistency | AUDIT -> EVALUATE -> RECOMMEND | `references/content-strategy.md` |
| PERFORMANCE | Marketing report, campaign results, ROI | GATHER -> ANALYZE -> REPORT | `references/campaign-planning.md` |
### SEO Audit Quick Steps
1. Gather: URL/domain, audit type, target keywords, competitors (identify 2-3 via web search if not provided).
2. Keyword research: classify by intent (informational, navigational, commercial, transactional). Assess difficulty and opportunity.
3. On-page audit: title tags, meta descriptions, H1/H2, keyword usage, internal linking, image alt text, URL structure.
4. Technical: page speed, mobile, structured data, crawlability, HTTPS, Core Web Vitals.
5. Content gaps: competitor topic coverage, freshness, thin content, funnel gaps.
6. Output: executive summary, keyword table (15-25), issues table, content gap recommendations, technical checklist, competitor matrix, prioritized action plan.
---
## Publish Mode
Eight sub-modes covering the blog publishing pipeline.
| Sub-mode | Signals | Load |
|----------|---------|------|
| Outline | outline post, blog structure, article outline | `references/outline.md` |
| Pre-publish | pre-publish check, Hugo validation, frontmatter | `references/pre-publish.md` |
| SEO | check SEO, optimize SEO, meta description | `references/seo.md` |
| Batch-edit | batch edit posts, bulk frontmatter, find/replace | `references/batch-edit.md` |
| Link-audit | audit links, broken links, link health | `references/link-audit.md` |
| Image-audit | audit images, alt text, image accessibility | `references/image-audit.md` |
| Taxonomy | audit taxonomy, fix tags, merge categories | `references/taxonomy.md` |
| WordPress | upload to WordPress, create draft, edit post | `references/wordpress-upload.md` |
### Outline Quick Steps
1. Gather: topic, target audience, desired format, word count range, SEO target keyword.
2. Research: check existing coverage, identify gaps, gather supporting data.
3. Structure: working title, hook, thesis, 3-7 sections with sub-points, conclusion CTA.
4. Validate: logical flow, sufficient depth per section, SEO keyword placement plan.
### Pre-publish Quick Steps
1. Check: title, date, slug, description, tags, categories, featured image, author, draft=false.
2. Content: spell check, broken internal links, image paths, code blocks render, meta descriptions.
3. SEO: title tag (<60 chars), meta description (120-160 chars), keyword in H1 and first paragraph.
---
## Social-X Mode
OAuth-authenticated X/Twitter posting via `x-api-poster.py`. 4-phase pipeline
with confirmation gate.
### Workflow
1. **VALIDATE** -- Check credentials: `python3 $HOME/.claude/scripts/x-api-poster.py post --dry-run --text "ping"`. Requires `X_API_KEY`, `X_API_SECRET`, `X_ACCESS_TOKEN`, `X_ACCESS_SECRET`, `X_BEARER_TOKEN`. Read-only ops need only `X_BEARER_TOKEN`.
2. **CONFIRM** -- Show user the exact text. For threads: `python3 $HOME/.claude/scripts/x-api-poster.py thread --dry-run --texts "part 1" "part 2"`. Enforce 280-char limit per tweet. Wait for explicit user confirmation.
3. **POST** -- Execute with `--confirmed` flag: `python3 $HOME/.claude/scripts/x-api-poster.py post --confirmed --text "text"`. For media: `--media /path/to/image.png`.
4. **VERIFY** -- Report tweet URL and rate limit status.
---
## Social-Bluesky Mode
Read public Bluesky feeds via AT Protocol. No auth required.
### Commands
```bash
# Fetch recent posts
python3 ~/.claude/scripts/bluesky_reader.py feed --handle HANDLE --limit 20
# Search posts
python3 ~/.claude/scripts/bluesky_reader.py search --handle HANDLE --query "terms"
# JSON output for pipelines
python3 ~/.claude/scripts/bluesky_reader.py feed --handle HANDLE --json
```
Endpoint: `https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed`. Limit: 1-100 posts. Search is local keyword filter (all words must appear, case-insensitive).
---
## Social-Reddit Mode
Reddit moderation via PRAW. Three modes:
| Mode | Command | Behavior |
|------|---------|----------|
| Interactive | invoke directly | Fetch, classify, present, confirm actions |
| Auto | `/loop 10m /reddit-moderate --auto` | Auto-action high-confidence, flag rest |
| Dry-run | `--dry-run` | Show recommendations without acting |
### Workflow
1. **FETCH** -- `python3 scripts/reddit-moderate/reddit-mod.py queue --json --limit 25 | python3 scripts/reddit-moderate/reddit-mod.py classify`. Loads subreddit context from `reddit-data/{subreddit}/`.
2. **CLASSIFY** -- Fill `classification`, `confidence`, and `reasoning` for each item using the assembled prompt.
3. **PRESENT** -- Group by confidence tier (high/medium/low). Show: title, author, report reason, classification, action, reasoning.
4. **ACT** -- Execute confirmed actions: `python3 scripts/reddit-moderate/reddit-mod.py action --item-id ID --action approve|remove|spam`.
---
## Deep References
Load when the task needs detailed patterns, specifications, or examples.
### Calendar
| Signal | Reference |
|--------|-----------|
| Pipeline stage definitions, transitions | `references/pipeline-stages.md` |
| Calendar file format, sections | `references/calendar-format.md` |
| Operation execution details | `references/operations.md` |
| Pipeline health, velocity metrics | `references/metrics.md` |
| Calendar error recovery | `references/error-handling.md` |
### Marketing
| Signal | Reference |
|--------|-----------|
| SEO audit methodology | `references/seo-audit.md` |
| Campaign planning, budget | `references/campaign-planning.md` |
| Content strategy, frameworks | `references/content-strategy.md` |
| Email sequences, drip campaigns | `references/email-sequences.md` |
| LLM marketing failure modes | `references/llm-marketing-failure-modes.md` |
### Publish
| Signal | Reference |
|--------|-----------|
| Blog outline methodology | `references/outline.md` |
| Pre-publish Hugo checklist | `references/pre-publish.md` |
| Post-level SEO | `references/seo.md` |
| Batch editing methodology | `references/batch-edit.md` |
| Link health scanning | `references/link-audit.md` |
| Image audit, alt text | `references/image-audit.md` |
| Taxonomy management | `references/taxonomy.md` |
| WordPress API upload | `references/wordpress-upload.md` |
### Social
| Signal | Reference |
|--------|-----------|
| X API details | `references/x-api.md` |
| AT Protocol endpoints | `references/at-protocol-api.md` |
| AT Protocol troubleshooting | `references/at-protocol-preferred-patterns.md` |
| Reddit classification categories | `references/classification-prompt.md` |
| Reddit script commands | `references/script-commands.md` |
## Scripts
| Domain | Script | Location |
|--------|--------|----------|
| Reddit moderation | `reddit-mod.py` | `scripts/reddit-moderate/reddit-mod.py` |
| Link scanning | `link_scanner.py` | `scripts/publish/link_scanner.py` |
| PageSpeed | `pagespeed.py` | `scripts/publish/pagespeed.py` |
| WordPress upload | `wordpress-upload.py` | `scripts/publish/wordpress-upload.py` |
| WordPress edit | `wordpress-edit-post.py` | `scripts/publish/wordpress-edit-post.py` |
| WordPress media | `wordpress-media-upload.py` | `scripts/publish/wordpress-media-upload.py` |
| X API poster | `x-api-poster.py` | `$HOME/.claude/scripts/x-api-poster.py` |
| Bluesky reader | `bluesky_reader.py` | `$HOME/.claude/scripts/bluesky_reader.py` |