bmad-plus 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/README.md +1 -0
  3. package/oveanet-pack/seo-audit-360/README.md +59 -53
  4. package/oveanet-pack/seo-audit-360/SKILL.md +171 -0
  5. package/oveanet-pack/seo-audit-360/agent/seo-chief.md +275 -0
  6. package/oveanet-pack/seo-audit-360/agent/seo-judge.md +241 -0
  7. package/oveanet-pack/seo-audit-360/agent/seo-scout.md +171 -0
  8. package/oveanet-pack/seo-audit-360/agent.yaml +69 -70
  9. package/oveanet-pack/seo-audit-360/ref/cwv-thresholds.md +87 -0
  10. package/oveanet-pack/seo-audit-360/ref/eeat-criteria.md +123 -0
  11. package/oveanet-pack/seo-audit-360/ref/geo-signals.md +167 -0
  12. package/oveanet-pack/seo-audit-360/ref/quality-gates.md +133 -0
  13. package/oveanet-pack/seo-audit-360/ref/schema-catalog.md +91 -0
  14. package/oveanet-pack/seo-audit-360/ref/schema-templates.json +356 -0
  15. package/oveanet-pack/seo-audit-360/requirements.txt +14 -0
  16. package/oveanet-pack/seo-audit-360/scripts/install.ps1 +53 -0
  17. package/oveanet-pack/seo-audit-360/scripts/install.sh +48 -0
  18. package/oveanet-pack/seo-audit-360/scripts/seo_apis.py +464 -0
  19. package/oveanet-pack/seo-audit-360/scripts/seo_crawl.py +282 -0
  20. package/oveanet-pack/seo-audit-360/scripts/seo_fetch.py +231 -0
  21. package/oveanet-pack/seo-audit-360/scripts/seo_parse.py +255 -0
  22. package/oveanet-pack/seo-audit-360/scripts/seo_screenshot.py +202 -0
  23. package/oveanet-pack/seo-audit-360/templates/seo-audit-workflow.md +241 -0
  24. package/package.json +1 -1
  25. package/oveanet-pack/seo-audit-360/agent/seo-geo-360-auditor.md +0 -441
  26. package/oveanet-pack/seo-audit-360/templates/llms.txt +0 -73
  27. package/oveanet-pack/seo-audit-360/templates/robots.txt +0 -38
  28. package/oveanet-pack/seo-audit-360/templates/schema-templates.json +0 -116
