Page report
Skill agencia-conversion/agentic-seo-skills/skills/page-report
Shared report-page contract for Agentic SEO modules that render editable, human-first Markdown reports in the Web Companion.From its SKILL.md
npx -y skills add agencia-conversion/agentic-seo-skills --skill page-reportAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
5.2 KB, as published. Nobody here has run it
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/, orworkbench/. - Frontmatter must include
title,slug,report_type,generated_at,status,source_artifact, andsummary; includescoreonly 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.languageunless a command has an explicit language override. Complete copy is required forpt-BRanden. - New visual fences must be YAML with
version: 1:agentic-kpis,agentic-chart, andagentic-table. JSON fences are legacy read compatibility only. - Tables must use stable lower-snake ASCII
keyvalues. User-facinglabelvalues may be translated or edited without changing keys. - Calculation tables must mark columns with
role: weight,role: points, androle: lossso score recalculation survives label edits. - Each report-producing module has
skills/<module>/contract.yamlandtemplates/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 usescripts/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 inagentic-table/agentic-kpiscells, or leave numbers raw for the Companion (useI18n().formatNumber/formatPercent) to format on render. Percent-bearing columns use the_pctkey suffix on the 0..100 scale. - Always return
report_mdandbrowser_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.mdastype: decisionunless 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.mdexists under the canonical module path and is returned asreport_md.source_artifactpoints 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.