Agent skill

Content Engine

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when a content operation needs a SYSTEM: a dated editorial calendar built top-down from pillars, plus the stage gates, briefs, WIP limits and 1:10 atomization plan that move…

MITAuto-check passedMarketing & SEO

Install Content Engine

skills CLI
$ npx skills add ericrisco/rsc-harness --skill content-engine -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness content-engine --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/content-engine .claude/skills/content-engine && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
content-engine
GitHub stars
156
Token cost
~2.9k tokens
SKILL.md length
1,529 words
Files
6 (incl. scripts, references)
Skills in repo
229
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when a content operation needs a SYSTEM: a dated editorial calendar built top-down from pillars, plus the stage gates, briefs, WIP limits and 1:10 atomization plan that move…

  • Works in 5 steps: Read the brand study and pillars from… → If voice/tone is missing → STOP. Route… → If pillars/clusters/keywords are missing… → …
  • A content operation needs a SYSTEM: a dated editorial calendar built top-down from pillars
  • SKILL.md covers Ground first (STOP gate), Build the calendar, The brief and The pipeline: stages + gate, plus 4 more sections
  • Runs Shell scripts from its folder

What it does

Content Engine is an agent skill from ericrisco/rsc-harness. Use when a content operation needs a SYSTEM: a dated editorial calendar built top-down from pillars, plus the stage gates, briefs, WIP limits and 1:10 atomization plan that move each slot to publish-ready. NOT writing the pieces (that is article-writing), NOT publishing them (that is social-publisher), NOT keyword research (that is seo-geo).

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/atomization.md`).

It sits in Marketing & SEO, covering Content marketing, Content strategy and Blog and article writing. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • A content operation needs a SYSTEM: a dated editorial calendar built top-down from pillars
  • Plus the stage gates
  • WIP limits and 1:10 atomization plan that move each slot to publish-ready

Example prompts

  • “/content-engine”

Requirements

  • A Bash shell

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Read the brand study and pillars from 02-DOCS/ (the project wiki). If the project uses the harness convention, that is 02-DOCS/wiki/ — see…
  2. If voice/tone is missing → STOP. Route the user to brand-voice to codify do/don't words and voice samples. Do not invent a voice; a…
  3. If pillars/clusters/keywords are missing → STOP for the research half. Route topic-cluster and keyword work to seo-geo. You consume…
  4. Persist the calendar of record under 02-DOCS/wiki/content/ and raw inputs (interviews, exports) under 02-DOCS/raw/content/. Why: the…
  5. Cite what you grounded in (e.g. "pillars from 02-DOCS/wiki/brand-study.md"). If you grounded in nothing, say so and stop.

What it can do on your machine

Read from SKILL.md and the folder at commit 92fde8f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Content Engine loads about 2.9k tokens when it runs, and up to ~5.3k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 1,529 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 1,529 words, ~2,940 tokens.

Download SKILL.mdSave it as .claude/skills/content-engine/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
content-engine
description
Use when a content operation needs a SYSTEM: a dated editorial calendar built top-down from pillars, plus the stage gates, briefs, WIP limits and 1:10 atomization plan that move each slot to publish-ready. NOT writing the pieces (that is `article-writing`), NOT publishing them (that is `social-publisher`), NOT keyword research (that is `seo-geo`).
tags
content, editorial-calendar, content-pipeline, repurposing, marketing-ops
recommends
brand-voice, seo-geo, social-publisher, article-writing, video-shorts, newsletter, automation-flows
origin
risco

Content Engine — The Calendar and the Pipeline That Feeds It

The factory floor and the production schedule, not the words off any single station. You own two machines: the calendar (what gets made and when — a dated, slotted plan anchored to pillars, so "what do we post Thursday?" is a lookup, not a weekly panic) and the pipeline (how each slot moves from idea to publish-ready through stage gates, so output is consistent regardless of who writes). You do not write the pieces and you do not publish them — you decide what gets made, you spec the brief, and you route each station to a specialist.

Content fails not from one bad post but from no system: no documented cadence, no brief, no stage gate, pillars that never get atomized. ~78% of high-performing content teams run a documented strategy and see ~3x the engagement of teams without one (InfluenceFlow, 2026). This skill is that system.

Ground first (STOP gate)

You plan content for a real brand; you do not invent its strategy. Before building anything, read what already exists.

  1. Read the brand study and pillars from 02-DOCS/ (the project wiki). If the project uses the harness convention, that is 02-DOCS/wiki/ — see ../harness/SKILL.md.
  2. If voice/tone is missing → STOP. Route the user to brand-voice to codify do/don't words and voice samples. Do not invent a voice; a calendar built on a guessed voice produces off-brand drafts at every station.
  3. If pillars/clusters/keywords are missing → STOP for the research half. Route topic-cluster and keyword work to seo-geo. You consume pillars and clusters; you do not derive them from search data — that is its job.
  4. Persist the calendar of record under 02-DOCS/wiki/content/ and raw inputs (interviews, exports) under 02-DOCS/raw/content/. Why: the calendar must be a durable artifact of record, not a chat message that scrolls away.
  5. Cite what you grounded in (e.g. "pillars from 02-DOCS/wiki/brand-study.md"). If you grounded in nothing, say so and stop.

Build the calendar

Build top-down, slot last. Personas → Pillars → Clusters → Assets, in that order. The calendar is derived from this architecture; it is never a bottom-up pile of "post ideas." Bottom-up calendars are the #1 failure mode — they have no theme, no leverage, and no reason any given post exists. Why this one is absolute: structure makes topic choice a lookup, not a creative emergency every Monday.

Four-layer architecture (counts are defaults, state them):

LayerCountWhat it is
Personas2–4who you are writing for
Pillars4–6durable themes you own; fewer is too narrow, more dilutes effort
Clusters3–5 per pillarsub-topics under each pillar
Assetsconcretethe actual dated formats (the slots)

Why 4–6 pillars: calendars anchor to pillars so topic choice is structural. Below 4 you are too narrow to sustain a cadence; above 6 effort scatters and no theme compounds (Entasher 2025-11-29; InfluenceFlow 2026).

Cadence baseline (sustainable, the default you propose):

  • ~1 flagship piece / month — a guide, report, or webinar; the thing you atomize.
  • 4–8 supporting posts / week.
  • ~1 proof piece / month — case study or result.

Consistency for 6–12 months beats a one-month sprint. The real constraint is creating, not posting — brands already averaged ~9.5 social posts/day across networks in 2024 (Kontent.ai). The pipeline exists to relieve creation, not posting.

Slot-mix rule (encode these as allocation defaults):

  • 70 / 20 / 10: ~70% evergreen, ~20% timely/seasonal, ~10% experimental.
  • Leave 20–30% of slots OPEN for reactive content — do not fully pre-fill the calendar.
  • Budget 15–25% of weekly capacity for UPDATING existing winners, not only net-new.

Why: a 100%-planned calendar with zero slack cannot react and rots into a graveyard; never refreshing winners throws away your highest-ROI slots (InfluenceFlow 2026).

Decision table — cadence by team size (a real branch, so the table earns its place):

TeamFlagshipSupportingAtomize per flagshipWIP cap
Solo1 / 6–8 wks3–4 / wk5–7 derivatives1–2 in flight
Small (2–5)1 / mo4–6 / wk≥10 derivatives3–4 in flight
Multi-stakeholder1–2 / mo6–8 / wk≥10 + paid cutdowns5–6, gated by owner

Slot schema — emit the calendar as CSV (one row per slot) so scripts/verify.sh can lint it:

csv
date,pillar,cluster,format,owner,stage,brief_link,atomization,mix
2026-07-07,Onboarding,activation-checklist,flagship-guide,ana,brief,02-DOCS/wiki/content/briefs/onboarding-guide.md,planned,evergreen
2026-07-09,Onboarding,activation-checklist,linkedin-post,ana,idea,,,evergreen
2026-07-15,Trends,q3-benchmarks,reactive-open,,idea,,,timely

mix is one of evergreen|timely|experimental (plus leave reactive-open slots with empty owner). Full column docs + a filled example live in references/brief-and-pipeline.md.

The brief

A slot cannot leave the idea stage without a brief. One canonical brief format means consistent output regardless of who writes it. The brief is a .md page in the 02-DOCS/wiki/ OKF v0.1 bundle: its YAML frontmatter carries a non-empty type: content-brief (plus the OKF-recommended title/description/tags/timestamp) alongside the domain fields below, and any body cross-references use standard markdown links, never wikilinks. Required fields (inline minimum):

  • objective — the one outcome this piece drives.
  • persona — which of the 2–4 you target.
  • pillar / cluster — where it sits in the architecture.
  • angle — the specific take (not the topic).
  • format — flagship-guide / linkedin-post / video-short / newsletter-issue / …
  • owner — the human accountable for the slot.
  • target keyword — handed off from seo-geo, not invented here.
  • success metric — how you will know it worked.
  • atomization intent — for flagships, the derivative count and target channels.

Full template with a filled example → references/brief-and-pipeline.md. Why one brief: the brief is where "AI is a station, not the author" gets enforced — a human sets objective, angle, and what "good" is before a draft exists.

Show full SKILL.md (659 more words)Show less

The pipeline: stages + gate

idea → brief → draft → edit → atomize → publish-ready. Each stage has an entry gate (what must be true to enter) and an exit gate (what must be true to leave). Run the gates as a checklist — this is a real branch, so the checklist earns its place:

  • idea → brief: slot exists in the calendar with a pillar/cluster assigned. Exit: brief written and owner set.
  • brief → draft: brief complete, target keyword present, voice reference linked. Exit: a draft exists.
  • draft → edit: draft hits the brief's format and angle. Exit: edited against the brief and the voice guide.
  • edit → atomize: flagship has a passing edit. Exit: atomization plan filled (≥ derivative count). Non-flagships skip to publish-ready.
  • atomize → publish-ready: derivatives are planned and routed. Exit: every asset has an owner and a destination.

WIP limits matter more than throughput. Cap in-flight slots per the team-size table; pulling a new idea before finishing the last one is how the calendar becomes a graveyard.

AI is a station, not the author. Use AI for research, outlines, drafts, repurposing, and angle-testing. Humans decide which pillars matter, which stories to tell, and what "good" is. Voice is grounded via brand-voice, never invented (Entasher 2025-11-29).

Atomization (1:10)

Every flagship carries an atomization plan, not just a publish date. Aim for ≥10 distinct derivatives per flagship — repurposing yields ~3–5x reach, ~60% less creation time, and 94% of B2B marketers say it extends content ROI (DigitalApplied 2026-01-16).

Three phases:

  1. Audit — pick the high-value source by traffic / intent / conversion.
  2. Atomize — extract the reusable atoms: stats, quotes, frameworks, how-to steps, case studies.
  3. Reformat — reassemble atoms into platform-native formats, each adapted to its destination's length and language. Channel-native, never copy-paste: LinkedIn = numbered insights + an engagement question; an X thread = a bold hook in tweet 1, links back in the final tweet.

The derivative menu, a worked 1→10 example, and per-channel Bad→Good rewrites live in references/atomization.md.

Route the derivatives, do not write or ship them: each derivative goes to its specialist (../article-writing/SKILL.md, newsletter, video-shorts); the act of shipping goes to social-publisher; wiring publish/atomize into a cron or webhook flow goes to automation-flows.

Handoffs — who owns what

AskOwner
Write the long-form article body../article-writing/SKILL.md
Write the newsletter issue copynewsletter
Write/schedule/queue posts to platforms (the act of publishing)social-publisher
Script/storyboard a short-form videovideo-shorts
Keyword research, topic clustering, schemaseo-geo
Codify tone, do/don't words, voice samplesbrand-voice
Landing/launch/web-page conversion copy../marketing/SKILL.md
One-off reminders / scheduling meetingscalendar-scheduling
Automate publish/atomize as a cron/webhook flowautomation-flows

The tell: if the ask is the system that decides what gets made, when, and how it moves, it is here. If the ask is producing one artifact or the act of distributing, it is a sibling.

Anti-patterns

Anti-patternWhy it failsDo instead
Bottom-up calendar (pile of post ideas)no theme, no leverage, no reason a post existsderive slots from Personas→Pillars→Clusters
Slot with no briefoutput drifts per author; can't enforce voiceblock exit from idea until brief is complete
Flagship with no atomization plan1:10 leverage left on the floorrequire an atomization plan to leave edit
Inventing brand voiceoff-brand at every stationSTOP, route to brand-voice
AI as authornobody owns angle, story, or "good"AI is a station; humans set objective and bar
Calendar-as-graveyardslots planned but never pulledenforce WIP limits; pull, don't pile
100%-planned, zero slackcan't react to anything timelyleave 20–30% of slots open
Net-new only, never updatingdiscards highest-ROI winnersbudget 15–25% capacity for updates
Copy-paste cross-postingeach channel punishes non-native contentreformat per channel (references/atomization.md)
>7 pillarseffort scatters, no theme compoundshold to 4–6

Verify

scripts/verify.sh path/to/calendar.csv lints an emitted calendar: required columns present, every stage is a valid pipeline state, every flagship row has a brief_link and an atomization plan, and it warns on mix sanity (>80% evergreen, or 0% reactive/open). It is read-only and exits 0 on a clean or empty target — it gates structure, not whether the plan is good.

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/content-engine of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/atomization.md
  • references/brief-and-pipeline.md
  • scripts/verify.sh

Open the folder on GitHubat commit 92fde8f

Compare with similar skills

Content Engine next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Content Engine compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Content Engine this skillericrisco/rsc-harness156—~2.9kAutomated safety check: PassMIT
SEO Keyword ResearchVarnan-Tech/opendirectory672—~1.8kAutomated safety check: PassMIT
Money Contentiamzifei/show-me-the-money1k—~9.6kAutomated safety check: PassCustom licence
Content Engineindranilbanerjee/digital-marketing-pro8541 repos~8.9kAutomated safety check: PassMIT
SEO Keyword ClusteringAgriciDaniel/claude-seo18k2 repos~3.3kAutomated safety check: PassMIT
SEO Content Brief GeneratorAgriciDaniel/claude-seo18k2 repos~2.6kAutomated safety check: PassMIT

Similar skills

  • SEO Keyword Research

    Varnan-Tech/opendirectory

    SEO keyword research workflow for blog generation using Google Trends data.

    672 GitHub stars~1.8k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Money Content

    iamzifei/show-me-the-money

    Automated content creation pipeline for business growth. An agent skill from iamzifei/show-me-the-money.

    1k GitHub stars~9.6k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Content Engine

    indranilbanerjee/digital-marketing-pro

    Draft marketing content in brand voice — blog posts, ad copy, email sequences, social posts, landing pages, and brand-voice guides — through a gated pipeline (research, outline, draft, fact-check…

    854 GitHub starsUsed in 1 repo~8.9k tokens
    Writing & ContentAuto-check passed
  • SEO Keyword Clustering

    AgriciDaniel/claude-seo

    Clusters keywords by how much their search results overlap and designs a hub-and-spoke content plan with an internal link matrix and an interactive cluster map.

    18k GitHub starsUsed in 2 repos~3.3k tokens
    Marketing & SEOAuto-check passed
  • SEO Content Brief Generator

    AgriciDaniel/claude-seo

    Builds research-backed SEO content briefs with competitor scoring, per-section word counts and page-type templates, for new pages or improving existing ones.

    18k GitHub starsUsed in 2 repos~2.6k tokens
    Marketing & SEOAuto-check passed
  • Keyword Research

    nowork-studio/notfair-plugin

    Finds, scores and groups keywords from a seed term or niche for SEO and AI search content strategies, with intent labels, difficulty estimates and topic clusters.

    3.9k GitHub starsUsed in 1 repo~2.6k tokens
    Marketing & SEOAuto-check passed

More from ericrisco/rsc-harness

All 229 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    156 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    156 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    156 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    156 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    156 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    156 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed

Questions about Content Engine

What does Content Engine do?

A skill your agent uses when a content operation needs a SYSTEM: a dated editorial calendar built top-down from pillars, plus the stage gates, briefs, WIP limits and 1:10 atomization plan that move…. Content Engine is an agent skill from ericrisco/rsc-harness. Use when a content operation needs a SYSTEM: a dated editorial calendar built top-down from pillars, plus the stage gates, briefs, WIP limits and 1:10 atomization plan that move each slot to publish-ready.

When should I use Content Engine?

Content Engine fits situations like: A content operation needs a SYSTEM: a dated editorial calendar built top-down from pillars; plus the stage gates; WIP limits and 1:10 atomization plan that move each slot to publish-ready.

How do I install Content Engine in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill content-engine -a claude-code`. Or copy the skill folder (skills/content-engine in ericrisco/rsc-harness) into .claude/skills/content-engine in your project. Claude Code loads it when a task matches its description.

How do I install Content Engine in Codex?

Run `npx skills add ericrisco/rsc-harness --skill content-engine -a codex`. Or copy the skill folder (skills/content-engine in ericrisco/rsc-harness) into .agents/skills/content-engine in your project. Codex loads it when a task matches its description.

Can I use Content Engine in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill content-engine -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/content-engine, .gemini/skills/content-engine, .github/skills/content-engine and .opencode/skills/content-engine in your project.

What does Content Engine need to run?

Going by SKILL.md and its folder, Content Engine needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Content Engine access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Content Engine safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Content Engine use?

Content Engine is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Content Engine use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.

What are the alternatives to Content Engine?

Skills that share tags, products or a category with Content Engine: SEO Keyword Research (Varnan-Tech/opendirectory, 672 stars), Money Content (iamzifei/show-me-the-money, 1k stars), Content Engine (indranilbanerjee/digital-marketing-pro, 854 stars) and SEO Keyword Clustering (AgriciDaniel/claude-seo, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Content Engine?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 156 GitHub stars. The repository holds 229 skills in this directory. The repository was last updated on October 6, 2026.

Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.