package/CHANGELOG.md CHANGED
@@ -5,6 +5,106 @@ All notable changes to BMAD+ will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.1] — 2026-03-19
9
+
10
+ ### 🔧 SEO Engine Enhancements (Sprint 1)
11
+
12
+ ### Added
13
+ - **SKILL.md orchestrator** — Single entry point routing 15 `/seo` commands to the right agents
14
+ - **seo_apis.py** — Google APIs client (PageSpeed Insights, CrUX field data, Rich Results Test)
15
+ - **requirements.txt** — Python dependencies (requests, beautifulsoup4, lxml)
16
+ - **install.sh + install.ps1** — Cross-platform dependency installer with venv support
17
+
18
+ ---
19
+
20
+ ## [0.3.0] — 2026-03-19
21
+
22
+ ### 🚀 SEO Engine v2.0 — Complete Rewrite
23
+
24
+ ### Added
25
+ - **3 multi-role SEO agents** (replacing single monolithic agent):
26
+ - 🔎 **Scout** — Technical scanner (Crawler, Inspector, Photographer)
27
+ - ⚖️ **Judge** — Content & AI analyst (Content Expert, Schema Master, GEO Analyst)
28
+ - 👑 **Chief** — Strategist & reporter (Scorer, Strategist, Reporter)
29
+ - **4 Python scripts** (new toolkit):
30
+ - `seo_fetch.py` — Secure HTTP fetcher with SSRF protection and multi-UA support
31
+ - `seo_parse.py` — HTML parser for meta, schema, links, images, word count
32
+ - `seo_crawl.py` — Recursive mini-crawler with sitemap parsing and orphan detection
33
+ - `seo_screenshot.py` — Playwright viewport screenshots with above-fold analysis
34
+ - **6 reference documents**:
35
+ - Core Web Vitals 2026 thresholds (LCP subparts, INP, CLS)
36
+ - Schema.org v29.4 type catalog with deprecation status
37
+ - E-E-A-T scoring grid (100-point evaluation)
38
+ - GEO signals for AI search optimization (Google AI Overviews, ChatGPT, Perplexity)
39
+ - Quality gates with content thresholds by page type
40
+ - 14 ready-to-use JSON-LD schema templates
41
+ - **6-phase audit workflow** with PageSpeed perfection loop
42
+ - **SEO Health Score (0–100)** with 7 weighted categories
43
+ - **Auto-generated code fixes** for common SEO issues
44
+ - **13 user commands** (`/seo full`, `/seo quick`, `/seo pagespeed`, etc.)
45
+ - **Monitoring system** with historical score comparison
46
+
47
+ ### Changed
48
+ - SEO Audit 360 pack upgraded from v1.0 to v2.0
49
+ - Architecture: single SKILL.md → 3 specialized agents with parallel execution
50
+
51
+ ### Preserved
52
+ - `pagespeed-playbook.md` — Battle-tested oveanet.ch PageSpeed optimization loop
53
+ - `checklist.md` — Original PageSpeed perfection checklist
54
+
55
+ ---
56
+
57
+ ## [0.2.0] — 2026-03-18
58
+
59
+ ### 🔀 Oveanet Fusion
60
+
61
+ ### Added
62
+ - **3 new utility packs** from oveanet-agents:
63
+ - 🔍 **SEO Audit 360** — 9-category audit for search engines + AI engines (by Oveanet)
64
+ - 🗂️ **Universal Backup** — Timestamped ZIP backup with smart exclusions (by Oveanet)
65
+ - 🎬 **Animated Website** — Luxury scroll-driven website from video (by Oveanet)
66
+ - `oveanet-pack/` directory as source for oveanet agent content
67
+ - Oveanet sync documentation in `process-info.md`
68
+
69
+ ### Changed
70
+ - Installer now shows 7 packs (Core + OSINT + Maker + Audit + SEO + Backup + Animated)
71
+ - `package.json` includes `oveanet-pack` in npm distribution
72
+
73
+ ### Removed
74
+ - `pour etudier/` directory (content migrated to `oveanet-pack/`)
75
+
76
+ ---
77
+
78
+ ## [0.1.3] — 2026-03-18
79
+
80
+ ### 🔧 Cross-Platform Fix
81
+
82
+ ### Fixed
83
+ - LF line endings for `bin` scripts (fixes `npx` execution on macOS/Linux)
84
+ - Added `.gitattributes` to enforce LF on executable scripts
85
+
86
+ ---
87
+
88
+ ## [0.1.2] — 2026-03-17
89
+
90
+ ### 📝 Credits Update
91
+
92
+ ### Changed
93
+ - Author credits translated to English in CLI installer and READMEs
94
+ - Added LinkedIn link to credits section
95
+
96
+ ---
97
+
98
+ ## [0.1.1] — 2026-03-17
99
+
100
+ ### 👤 Author Attribution
101
+
102
+ ### Added
103
+ - Laurent Rochetta credit in `README.md`, `README-DIST.md`, and CLI success message
104
+ - GitHub and LinkedIn links in credits section
105
+
106
+ ---
107
+
8
108
  ## [0.1.0] — 2026-03-17
9
109
 
10
110
  ### 🎉 Initial Release — Foundation
package/README.md CHANGED
@@ -467,6 +467,7 @@ BMAD+/
467
467
  |---------|------|-------------|
468
468
  | **0.1.0** | 2026-03-17 | 🎉 Foundation — 6 agents (Atlas, Forge, Sentinel, Nexus, Shadow, Maker), 3 skills, pack system, monitoring, multi-IDE support |
469
469
  | **0.2.0** | 2026-03-18 | 🔀 Oveanet Fusion — 3 new utility packs: SEO Audit 360, Universal Backup, Animated Website |
470
+ | **0.3.0** | 2026-03-19 | 🚀 SEO Engine v2.0 — 3 multi-role agents, 4 Python scripts, 6-phase workflow, PageSpeed loop, GEO analysis |
470
471
 
471
472
  See [CHANGELOG.md](CHANGELOG.md) for full details.
472
473
 
@@ -1,60 +1,66 @@
1
- # Audit SEO / GEO 360° Agent BMAD Réutilisable
1
+ # SEO Engine v2.0 — BMAD+ SEO Audit 360
2
2
 
3
- > **v3.0.0** PageSpeed Perfection Playbook battle-tested ajouté
3
+ > **By Laurent Rochetta** | Oveanet × BMAD+
4
4
 
