Agent skill

Article Writing

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when writing one long-form article end to end — answer-first lede, question-shaped headings, plus its on-page surface (title, meta, slug, FAQ, Article/FAQPage JSON-LD) — or…

MITAuto-check passedWriting & Content

Install Article Writing

skills CLI
$ npx skills add ericrisco/rsc-harness --skill article-writing -a claude-code

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

GitHub CLI
$ gh skill install ericrisco/rsc-harness article-writing --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/article-writing .claude/skills/article-writing && 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
article-writing
GitHub stars
167
Token cost
~2.9k tokens
SKILL.md length
1,328 words
Files
6 (incl. scripts, references)
Skills in repo
227
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when writing one long-form article end to end — answer-first lede, question-shaped headings, plus its on-page surface (title, meta, slug, FAQ, Article/FAQPage JSON-LD) — or…

  • Writing one long-form article end to end — answer-first lede
  • SKILL.md covers When NOT to use, Start from intent, not a word…, The answer-first lede and Outline as a question map, plus 6 more sections
  • Runs Shell scripts from its folder
  • Question-shaped headings

What it does

Article Writing is an agent skill from ericrisco/rsc-harness. Use when writing one long-form article end to end — answer-first lede, question-shaped headings, plus its on-page surface (title, meta, slug, FAQ, Article/FAQPage JSON-LD) — or fixing a draft that buries the answer or reads AI-padded. NOT keyword research or topic selection (that is seo-geo), NOT the editorial calendar (that is content-engine).

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/ai-tell-banlist.md`).

It sits in Writing & Content, covering Blog and article writing, Content strategy and Content marketing. 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

  • Writing one long-form article end to end — answer-first lede
  • Question-shaped headings
  • Plus its on-page surface (title
  • Article/FAQPage JSON-LD) —

Example prompts

  • “/article-writing”

Requirements

  • A Bash shell

What it can do on your machine

Read from SKILL.md and the folder at commit e3d5b33. 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

Article Writing loads about 2.9k tokens when it runs, and up to ~5.7k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 1,328 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~92
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.7k

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 e3d5b33, republished under its MIT licence (© ericrisco). 1,328 words, ~2,872 tokens.

Download SKILL.mdSave it as .claude/skills/article-writing/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
article-writing
description
Use when writing one long-form article end to end — answer-first lede, question-shaped headings, plus its on-page surface (title, meta, slug, FAQ, Article/FAQPage JSON-LD) — or fixing a draft that buries the answer or reads AI-padded. NOT keyword research or topic selection (that is `seo-geo`), NOT the editorial calendar (that is `content-engine`).
tags
article, blog, long-form, seo-writing, geo, on-page, eeat, copywriting
recommends
seo-geo, content-engine, brand-voice, landing-copy, technical-writing, case-studies
origin
risco

Article writing

Draft one long-form article end to end: the prose and the on-page surface that ships with it — answer-first lede, question-shaped headings, title tag, meta description, slug, FAQ block, and the JSON-LD that makes the piece machine-readable.

You own a single finished article. You do not pick the topic, build the calendar, or define the house voice — those are siblings below.

When NOT to use

You want…Go to
Keyword research, SERP tracking, technical SEO, deciding which topics to target../seo-geo/SKILL.md
Editorial calendar, topic-cluster plan, pipeline across many pieces../content-engine/SKILL.md
The reusable brand tone-of-voice spec the article is written in../brand-voice/SKILL.md
A conversion landing or sales page (hero, offer, CTA)../landing-copy/SKILL.md
An email newsletter issue (subject line, send)../newsletter/SKILL.md
Product docs, API reference, software how-tos../technical-writing/SKILL.md
A customer outcome story / narrative../case-studies/SKILL.md

Rule: if the deliverable is not one publishable article, you are in the wrong skill.

Start from intent, not a word count

Before you write a sentence, read the top of the SERP for the target query. Name two things: the dominant intent (informational, transactional, comparison, navigational) and the winning format Google already rewards (listicle, step guide, definition + table, comparison). Match that format — fighting the shape Google already chose loses.

Then set depth from intent, not from a number you were handed. The first-page Google average is ~1,447 words across 11.8M results (Backlinko) — a descriptive average, never a target. Thoroughness and intent satisfaction rank, not length.

IntentTypical depthShape
Simple how-to / quick answer400–800 wordsDirect answer, short steps, one image
Standard informational post1,500–2,000 wordsAnswer-first lede + question H2s
Comprehensive guide1,700–2,500 wordsFull subtopic coverage, tables, FAQ
Pillar page2,500–5,000 wordsHub with two-way cluster links

Why: padding a 600-word answer to 2,000 to "look thorough" dilutes it and reads as filler. Cutting a guide to 800 words leaves the query half-answered. Length follows the question.

The answer-first lede

The first ~200 words must directly and completely answer the primary query. Lead with the answer (TL;DR-first / inverted pyramid), then expand. This is the structure that wins featured snippets and AI Overview citations — and with zero-click hitting ~60% of searches (2024) and AI Overviews appearing in ~13% of queries (May 2025), being the extracted answer matters more than the click.

markdown
<!-- Bad: warms up for three paragraphs before answering -->
## Should you compost in an apartment?
Composting has become increasingly popular in recent years as more people
look for sustainable lifestyle choices. Many city dwellers assume they can't
participate because of limited space. But is that really true? Let's explore
the fascinating world of urban composting and find out together.
markdown
<!-- Good: answers in the first two sentences, then expands -->
## Can you compost in an apartment?
Yes — a sealed countertop bokashi bin or a small worm bin (vermicomposting)
lets you compost food scraps in a flat with no yard and no smell. Bokashi
ferments scraps in ~2 weeks; a worm bin yields finished compost in 3–6 months.
Here is how to choose between them and set one up in a 60×40 cm footprint.

If the query is a question, the H1 or first H2 should be that question and the next sentence should answer it. Worked lede examples are in references/on-page-seo.md.

Outline as a question map

Build the skeleton from real subtopics, not from what you feel like writing.

  • One H1, matching the primary query or its close paraphrase.
  • H2/H3 are questions or named subtopics that mirror the SERP's "People also ask", related searches, and the headings competitors share — plus the gaps they all miss (that gap is your edge).
  • One idea per heading. A heading that needs an "and" is two headings.
  • Headings are subtopics, not slogans: ## How much does a standing desk cost? not ## The Price Question.

Why question-shaped headings: only ~38% of pages cited in AI Overviews rank top-10, so clean, extractable, question→answer structure can win citations without traditional authority. Make every section answerable on its own.

Drafting for depth and E-E-A-T

Google does not penalize AI-assisted content as such. It penalizes scaled content abuse — high-volume, no-editorial-review, thin, no-first-hand-experience pages. The March 2026 core update named scaled content abuse a primary target; offending sites saw 50–80% traffic drops. The defense is not avoiding AI; it is genuine value, depth, and human review.

So every draft earns its keep with E-E-A-T (Experience, Expertise, Authoritativeness, Trust — Trust is the load-bearing member):

  • First-hand experience — a thing you tested, measured, or saw. "We ran the worm bin for 90 days and weighed the output" beats "worm bins are effective".
  • Original data or insight — a number, comparison, or angle not already on page one.
  • Credible cited sources for claims you did not generate yourself — link them inline.
  • Clear authorship — a named author with relevant standing, not "admin".
  • Match intent over keyword density. Answer the question fully; the keywords fall out naturally. Never stuff.

Run a human-review pass before ship. If nothing in the draft could only have been written by someone who actually knows the topic, it is thin — add experience or do not publish.

The on-page surface

Every article ships with these. Keep them in the file's front-matter or a clearly labelled block so scripts/verify.sh can lint them.

  • Title tag: 50–60 characters / under ~580–600 px desktop (~480 px mobile). Put the primary keyword in the first ~30–35 characters. Titles of 51–55 chars are rewritten by Google least often.
  • Meta description: 140–160 characters (desktop ~920 px ≈ 158 chars; mobile cuts at ~120). One to three sentences, lead with the value. It does not rank, but it drives CTR and is often the snippet AI engines echo.
  • H1: exactly one, matching the query.
  • Slug: short, lowercase, hyphenated, keyword-bearing, no stop-word noise — /compost-in-apartment not /how-to-start-composting-in-your-apartment-today.
  • FAQ block: 3–6 real questions from "People also ask", each answered in 2–4 sentences.

Full pixel/char tables, slug rules, and copy-ready Article/BlogPosting + FAQPage JSON-LD (JSON-LD only — never microdata) live in references/on-page-seo.md. The JSON-LD must describe what is actually on the page; schema that does not match visible content is a quality flag, not a win.

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

Place 3–5 contextual internal links in the body of a standard article (more only for a long-form pillar). Rules:

  • Descriptive anchor text — worm bin setup guide, never click here or a bare URL.
  • Keep priority pages within ~3 clicks of the post.
  • For a pillar, link two ways: pillar → each cluster article and each cluster article → pillar. That two-way map is the topical-authority signal AI engines read.

You insert the link slots and anchors that fit this article. Deciding the cluster structure — which pillar owns which clusters across the site — is ../content-engine/SKILL.md's job, not yours.

Cut the AI tells and the fluff

Do one ruthless pass: delete every sentence that adds no fact. If a sentence could sit in any article on any topic, it is filler.

Banned on sight (short sample): "In today's fast-paced world", "It's important to note that", "When it comes to", "Let's dive in", "the world of X", "navigating the landscape of", "unlock the power of", "in conclusion". The full banlist with Bad→Good rewrites and the depth self-review is in references/ai-tell-banlist.md — and that file is the single source verify.sh greps against.

markdown
<!-- Bad: 28 words, zero facts -->
In today's fast-paced world, it's important to note that choosing the right
standing desk can really make a difference when it comes to your health.
markdown
<!-- Good: 19 words, three facts -->
A standing desk adjustable from 70–120 cm fits users 1.5–2.0 m tall and cuts
the lower-back load reported across sit-all-day workdays.

Anti-patterns

Anti-patternWhy it failsDo instead
Padding to hit a word countDilutes the answer; reads as fillerSet depth from intent; ~1,447w is an average, not a target
Intro that warms up before answeringLoses snippets, AI Overviews, and ~60% zero-click readersAnswer the query in the first ~200 words
Keyword stuffing for densityReads spammy; Google rewards intent match, not densityAnswer fully; keywords fall out naturally
H2s that are slogans, not subtopicsNot extractable; misses People-also-ask citationsQuestion-shaped, one idea per heading
No named author or cited sourcesThin E-E-A-T; vulnerable in core updatesAdd first-hand experience, data, citations, an author
FAQ with no FAQPage schema (or schema ≠ visible content)Not machine-readable; mismatched schema is a quality flagShip matching FAQPage JSON-LD describing on-page Q&As
Generic AI-tell proseFlagged as scaled, low-value contentRun the banlist + delete-no-fact-sentence pass
Ignoring the SERP's winning formatFights the shape Google already rewardsMatch the dominant format, then beat it on depth

Ship checklist

Restating the gates verify.sh enforces, for the human review:

  • Answer-first lede — primary query fully answered in first ~200 words
  • Exactly one H1; at least two question-shaped H2s
  • Title 50–60 chars (keyword early); meta 140–160 chars
  • JSON-LD present with @type Article/BlogPosting; FAQPage too if an FAQ section exists
  • At least one contextual internal-link slot with a descriptive anchor (target 3–5)
  • AI-tell / fluff banlist scan is clean
  • Depth matches intent; first-hand experience or original data present; author + sources named

Run scripts/verify.sh path/to/article.md. It is a lint of structure and banned phrasing — it does not judge whether the content is good. That is the capability eval's job, and yours.

© 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/article-writing of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/ai-tell-banlist.md
  • references/on-page-seo.md
  • scripts/verify.sh

Open the folder on GitHubat commit e3d5b33

Compare with similar skills

Article Writing 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.

Article Writing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Article Writing this skillericrisco/rsc-harness167—~2.9kAutomated safety check: PassMIT
Money Contentiamzifei/show-me-the-money1k—~9.6kAutomated safety check: PassCustom licence
Content Engineindranilbanerjee/digital-marketing-pro8551 repos~8.9kAutomated safety check: PassMIT
Ink Briefjeremylongshore/tons-of-skills-marketplace2.8k—~1.2kAutomated safety check: NotesMIT
SEO Keyword ResearchVarnan-Tech/opendirectory674—~1.8kAutomated safety check: PassMIT
Writerflaqai/backlink_skills752—~5.8kAutomated safety check: PassMIT

Similar skills

  • 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…

    855 GitHub starsUsed in 1 repo~8.9k tokens
    Writing & ContentAuto-check passed
  • Ink Brief

    jeremylongshore/tons-of-skills-marketplace

    Content brief generator — takes a topic or keyword and produces a complete content brief with target keyword, search intent, recommended structure, internal link targets, word count, CTA, and…

    2.8k GitHub stars~1.2k tokensUpdated today
    Writing & ContentAuto-check: notes
  • SEO Keyword Research

    Varnan-Tech/opendirectory

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

    674 GitHub stars~1.8k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Writer

    flaqai/backlink_skills

    SEO-friendly article writing, audit, and humanization workflow for Markdown content.

    752 GitHub stars~5.8k tokensUpdated 14 days ago
    Writing & ContentAuto-check passed
  • Content Brief

    indranilbanerjee/digital-marketing-pro

    Create a production-ready content brief a writer can execute without extra context — keyword map (primary, secondary, related questions), H2/H3 outline with key points and word-count targets, brand…

    855 GitHub starsUsed in 1 repo~1.2k tokens
    Writing & ContentAuto-check passed

More from ericrisco/rsc-harness

All 227 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…

    167 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…

    167 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…

    167 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…

    167 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…

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

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

Questions about Article Writing

What does Article Writing do?

A skill your agent uses when writing one long-form article end to end — answer-first lede, question-shaped headings, plus its on-page surface (title, meta, slug, FAQ, Article/FAQPage JSON-LD) — or…. Article Writing is an agent skill from ericrisco/rsc-harness. Use when writing one long-form article end to end — answer-first lede, question-shaped headings, plus its on-page surface (title, meta, slug, FAQ, Article/FAQPage JSON-LD) — or fixing a draft that buries the answer or reads AI-padded.

When should I use Article Writing?

Article Writing fits situations like: writing one long-form article end to end — answer-first lede; question-shaped headings; plus its on-page surface (title; article/FAQPage JSON-LD) —.

How do I install Article Writing in Claude Code?

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

How do I install Article Writing in Codex?

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

Can I use Article Writing 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 article-writing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/article-writing, .gemini/skills/article-writing, .github/skills/article-writing and .opencode/skills/article-writing in your project.

What does Article Writing need to run?

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

Does Article Writing 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 Article Writing 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 Article Writing use?

Article Writing 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 Article Writing use?

About 2.9k tokens (SKILL.md is roughly 11k 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.8k tokens, read only when the agent opens those files.

What are the alternatives to Article Writing?

Skills that share tags, products or a category with Article Writing: Money Content (iamzifei/show-me-the-money, 1k stars), Content Engine (indranilbanerjee/digital-marketing-pro, 855 stars), Ink Brief (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and SEO Keyword Research (Varnan-Tech/opendirectory, 674 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Article Writing?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 167 GitHub stars. The repository holds 227 skills in this directory. The repository was last updated on October 7, 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.