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,187 +1,187 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"title": "BMAD+ SEO Audit Result",
|
|
4
|
-
"description": "Standardized JSON format for SEO audit results. Compatible with dashboards, MCP Server, and external tools.",
|
|
5
|
-
"version": "1.0.0",
|
|
6
|
-
"author": "Laurent Rochetta",
|
|
7
|
-
"type": "object",
|
|
8
|
-
"required": ["engine", "version", "domain", "timestamp", "score", "issues"],
|
|
9
|
-
"properties": {
|
|
10
|
-
"engine": {
|
|
11
|
-
"type": "string",
|
|
12
|
-
"const": "bmad-seo-engine",
|
|
13
|
-
"description": "Engine identifier"
|
|
14
|
-
},
|
|
15
|
-
"version": {
|
|
16
|
-
"type": "string",
|
|
17
|
-
"description": "Engine version",
|
|
18
|
-
"examples": ["2.1.0"]
|
|
19
|
-
},
|
|
20
|
-
"domain": {
|
|
21
|
-
"type": "string",
|
|
22
|
-
"description": "Audited domain (without protocol)",
|
|
23
|
-
"examples": ["example.com"]
|
|
24
|
-
},
|
|
25
|
-
"url": {
|
|
26
|
-
"type": "string",
|
|
27
|
-
"format": "uri",
|
|
28
|
-
"description": "Full URL audited"
|
|
29
|
-
},
|
|
30
|
-
"timestamp": {
|
|
31
|
-
"type": "string",
|
|
32
|
-
"format": "date-time",
|
|
33
|
-
"description": "ISO 8601 timestamp of audit completion"
|
|
34
|
-
},
|
|
35
|
-
"business_type": {
|
|
36
|
-
"type": "string",
|
|
37
|
-
"enum": ["saas", "ecommerce", "local", "publisher", "agency", "other"],
|
|
38
|
-
"description": "Detected business type"
|
|
39
|
-
},
|
|
40
|
-
"pages_analyzed": {
|
|
41
|
-
"type": "integer",
|
|
42
|
-
"minimum": 1,
|
|
43
|
-
"description": "Number of pages analyzed"
|
|
44
|
-
},
|
|
45
|
-
"score": {
|
|
46
|
-
"type": "object",
|
|
47
|
-
"required": ["total", "categories"],
|
|
48
|
-
"properties": {
|
|
49
|
-
"total": {
|
|
50
|
-
"type": "integer",
|
|
51
|
-
"minimum": 0,
|
|
52
|
-
"maximum": 100,
|
|
53
|
-
"description": "Weighted SEO Health Score"
|
|
54
|
-
},
|
|
55
|
-
"rating": {
|
|
56
|
-
"type": "string",
|
|
57
|
-
"enum": ["excellent", "good", "needs_work", "poor", "critical"],
|
|
58
|
-
"description": "Score interpretation"
|
|
59
|
-
},
|
|
60
|
-
"categories": {
|
|
61
|
-
"type": "object",
|
|
62
|
-
"properties": {
|
|
63
|
-
"technical": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
64
|
-
"content_eeat": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
65
|
-
"on_page": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
66
|
-
"schema": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
67
|
-
"performance": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
68
|
-
"ai_readiness": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
69
|
-
"images": { "type": "integer", "minimum": 0, "maximum": 100 }
|
|
70
|
-
},
|
|
71
|
-
"description": "Score per category (0-100)"
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
"issues": {
|
|
76
|
-
"type": "array",
|
|
77
|
-
"items": {
|
|
78
|
-
"type": "object",
|
|
79
|
-
"required": ["id", "severity", "category", "title"],
|
|
80
|
-
"properties": {
|
|
81
|
-
"id": {
|
|
82
|
-
"type": "string",
|
|
83
|
-
"description": "Unique issue identifier",
|
|
84
|
-
"examples": ["missing-meta-description", "multiple-h1"]
|
|
85
|
-
},
|
|
86
|
-
"severity": {
|
|
87
|
-
"type": "string",
|
|
88
|
-
"enum": ["critical", "high", "medium", "low"]
|
|
89
|
-
},
|
|
90
|
-
"category": {
|
|
91
|
-
"type": "string",
|
|
92
|
-
"enum": ["technical", "content", "on_page", "schema", "performance", "geo", "images"]
|
|
93
|
-
},
|
|
94
|
-
"title": {
|
|
95
|
-
"type": "string",
|
|
96
|
-
"description": "Human-readable issue title"
|
|
97
|
-
},
|
|
98
|
-
"description": {
|
|
99
|
-
"type": "string",
|
|
100
|
-
"description": "Detailed explanation"
|
|
101
|
-
},
|
|
102
|
-
"affected_urls": {
|
|
103
|
-
"type": "array",
|
|
104
|
-
"items": { "type": "string", "format": "uri" },
|
|
105
|
-
"description": "Pages affected by this issue"
|
|
106
|
-
},
|
|
107
|
-
"fix": {
|
|
108
|
-
"type": "string",
|
|
109
|
-
"description": "Auto-generated fix code (HTML, JSON-LD, etc.)"
|
|
110
|
-
},
|
|
111
|
-
"quick_win": {
|
|
112
|
-
"type": "boolean",
|
|
113
|
-
"description": "True if high impact / low effort"
|
|
114
|
-
},
|
|
115
|
-
"impact": {
|
|
116
|
-
"type": "string",
|
|
117
|
-
"enum": ["high", "medium", "low"]
|
|
118
|
-
},
|
|
119
|
-
"effort": {
|
|
120
|
-
"type": "string",
|
|
121
|
-
"enum": ["high", "medium", "low"]
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
"pages": {
|
|
127
|
-
"type": "array",
|
|
128
|
-
"items": {
|
|
129
|
-
"type": "object",
|
|
130
|
-
"properties": {
|
|
131
|
-
"url": { "type": "string", "format": "uri" },
|
|
132
|
-
"status": { "type": "integer" },
|
|
133
|
-
"title": { "type": "string" },
|
|
134
|
-
"word_count": { "type": "integer" },
|
|
135
|
-
"schema_types": { "type": "array", "items": { "type": "string" } },
|
|
136
|
-
"eeat_score": { "type": "integer", "minimum": 0, "maximum": 100 }
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
"description": "Per-page analysis data"
|
|
140
|
-
},
|
|
141
|
-
"geo": {
|
|
142
|
-
"type": "object",
|
|
143
|
-
"properties": {
|
|
144
|
-
"ai_readiness_score": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
145
|
-
"ai_crawlers_allowed": { "type": "array", "items": { "type": "string" } },
|
|
146
|
-
"has_llms_txt": { "type": "boolean" },
|
|
147
|
-
"citability_score": { "type": "integer", "minimum": 0, "maximum": 100 }
|
|
148
|
-
},
|
|
149
|
-
"description": "GEO / AI search readiness metrics"
|
|
150
|
-
},
|
|
151
|
-
"pagespeed": {
|
|
152
|
-
"type": "object",
|
|
153
|
-
"properties": {
|
|
154
|
-
"mobile": {
|
|
155
|
-
"type": "object",
|
|
156
|
-
"properties": {
|
|
157
|
-
"performance": { "type": "integer" },
|
|
158
|
-
"accessibility": { "type": "integer" },
|
|
159
|
-
"best_practices": { "type": "integer" },
|
|
160
|
-
"seo": { "type": "integer" }
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
"desktop": {
|
|
164
|
-
"type": "object",
|
|
165
|
-
"properties": {
|
|
166
|
-
"performance": { "type": "integer" },
|
|
167
|
-
"accessibility": { "type": "integer" },
|
|
168
|
-
"best_practices": { "type": "integer" },
|
|
169
|
-
"seo": { "type": "integer" }
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
"description": "PageSpeed Insights scores"
|
|
174
|
-
},
|
|
175
|
-
"monitoring": {
|
|
176
|
-
"type": "object",
|
|
177
|
-
"properties": {
|
|
178
|
-
"previous_score": { "type": "integer" },
|
|
179
|
-
"previous_date": { "type": "string", "format": "date" },
|
|
180
|
-
"delta": { "type": "integer" },
|
|
181
|
-
"issues_resolved": { "type": "integer" },
|
|
182
|
-
"issues_new": { "type": "integer" }
|
|
183
|
-
},
|
|
184
|
-
"description": "Comparison with previous audit (if available)"
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "BMAD+ SEO Audit Result",
|
|
4
|
+
"description": "Standardized JSON format for SEO audit results. Compatible with dashboards, MCP Server, and external tools.",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"author": "Laurent Rochetta",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["engine", "version", "domain", "timestamp", "score", "issues"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"engine": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"const": "bmad-seo-engine",
|
|
13
|
+
"description": "Engine identifier"
|
|
14
|
+
},
|
|
15
|
+
"version": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Engine version",
|
|
18
|
+
"examples": ["2.1.0"]
|
|
19
|
+
},
|
|
20
|
+
"domain": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "Audited domain (without protocol)",
|
|
23
|
+
"examples": ["example.com"]
|
|
24
|
+
},
|
|
25
|
+
"url": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"format": "uri",
|
|
28
|
+
"description": "Full URL audited"
|
|
29
|
+
},
|
|
30
|
+
"timestamp": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"format": "date-time",
|
|
33
|
+
"description": "ISO 8601 timestamp of audit completion"
|
|
34
|
+
},
|
|
35
|
+
"business_type": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"enum": ["saas", "ecommerce", "local", "publisher", "agency", "other"],
|
|
38
|
+
"description": "Detected business type"
|
|
39
|
+
},
|
|
40
|
+
"pages_analyzed": {
|
|
41
|
+
"type": "integer",
|
|
42
|
+
"minimum": 1,
|
|
43
|
+
"description": "Number of pages analyzed"
|
|
44
|
+
},
|
|
45
|
+
"score": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"required": ["total", "categories"],
|
|
48
|
+
"properties": {
|
|
49
|
+
"total": {
|
|
50
|
+
"type": "integer",
|
|
51
|
+
"minimum": 0,
|
|
52
|
+
"maximum": 100,
|
|
53
|
+
"description": "Weighted SEO Health Score"
|
|
54
|
+
},
|
|
55
|
+
"rating": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"enum": ["excellent", "good", "needs_work", "poor", "critical"],
|
|
58
|
+
"description": "Score interpretation"
|
|
59
|
+
},
|
|
60
|
+
"categories": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"properties": {
|
|
63
|
+
"technical": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
64
|
+
"content_eeat": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
65
|
+
"on_page": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
66
|
+
"schema": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
67
|
+
"performance": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
68
|
+
"ai_readiness": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
69
|
+
"images": { "type": "integer", "minimum": 0, "maximum": 100 }
|
|
70
|
+
},
|
|
71
|
+
"description": "Score per category (0-100)"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"issues": {
|
|
76
|
+
"type": "array",
|
|
77
|
+
"items": {
|
|
78
|
+
"type": "object",
|
|
79
|
+
"required": ["id", "severity", "category", "title"],
|
|
80
|
+
"properties": {
|
|
81
|
+
"id": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "Unique issue identifier",
|
|
84
|
+
"examples": ["missing-meta-description", "multiple-h1"]
|
|
85
|
+
},
|
|
86
|
+
"severity": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"enum": ["critical", "high", "medium", "low"]
|
|
89
|
+
},
|
|
90
|
+
"category": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"enum": ["technical", "content", "on_page", "schema", "performance", "geo", "images"]
|
|
93
|
+
},
|
|
94
|
+
"title": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "Human-readable issue title"
|
|
97
|
+
},
|
|
98
|
+
"description": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "Detailed explanation"
|
|
101
|
+
},
|
|
102
|
+
"affected_urls": {
|
|
103
|
+
"type": "array",
|
|
104
|
+
"items": { "type": "string", "format": "uri" },
|
|
105
|
+
"description": "Pages affected by this issue"
|
|
106
|
+
},
|
|
107
|
+
"fix": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"description": "Auto-generated fix code (HTML, JSON-LD, etc.)"
|
|
110
|
+
},
|
|
111
|
+
"quick_win": {
|
|
112
|
+
"type": "boolean",
|
|
113
|
+
"description": "True if high impact / low effort"
|
|
114
|
+
},
|
|
115
|
+
"impact": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"enum": ["high", "medium", "low"]
|
|
118
|
+
},
|
|
119
|
+
"effort": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"enum": ["high", "medium", "low"]
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"pages": {
|
|
127
|
+
"type": "array",
|
|
128
|
+
"items": {
|
|
129
|
+
"type": "object",
|
|
130
|
+
"properties": {
|
|
131
|
+
"url": { "type": "string", "format": "uri" },
|
|
132
|
+
"status": { "type": "integer" },
|
|
133
|
+
"title": { "type": "string" },
|
|
134
|
+
"word_count": { "type": "integer" },
|
|
135
|
+
"schema_types": { "type": "array", "items": { "type": "string" } },
|
|
136
|
+
"eeat_score": { "type": "integer", "minimum": 0, "maximum": 100 }
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"description": "Per-page analysis data"
|
|
140
|
+
},
|
|
141
|
+
"geo": {
|
|
142
|
+
"type": "object",
|
|
143
|
+
"properties": {
|
|
144
|
+
"ai_readiness_score": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
145
|
+
"ai_crawlers_allowed": { "type": "array", "items": { "type": "string" } },
|
|
146
|
+
"has_llms_txt": { "type": "boolean" },
|
|
147
|
+
"citability_score": { "type": "integer", "minimum": 0, "maximum": 100 }
|
|
148
|
+
},
|
|
149
|
+
"description": "GEO / AI search readiness metrics"
|
|
150
|
+
},
|
|
151
|
+
"pagespeed": {
|
|
152
|
+
"type": "object",
|
|
153
|
+
"properties": {
|
|
154
|
+
"mobile": {
|
|
155
|
+
"type": "object",
|
|
156
|
+
"properties": {
|
|
157
|
+
"performance": { "type": "integer" },
|
|
158
|
+
"accessibility": { "type": "integer" },
|
|
159
|
+
"best_practices": { "type": "integer" },
|
|
160
|
+
"seo": { "type": "integer" }
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"desktop": {
|
|
164
|
+
"type": "object",
|
|
165
|
+
"properties": {
|
|
166
|
+
"performance": { "type": "integer" },
|
|
167
|
+
"accessibility": { "type": "integer" },
|
|
168
|
+
"best_practices": { "type": "integer" },
|
|
169
|
+
"seo": { "type": "integer" }
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"description": "PageSpeed Insights scores"
|
|
174
|
+
},
|
|
175
|
+
"monitoring": {
|
|
176
|
+
"type": "object",
|
|
177
|
+
"properties": {
|
|
178
|
+
"previous_score": { "type": "integer" },
|
|
179
|
+
"previous_date": { "type": "string", "format": "date" },
|
|
180
|
+
"delta": { "type": "integer" },
|
|
181
|
+
"issues_resolved": { "type": "integer" },
|
|
182
|
+
"issues_new": { "type": "integer" }
|
|
183
|
+
},
|
|
184
|
+
"description": "Comparison with previous audit (if available)"
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
# Core Web Vitals — Thresholds & Optimization Guide (March 2026)
|
|
2
|
-
|
|
3
|
-
> Author: Laurent Rochetta | BMAD+ SEO Engine v2.0
|
|
4
|
-
|
|
5
|
-
## Current Metrics
|
|
6
|
-
|
|
7
|
-
| Metric | Good | Needs Improvement | Poor |
|
|
8
|
-
|--------|------|-------------------|------|
|
|
9
|
-
| **LCP** (Largest Contentful Paint) | ≤2.5s | 2.5–4.0s | >4.0s |
|
|
10
|
-
| **INP** (Interaction to Next Paint) | ≤200ms | 200–500ms | >500ms |
|
|
11
|
-
| **CLS** (Cumulative Layout Shift) | ≤0.1 | 0.1–0.25 | >0.25 |
|
|
12
|
-
|
|
13
|
-
> **INP replaced FID on March 12, 2024.** FID was fully removed from all Chrome tools on September 9, 2024. Never reference FID.
|
|
14
|
-
|
|
15
|
-
## Key Facts
|
|
16
|
-
- Evaluation uses the **75th percentile** of real user data (CrUX field data)
|
|
17
|
-
- Assessment at **page level** AND **origin level**
|
|
18
|
-
- CWV is a **tiebreaker** signal — matters most when content quality is similar
|
|
19
|
-
- Thresholds **unchanged since original definitions**
|
|
20
|
-
- December 2025 core update appeared to weight **mobile CWV more heavily**
|
|
21
|
-
- As of October 2025: 57.1% desktop, 49.7% mobile sites pass all three CWV
|
|
22
|
-
- **Mobile-first indexing 100% complete** since July 5, 2024
|
|
23
|
-
|
|
24
|
-
## LCP Diagnostic Subparts (Feb 2025 CrUX)
|
|
25
|
-
|
|
26
|
-
| Subpart | Description | Target |
|
|
27
|
-
|---------|-------------|--------|
|
|
28
|
-
| TTFB | Server response time | <800ms |
|
|
29
|
-
| Resource Load Delay | TTFB to resource request | Minimize |
|
|
30
|
-
| Resource Load Time | LCP resource download | Size-dependent |
|
|
31
|
-
| Element Render Delay | Loaded to painted | Minimize |
|
|
32
|
-
|
|
33
|
-
**Total LCP = TTFB + Load Delay + Load Time + Render Delay**
|
|
34
|
-
|
|
35
|
-
## Common Bottlenecks
|
|
36
|
-
|
|
37
|
-
### LCP
|
|
38
|
-
- Unoptimized hero images → use WebP/AVIF, add `<link rel="preload">`
|
|
39
|
-
- Render-blocking CSS/JS → defer, async, critical CSS inline
|
|
40
|
-
- Slow TTFB (>200ms) → CDN, caching, edge compute
|
|
41
|
-
- Third-party blocking → defer analytics, chat widgets
|
|
42
|
-
- Font delay → `font-display: swap` + preload
|
|
43
|
-
|
|
44
|
-
### INP
|
|
45
|
-
- Long JS tasks on main thread → break tasks <50ms, use `scheduler.yield()`
|
|
46
|
-
- Heavy event handlers → debounce, requestAnimationFrame
|
|
47
|
-
- Excessive DOM (>1,500 elements)
|
|
48
|
-
- Third-party scripts hijacking main thread
|
|
49
|
-
- Layout thrashing (forced reflows)
|
|
50
|
-
|
|
51
|
-
### CLS
|
|
52
|
-
- Images/iframes without width/height dimensions
|
|
53
|
-
- Dynamic content injected above existing content
|
|
54
|
-
- Font swap causing layout shift → preload + font-display
|
|
55
|
-
- Ads/embeds without reserved space
|
|
56
|
-
|
|
57
|
-
## Measurement Sources
|
|
58
|
-
|
|
59
|
-
### Field Data (used for ranking)
|
|
60
|
-
- Chrome User Experience Report (CrUX)
|
|
61
|
-
- PageSpeed Insights (uses CrUX)
|
|
62
|
-
- Search Console Core Web Vitals report
|
|
63
|
-
|
|
64
|
-
### Lab Data (for debugging)
|
|
65
|
-
- Lighthouse 13.0 (Oct 2025, restructured audits)
|
|
66
|
-
- WebPageTest
|
|
67
|
-
- Chrome DevTools
|
|
68
|
-
|
|
69
|
-
## Optimization Priority
|
|
70
|
-
1. **LCP** — Most impactful for perceived performance
|
|
71
|
-
2. **CLS** — Most common UX issue
|
|
72
|
-
3. **INP** — Critical for interactive applications
|
|
73
|
-
|
|
74
|
-
## API Tools
|
|
75
|
-
```bash
|
|
76
|
-
# PageSpeed Insights API
|
|
77
|
-
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=URL&key=API_KEY"
|
|
78
|
-
|
|
79
|
-
# Lighthouse CLI
|
|
80
|
-
npx lighthouse URL --output json --output-path report.json
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## 2025–2026 Updates
|
|
84
|
-
- **Lighthouse 13.0** (Oct 2025): reorganized performance categories
|
|
85
|
-
- **CrUX Vis** replaced CrUX Dashboard (Nov 2025) → cruxvis.withgoogle.com
|
|
86
|
-
- **LCP subparts** in CrUX (Feb 2025)
|
|
87
|
-
- **Soft Navigations API** (Chrome 139+, July 2025): experimental SPA CWV measurement — no ranking impact yet
|
|
1
|
+
# Core Web Vitals — Thresholds & Optimization Guide (March 2026)
|
|
2
|
+
|
|
3
|
+
> Author: Laurent Rochetta | BMAD+ SEO Engine v2.0
|
|
4
|
+
|
|
5
|
+
## Current Metrics
|
|
6
|
+
|
|
7
|
+
| Metric | Good | Needs Improvement | Poor |
|
|
8
|
+
|--------|------|-------------------|------|
|
|
9
|
+
| **LCP** (Largest Contentful Paint) | ≤2.5s | 2.5–4.0s | >4.0s |
|
|
10
|
+
| **INP** (Interaction to Next Paint) | ≤200ms | 200–500ms | >500ms |
|
|
11
|
+
| **CLS** (Cumulative Layout Shift) | ≤0.1 | 0.1–0.25 | >0.25 |
|
|
12
|
+
|
|
13
|
+
> **INP replaced FID on March 12, 2024.** FID was fully removed from all Chrome tools on September 9, 2024. Never reference FID.
|
|
14
|
+
|
|
15
|
+
## Key Facts
|
|
16
|
+
- Evaluation uses the **75th percentile** of real user data (CrUX field data)
|
|
17
|
+
- Assessment at **page level** AND **origin level**
|
|
18
|
+
- CWV is a **tiebreaker** signal — matters most when content quality is similar
|
|
19
|
+
- Thresholds **unchanged since original definitions**
|
|
20
|
+
- December 2025 core update appeared to weight **mobile CWV more heavily**
|
|
21
|
+
- As of October 2025: 57.1% desktop, 49.7% mobile sites pass all three CWV
|
|
22
|
+
- **Mobile-first indexing 100% complete** since July 5, 2024
|
|
23
|
+
|
|
24
|
+
## LCP Diagnostic Subparts (Feb 2025 CrUX)
|
|
25
|
+
|
|
26
|
+
| Subpart | Description | Target |
|
|
27
|
+
|---------|-------------|--------|
|
|
28
|
+
| TTFB | Server response time | <800ms |
|
|
29
|
+
| Resource Load Delay | TTFB to resource request | Minimize |
|
|
30
|
+
| Resource Load Time | LCP resource download | Size-dependent |
|
|
31
|
+
| Element Render Delay | Loaded to painted | Minimize |
|
|
32
|
+
|
|
33
|
+
**Total LCP = TTFB + Load Delay + Load Time + Render Delay**
|
|
34
|
+
|
|
35
|
+
## Common Bottlenecks
|
|
36
|
+
|
|
37
|
+
### LCP
|
|
38
|
+
- Unoptimized hero images → use WebP/AVIF, add `<link rel="preload">`
|
|
39
|
+
- Render-blocking CSS/JS → defer, async, critical CSS inline
|
|
40
|
+
- Slow TTFB (>200ms) → CDN, caching, edge compute
|
|
41
|
+
- Third-party blocking → defer analytics, chat widgets
|
|
42
|
+
- Font delay → `font-display: swap` + preload
|
|
43
|
+
|
|
44
|
+
### INP
|
|
45
|
+
- Long JS tasks on main thread → break tasks <50ms, use `scheduler.yield()`
|
|
46
|
+
- Heavy event handlers → debounce, requestAnimationFrame
|
|
47
|
+
- Excessive DOM (>1,500 elements)
|
|
48
|
+
- Third-party scripts hijacking main thread
|
|
49
|
+
- Layout thrashing (forced reflows)
|
|
50
|
+
|
|
51
|
+
### CLS
|
|
52
|
+
- Images/iframes without width/height dimensions
|
|
53
|
+
- Dynamic content injected above existing content
|
|
54
|
+
- Font swap causing layout shift → preload + font-display
|
|
55
|
+
- Ads/embeds without reserved space
|
|
56
|
+
|
|
57
|
+
## Measurement Sources
|
|
58
|
+
|
|
59
|
+
### Field Data (used for ranking)
|
|
60
|
+
- Chrome User Experience Report (CrUX)
|
|
61
|
+
- PageSpeed Insights (uses CrUX)
|
|
62
|
+
- Search Console Core Web Vitals report
|
|
63
|
+
|
|
64
|
+
### Lab Data (for debugging)
|
|
65
|
+
- Lighthouse 13.0 (Oct 2025, restructured audits)
|
|
66
|
+
- WebPageTest
|
|
67
|
+
- Chrome DevTools
|
|
68
|
+
|
|
69
|
+
## Optimization Priority
|
|
70
|
+
1. **LCP** — Most impactful for perceived performance
|
|
71
|
+
2. **CLS** — Most common UX issue
|
|
72
|
+
3. **INP** — Critical for interactive applications
|
|
73
|
+
|
|
74
|
+
## API Tools
|
|
75
|
+
```bash
|
|
76
|
+
# PageSpeed Insights API
|
|
77
|
+
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=URL&key=API_KEY"
|
|
78
|
+
|
|
79
|
+
# Lighthouse CLI
|
|
80
|
+
npx lighthouse URL --output json --output-path report.json
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## 2025–2026 Updates
|
|
84
|
+
- **Lighthouse 13.0** (Oct 2025): reorganized performance categories
|
|
85
|
+
- **CrUX Vis** replaced CrUX Dashboard (Nov 2025) → cruxvis.withgoogle.com
|
|
86
|
+
- **LCP subparts** in CrUX (Feb 2025)
|
|
87
|
+
- **Soft Navigations API** (Chrome 139+, July 2025): experimental SPA CWV measurement — no ranking impact yet
|