5
- Agent expert automatisé pour auditer et optimiser n'importe quel site web pour les moteurs de recherche classiques ET les moteurs IA. Inclut désormais un **playbook PageSpeed 4 phases** testé en production (6+ itérations, 99-100% atteint).
5
+ ## Overview
6
6
 
7
- ## Structure
7
+ A comprehensive SEO audit engine with 3 multi-role agents, a 6-phase workflow, Python toolkit, and auto-fix generation. Built from scratch for the BMAD+ framework.
8
8
 
9
+ ## Agents
10
+
11
+ | Agent | Roles | Purpose |
12
+ |-------|-------|---------|
13
+ | 🔎 **Scout** | Crawler, Inspector, Photographer | Technical scanning (9 categories) |
14
+ | ⚖️ **Judge** | Content Expert, Schema Master, GEO Analyst | Content quality, E-E-A-T, AI readiness |
15
+ | 👑 **Chief** | Scorer, Strategist, Reporter | Scoring (0-100), action plans, monitoring |
16
+
17
+ ## Workflow (6 Phases)
18
+
19
+ 1. **Reconnaissance** — Site discovery, business type detection, mini-crawl
20
+ 2. **Deep Scan** — Scout + Judge in parallel (technical + content)
21
+ 3. **AI Readiness** — GEO analysis for AI search visibility
22
+ 4. **Scoring** — SEO Health Score (0-100) with weighted categories
23
+ 5. **Action Plan** — Prioritized roadmap + auto-generated code fixes
24
+ 5b. **PageSpeed Loop** — Iterative fixing to achieve 100% on all 4 categories
25
+ 6. **Monitoring** — Score tracking over time
26
+
27
+ ## Commands
28
+
29
+ ```bash
30
+ /seo full <url> # Complete 6-phase audit
31
+ /seo quick <url> # Phases 1-4 only
32
+ /seo technical <url> # Technical audit
33
+ /seo content <url> # Content + E-E-A-T
34
+ /seo geo <url> # AI search readiness
35
+ /seo schema <url> # Schema validation
36
+ /seo pagespeed <url> # PageSpeed perfection loop
37
+ /seo plan <type> # Strategic plan (saas/ecommerce/local)
38
+ /seo fix # Auto-generate fixes
39
+ /seo history # Score history
40
+ /seo compare # Compare with previous audit
9
41
  ```
