---
name: seo-report
description: >
  Generate a formatted SEO report from any audit output or URL.
  Two modes: Markdown (default) with color-coded tables and score gauges,
  or PDF (delegates to Cowork PDF skill). Use after /seo audit, /seo page,
  /seo technical, or any other SEO command to produce a deliverable.
  Trigger: "generate a report", "export this as PDF", "create a deliverable",
  "format this for a client", "make a report".
version: 1.8.1
---

# SEO Report Generator

Two modes depending on the `output` parameter or user request:
- **Markdown** (default) — deliverable `.md` file with score gauges, color-coded tables, executive summary
- **PDF** — delegates to the Cowork `pdf` skill after generating the markdown

## When to use

Run `/seo report` as a final step after any audit command to:
- Produce a client-ready deliverable
- Format raw analysis output into a structured document
- Export to PDF for presentations or stakeholder review

## Inputs

| Source | How to handle |
|--------|---------------|
| `[url]` | Run a full audit first, then generate report from output |
| `[file]` — e.g. `ACTION-PLAN.md` | Read the file, structure into report format |
| `generate` | Build report from the current conversation analysis |

## Report structure

Every report follows this structure exactly:

```markdown
# SEO Report — [Site Name]
**Date:** [YYYY-MM-DD]  **Analyst:** NullToHero /seo  **Version:** 1.0

---

## Executive Summary

[2-3 sentences. Overall health, single biggest opportunity, single biggest risk.]

Overall score: [GAUGE]

---

## Dimension Scores

| Dimension | Score | Trend |
|-----------|-------|-------|
| Technical | XX/100 | — |
| Content | XX/100 | — |
| Schema | XX/100 | — |
| GEO | XX/100 | — |
| Performance | XX/100 | — |
| Images | XX/100 | — |
| Local | XX/100 (if applicable) | — |

---

## Critical Issues (fix within 48h)

| # | Issue | Dimension | Impact | Fix |
|---|-------|-----------|--------|-----|
| 1 | ... | Technical | High | ... |
| 2 | ... | Content | High | ... |

---

## Action Plan

### Quick Wins (< 1 hour)
| # | Task | Dimension | Expected gain |
|---|------|-----------|---------------|
| 1 | ... | ... | ... |

### 1-Week Fixes
| # | Task | Dimension | Effort |
|---|------|-----------|--------|
| 1 | ... | ... | Medium |

### 1-Month Projects
| # | Task | Dimension | Effort |
|---|------|-----------|--------|
| 1 | ... | ... | High |

### Backlog
- [item]

---

## Detailed Findings

[Include the full dimension analysis sections here — one section per sub-agent or per command run]

---

## About This Report

Generated by NullToHero /seo · [github.com/MariusYvard/NullToHero](https://github.com/MariusYvard/NullToHero) · Apache 2.0
```

## Score gauges

Render scores as ASCII progress bars in Markdown mode:

| Score | Gauge |
|-------|-------|
| 0-19 | `[..........] XX/100` |
| 20-39 | `[##........] XX/100` |
| 40-59 | `[####......] XX/100` |
| 60-79 | `[######....] XX/100` |
| 80-89 | `[########..] XX/100` |
| 90-100 | `[##########] XX/100` |

Use `#` characters to fill proportionally: score/10 rounded = number of `#` blocks.

Example for 73/100: `[#######...] 73/100`

## Color coding

In Markdown tables, prefix status values with:
- Critical / fail: `CRIT` or emoji flag — put in "Critical Issues" table
- Warning: `WARN`
- Pass: `PASS`

Do not use HTML color spans in Markdown mode — they break in most markdown renderers.

## PDF mode

When the user requests PDF output (e.g. "export as PDF", "make a PDF", "save as PDF"):

1. Generate the full Markdown report first (save as `SEO-REPORT-[domain]-[date].md`)
2. Inform the user: "Your Markdown report is ready. To convert to PDF, I'll use the Cowork PDF skill."
3. Invoke the `pdf` skill with the generated markdown file as input
4. The PDF skill will render it with proper formatting

If the `pdf` skill is not available, deliver the Markdown report and note: "PDF export requires the Cowork PDF skill. Your report is available as Markdown."

## File naming

| Format | Filename |
|--------|----------|
| Markdown | `SEO-REPORT-[domain]-[YYYY-MM-DD].md` |
| Action plan only | `ACTION-PLAN-[domain]-[YYYY-MM-DD].md` |
| PDF | `SEO-REPORT-[domain]-[YYYY-MM-DD].pdf` |

## CROSS-SKILL REFERENCES

| Need | Skill |
|------|-------|
| Full audit to report | `/seo audit [url]` then `/seo report` |
| PDF conversion | `pdf` skill (Cowork) |
| Single page report | `/seo page [url]` then `/seo report` |
| Drift comparison report | `/seo drift [url] compare` then `/seo report` |
