bmad-plus 0.7.4 → 0.8.0
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.
- package/CHANGELOG.md +450 -407
- package/LICENSE +21 -0
- package/README.md +555 -446
- package/osint-agent-package/README.md +88 -88
- package/osint-agent-package/SETUP_KEYS.md +108 -108
- package/osint-agent-package/agents/osint-investigator.md +80 -80
- package/osint-agent-package/install.ps1 +87 -87
- package/osint-agent-package/install.sh +76 -76
- package/osint-agent-package/skills/bmad-osint-investigate/SKILL.md +147 -147
- package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +452 -452
- package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +116 -116
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -100
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/enrichment-databases-fr.md +148 -148
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -130
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -69
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -281
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/_http.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/apify.py +266 -260
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/brightdata.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/diagnose.py +141 -141
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/exa.py +79 -79
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/jina.py +71 -71
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -136
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/parallel.py +85 -85
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/perplexity.py +102 -102
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/tavily.py +72 -72
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/volley.py +208 -208
- package/osint-agent-package/skills/bmad-osint-investigator/SKILL.md +15 -15
- package/package.json +62 -57
- package/readme-international/README.de.md +576 -426
- package/readme-international/README.es.md +578 -518
- package/readme-international/README.fr.md +576 -516
- package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +96 -96
- package/src/bmad-plus/agents/agent-architect-dev/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-maker/SKILL.md +201 -201
- package/src/bmad-plus/agents/agent-maker/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +137 -137
- package/src/bmad-plus/agents/agent-orchestrator/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-quality/SKILL.md +83 -83
- package/src/bmad-plus/agents/agent-quality/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-shadow/SKILL.md +71 -71
- package/src/bmad-plus/agents/agent-shadow/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-strategist/SKILL.md +80 -80
- package/src/bmad-plus/agents/agent-strategist/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/pack-animated/animated-website-agent.md +325 -325
- package/src/bmad-plus/agents/pack-animated/templates/animated-website-workflow.md +55 -55
- package/src/bmad-plus/agents/pack-backup/backup-agent.md +71 -71
- package/src/bmad-plus/agents/pack-backup/templates/backup-workflow.md +51 -51
- package/src/bmad-plus/agents/pack-seo/SKILL.md +171 -171
- package/src/bmad-plus/agents/pack-seo/checklist.md +140 -140
- package/src/bmad-plus/agents/pack-seo/pagespeed-playbook.md +320 -320
- package/src/bmad-plus/agents/pack-seo/ref/audit-schema.json +187 -187
- package/src/bmad-plus/agents/pack-seo/ref/cwv-thresholds.md +87 -87
- package/src/bmad-plus/agents/pack-seo/ref/eeat-criteria.md +123 -123
- package/src/bmad-plus/agents/pack-seo/ref/geo-signals.md +167 -167
- package/src/bmad-plus/agents/pack-seo/ref/hreflang-rules.md +153 -153
- package/src/bmad-plus/agents/pack-seo/ref/quality-gates.md +133 -133
- package/src/bmad-plus/agents/pack-seo/ref/schema-catalog.md +91 -91
- package/src/bmad-plus/agents/pack-seo/ref/schema-templates.json +356 -356
- package/src/bmad-plus/agents/pack-seo/seo-chief.md +294 -294
- package/src/bmad-plus/agents/pack-seo/seo-judge.md +241 -241
- package/src/bmad-plus/agents/pack-seo/seo-scout.md +171 -171
- package/src/bmad-plus/agents/pack-seo/templates/seo-audit-workflow.md +241 -241
- package/src/bmad-plus/data/role-triggers.yaml +209 -209
- package/src/bmad-plus/module-help.csv +10 -10
- package/src/bmad-plus/module.yaml +283 -280
- package/src/bmad-plus/packs/pack-animated/animated-website-agent.md +325 -0
- package/src/bmad-plus/packs/pack-animated/templates/animated-website-workflow.md +55 -0
- package/src/bmad-plus/packs/pack-backup/backup-agent.md +71 -0
- package/src/bmad-plus/packs/pack-backup/templates/backup-workflow.md +51 -0
- package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -162
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +61 -61
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +134 -134
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +92 -92
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +90 -90
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -153
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -224
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -329
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -318
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -359
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -379
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -361
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +81 -81
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +67 -67
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -85
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -35
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -49
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +131 -131
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +89 -89
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +300 -300
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +428 -428
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +484 -484
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +193 -193
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +175 -175
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +110 -110
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1511 -1511
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +298 -298
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +296 -296
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +74 -74
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +89 -89
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +141 -141
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -37
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -75
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -6
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +110 -110
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +176 -176
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -67
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -86
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -179
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -66
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +127 -127
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -105
- package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -120
- package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -12
- package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -328
- package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -32
- package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -81
- package/src/bmad-plus/packs/pack-memory/README.md +106 -106
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -79
- package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -86
- package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -143
- package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -25
- package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -31
- package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -24
- package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -25
- package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -157
- package/src/bmad-plus/packs/pack-seo/SKILL.md +171 -0
- package/src/bmad-plus/packs/pack-seo/checklist.md +140 -0
- package/src/bmad-plus/packs/pack-seo/pagespeed-playbook.md +320 -0
- package/src/bmad-plus/packs/pack-seo/ref/audit-schema.json +187 -0
- package/src/bmad-plus/packs/pack-seo/ref/cwv-thresholds.md +87 -0
- package/src/bmad-plus/packs/pack-seo/ref/eeat-criteria.md +123 -0
- package/src/bmad-plus/packs/pack-seo/ref/geo-signals.md +167 -0
- package/src/bmad-plus/packs/pack-seo/ref/hreflang-rules.md +153 -0
- package/src/bmad-plus/packs/pack-seo/ref/quality-gates.md +133 -0
- package/src/bmad-plus/packs/pack-seo/ref/schema-catalog.md +91 -0
- package/src/bmad-plus/packs/pack-seo/ref/schema-templates.json +356 -0
- package/src/bmad-plus/packs/pack-seo/seo-chief.md +294 -0
- package/src/bmad-plus/packs/pack-seo/seo-judge.md +241 -0
- package/src/bmad-plus/packs/pack-seo/seo-scout.md +171 -0
- package/src/bmad-plus/packs/pack-seo/templates/seo-audit-workflow.md +241 -0
- package/src/bmad-plus/packs/pack-shield/README.md +110 -110
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +262 -262
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +179 -179
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +201 -201
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +97 -97
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +251 -251
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +221 -221
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +150 -150
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +167 -167
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +83 -83
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +250 -250
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +218 -218
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/ccpa-agent.md +94 -94
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/dpdpa-agent.md +136 -136
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/gdpr-agent.md +296 -296
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/iso27701-agent.md +134 -134
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/lgpd-agent.md +129 -129
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +127 -127
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +272 -272
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +202 -202
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +367 -367
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +510 -510
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +247 -247
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +173 -173
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +239 -239
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +266 -266
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +164 -164
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-classifier.md +131 -131
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-fria.md +155 -155
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-incidents.md +187 -187
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-roles.md +113 -113
- package/src/bmad-plus/packs/pack-shield/categories/workflows/breach-sentinel.md +197 -197
- package/src/bmad-plus/packs/pack-shield/categories/workflows/cookie-policy-gen.md +180 -180
- package/src/bmad-plus/packs/pack-shield/categories/workflows/dpia-sentinel.md +235 -235
- package/src/bmad-plus/packs/pack-shield/categories/workflows/legitimate-interest.md +159 -159
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-advisor.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-notice-gen.md +160 -160
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-policy-gen.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/ccpa/ccpa-gdpr-comparison.md +117 -117
- package/src/bmad-plus/packs/pack-shield/references/ccpa/consumer-rights-workflows.md +177 -177
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/framework-mappings.md +162 -162
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/implementation-guidance.md +235 -235
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/safeguards-detail.md +252 -252
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-assessment.md +170 -170
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-levels.md +113 -113
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-practices.md +211 -211
- package/src/bmad-plus/packs/pack-shield/references/csrd/compliance-program.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/csrd/double-materiality.md +253 -253
- package/src/bmad-plus/packs/pack-shield/references/csrd/esrs-standards.md +401 -401
- package/src/bmad-plus/packs/pack-shield/references/dora/article-reference.md +441 -441
- package/src/bmad-plus/packs/pack-shield/references/dora/incident-classification.md +297 -297
- package/src/bmad-plus/packs/pack-shield/references/dora/rts-its-guide.md +306 -306
- package/src/bmad-plus/packs/pack-shield/references/dora/third-party-risk.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/gdpr-comparison.md +173 -173
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rights-and-obligations.md +426 -426
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rules-2025.md +599 -599
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/sections-reference.md +319 -319
- package/src/bmad-plus/packs/pack-shield/references/ear/ccl-eccn-guide.md +250 -250
- package/src/bmad-plus/packs/pack-shield/references/ear/compliance-program.md +280 -280
- package/src/bmad-plus/packs/pack-shield/references/ear/license-exceptions.md +207 -207
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/gpai-governance.md +267 -267
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/obligations-high-risk.md +287 -287
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/risk-classification.md +182 -182
- package/src/bmad-plus/packs/pack-shield/references/fedramp/appendices-guide.md +209 -209
- package/src/bmad-plus/packs/pack-shield/references/fedramp/control-families.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/fedramp/poam-guide.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/fedramp/readiness-checklist.md +134 -134
- package/src/bmad-plus/packs/pack-shield/references/fedramp/sap-sar-guide.md +86 -86
- package/src/bmad-plus/packs/pack-shield/references/fedramp/ssp-guide.md +129 -129
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/documents.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/dpa-template.md +121 -121
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/privacy-notice.md +87 -87
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/breach-notification.md +293 -293
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/privacy-rule.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/security-rule.md +299 -299
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/templates.md +568 -568
- package/src/bmad-plus/packs/pack-shield/references/ism/control-applicability.md +181 -181
- package/src/bmad-plus/packs/pack-shield/references/ism/guidelines-overview.md +183 -183
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2013.md +203 -203
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2022.md +132 -132
- package/src/bmad-plus/packs/pack-shield/references/iso27001/control-mapping.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/iso27701/annex-a-controls.md +195 -195
- package/src/bmad-plus/packs/pack-shield/references/iso27701/regulatory-mapping.md +229 -229
- package/src/bmad-plus/packs/pack-shield/references/iso27701/transition-guide.md +219 -219
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-ai-risk-assessment.md +258 -258
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-clauses-requirements.md +279 -279
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-controls-annex-a.md +155 -155
- package/src/bmad-plus/packs/pack-shield/references/itar/compliance-program.md +174 -174
- package/src/bmad-plus/packs/pack-shield/references/itar/licensing-guide.md +146 -146
- package/src/bmad-plus/packs/pack-shield/references/itar/usml-categories.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/lgpd/anpd-enforcement.md +147 -147
- package/src/bmad-plus/packs/pack-shield/references/lgpd/compliance-program.md +272 -272
- package/src/bmad-plus/packs/pack-shield/references/lgpd/lgpd-articles.md +271 -271
- package/src/bmad-plus/packs/pack-shield/references/nis2/article-21-measures.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/nis2/iso27001-nis2-mapping.md +68 -68
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/assessment-rmf.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/baselines-tailoring.md +277 -277
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/control-families.md +450 -450
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-core.md +361 -361
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-profiles.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-10-to-20-mapping.md +143 -143
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-20-functions-categories.md +278 -278
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-implementation-tiers.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-requirements.md +366 -366
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-saq-guide.md +217 -217
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-v4-changes.md +190 -190
- package/src/bmad-plus/packs/pack-shield/references/section-508/wcag-mapping.md +160 -160
- package/src/bmad-plus/packs/pack-shield/references/soc2/controls.md +241 -241
- package/src/bmad-plus/packs/pack-shield/references/soc2/evidence.md +236 -236
- package/src/bmad-plus/packs/pack-shield/references/soc2/policies.md +254 -254
- package/src/bmad-plus/packs/pack-shield/references/soc2/vendor.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-assessment.md +202 -202
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-controls.md +545 -545
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-crmp-requirements.md +359 -359
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-directives-overview.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-incident-reporting.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/wcag/criteria-detail.md +510 -510
- package/src/bmad-plus/packs/pack-shield/shared/audit-report-template.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/cross-framework-mapper.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/gap-analysis-template.md +83 -83
- package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +229 -229
- package/src/bmad-plus/packs/pack-shield/upstream-sync.yaml +68 -68
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +99 -99
- package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +93 -93
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +69 -69
- package/tools/cli/commands/autoconfig.js +498 -489
- package/tools/cli/commands/doctor.js +222 -175
- package/tools/cli/commands/install.js +739 -739
- package/tools/cli/commands/memory.js +194 -194
- package/tools/cli/commands/scan.js +360 -350
- package/tools/cli/commands/uninstall.js +96 -96
- package/tools/cli/commands/update.js +174 -174
- package/tools/cli/i18n.js +763 -763
|
@@ -1,171 +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*
|
|
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*
|
|
@@ -1,140 +1,140 @@
|
|
|
1
|
-
# SEO/GEO 360° Audit Checklist
|
|
2
|
-
|
|
3
|
-
## Usage
|
|
4
|
-
Use this checklist as a template for any website audit. Copy it to your project's output folder and check items as you go.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 1. Technical SEO
|
|
9
|
-
- [ ] `robots.txt` exists and is correctly configured
|
|
10
|
-
- [ ] `sitemap.xml` exists with all pages, `lastmod`, `changefreq`, `priority`
|
|
11
|
-
- [ ] Sitemap includes `xhtml:link` hreflang alternates (if multilingual)
|
|
12
|
-
- [ ] Canonical URLs present on all pages
|
|
13
|
-
- [ ] Hreflang tags for each language variant
|
|
14
|
-
- [ ] Meta robots: `index, follow, max-image-preview:large, max-snippet:-1`
|
|
15
|
-
- [ ] HTTPS enforced
|
|
16
|
-
- [ ] No render-blocking resources (fonts preloaded, CSS inlined or local)
|
|
17
|
-
- [ ] Mobile viewport meta tag present
|
|
18
|
-
- [ ] Favicon present (SVG preferred, fallback PNG)
|
|
19
|
-
- [ ] 404 error page exists
|
|
20
|
-
- [ ] Page load time < 3 seconds
|
|
21
|
-
|
|
22
|
-
## 2. On-Page SEO
|
|
23
|
-
- [ ] `<title>` tag: 50-60 chars, contains primary keyword, unique per page
|
|
24
|
-
- [ ] `<meta description>`: 150-160 chars, contains CTA, unique per page
|
|
25
|
-
- [ ] `<meta keywords>`: relevant long-tail keywords
|
|
26
|
-
- [ ] `<meta author>`: present
|
|
27
|
-
- [ ] Single `<h1>` per page, descriptive, keyword-rich
|
|
28
|
-
- [ ] Logical H2-H6 hierarchy
|
|
29
|
-
- [ ] Images: `alt` tags, `width`/`height`, `loading="lazy"`, WebP format
|
|
30
|
-
- [ ] Internal linking between pages
|
|
31
|
-
- [ ] External links: `rel="noopener"` on `target="_blank"`
|
|
32
|
-
- [ ] Content length adequate (300+ words for landing pages)
|
|
33
|
-
|
|
34
|
-
## 3. Schema.org / Structured Data
|
|
35
|
-
- [ ] Primary schema type (Organization/LocalBusiness/ProfessionalService)
|
|
36
|
-
- [ ] Service schema for each service offered
|
|
37
|
-
- [ ] FAQPage schema with real Q&As (minimum 5 questions)
|
|
38
|
-
- [ ] WebPage schema (datePublished, dateModified, inLanguage)
|
|
39
|
-
- [ ] BreadcrumbList schema
|
|
40
|
-
- [ ] Person schema for founder/team (if applicable)
|
|
41
|
-
- [ ] Review/AggregateRating schema (if applicable)
|
|
42
|
-
- [ ] Validated with Google Rich Results Test
|
|
43
|
-
|
|
44
|
-
## 4. GEO (Generative Engine Optimization)
|
|
45
|
-
- [ ] `llms.txt` file at site root with structured business info
|
|
46
|
-
- [ ] Content uses clear headings with question-based format
|
|
47
|
-
- [ ] FAQ section with expandable answers
|
|
48
|
-
- [ ] Concise, factual content per section (answers visible without interaction)
|
|
49
|
-
- [ ] AI crawlers allowed in `robots.txt`:
|
|
50
|
-
- [ ] GPTBot
|
|
51
|
-
- [ ] ChatGPT-User
|
|
52
|
-
- [ ] PerplexityBot
|
|
53
|
-
- [ ] ClaudeBot
|
|
54
|
-
- [ ] Google-Extended
|
|
55
|
-
- [ ] Content freshness: `dateModified` in schema, visible update dates
|
|
56
|
-
- [ ] E-E-A-T signals: author credentials, "About" info, LinkedIn links
|
|
57
|
-
- [ ] Tested queries in ChatGPT, Perplexity, and Gemini
|
|
58
|
-
|
|
59
|
-
## 5. Local SEO
|
|
60
|
-
- [ ] Geo meta tags: `geo.region`, `geo.placename`, `geo.position`, `ICBM`
|
|
61
|
-
- [ ] NAP (Name, Address, Phone/Email) in footer
|
|
62
|
-
- [ ] `<address>` HTML element used
|
|
63
|
-
- [ ] Schema includes `geo` (GeoCoordinates), `areaServed`, `address`
|
|
64
|
-
- [ ] Google Business Profile created and optimized
|
|
65
|
-
- [ ] Local keywords in title, description, and H1
|
|
66
|
-
- [ ] Citations on directories (Pages Jaunes, Google Maps, etc.)
|
|
67
|
-
|
|
68
|
-
## 6. Accessibility
|
|
69
|
-
- [ ] Skip navigation link
|
|
70
|
-
- [ ] `aria-hidden="true"` on decorative SVGs and elements
|
|
71
|
-
- [ ] `aria-label` on `<section>` and `<nav>` elements
|
|
72
|
-
- [ ] `aria-pressed` on toggle buttons
|
|
73
|
-
- [ ] Color contrast WCAG AA (4.5:1 minimum)
|
|
74
|
-
- [ ] Keyboard-navigable form elements
|
|
75
|
-
- [ ] `<html lang>` attribute set correctly (dynamic for multilingual)
|
|
76
|
-
- [ ] `prefers-reduced-motion` media query support
|
|
77
|
-
|
|
78
|
-
## 7. Social & Sharing
|
|
79
|
-
- [ ] Open Graph: `og:title`, `og:description`, `og:image`, `og:url`, `og:type`
|
|
80
|
-
- [ ] `og:site_name` present
|
|
81
|
-
- [ ] `og:locale` with `og:locale:alternate` for other languages
|
|
82
|
-
- [ ] `og:image` dimensions 1200×630px
|
|
83
|
-
- [ ] Twitter Card: `twitter:card` (summary_large_image)
|
|
84
|
-
- [ ] Social preview tested with sharing debugger tools
|
|
85
|
-
|
|
86
|
-
## 8. Multilingual SEO (if applicable)
|
|
87
|
-
- [ ] `<html lang>` dynamic based on selected language
|
|
88
|
-
- [ ] Bilingual `<title>` and `<meta description>` (via server-side logic)
|
|
89
|
-
- [ ] Hreflang tags for each page × each language
|
|
90
|
-
- [ ] `x-default` hreflang set
|
|
91
|
-
- [ ] Schema.org `description` in correct language
|
|
92
|
-
- [ ] OG tags in correct language (`og:locale`)
|
|
93
|
-
- [ ] Sitemap includes hreflang alternates per URL
|
|
94
|
-
- [ ] Language preference persisted (localStorage/cookie)
|
|
95
|
-
- [ ] Auto-detection of browser language (`navigator.language`)
|
|
96
|
-
- [ ] Legal pages (Privacy, Terms) translated
|
|
97
|
-
|
|
98
|
-
## 9. Content & Keywords
|
|
99
|
-
- [ ] Primary keyword identified per page
|
|
100
|
-
- [ ] Long-tail keyword variants in content
|
|
101
|
-
- [ ] Location-based keywords (city, region, country)
|
|
102
|
-
- [ ] Service-specific keywords
|
|
103
|
-
- [ ] Competitor keyword gap analysis
|
|
104
|
-
- [ ] Content matches search intent (informational, transactional, navigational)
|
|
105
|
-
|
|
106
|
-
## 10. PageSpeed 100% — Performance Perfection Loop
|
|
107
|
-
> Reference: See `pagespeed-playbook.md` for complete technique catalog with code examples.
|
|
108
|
-
|
|
109
|
-
### Performance (Impact-Ordered)
|
|
110
|
-
- [ ] Self-hosted fonts (woff2) — no Google CDN
|
|
111
|
-
- [ ] Font preload with `fetchpriority="high"` for critical weight
|
|
112
|
-
- [ ] `font-display: swap` on all `@font-face` rules
|
|
113
|
-
- [ ] ALL CSS inlined in production HTML (zero render-blocking)
|
|
114
|
-
- [ ] `.htaccess` cache headers: 1yr for static assets, 1hr for HTML
|
|
115
|
-
- [ ] Gzip/Brotli compression enabled (mod_deflate)
|
|
116
|
-
- [ ] ALL `<img>` tags have explicit `width` and `height` attributes
|
|
117
|
-
- [ ] Below-fold images have `loading="lazy"`
|
|
118
|
-
- [ ] LCP image has `fetchpriority="high"`
|
|
119
|
-
- [ ] Third-party scripts use `async defer`
|
|
120
|
-
- [ ] CLS = 0 (no layout shifts during load)
|
|
121
|
-
|
|
122
|
-
### Accessibility (WCAG AA)
|
|
123
|
-
- [ ] ALL text/background combos ≥ 4.5:1 contrast ratio
|
|
124
|
-
- [ ] White text on orange backgrounds replaced with dark text (#1a0800)
|
|
125
|
-
- [ ] Dim/muted text on dark backgrounds brightened to ≥ #a0b0b8
|
|
126
|
-
- [ ] Badge text with transparency backgrounds ≥ #d4dde3
|
|
127
|
-
- [ ] Checked: CTA buttons, active nav states, badges, footer, form labels, tags
|
|
128
|
-
|
|
129
|
-
### Best Practices
|
|
130
|
-
- [ ] No console errors from own code
|
|
131
|
-
- [ ] Third-party console errors documented as known limitations
|
|
132
|
-
- [ ] All external links have `rel="noopener noreferrer"`
|
|
133
|
-
- [ ] All resources loaded over HTTPS
|
|
134
|
-
|
|
135
|
-
### Anti-Patterns (NEVER DO)
|
|
136
|
-
- [ ] ❌ Never use `media="print" onload` for CSS (causes CLS 0.936)
|
|
137
|
-
- [ ] ❌ Never load fonts from external CDN without local fallback
|
|
138
|
-
- [ ] ❌ Never leave `<img>` tags without width/height dimensions
|
|
139
|
-
- [ ] ❌ Never fix contrast issues one at a time (batch ALL at once)
|
|
140
|
-
|
|
1
|
+
# SEO/GEO 360° Audit Checklist
|
|
2
|
+
|
|
3
|
+
## Usage
|
|
4
|
+
Use this checklist as a template for any website audit. Copy it to your project's output folder and check items as you go.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Technical SEO
|
|
9
|
+
- [ ] `robots.txt` exists and is correctly configured
|
|
10
|
+
- [ ] `sitemap.xml` exists with all pages, `lastmod`, `changefreq`, `priority`
|
|
11
|
+
- [ ] Sitemap includes `xhtml:link` hreflang alternates (if multilingual)
|
|
12
|
+
- [ ] Canonical URLs present on all pages
|
|
13
|
+
- [ ] Hreflang tags for each language variant
|
|
14
|
+
- [ ] Meta robots: `index, follow, max-image-preview:large, max-snippet:-1`
|
|
15
|
+
- [ ] HTTPS enforced
|
|
16
|
+
- [ ] No render-blocking resources (fonts preloaded, CSS inlined or local)
|
|
17
|
+
- [ ] Mobile viewport meta tag present
|
|
18
|
+
- [ ] Favicon present (SVG preferred, fallback PNG)
|
|
19
|
+
- [ ] 404 error page exists
|
|
20
|
+
- [ ] Page load time < 3 seconds
|
|
21
|
+
|
|
22
|
+
## 2. On-Page SEO
|
|
23
|
+
- [ ] `<title>` tag: 50-60 chars, contains primary keyword, unique per page
|
|
24
|
+
- [ ] `<meta description>`: 150-160 chars, contains CTA, unique per page
|
|
25
|
+
- [ ] `<meta keywords>`: relevant long-tail keywords
|
|
26
|
+
- [ ] `<meta author>`: present
|
|
27
|
+
- [ ] Single `<h1>` per page, descriptive, keyword-rich
|
|
28
|
+
- [ ] Logical H2-H6 hierarchy
|
|
29
|
+
- [ ] Images: `alt` tags, `width`/`height`, `loading="lazy"`, WebP format
|
|
30
|
+
- [ ] Internal linking between pages
|
|
31
|
+
- [ ] External links: `rel="noopener"` on `target="_blank"`
|
|
32
|
+
- [ ] Content length adequate (300+ words for landing pages)
|
|
33
|
+
|
|
34
|
+
## 3. Schema.org / Structured Data
|
|
35
|
+
- [ ] Primary schema type (Organization/LocalBusiness/ProfessionalService)
|
|
36
|
+
- [ ] Service schema for each service offered
|
|
37
|
+
- [ ] FAQPage schema with real Q&As (minimum 5 questions)
|
|
38
|
+
- [ ] WebPage schema (datePublished, dateModified, inLanguage)
|
|
39
|
+
- [ ] BreadcrumbList schema
|
|
40
|
+
- [ ] Person schema for founder/team (if applicable)
|
|
41
|
+
- [ ] Review/AggregateRating schema (if applicable)
|
|
42
|
+
- [ ] Validated with Google Rich Results Test
|
|
43
|
+
|
|
44
|
+
## 4. GEO (Generative Engine Optimization)
|
|
45
|
+
- [ ] `llms.txt` file at site root with structured business info
|
|
46
|
+
- [ ] Content uses clear headings with question-based format
|
|
47
|
+
- [ ] FAQ section with expandable answers
|
|
48
|
+
- [ ] Concise, factual content per section (answers visible without interaction)
|
|
49
|
+
- [ ] AI crawlers allowed in `robots.txt`:
|
|
50
|
+
- [ ] GPTBot
|
|
51
|
+
- [ ] ChatGPT-User
|
|
52
|
+
- [ ] PerplexityBot
|
|
53
|
+
- [ ] ClaudeBot
|
|
54
|
+
- [ ] Google-Extended
|
|
55
|
+
- [ ] Content freshness: `dateModified` in schema, visible update dates
|
|
56
|
+
- [ ] E-E-A-T signals: author credentials, "About" info, LinkedIn links
|
|
57
|
+
- [ ] Tested queries in ChatGPT, Perplexity, and Gemini
|
|
58
|
+
|
|
59
|
+
## 5. Local SEO
|
|
60
|
+
- [ ] Geo meta tags: `geo.region`, `geo.placename`, `geo.position`, `ICBM`
|
|
61
|
+
- [ ] NAP (Name, Address, Phone/Email) in footer
|
|
62
|
+
- [ ] `<address>` HTML element used
|
|
63
|
+
- [ ] Schema includes `geo` (GeoCoordinates), `areaServed`, `address`
|
|
64
|
+
- [ ] Google Business Profile created and optimized
|
|
65
|
+
- [ ] Local keywords in title, description, and H1
|
|
66
|
+
- [ ] Citations on directories (Pages Jaunes, Google Maps, etc.)
|
|
67
|
+
|
|
68
|
+
## 6. Accessibility
|
|
69
|
+
- [ ] Skip navigation link
|
|
70
|
+
- [ ] `aria-hidden="true"` on decorative SVGs and elements
|
|
71
|
+
- [ ] `aria-label` on `<section>` and `<nav>` elements
|
|
72
|
+
- [ ] `aria-pressed` on toggle buttons
|
|
73
|
+
- [ ] Color contrast WCAG AA (4.5:1 minimum)
|
|
74
|
+
- [ ] Keyboard-navigable form elements
|
|
75
|
+
- [ ] `<html lang>` attribute set correctly (dynamic for multilingual)
|
|
76
|
+
- [ ] `prefers-reduced-motion` media query support
|
|
77
|
+
|
|
78
|
+
## 7. Social & Sharing
|
|
79
|
+
- [ ] Open Graph: `og:title`, `og:description`, `og:image`, `og:url`, `og:type`
|
|
80
|
+
- [ ] `og:site_name` present
|
|
81
|
+
- [ ] `og:locale` with `og:locale:alternate` for other languages
|
|
82
|
+
- [ ] `og:image` dimensions 1200×630px
|
|
83
|
+
- [ ] Twitter Card: `twitter:card` (summary_large_image)
|
|
84
|
+
- [ ] Social preview tested with sharing debugger tools
|
|
85
|
+
|
|
86
|
+
## 8. Multilingual SEO (if applicable)
|
|
87
|
+
- [ ] `<html lang>` dynamic based on selected language
|
|
88
|
+
- [ ] Bilingual `<title>` and `<meta description>` (via server-side logic)
|
|
89
|
+
- [ ] Hreflang tags for each page × each language
|
|
90
|
+
- [ ] `x-default` hreflang set
|
|
91
|
+
- [ ] Schema.org `description` in correct language
|
|
92
|
+
- [ ] OG tags in correct language (`og:locale`)
|
|
93
|
+
- [ ] Sitemap includes hreflang alternates per URL
|
|
94
|
+
- [ ] Language preference persisted (localStorage/cookie)
|
|
95
|
+
- [ ] Auto-detection of browser language (`navigator.language`)
|
|
96
|
+
- [ ] Legal pages (Privacy, Terms) translated
|
|
97
|
+
|
|
98
|
+
## 9. Content & Keywords
|
|
99
|
+
- [ ] Primary keyword identified per page
|
|
100
|
+
- [ ] Long-tail keyword variants in content
|
|
101
|
+
- [ ] Location-based keywords (city, region, country)
|
|
102
|
+
- [ ] Service-specific keywords
|
|
103
|
+
- [ ] Competitor keyword gap analysis
|
|
104
|
+
- [ ] Content matches search intent (informational, transactional, navigational)
|
|
105
|
+
|
|
106
|
+
## 10. PageSpeed 100% — Performance Perfection Loop
|
|
107
|
+
> Reference: See `pagespeed-playbook.md` for complete technique catalog with code examples.
|
|
108
|
+
|
|
109
|
+
### Performance (Impact-Ordered)
|
|
110
|
+
- [ ] Self-hosted fonts (woff2) — no Google CDN
|
|
111
|
+
- [ ] Font preload with `fetchpriority="high"` for critical weight
|
|
112
|
+
- [ ] `font-display: swap` on all `@font-face` rules
|
|
113
|
+
- [ ] ALL CSS inlined in production HTML (zero render-blocking)
|
|
114
|
+
- [ ] `.htaccess` cache headers: 1yr for static assets, 1hr for HTML
|
|
115
|
+
- [ ] Gzip/Brotli compression enabled (mod_deflate)
|
|
116
|
+
- [ ] ALL `<img>` tags have explicit `width` and `height` attributes
|
|
117
|
+
- [ ] Below-fold images have `loading="lazy"`
|
|
118
|
+
- [ ] LCP image has `fetchpriority="high"`
|
|
119
|
+
- [ ] Third-party scripts use `async defer`
|
|
120
|
+
- [ ] CLS = 0 (no layout shifts during load)
|
|
121
|
+
|
|
122
|
+
### Accessibility (WCAG AA)
|
|
123
|
+
- [ ] ALL text/background combos ≥ 4.5:1 contrast ratio
|
|
124
|
+
- [ ] White text on orange backgrounds replaced with dark text (#1a0800)
|
|
125
|
+
- [ ] Dim/muted text on dark backgrounds brightened to ≥ #a0b0b8
|
|
126
|
+
- [ ] Badge text with transparency backgrounds ≥ #d4dde3
|
|
127
|
+
- [ ] Checked: CTA buttons, active nav states, badges, footer, form labels, tags
|
|
128
|
+
|
|
129
|
+
### Best Practices
|
|
130
|
+
- [ ] No console errors from own code
|
|
131
|
+
- [ ] Third-party console errors documented as known limitations
|
|
132
|
+
- [ ] All external links have `rel="noopener noreferrer"`
|
|
133
|
+
- [ ] All resources loaded over HTTPS
|
|
134
|
+
|
|
135
|
+
### Anti-Patterns (NEVER DO)
|
|
136
|
+
- [ ] ❌ Never use `media="print" onload` for CSS (causes CLS 0.936)
|
|
137
|
+
- [ ] ❌ Never load fonts from external CDN without local fallback
|
|
138
|
+
- [ ] ❌ Never leave `<img>` tags without width/height dimensions
|
|
139
|
+
- [ ] ❌ Never fix contrast issues one at a time (batch ALL at once)
|
|
140
|
+
|