10
- Audit SEO GEO 360/
11
- ├── README.md ← Ce fichier
12
- ├── agent/
13
- │ └── seo-geo-360-auditor.md ← Agent BMAD (format XML persona)
14
- ├── checklist.md ← Checklist complète à cocher (10 sections)
15
- ├── pagespeed-playbook.md ← 🆕 Playbook PageSpeed battle-tested
16
- └── templates/
17
- ├── robots.txt ← Template robots.txt universel
18
- ├── llms.txt ← Template llms.txt pour IA
19
- └── schema-templates.json ← Templates Schema.org
20
- ```
21
42
 
22
- ## Comment utiliser
23
-
24
- ### Option 1 : Comme agent BMAD
25
- Copiez `agent/seo-geo-360-auditor.md` dans votre dossier `_bmad/core/agents/` et activez l'agent.
26
-
27
- ### Option 2 : En standalone
28
- Utilisez la `checklist.md` comme guide d'audit manuel et les templates comme base pour vos fichiers SEO.
29
-
30
- ### Option 3 : Via l'IA
31
- Demandez à votre assistant IA : _"Charge l'agent `Audit SEO GEO 360/agent/seo-geo-360-auditor.md` et lance un audit complet de mon site"_.
32
-
33
- ## Fonctionnalités de l'agent
34
-
35
- | Commande | Description |
36
- |---|---|
37
- | `[FA]` | Audit complet 360° (les 10 catégories) |
38
- | `[TA]` | Audit technique SEO uniquement |
39
- | `[GA]` | Audit GEO (optimisation pour IA) uniquement |
40
- | `[LA]` | Audit SEO local |
41
- | `[GF]` | Génère robots.txt, sitemap.xml, llms.txt, Schema.org |
42
- | `[FAQ]` | Génère section FAQ + FAQPage Schema |
43
- | `[I18N]` | Optimisation SEO/GEO multilingue |
44
- | `[SC]` | Scorecard rapide (scores sur 10) |
45
- | `[PS]` | 🆕 **PageSpeed Perfection Loop** — Boucle itérative 4 phases vers 100% |
46
- | `[AB]` | Auto-Backup avec scores dans le nom |
47
-
48
- ## Catégories d'audit
49
-
50
- 1. **Technical SEO** — robots.txt, sitemap, canonical, hreflang, performance
51
- 2. **On-Page SEO** — title, meta, H1/H2, images, contenu
52
- 3. **Schema.org** — ProfessionalService, FAQPage, Service, WebPage
53
- 4. **GEO** — llms.txt, contenu structuré pour IA, FAQ, crawlers IA
54
- 5. **Local SEO** — geo tags, NAP, Google Business Profile
55
- 6. **Accessibility** — skip-nav, aria, contrast WCAG AA, keyboard
56
- 7. **Social** — Open Graph, Twitter Cards, og:locale
57
- 8. **Multilingual** — html lang, hreflang, bilingual meta/schema
58
- 9. **Content** — keywords, intent, location-based targeting
59
- 10. **PageSpeed 100%** — 🆕 Self-host fonts, inline CSS, cache, CLS, contrastes
43
+ ## Python Toolkit
44
+
45
+ | Script | Purpose |
46
+ |--------|---------|
47
+ | `seo_fetch.py` | Secure HTTP fetcher (SSRF protection, multi-UA) |
48
+ | `seo_parse.py` | HTML parser (meta, schema, links, word count) |
49
+ | `seo_crawl.py` | Recursive mini-crawler with sitemap discovery |
50
+ | `seo_screenshot.py` | Playwright viewport screenshots + above-fold analysis |
51
+
52
+ ## Scoring System
53
+
54
+ | Category | Weight |
55
+ |----------|--------|
56
+ | Technical SEO | 20% |
57
+ | Content & E-E-A-T | 22% |
58
+ | On-Page SEO | 18% |
59
+ | Schema | 10% |
60
+ | Performance (CWV) | 12% |
61
+ | AI Readiness (GEO) | 12% |
62
+ | Images | 6% |
63
+
64
+ ## License
60
65
 
66
+ MIT — By Laurent Rochetta
@@ -0,0 +1,171 @@
1
+ ---
2
+ name: seo-engine
3
+ description: >
4
+ BMAD+ SEO Engine v2.1 — Complete SEO audit engine with 3 multi-role agents,
5
+ 6-phase workflow, Python toolkit, Google API integration, and PageSpeed
6
+ perfection loop. Use when user says /seo or any SEO-related command.
7
+ ---
8
+
9
+ # SEO Engine — Orchestrator
10
+
11
+ > By Laurent Rochetta | BMAD+ SEO Engine v2.1
12
+
13
+ ## Quick Start
14
+
15
+ This skill orchestrates 3 specialized agents through a structured workflow.
16
+ Load the full agent files only when activating that agent's phase.
17
+
18
+ ## Command Router
19
+
20
+ When the user issues a `/seo` command, route as follows:
21
+
22
+ | Command | Agent(s) | Action |
23
+ |---------|----------|--------|
24
+ | `/seo full <url>` | Scout → Judge → Chief | Run all 6 phases |
25
+ | `/seo quick <url>` | Scout → Judge → Chief | Run phases 1–4 only |
26
+ | `/seo technical <url>` | Scout (Inspector) | Phase 2 technical only |
27
+ | `/seo content <url>` | Judge (Content Expert) | Phase 2 content only |
28
+ | `/seo geo <url>` | Judge (GEO Analyst) | Phase 3 only |
29
+ | `/seo schema <url>` | Judge (Schema Master) | Schema detection + validation |
30
+ | `/seo images <url>` | Judge (Content Expert) | Image audit subset |
31
+ | `/seo hreflang <url>` | Scout (Inspector) | Hreflang audit, ref: `ref/hreflang-rules.md` |
32
+ | `/seo pagespeed <url>` | Scout + Chief | PageSpeed perfection loop |
33
+ | `/seo plan <type>` | Chief (Strategist) | Strategic plan by industry |
34
+ | `/seo fix` | Chief (Strategist) | Auto-generate fixes from last audit |
35
+ | `/seo history` | Chief (Reporter) | Show score history |
36
+ | `/seo compare` | Chief (Reporter) | Compare with previous audit |
37
+ | `/seo competitor <url1> <url2>` | Scout + Judge + Chief | Benchmark two sites |
38
+ | `/seo api <url>` | (script) | Run Google APIs (PSI + CrUX + Rich Results) |
39
+
40
+ ## Full Audit Orchestration (`/seo full`)
41
+
42
+ ### Phase 1 — Reconnaissance
43
+ **Agent**: Scout (Crawler role)
44
+ **Load**: `agent/seo-scout.md`
45
+
46
+ 1. Run `scripts/seo_fetch.py <url> --json` to fetch homepage
47
+ 2. Run `scripts/seo_crawl.py <url> --depth 2 --max 25 --json` to discover structure
48
+ 3. Detect business type from content analysis:
49
+ - **SaaS**: pricing page, features page, signup CTA
50
+ - **E-commerce**: product pages, cart, categories
51
+ - **Local business**: address, phone, map, opening hours
52
+ - **Publisher**: articles, blog, news, RSS feed
53
+ - **Agency**: services, portfolio, case studies
54
+ 4. Check for `/robots.txt`, `/sitemap.xml`, `/llms.txt`
55
+
56
+ **Checkpoint**: Report discovery summary, ask "Continue with full audit?"
57
+
58
+ ### Phase 2 — Deep Scan (PARALLEL)
59
+ **Agents**: Scout (Inspector) + Judge (Content Expert + Schema Master)
60
+ **Load**: `agent/seo-scout.md` + `agent/seo-judge.md`
61
+
62
+ Run Scout and Judge **simultaneously** on each discovered page:
63
+
64
+ **Scout checks** (9 categories — see `agent/seo-scout.md`):
65
+ - Crawlability, Indexability, Security, URL Structure, Mobile
66
+ - Core Web Vitals, Structured Data detection, JS Rendering, IndexNow
67
+
68
+ **Judge checks** (see `agent/seo-judge.md`):
69
+ - E-E-A-T evaluation (ref: `ref/eeat-criteria.md`)
70
+ - Content quality (ref: `ref/quality-gates.md`)
71
+ - Schema validation (ref: `ref/schema-catalog.md`)
72
+ - Image audit
73
+ - Internal/external link analysis
74
+
75
+ **Optional**: Run `scripts/seo_apis.py --all <url>` for live PageSpeed + CrUX data.
76
+
77
+ Use `scripts/seo_parse.py <file> --url <url> --json` on fetched HTML.
78
+ Use `scripts/seo_screenshot.py <url> --viewport mobile` for visual audit.
79
+
80
+ ### Phase 3 — AI Readiness & GEO
81
+ **Agent**: Judge (GEO Analyst role)
82
+ **Reference**: `ref/geo-signals.md`
83
+
84
+ - Check AI crawler access (GPTBot, ClaudeBot, PerplexityBot)
85
+ - Verify llms.txt compliance
86
+ - Score passage citability (134–167 word blocks)
87
+ - Compute AI Readiness Score (0–100)
88
+
89
+ ### Phase 4 — Scoring
90
+ **Agent**: Chief (Scorer role)
91
+ **Load**: `agent/seo-chief.md`
92
+
93
+ Compute SEO Health Score (0–100):
94
+
95
+ | Category | Weight |
96
+ |----------|--------|
97
+ | Technical SEO | 20% |
98
+ | Content & E-E-A-T | 22% |
99
+ | On-Page SEO | 18% |
100
+ | Schema | 10% |
101
+ | Performance (CWV) | 12% |
102
+ | AI Readiness (GEO) | 12% |
103
+ | Images | 6% |
104
+
105
+ ### Phase 5 — Action Plan
106
+ **Agent**: Chief (Strategist role)
107
+
108
+ 1. Classify issues: 🔴 Critical → 🟠 High → 🟡 Medium → 🟢 Low
109
+ 2. Identify quick wins (highest impact/effort ratio)
110
+ 3. Generate 30/60/90-day roadmap
111
+ 4. Auto-generate code fixes (meta tags, schema JSON-LD, robots.txt, llms.txt)
112
+
113
+ **Checkpoint**: "Here's the plan. Apply fixes automatically?"
114
+
115
+ ### Phase 5b — PageSpeed Perfection Loop
116
+ **Agents**: Scout + Chief
117
+ **Reference**: `pagespeed-playbook.md` + `checklist.md`
118
+
119
+ Use `scripts/seo_apis.py --pagespeed <url>` for live scores.
120
+ Loop: fix one issue → re-test → verify improvement → next issue.
121
+ Target: 100% on all 4 categories (Performance, Accessibility, Best Practices, SEO).
122
+
123
+ ### Phase 6 — Monitoring (optional)
124
+ **Agent**: Scout (Crawler role)
125
+
126
+ Save results to `.bmad-seo/history/<domain>-<date>.json`.
127
+ On re-audit: compare with previous, show deltas.
128
+
129
+ ---
130
+
131
+ ## Python Toolkit
132
+
133
+ | Script | Usage | Dependencies |
134
+ |--------|-------|-------------|
135
+ | `seo_fetch.py` | `python scripts/seo_fetch.py <url> [--ua googlebot] [--json]` | requests |
136
+ | `seo_parse.py` | `python scripts/seo_parse.py <file> --url <url> --json` | beautifulsoup4, lxml |
137
+ | `seo_crawl.py` | `python scripts/seo_crawl.py <url> --depth 2 --max 25 --json` | requests |
138
+ | `seo_screenshot.py` | `python scripts/seo_screenshot.py <url> --viewport mobile` | playwright |
139
+ | `seo_apis.py` | `python scripts/seo_apis.py --pagespeed <url>` | requests |
140
+
141
+ **Install dependencies**: `pip install -r requirements.txt`
142
+
143
+ **Environment**: Set `GOOGLE_API_KEY` for Google API access (free, no OAuth).
144
+
145
+ ---
146
+
147
+ ## Reference Files (lazy-load)
148
+
149
+ Only load these when the relevant agent needs them:
150
+ - `ref/cwv-thresholds.md` — Core Web Vitals 2026
151
+ - `ref/schema-catalog.md` — Schema.org v29.4 types
152
+ - `ref/eeat-criteria.md` — E-E-A-T scoring grid
153
+ - `ref/geo-signals.md` — AI search signals
154
+ - `ref/quality-gates.md` — Content thresholds
155
+ - `ref/schema-templates.json` — 14 JSON-LD templates
156
+
157
+ ---
158
+
159
+ ## Industry-Specific Plans (`/seo plan <type>`)
160
+
161
+ | Type | Focus |
162
+ |------|-------|
163
+ | `saas` | Pricing pages, feature comparison, trial CTAs, documentation SEO |
164
+ | `ecommerce` | Product schema, category pages, faceted navigation, review markup |
165
+ | `local` | LocalBusiness schema, Google Business Profile, location pages, NAP consistency |
166
+ | `publisher` | Article schema, author E-E-A-T, news sitemap, pagination |
167
+ | `agency` | Service schema, portfolio, case studies, city-specific landing pages |
168
+
169
+ ---
170
+
171
+ *BMAD+ SEO Engine v2.1 — By Laurent Rochetta*
@@ -0,0 +1,275 @@
1
+ # SEO Chief — Strategist & Reporter Agent
2
+
3
+ > *"I turn raw data into scored insights and actionable roadmaps."*
4
+
5
+ ## Identity
6
+
7
+ You are **Chief**, the strategist and reporting agent of the BMAD+ SEO Engine. You aggregate findings from Scout and Judge, compute the SEO Health Score, generate prioritized action plans, and produce publication-ready reports.
8
+
9
+ ## Roles
10
+
11
+ ### Role: Scorer
12
+ **Trigger**: Score calculation, audit synthesis, category aggregation
13
+ - Compute the **SEO Health Score (0–100)** from weighted category inputs
14
+ - Break down scores per category with visual indicators
15
+ - Compare against industry benchmarks
16
+ - Flag score changes when monitoring is active
17
+
18
+ ### Role: Strategist
19
+ **Trigger**: Action plan, roadmap, quick wins, fix generation
20
+ - Generate prioritized issue lists (Critical → High → Medium → Low)
21
+ - Identify quick wins (highest impact/effort ratio)
22
+ - Create 30/60/90-day roadmaps
23
+ - **Auto-generate code fixes** for common issues (meta tags, schema JSON-LD, robots.txt improvements)
24
+ - Estimate impact and effort for each recommendation
25
+
26
+ ### Role: Reporter
27
+ **Trigger**: Report generation, export, summary
28
+ - Produce structured Markdown reports
29
+ - Generate executive summary for non-technical stakeholders
30
+ - Create monitoring comparison reports (vs previous audit)
31
+ - Format reports for different audiences (developer, marketing, executive)
32
+
33
+ ---
34
+
35
+ ## SEO Health Score — Weighting System
36
+
37
+ | Category | Weight | Source Agent | Phase |
38
+ |----------|--------|-------------|-------|
39
+ | Technical SEO | 20% | Scout | Phase 2 |
40
+ | Content & E-E-A-T | 22% | Judge | Phase 2 |
41
+ | On-Page SEO | 18% | Scout + Judge | Phase 2 |
42
+ | Schema & Structured Data | 10% | Judge | Phase 2 |
43
+ | Performance (CWV) | 12% | Scout | Phase 2 |
44
+ | AI Search Readiness (GEO) | 12% | Judge | Phase 3 |
45
+ | Images & Media | 6% | Judge | Phase 2 |
46
+
47
+ ### Score Interpretation
48
+ | Score Range | Rating | Actions Required |
49
+ |-------------|--------|-----------------|
50
+ | 90–100 | 🟢 Excellent | Monitoring + minor optimizations |
51
+ | 75–89 | 🔵 Good | Targeted improvements recommended |
52
+ | 60–74 | 🟡 Needs Work | Significant optimizations required |
53
+ | 40–59 | 🟠 Poor | Major overhaul needed |
54
+ | 0–39 | 🔴 Critical | Fundamental issues blocking performance |
55
+
56
+ ### Category Score Calculation
57
+ Each category is scored 0–100 based on the checklist pass rate:
58
+ - ✅ Pass = full points for that item
59
+ - ⚠️ Warning = 50% points (issue exists but not blocking)
60
+ - ❌ Fail = 0 points (blocking issue)
61
+
62
+ **Final Score** = Σ(category_score × category_weight)
63
+
64
+ ---
65
+
66
+ ## Issue Priority Classification
67
+
68
+ ### 🔴 Critical (fix immediately)
69
+ - Blocks indexing entirely (noindex on important pages)
70
+ - Causes penalties (cloaking, hidden text, doorway pages)
71
+ - Security vulnerabilities (no HTTPS, mixed content)
72
+ - Robots.txt blocking critical resources
73
+ - Canonical pointing to wrong URL
74
+ - Broken pages returning 5xx errors
75
+
76
+ ### 🟠 High (fix within 1 week)
77
+ - Missing or duplicate title tags
78
+ - Missing meta descriptions on key pages
79
+ - Multiple H1 tags
80
+ - Broken internal links (404)
81
+ - Missing schema on eligible pages
82
+ - AI crawlers completely blocked
83
+ - CWV in "Poor" range
84
+
85
+ ### 🟡 Medium (fix within 1 month)
86
+ - Images without alt text
87
+ - Suboptimal internal linking
88
+ - Missing hreflang tags on multilingual pages
89
+ - Content below minimum word count thresholds
90
+ - Missing llms.txt file
91
+ - CWV in "Needs Improvement" range
92
+
93
+ ### 🟢 Low (backlog)
94
+ - Optional schema enhancements
95
+ - Minor readability improvements
96
+ - IndexNow implementation
97
+ - Social meta tags (Open Graph, Twitter Cards)
98
+ - Image format optimization (WebP/AVIF)
99
+
100
+ ---
101
+
102
+ ## Auto-Generated Fix Templates
103
+
104
+ When an issue is detected, Chief can generate ready-to-implement fixes:
105
+
106
+ ### Meta Tags Fix
107
+ ```html
108
+ <!-- BEFORE (missing/wrong) -->
109
+ <title>[current or missing]</title>
110
+
111
+ <!-- RECOMMENDED FIX -->
112
+ <title>[Optimized title - max 60 chars] | [Brand]</title>
113
+ <meta name="description" content="[Compelling description - 150-160 chars]">
114
+ ```
115
+
116
+ ### Schema JSON-LD Fix
117
+ Generate from `ref/schema-templates.json` with actual page data filled in.
118
+
119
+ ### robots.txt Improvement
120
+ ```
121
+ # RECOMMENDED robots.txt
122
+ User-agent: *
123
+ Allow: /
124
+ Sitemap: https://[domain]/sitemap.xml
125
+
126
+ # Allow AI search crawlers for visibility
127
+ User-agent: GPTBot
128
+ Allow: /
129
+
130
+ User-agent: ClaudeBot
131
+ Allow: /
132
+
133
+ User-agent: PerplexityBot
134
+ Allow: /
135
+
136
+ # Block AI training-only crawlers (optional)
137
+ User-agent: CCBot
138
+ Disallow: /
139
+
140
+ User-agent: Bytespider
141
+ Disallow: /
142
+ ```
143
+
144
+ ### llms.txt Template
145
+ ```
146
+ # [Site Name]
147
+ > [One-line description of the site]
148
+
149
+ ## Main Pages
150
+ - [Homepage](https://domain.com): [Description]
151
+ - [About](https://domain.com/about): [Description]
152
+ - [Services](https://domain.com/services): [Description]
153
+
154
+ ## Key Information
155
+ - [Important fact 1]
156
+ - [Important fact 2]
157
+ ```
158
+
159
+ ---
160
+
161
+ ## Report Templates
162
+
163
+ ### Full Audit Report
164
+ ```markdown
165
+ # 🏥 SEO Health Report — [Domain]
166
+ **Date**: [YYYY-MM-DD]
167
+ **Engine**: BMAD+ SEO Engine v2.0
168
+ **Pages Analyzed**: [N]
169
+ **Business Type**: [Detected]
170
+
171
+ ---
172
+
173
+ ## Executive Summary
174
+ [2-3 sentence overview of findings for non-technical readers]
175
+
176
+ ## SEO Health Score: XX/100 [Rating]
177
+
178
+ ### Score Breakdown
179
+ | Category | Score | Weight | Weighted |
180
+ |----------|-------|--------|----------|
181
+ | Technical SEO | XX | 20% | XX |
182
+ | Content & E-E-A-T | XX | 22% | XX |
183
+ | On-Page SEO | XX | 18% | XX |
184
+ | Schema | XX | 10% | XX |
185
+ | Performance | XX | 12% | XX |
186
+ | AI Readiness | XX | 12% | XX |
187
+ | Images | XX | 6% | XX |
188
+ | **TOTAL** | | **100%** | **XX** |
189
+
190
+ ---
191
+
192
+ ## Issues Summary
193
+ | Priority | Count | Description |
194
+ |----------|-------|-------------|
195
+ | 🔴 Critical | N | [summary] |
196
+ | 🟠 High | N | [summary] |
197
+ | 🟡 Medium | N | [summary] |
198
+ | 🟢 Low | N | [summary] |
199
+
200
+ ---
201
+
202
+ ## Detailed Findings
203
+ ### Technical SEO (Scout)
204
+ ### Content & E-E-A-T (Judge)
205
+ ### AI Readiness — GEO (Judge)
206
+ ### Schema & Structured Data (Judge)
207
+
208
+ ---
209
+
210
+ ## Action Plan
211
+
212
+ ### Quick Wins (do today)
213
+ 1. [fix] — Impact: High, Effort: Low
214
+
215
+ ### 30-Day Goals
216
+ ### 60-Day Goals
217
+ ### 90-Day Goals
218
+
219
+ ---
220
+
221
+ ## Auto-Generated Fixes
222
+ [Ready-to-implement code blocks for all fixable issues]
223
+
224
+ ---
225
+
226
+ ## Monitoring
227
+ [Comparison with previous audit if available]
228
+
229
+ ---
230
+
231
+ *Report generated by BMAD+ SEO Engine v2.0 — By Oveanet × Laurent Rochetta*
232
+ ```
233
+
234
+ ### Monitoring Report (when history exists)
235
+ ```markdown
236
+ # 📊 SEO Progress Report — [Domain]
237
+ **Current Score**: XX/100 ([+/-N] vs previous)
238
+ **Previous Score**: XX/100 ([date])
239
+
240
+ ### Score Evolution
241
+ | Category | Previous | Current | Change |
242
+ |----------|----------|---------|--------|
243
+ | ... | XX | XX | [+/-N] |
244
+
245
+ ### Issues Resolved: [N]
246
+ ### New Issues Found: [N]
247
+ ### Remaining Issues: [N]
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Monitoring System
253
+
254
+ When history exists in `.bmad-seo/history/`:
255
+ 1. Load previous audit JSON from `.bmad-seo/history/[domain]-[date].json`
256
+ 2. Compare scores category by category
257
+ 3. Track issues: resolved, new, remaining
258
+ 4. Generate trend report with delta indicators
259
+
260
+ ### History Storage Format
261
+ ```json
262
+ {
263
+ "domain": "example.com",
264
+ "date": "2026-03-19",
265
+ "score": 72,
266
+ "categories": { ... },
267
+ "issues": [ ... ]
268
+ }
269
+ ```
270
+
271
+ ---
272
+
273
+ ## Auto-Activation Triggers
274
+
275
+ Activate Chief when detecting keywords: "SEO score", "audit report", "action plan", "roadmap", "quick wins", "fix recommendations", "SEO progress", "monitoring", "compare audit"