SEO Geo
ericrisco/rsc-harness
A skill your agent uses when one existing page needs to rank in Google AND get cited by AI answer engines — auditing a URL for on-page SEO, structured-data JSON-LD, GEO citation levers, Core Web…
Pre-publish QA framework for content. An agent skill from rampstackco/claude-skills.
$ npx skills add rampstackco/claude-skills --skill editorial-qa -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rampstackco/claude-skills editorial-qa --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/editorial-qa .claude/skills/editorial-qa && rm -rf skills-srcUse ~/.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/
Install the "editorial-qa" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/editorial-qa into .claude/skills/editorial-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editorial-qa", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rampstackco/claude-skills/tree/main/skills/editorial-qaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rampstackco/claude-skills --skill editorial-qa -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rampstackco/claude-skills editorial-qa --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/editorial-qa .agents/skills/editorial-qa && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "editorial-qa" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/editorial-qa into .agents/skills/editorial-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editorial-qa", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rampstackco/claude-skills --skill editorial-qa -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rampstackco/claude-skills editorial-qa --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/editorial-qa .cursor/skills/editorial-qa && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "editorial-qa" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/editorial-qa into .cursor/skills/editorial-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editorial-qa", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rampstackco/claude-skills.git --path skills/editorial-qa--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rampstackco/claude-skills --skill editorial-qa -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rampstackco/claude-skills editorial-qa --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/editorial-qa .gemini/skills/editorial-qa && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "editorial-qa" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/editorial-qa into .gemini/skills/editorial-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editorial-qa", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rampstackco/claude-skills editorial-qaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rampstackco/claude-skills --skill editorial-qa -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/editorial-qa .github/skills/editorial-qa && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "editorial-qa" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/editorial-qa into .github/skills/editorial-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editorial-qa", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rampstackco/claude-skills --skill editorial-qa -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rampstackco/claude-skills editorial-qa --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rampstackco/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/editorial-qa .opencode/skills/editorial-qa && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "editorial-qa" agent skill from https://github.com/rampstackco/claude-skills/tree/main/skills/editorial-qa into .opencode/skills/editorial-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editorial-qa", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
editorial-qaPre-publish QA framework for content. An agent skill from rampstackco/claude-skills.
Editorial QA is an agent skill from rampstackco/claude-skills. Pre-publish QA framework for content. Brief adherence, voice consistency, fact accuracy, structure and clarity, AI-content audit, SEO and AEO compliance, internal linking and schema validation, QA at scale via sampling, the QA workflow, and the discipline that distinguishes catch-problems QA from checkbox QA. Triggers on editorial QA, content review, pre-publish review, content audit, content QA process, AI-content audit, hallucination check, content sampling, programmatic QA, voice consistency check, brief…
Its SKILL.md is about 5.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files (for example `README.md`, `references/ai-content-audit-patterns.md` and `references/brief-adherence-checklist.md`).
It sits in Marketing & SEO, covering Content marketing, Programmatic SEO and Content strategy. The repository describes itself as: Stack-agnostic Claude Skills covering the full website lifecycle: brand, design, content, SEO, dev, ops, growth, and research. Build, ship, audit, optimize. The licence is MIT.
12 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 482c9bf. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Editorial QA loads about 5.6k tokens when it runs, and up to ~25k if it reads all its reference files. Until then it costs about 238 tokens; SKILL.md has 2,805 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from rampstackco/claude-skills at commit 482c9bf, republished under its MIT licence (© rampstackco). 2,805 words, ~5,603 tokens.
.claude/skills/editorial-qa/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.A senior editor's playbook for pre-publish content QA. The discipline that catches problems BEFORE content ships, not after.
Most content QA is broken in one of two directions. The thin version is "did I read it once and is the spelling OK," which catches typos but misses brief drift, voice inconsistency, hallucinated facts, AI tells, and structural problems that reach readers as "this is fine but not memorable." The thick version is a 47-item checklist that nobody completes honestly because it is process theater: checkboxes nobody actually believes catch problems.
This skill is the discipline of catch-problems QA. Each check earns its keep by catching a specific class of failure that would reach readers if missed. Checks that do not catch anything get cut. Checks the production volume cannot sustain get redesigned (sampling instead of full audit, automated instead of manual). The QA framework is what is left when you remove the theater.
The skill covers three production shapes: single editorial pieces (one at a time, full QA), AI-generated drafts (with the AI-content audit that did not exist as prominently 2 years ago), and programmatic SEO sets at scale (sampling discipline, threshold gating). Each needs its own QA shape; the underlying methodology composes across all three.
When to use this skill: building a content QA process from scratch, auditing an existing QA process that ships sloppy work or burns out the team, designing QA gates for an AI-assisted workflow, or building sampling discipline for programmatic SEO sets.
This skill spans pre-publish quality control. It plugs in at the END of every other content skill's output. The six-skill content suite distinction:
content-strategy is program scope: what to produce.pillar-content-architecture is hub scope: how the topical hub fits together.content-brief-authoring is per-piece scope: briefs each piece.content-and-copy is execution scope: writes each piece.programmatic-seo is scaled scope: generates many pages from data.Every skill above produces a draft. This skill is what gets drafts to publishable. It is the gate where quality is actually enforced.
The audience: editorial leads, content directors, in-house content QA, agencies with production lines, content ops managers, anyone running a writer (human or AI) and accountable for what ships. The voice is senior editor to junior editor or content marketer. Specific, opinionated, honest about where QA earns its keep versus where it becomes process theater.
The keystone distinction. Two failure modes plus the discipline.
Thin QA (typo-checking dressed as quality control). "I read it once, it is fine." Catches obvious mistakes; misses brief drift, voice inconsistency, hallucinated facts, structural problems, AI tells. Output: shipped content that is "fine but not memorable." Cost: invisible until a brand misstep, a hallucinated statistic, or a competitor's content compounds and the thin set falls behind.
Thick QA (47-item checklist nobody completes honestly). Every conceivable check listed; no triage. Reviewers either skim and check boxes (theater) or burn out under the cognitive load. Output: shipped content slightly more polished than thin QA produces, but the team's review velocity collapses. Cost: throughput drops; reviewers leave; the checklist atrophies into a few checks that actually run.
Catch-problems QA (the discipline). Each check earns its keep by catching a specific class of failure that would reach readers if missed. Checks that do not catch anything get cut. Production volume drives sampling versus full-audit decisions. Reviewers are accountable for what they caught, not for box-completion.
The litmus test. If the team can name the last 3 problems each QA check caught, the check earns its keep. If a check has not caught anything in 6 months, it is theater. Cut it; reallocate the attention to checks that catch real problems.
Did the writer execute the brief? The check is straightforward when the brief is well-authored (see content-brief-authoring).
The brief-adherence checks:
The brief-adherence check is the cheapest, fastest, highest-value QA gate. It runs first in the QA sequence because catching a brief-adherence failure early saves the editor from spending time on voice and structure on a piece that will need to restart.
If briefs are vague, this check is impossible. Fix briefs first; the QA process cannot enforce a contract that does not exist.
Detail in references/brief-adherence-checklist.md.
Does the piece sound like the brand?
For AI-co-authored pieces, voice drift is the dominant failure mode. AI assistants regress to a model-default voice unless the writer actively pulls them back. The QA check needs to read for the brand voice as much as for the words.
Detail in references/voice-consistency-patterns.md.
Every claim in the piece needs to be true. The check:
Hallucination is the dominant failure mode in AI-assisted writing. AI assistants generate plausible statistics, plausible quotes, plausible case studies, none of which are real. The fact-accuracy check is the gate that catches them. If you skip this gate on AI-generated content, you ship hallucinations.
Citation discipline:
Detail in references/fact-accuracy-and-citation-discipline.md.
Does the piece work as a piece?
Detail in references/structure-and-clarity-review.md.
The QA check that did not exist as prominently 2 years ago. AI-co-authored content has detectable patterns even when written by a competent human editor.
AI tells (pattern recognition).
Hallucination patterns (factual errors).
Voice drift.
The audit shape. Read with these patterns top-of-mind. Flag any match. The bar is not "AI was used" (it almost always is now); the bar is "would a careful human editor have shipped this." If the patterns above are present, the piece needs another revision pass with the patterns called out.
Detail in references/ai-content-audit-patterns.md.
Does the piece serve search engines AND answer engines?
SEO checks.
AEO checks.
Detail in references/seo-aeo-compliance-checklist.md.
Internal linking.
Schema validation.
Detail in references/internal-linking-and-schema-validation.md.
For pieces shipping at programmatic-SEO scale (100s to 100,000s of pages), full-audit QA is infeasible. Sampling discipline replaces it.
Sampling strategy.
references/qa-at-scale-patterns.md, which owns the numbersAutomated checks at scale.
Manual checks on sampled pages.
Threshold gating.
Detail in references/qa-at-scale-patterns.md.
Ownership and sequencing.
Single QA owner per piece, not a committee. The owner is accountable for what shipped. Committees diffuse accountability; nobody owns a problem that reaches readers.
Sequencing. Run the gates in the order set by the sequencing template in references/qa-workflow-templates.md, which owns the gate list and its order. Brief-adherence runs first: it is the cheapest gate that can halt a piece, and it catches the largest class of failures. The SEO/AEO and linking-and-schema gates sit near the end because most of their failures are auto-fixable and rarely halt anything. A final read closes the sequence.
Halt vs flag vs auto-fix.
Escalation. When QA finds a pattern (multiple pieces failing the same check), escalate to the brief author, the writer, or the editorial process owner. Pattern signals process problem, not just per-piece problem.
Detail in references/qa-workflow-templates.md.
Rapid-fire. Diagnoses in references/common-qa-failures.md.
When designing or auditing a QA process, walk these 12 considerations.
The output of the framework is a QA process the team can run repeatably: each check named, each owner named, each halt-condition documented, each sampling rule specified for programmatic surfaces.
references/brief-adherence-checklist.md - Every brief field as a QA check, with how to verify and what failure looks like.references/voice-consistency-patterns.md - Vocabulary, rhythm, stance, register, mid-piece sampling discipline for long pieces.references/fact-accuracy-and-citation-discipline.md - Verification methodology, hallucination detection, citation rules, source-age guidelines.references/structure-and-clarity-review.md - Lede patterns, sectioning principles, endings, structural anti-patterns.references/ai-content-audit-patterns.md - 11 AI tells, 6 hallucination patterns, voice drift detection, worked example with revision.references/seo-aeo-compliance-checklist.md - SEO and AEO checks combined into one workflow.references/internal-linking-and-schema-validation.md - Link discipline, anchor text variation, schema patterns and validation.references/qa-at-scale-patterns.md - Sampling strategy, automated checks, manual review at scale, threshold gating.references/qa-workflow-templates.md - Ownership, sequencing, halt versus flag versus auto-fix, escalation patterns.references/common-qa-failures.md - 11+ failure patterns with diagnoses and fixes.Every other skill in the content suite produces drafts. QA is the discipline that turns drafts into publishable work. It is also where every previous decision (brief shape, voice guidelines, hub architecture, programmatic template) gets tested against actual output. Skipping QA is not "moving fast"; it is shipping the failure modes of every upstream decision unfiltered.
The QA process is the immune system of the content program: invisible when it is working, catastrophic in its absence.
When in doubt about whether a QA process is ready, ask: does each check name a class of failure it catches, has each check actually caught something in the last 6 months, is brief-adherence first in the sequence, is fact-accuracy a halt-condition, is the AI-content audit included, does sampling discipline apply to scaled surfaces? If yes to all of those, the process is real. If no to any, the gap is where readers will encounter the failure that QA did not catch.
© rampstackco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 11 other files (references) in skills/editorial-qa of rampstackco/claude-skills.
Open the folder on GitHubat commit 482c9bf
Editorial QA 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Editorial QA this skillrampstackco/claude-skills | 940 | — | ~5.6k | Automated safety check: Pass | MIT | |
| SEO Geoericrisco/rsc-harness | 167 | — | ~2.8k | Automated safety check: Pass | MIT | |
| AI Content Auditmohitagw15856/pm-claude-skills | 1.4k | — | ~1.5k | Automated safety check: Pass | MIT | |
| AI Citability Scorerzubair-trabzada/geo-seo-claude | 11k | 2 repos | ~3.7k | Automated safety check: Notes | MIT | |
| Universal SEO AnalysisAgriciDaniel/claude-seo | 18k | — | ~4.9k | Automated safety check: Pass | MIT | |
| SEO Content Auditseranking/seo-skills | 160 | — | ~3k | Automated safety check: Pass | MIT |
ericrisco/rsc-harness
A skill your agent uses when one existing page needs to rank in Google AND get cited by AI answer engines — auditing a URL for on-page SEO, structured-data JSON-LD, GEO citation levers, Core Web…
mohitagw15856/pm-claude-skills
Audit a content library, docs site, or blog for AI-generated filler that's eroding trust and search performance — and triage what to fix, rewrite, or delete.
zubair-trabzada/geo-seo-claude
Scores how likely AI assistants are to quote passages from a web page and suggests rewrites that make those passages easier to extract.
AgriciDaniel/claude-seo
Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.
seranking/seo-skills
E-E-A-T + CITE quality audit for an EXISTING piece of content.
AgriciDaniel/codex-seo
Content quality and E-E-A-T analysis with AI citation readiness assessment.
rampstackco/claude-skills
Run a structured after-action review (postmortem, retrospective) on a launch, incident, or completed project to capture timeline, root cause analysis, contributing factors, and actionable lessons.
rampstackco/claude-skills
Design measurement frameworks including event taxonomy, KPI hierarchy, dashboard architecture, attribution models, and analytics implementation strategy.
rampstackco/claude-skills
Build or audit a comprehensive brand style guide that documents the full brand system including story, logo system, color, typography, imagery, voice, applications, and dos/don'ts.
rampstackco/claude-skills
Develop or document a complete brand voice and tone system covering voice attributes, tone shifts by context, vocabulary preferences, grammar rules, and copy examples.
rampstackco/claude-skills
Write or edit website copy, blog content, and editorial pieces with attention to voice, structure, and goal.
rampstackco/claude-skills
Develop a content strategy covering editorial positioning, content pillars, formats, calendar, governance, and topical authority planning.
Categories
Pre-publish QA framework for content. An agent skill from rampstackco/claude-skills. Editorial QA is an agent skill from rampstackco/claude-skills. Pre-publish QA framework for content.
Editorial QA fits situations like: pre-publish review; content QA process; AI-content audit; hallucination check.
Run `npx skills add rampstackco/claude-skills --skill editorial-qa -a claude-code`. Or copy the skill folder (skills/editorial-qa in rampstackco/claude-skills) into .claude/skills/editorial-qa in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rampstackco/claude-skills --skill editorial-qa -a codex`. Or copy the skill folder (skills/editorial-qa in rampstackco/claude-skills) into .agents/skills/editorial-qa in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rampstackco/claude-skills --skill editorial-qa -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/editorial-qa, .gemini/skills/editorial-qa, .github/skills/editorial-qa and .opencode/skills/editorial-qa in your project.
SKILL.md names no scripts, command-line tools or credentials: Editorial QA is instructions for the agent only.
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.
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. Review the folder before installing.
Editorial QA is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.6k tokens (SKILL.md is roughly 22k 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 19k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Editorial QA: SEO Geo (ericrisco/rsc-harness, 167 stars), AI Content Audit (mohitagw15856/pm-claude-skills, 1.4k stars), AI Citability Scorer (zubair-trabzada/geo-seo-claude, 11k stars) and Universal SEO Analysis (AgriciDaniel/claude-seo, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
rampstackco (a GitHub organization) maintains it in rampstackco/claude-skills, which has 940 GitHub stars. The repository holds 103 skills in this directory. The repository was last updated on October 7, 2026.
Source: rampstackco/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.