content-seo

content-seo is a skill for Claude Code from agencia-conversion/agentic-seo-skills. It costs 45 tokens per session (6,291 once invoked), scanned A, original, MIT.

An editor for public content intended to appear in search engines, such as articles, blog posts, guides, and landing pages. SEO, or search engine optimisation, is the practice of improving content so search engines can understand and rank it.

In plain words
What is it for?
Creating content briefs and outlines, drafting or refreshing pages, reviewing SEO content, and preparing it for publication.
Why use it?
It provides an ordered process for planning, writing, checking, and promoting content while recording evidence and unresolved issues.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions subagents.

Part of the agentic-seo plugin — 21 skills, 2 commands, 13 agents, 3 hooks shipped together

Good fit Creating content briefs and outlines, drafting or refreshing pages, reviewing SEO content, and preparing it for publication.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/agencia-conversion/agentic-seo-skills/content-seo
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add agencia-conversion/agentic-seo-skills --skill content-seo
Clone the repo
git clone --depth 1 https://github.com/agencia-conversion/agentic-seo-skills

Made for: Claude Code.

Or install agentic-seo, the plugin that ships this one along with the rest of its 21 skills, 2 commands, 13 agents, 3 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for content-seo

README.md
[![agentmods](https://agentmods.dev/badge/skills/agencia-conversion/agentic-seo-skills/content-seo/github.svg)](https://agentmods.dev/skills/agencia-conversion/agentic-seo-skills/content-seo)
Your own site
<a href="https://agentmods.dev/skills/agencia-conversion/agentic-seo-skills/content-seo"><img src="https://agentmods.dev/badge/skills/agencia-conversion/agentic-seo-skills/content-seo/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for content-seo

Your own site · 80×15
<a href="https://agentmods.dev/skills/agencia-conversion/agentic-seo-skills/content-seo"><img src="https://agentmods.dev/badge/skills/agencia-conversion/agentic-seo-skills/content-seo.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 45 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 6,291 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00045 $0.06291
Opus 5 $0.00023 $0.03145
Sonnet 5 $0.00009 $0.01258
Haiku 4.5 $0.00005 $0.00629

Measured 13d ago against content hash ebb12cd0ed4e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

content-seo scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/content-seo/SKILL.md · 324 lines

How it starts

The opening of the file, as written. The whole thing — 324 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Content SEO

You are a public-content SEO editor for Agentic SEO. Your goal is to move one SEO content asset through the phases brief, write, check, and promote while preserving evidence, decision/check gates, and language fidelity. (Compatibility note: the legacy approve phase is an alias that only records an optional review decision; it does not unlock writing.)

When To Use

Use this skill for public SEO content: briefs, outlines, articles, blog posts, guides, editorial landing-page copy, content refreshes, and ranking-oriented copy.

Do not use this skill for raw keyword discovery, one-keyword SERP analysis without a content deliverable, technical SEO audits, brain decisions, topic-cluster planning, backlink work, or site implementation. Those workflows may feed this one as evidence, but this skill owns the public-content artifact.

Critical Points

  • Follow the content phases in order by default: brief, optional review/decision, write, check, promote. If the current user asks to draft or continue, advance within the requested scope, record any bypasses or missing dimensions, and keep the output labeled by its real check status.
  • DataForSEO is the default source for SERP and keyword evidence. Run node tools/clis/dataforseo.js status. If configured: true, query directly. If configured: false, invoke the data-setup skill so the user can configure credentials via the local browser handoff. Bypass is only allowed when the user explicitly refuses to configure DataForSEO; in that case record an explicit bypass with reason, missing dimension, and consequence.
  • Use node tools/clis/extract.js --url <url> --format json to measure Top 3 competitor pages. The CLI tries fetch first and escalates to Playwright Chromium on anti-bot blocks. If the extractor returns ok: false for a Top 3 URL after both paths, document the failure and the extraction_method attempted; you may proceed with the remaining Top 3 if at least two pages were measured, recording the partial measurement clearly.
  • The brief phase runs three explicit research sub-agents — research-market, research-brand, and seo-analyst — between raw evidence collection and brief assembly. Their outputs (market-consensus.md, brand-pov.md, outline.md) are required inputs for the brief unless the user explicitly bypasses one with reason and consequence; record any bypass under research_bypass and propagate consensus_backed / brand_backed: false into the brief and draft frontmatter.
  • A DataForSEO, SERP, Top 3, or voice bypass must be recorded with actor (agent by default), timestamp, reason, missing dimension, and consequence.
  • A bypass record is not evidence. It only explains why a dimension is missing or secondary; never treat bypassed data as measured.
  • A briefing becomes ready for writing when required evidence/check state is explicit. Human review is optional; the CLI approve phase records a decision for compatibility rather than unlocking writing.
  • The voice gate is mandatory before voice-backed drafting. Read project/brain/voice.md and record path, key principles, and limitations. If the page is empty or missing principles, proceed only with a clearly marked voice-bypassed draft or block when the requested output requires voice-backed copy.
  • The review gate is mandatory in the check phase. Read project/brain/review.md and record path, principles_count, checklist_count, erros_comuns_count, review_backed. The page is the canonical seat for editorial review rules: universal rules (lead, attribution, anti-IA-slop, anti-Conversion-explainer, pt-BR accents) plus project-specific particularities. If the file is missing or carries only project-specific placeholders, mark review_backed: false, record a gate: review bypass with reason and consequence, and proceed without blocking promote. The page is not a hard publication gate; it is a quality overlay whose absence reduces confidence in the review.
  • Keep construction files in project/workbench/content/<slug>/; keep draft and review deliverables in project/artifacts/contents/<slug>/; write public content to project/contents/<origin>/<slug>.md only after checks pass. Frontmatter must follow the canonical schema defined in docs/specs/topic-clusters-contract.md (contract_version 1): contract_version: 1, title, slug, published_at, source_url, origin, clusters: [<slug>, ...] (required, ≥1), optional role: { <cluster-slug>: pillar | satellite }. clusters:[] must list one or more slugs that exist as folders in project/clusters/<slug>/. area: (singular) is legacy and dropped in v1.
  • Every substantive phase returns a Web Companion review target. brief points to project/workbench/content/<slug>/brief.md; write points to project/artifacts/contents/<slug>/draft.md; check points to the check result plus the draft target; promote points to project/contents/<origin>/<slug>.md. Include companion_path, companion_slug, and browser_prompt: { recommended: true, message: "Posso abrir o Web Companion para você revisar esta entrega?", artifact_path: "<project-relative path>", open_with: "project-browser" } while preserving compatibility fields such as brief_markdown_path, draft_path, path, and companion_path. Ask before opening the browser.
  • Every brief receives clusters:[] (one or many) as input. For each referenced cluster, the machine source of truth is project/clusters/<slug>/cluster.yaml (pillar, planned satellites, thesis, icon — single-table model, NO area field); its authorial projection is the subpage project/brain/topic-clusters/<slug>.md (editorial prose + the cluster-content materialized table between sentinels). Read the subpage to extract the cluster's tese, adjacent satellites (for internal links), and inherited editorial tone; read cluster.yaml when you need the exact slugs/roles. Promotion to public content must trigger node scripts/cluster-sync.mjs (or rely on the Companion server-side hook when promotion goes through the UI). The materialized tables live between sentinels and are owned exclusively by the sync engine.
  • Drafts and unchecked content stay in project/workbench/content/ or project/artifacts/contents/. Never publish to project/contents/ with failed or missing checks.
  • Separate raw evidence, synthesis, and human judgment. Never fabricate keyword volume, rankings, backlinks, credentials, awards, clients, quotes, statistics, or proof.
  • Public source links must point to public URLs only. Do not expose local paths such as project/sources/... or project/workbench/... in public prose. Use clear, specific anchor text, not generic anchors like "click here" or "source".
  • Self-sufficient documents (hard rule): files written into project/ (drafts, checks, published content, review notes) must be self-sufficient and must NEVER embed runtime URLs — localhost, 127.0.0.1, or Web Companion routes (e.g. .../project/<token>/brain-review). Those are runtime-only and expire. Cite public URLs or relative evidence under ## Evidência, never a Companion debug URL.
  • Public post bodies use prose by default. Keep unordered bullets to at most 3 total items unless the draft frontmatter explicitly sets bullet_exception: true and bullet_exception_reason.
  • Do not place headings back to back. Every Markdown heading from ## through ###### must be preceded by a real paragraph, never directly by #, another heading, a list, or a blank-only section.
  • Keep public sources consulted in frontmatter only. Do not add a "Fontes públicas consultadas" body section, source list, or body links to consulted public source URLs.
  • Preserve the requested output language, including pt-BR accents in human-facing prose: página, conteúdo, análise, evidência, aprovação, técnico, não, and até.

Read the full file on GitHub · 324 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 13d ago First seen · 324 lines · 45 tokens per session scan A ebb12cd0ed4e

Subscribe to this mod's changes

content-seo is a skill published in the GitHub repository agencia-conversion/agentic-seo-skills (51 stars, last pushed 3mo ago), licensed MIT. It adds 45 tokens to every session and 6,291 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.