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.
npx skills add agencia-conversion/agentic-seo-skills --skill content-seogit clone --depth 1 https://github.com/agencia-conversion/agentic-seo-skillsWrote 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.
[](https://agentmods.dev/skills/agencia-conversion/agentic-seo-skills/content-seo)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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. Ifconfigured: true, query directly. Ifconfigured: false, invoke thedata-setupskill 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 jsonto measure Top 3 competitor pages. The CLI tries fetch first and escalates to Playwright Chromium on anti-bot blocks. If the extractor returnsok: falsefor a Top 3 URL after both paths, document the failure and theextraction_methodattempted; 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, andseo-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 underresearch_bypassand propagateconsensus_backed/brand_backed: falseinto the brief and draft frontmatter. - A DataForSEO, SERP, Top 3, or voice bypass must be recorded with actor (
agentby 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
approvephase records a decision for compatibility rather than unlocking writing. - The voice gate is mandatory before voice-backed drafting. Read
project/brain/voice.mdand 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
checkphase. Readproject/brain/review.mdand recordpath,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, markreview_backed: false, record agate: reviewbypass 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 inproject/artifacts/contents/<slug>/; write public content toproject/contents/<origin>/<slug>.mdonly after checks pass. Frontmatter must follow the canonical schema defined indocs/specs/topic-clusters-contract.md(contract_version 1):contract_version: 1,title,slug,published_at,source_url,origin,clusters: [<slug>, ...](required, ≥1), optionalrole: { <cluster-slug>: pillar | satellite }.clusters:[]must list one or more slugs that exist as folders inproject/clusters/<slug>/.area:(singular) is legacy and dropped in v1. - Every substantive phase returns a Web Companion review target.
briefpoints toproject/workbench/content/<slug>/brief.md;writepoints toproject/artifacts/contents/<slug>/draft.md;checkpoints to the check result plus the draft target;promotepoints toproject/contents/<origin>/<slug>.md. Includecompanion_path,companion_slug, andbrowser_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 asbrief_markdown_path,draft_path,path, andcompanion_path. Ask before opening the browser. - Every brief receives
clusters:[](one or many) as input. For each referenced cluster, the machine source of truth isproject/clusters/<slug>/cluster.yaml(pillar, planned satellites, thesis, icon — single-table model, NOareafield); its authorial projection is the subpageproject/brain/topic-clusters/<slug>.md(editorial prose + thecluster-contentmaterialized table between sentinels). Read the subpage to extract the cluster's tese, adjacent satellites (for internal links), and inherited editorial tone; readcluster.yamlwhen you need the exact slugs/roles. Promotion to public content must triggernode 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/orproject/artifacts/contents/. Never publish toproject/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/...orproject/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: trueandbullet_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, andaté.
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.
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.
- 13d ago First seen · 324 lines · 45 tokens per session scan A ebb12cd0ed4e
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.
Other skills, from other repositories
deep-ass-research
Deep, multi-source, primary-sourced research into a backlinked Obsidian vault. Fans out scout/diver sub-agents that write atomic cited claim notes, adversarially verifies them, then synthesizes a Map-of-Content + report. Use when the user wants thorough, cited research on a topic, company, market, or literature, or…
api-testing
HTTP API testing for TypeScript (Supertest) and Python (httpx, pytest). Test REST APIs, GraphQL, request/response validation, authentication, and error handling.
bun-test-mocking
Use for mock functions in Bun tests, spyOn, mock.module, implementations, and test doubles.
bun-test-coverage
Use for test coverage with Bun, --coverage flag, lcov reports, thresholds, and CI integration.
api-gateway-configuration
Configures API gateways for routing, authentication, rate limiting, and request transformation in microservice architectures. Use when setting up Kong, Nginx, AWS API Gateway, or Traefik for centralized API management.
api-response-optimization
Optimizes API performance through payload reduction, caching strategies, and compression techniques. Use when improving API response times, reducing bandwidth usage, or implementing efficient caching.