/page-report
Shared report-page contract for Agentic SEO modules that render editable, human-first Markdown reports in the Web Companion.
$ npx -y skills add agencia-conversion/agentic-seo-skills --skill page-report --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/page-report
Context preview
The summary Claude sees to decide when to auto-load this skill.
Shared report-page contract for Agentic SEO modules that render editable, human-first Markdown reports in the Web Companion.
SKILL.md
page-report.SKILL.mdname: page-report
description: Shared report-page contract for Agentic SEO modules that render editable, human-first Markdown reports in the Web Companion.
metadata:
version: 1.0.0
category: contract
Page Report
Use this skill whenever an Agentic SEO workflow generates a report page for the Web Companion. It is a shared contract, not a standalone SEO module.
When To Use
Use `page-report` from report-producing skills and runtime code when creating or reviewing `report.md` for Technical SEO, Internal Links, SEO Analysis, Keyword Research, SERP Extract, Backlink Analysis, Topic Cluster, E-E-A-T, or Competitive Analysis.
Do not use this skill for public content drafts, approval handoffs, inline chat answers, raw provider captures, or authorial Brain updates that are not report pages.
Critical Points
- The canonical report path is `project/analyses/<module>/<run-slug>/report.md`.
- The report is the editable human presentation layer. Raw evidence, normalized YAML/JSON, logs, and operational artifacts stay in `sources/`, `audits/`, `keywords/`, `clusters/`, `eeat/`, or `workbench/`.
- Frontmatter must include `title`, `slug`, `report_type`, `generated_at`, `status`, `source_artifact`, and `summary`; include `score` only when the module has a real score.
- Do not write `# <title>` in the Markdown body. The Companion renders the title from frontmatter.
- Use the project language from `project/.agentic-seo/project.json.language` unless a command has an explicit language override. Complete copy is required for `pt-BR` and `en`.
- New visual fences must be YAML with `version: 1`: `agentic-kpis`, `agentic-chart`, and `agentic-table`. JSON fences are legacy read compatibility only.
- Tables must use stable lower-snake ASCII `key` values. User-facing `label` values may be translated or edited without changing keys.
- Calculation tables must mark columns with `role: weight`, `role: points`, and `role: loss` so score recalculation survives label edits.
- Each report-producing module has `skills/<module>/contract.yaml` and `templates/analyses/<module>/report-skeleton.md`; keep required H2 sections and table keys from the skeleton.
- Before declaring a manual report done, run `npm run validate:reports -- --module=<module> --slug=<run-slug>` or use `scripts/lib/report-writer.mjs`, which refuses invalid reports before writing.
- Never paste raw provider JSON, object arrays, `[object Object]`, internal IDs, or snake_case evidence into the visual body. Convert evidence into natural language and readable tables.
- Format numbers per the project language. The canonical source is `shared/locale.mjs` (`getProjectLanguage`, `formatNumber`, `formatPercent`, `canonicalKeyword`). Skills either ship locale-formatted strings in `agentic-table`/`agentic-kpis` cells, or leave numbers raw for the Companion (`useI18n().formatNumber` / `formatPercent`) to format on render. Percent-bearing columns use the `_pct` key suffix on the 0..100 scale.
- Always return `report_md` and `browser_prompt: { recommended: true, message: "Posso abrir o Web Companion para você ver a análise?", open_with: "project-browser" }`.
- Register the generated report in `project/brain/log.md` as `type: decision` unless a more specific log type is required.
Framework
1. Build The Source Artifact
Write the module's authoritative machine-readable artifact first. It may be YAML or JSON, but it must remain outside `project/analyses/` and be referenced by frontmatter `source_artifact`.
2. Render The Human Page
Start with an executive reading. Then add module-specific sections, visual blocks, and human-readable appendices. Keep technical depth, but translate it into prose, friendly labels, and compact evidence.
3. Validate The Contract
Before returning the result, verify: canonical path, frontmatter, no H1 body title, no HTML default, YAML visual fences, no raw JSON/object dumps, readable evidence, source separation, and log entry.
4. Review The Result
For QA, generate one report per module with fixtures/offline data. A report is satisfactory only when it scores at least 4/5 for clarity, evidence separation, visual usefulness, actionability, and localization, with no category below 3/5.
Output Format
The report Markdown must have this shape:
---
title: "Human report title"
slug: "stable-run-slug"
report_type: "technical-seo"
generated_at: "2026-05-23T00:00:00.000Z"
status: "ready"
source_artifact: "audits/example/report.yaml"
summary: "One-sentence executive summary."
score: "92"
---
Executive summary prose without a duplicate H1.
```agentic-kpis
version: 1
items:
- label: Score
value: 92/100
Use only supported `report_type` values: `technical-seo`, `internal-links`, `seo-analysis`, `keyword-research`, `serp-extract`, `backlink-analysis`, `topic-cluster`, `eeat`, and `competitive-analysis`.
## Done Criteria
- `report.md` exists under the canonical module path and is returned as `report_md`.
- `source_artifact` points to the normalized technical source.
- The Companion can list, open, edit, save, and roundtrip the page.
- Visual fences parse as YAML `version: 1`.
- No visible JSON/object dumps or duplicated title appear in the report body.
- The report is registered in `brain/log.md`.
Read more
name: page-report description: Shared report-page contract for Agentic SEO modules that render editable, human-first Markdown reports in the Web Companion. metadata: version: 1.0.0 category: contract
Page Report
Use this skill whenever an Agentic SEO workflow generates a report page for the Web Companion. It is a shared contract, not a standalone SEO module.
When To Use
Use `page-report` from report-producing skills and runtime code when creating or reviewing `report.md` for Technical SEO, Internal Links, SEO Analysis, Keyword Research, SERP Extract, Backlink Analysis, Topic Cluster, E-E-A-T, or Competitive Analysis.
Do not use this skill for public content drafts, approval handoffs, inline chat answers, raw provider captures, or authorial Brain updates that are not report pages.
Critical Points
- The canonical report path is `project/analyses/<module>/<run-slug>/report.md`.
- The report is the editable human presentation layer. Raw evidence, normalized YAML/JSON, logs, and operational artifacts stay in `sources/`, `audits/`, `keywords/`, `clusters/`, `eeat/`, or `workbench/`.
- Frontmatter must include `title`, `slug`, `report_type`, `generated_at`, `status`, `source_artifact`, and `summary`; include `score` only when the module has a real score.
- Do not write `# <title>` in the Markdown body. The Companion renders the title from frontmatter.
- Use the project language from `project/.agentic-seo/project.json.language` unless a command has an explicit language override. Complete copy is required for `pt-BR` and `en`.
- New visual fences must be YAML with `version: 1`: `agentic-kpis`, `agentic-chart`, and `agentic-table`. JSON fences are legacy read compatibility only.
- Tables must use stable lower-snake ASCII `key` values. User-facing `label` values may be translated or edited without changing keys.
- Calculation tables must mark columns with `role: weight`, `role: points`, and `role: loss` so score recalculation survives label edits.
- Each report-producing module has `skills/<module>/contract.yaml` and `templates/analyses/<module>/report-skeleton.md`; keep required H2 sections and table keys from the skeleton.
- Before declaring a manual report done, run `npm run validate:reports -- --module=<module> --slug=<run-slug>` or use `scripts/lib/report-writer.mjs`, which refuses invalid reports before writing.
- Never paste raw provider JSON, object arrays, `[object Object]`, internal IDs, or snake_case evidence into the visual body. Convert evidence into natural language and readable tables.
- Format numbers per the project language. The canonical source is `shared/locale.mjs` (`getProjectLanguage`, `formatNumber`, `formatPercent`, `canonicalKeyword`). Skills either ship locale-formatted strings in `agentic-table`/`agentic-kpis` cells, or leave numbers raw for the Companion (`useI18n().formatNumber` / `formatPercent`) to format on render. Percent-bearing columns use the `_pct` key suffix on the 0..100 scale.
- Always return `report_md` and `browser_prompt: { recommended: true, message: "Posso abrir o Web Companion para você ver a análise?", open_with: "project-browser" }`.
- Register the generated report in `project/brain/log.md` as `type: decision` unless a more specific log type is required.
Framework
1. Build The Source Artifact
Write the module's authoritative machine-readable artifact first. It may be YAML or JSON, but it must remain outside `project/analyses/` and be referenced by frontmatter `source_artifact`.
2. Render The Human Page
Start with an executive reading. Then add module-specific sections, visual blocks, and human-readable appendices. Keep technical depth, but translate it into prose, friendly labels, and compact evidence.
3. Validate The Contract
Before returning the result, verify: canonical path, frontmatter, no H1 body title, no HTML default, YAML visual fences, no raw JSON/object dumps, readable evidence, source separation, and log entry.
4. Review The Result
For QA, generate one report per module with fixtures/offline data. A report is satisfactory only when it scores at least 4/5 for clarity, evidence separation, visual usefulness, actionability, and localization, with no category below 3/5.
Output Format
The report Markdown must have this shape:
---
title: "Human report title"
slug: "stable-run-slug"
report_type: "technical-seo"
generated_at: "2026-05-23T00:00:00.000Z"
status: "ready"
source_artifact: "audits/example/report.yaml"
summary: "One-sentence executive summary."
score: "92"
---
Executive summary prose without a duplicate H1.
```agentic-kpis
version: 1
items:
- label: Score
value: 92/100Use only supported `report_type` values: `technical-seo`, `internal-links`, `seo-analysis`, `keyword-research`, `serp-extract`, `backlink-analysis`, `topic-cluster`, `eeat`, and `competitive-analysis`. ## Done Criteria - `report.md` exists under the canonical module path and is returned as `report_md`. - `source_artifact` points to the normalized technical source. - The Companion can list, open, edit, save, and roundtrip the page. - Visual fences parse as YAML `version: 1`. - No visible JSON/object dumps or duplicated title appear in the report body. - The report is registered in `brain/log.md`.
Agentic SEO is officially available as a Claude Code plugin. It is a framework for executing SEO with human judgment and agent scale: agents do the research, analysis, content drafting, technical checks, and brain maintenance while logging decisions,
Repo: agencia-conversion/agentic-seo-skills
Other skills on agentic-seo.
- /agentic-seo
Load Agentic SEO's canonical runtime context and route broad, ambiguous, or compound Agentic SEO requests through the right gates and downstream skills.
Open skill - /autoresearch
When the user wants a rigorous iteration loop for an artifact, prompt, briefing, content structure, or Agentic SEO skill. Also use for Karpathy-style experiment runs that need baseline scoring, explicit metrics, stop rules, and keep/reject decisions.
Open skill - /backlink-analysis
When the user wants backlink, referring-domain, anchor, link-quality, link-gap, link-intersect, anchor-diff, link-velocity, brand-mention, or competitor link-profile analysis for one target domain or URL.
Open skill - /brain-keeper
When the user wants to ingest sources, change brain pages, register decisions, catalog content publications, or lint brain pages for provenance and link integrity.
Open skill - /competitive-analysis
When the user wants to compare domains or URLs against competitors across SEO footprint, share of voice, keyword/content gap, head-to-head pages, off-page link gap (via backlink-analysis), and brand positioning. Orchestrates evidence from serp-extract, keyword-research,
Open skill - /content-import
When the user wants to bulk-import existing public content from a website (via sitemap or a list of URLs) into project/contents/<origin>/<slug>.md as the starting point for editorial work in this brain.
Open skill

