agileflow 4.0.0-alpha.2 → 4.0.0-alpha.21
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 +51 -0
- package/content/plugins/accessibility/plugin.yaml +14 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/SKILL.md +392 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/references/aria-patterns.md +528 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/references/testing-checklist.md +457 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/references/wcag-guide.md +683 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/audit-page.md +310 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/implement-accessible-component.md +479 -0
- package/content/plugins/ads/agents/ads-audit-budget.md +185 -0
- package/content/plugins/ads/agents/ads-audit-compliance.md +171 -0
- package/content/plugins/ads/agents/ads-audit-creative.md +168 -0
- package/content/plugins/ads/agents/ads-audit-google.md +227 -0
- package/content/plugins/ads/agents/ads-audit-meta.md +184 -0
- package/content/plugins/ads/agents/ads-audit-tracking.md +205 -0
- package/content/plugins/ads/agents/ads-consensus.md +410 -0
- package/content/plugins/ads/agents/ads-generate.md +152 -0
- package/content/plugins/ads/agents/ads-performance-tracker.md +212 -0
- package/content/plugins/ads/plugin.yaml +23 -4
- package/content/plugins/ads/skills/agileflow-ads/SKILL.md +218 -0
- package/content/plugins/ads/skills/agileflow-ads/references/ad-copy-formula-guide.md +131 -0
- package/content/plugins/ads/skills/agileflow-ads/references/audience-targeting-guide.md +137 -0
- package/content/plugins/ads/skills/agileflow-ads/references/bid-strategy-guide.md +115 -0
- package/content/plugins/ads/skills/agileflow-ads/references/platform-benchmarks.md +100 -0
- package/content/plugins/ads/skills/agileflow-ads/workflows/audit.md +118 -0
- package/content/plugins/ads/skills/agileflow-ads/workflows/generate.md +84 -0
- package/content/plugins/audit/agents/a11y-analyzer-aria.md +173 -0
- package/content/plugins/audit/agents/a11y-analyzer-forms.md +173 -0
- package/content/plugins/audit/agents/a11y-analyzer-keyboard.md +183 -0
- package/content/plugins/audit/agents/a11y-analyzer-semantic.md +169 -0
- package/content/plugins/audit/agents/a11y-analyzer-visual.md +172 -0
- package/content/plugins/audit/agents/a11y-consensus.md +249 -0
- package/content/plugins/audit/agents/accessibility.md +558 -0
- package/content/plugins/audit/agents/api-quality-analyzer-conventions.md +156 -0
- package/content/plugins/audit/agents/api-quality-analyzer-docs.md +184 -0
- package/content/plugins/audit/agents/api-quality-analyzer-errors.md +191 -0
- package/content/plugins/audit/agents/api-quality-analyzer-pagination.md +179 -0
- package/content/plugins/audit/agents/api-quality-analyzer-versioning.md +150 -0
- package/content/plugins/audit/agents/api-quality-consensus.md +217 -0
- package/content/plugins/audit/agents/api-validator.md +191 -0
- package/content/plugins/audit/agents/arch-analyzer-circular.md +156 -0
- package/content/plugins/audit/agents/arch-analyzer-complexity.md +193 -0
- package/content/plugins/audit/agents/arch-analyzer-coupling.md +152 -0
- package/content/plugins/audit/agents/arch-analyzer-layering.md +160 -0
- package/content/plugins/audit/agents/arch-analyzer-patterns.md +210 -0
- package/content/plugins/audit/agents/arch-consensus.md +228 -0
- package/content/plugins/audit/agents/browser-qa.md +342 -0
- package/content/plugins/audit/agents/code-reviewer.md +298 -0
- package/content/plugins/audit/agents/completeness-analyzer-api.md +199 -0
- package/content/plugins/audit/agents/completeness-analyzer-conditional.md +211 -0
- package/content/plugins/audit/agents/completeness-analyzer-handlers.md +166 -0
- package/content/plugins/audit/agents/completeness-analyzer-imports.md +165 -0
- package/content/plugins/audit/agents/completeness-analyzer-routes.md +190 -0
- package/content/plugins/audit/agents/completeness-analyzer-state.md +196 -0
- package/content/plugins/audit/agents/completeness-analyzer-stubs.md +206 -0
- package/content/plugins/audit/agents/completeness-consensus.md +295 -0
- package/content/plugins/audit/agents/error-analyzer.md +213 -0
- package/content/plugins/audit/agents/flow-analyzer-authorization.md +182 -0
- package/content/plugins/audit/agents/flow-analyzer-discovery.md +174 -0
- package/content/plugins/audit/agents/flow-analyzer-errors.md +186 -0
- package/content/plugins/audit/agents/flow-analyzer-feedback.md +185 -0
- package/content/plugins/audit/agents/flow-analyzer-navigation.md +177 -0
- package/content/plugins/audit/agents/flow-analyzer-persistence.md +193 -0
- package/content/plugins/audit/agents/flow-analyzer-wiring.md +169 -0
- package/content/plugins/audit/agents/flow-consensus.md +237 -0
- package/content/plugins/audit/agents/legal-analyzer-a11y.md +114 -0
- package/content/plugins/audit/agents/legal-analyzer-ai.md +121 -0
- package/content/plugins/audit/agents/legal-analyzer-consumer.md +114 -0
- package/content/plugins/audit/agents/legal-analyzer-content.md +117 -0
- package/content/plugins/audit/agents/legal-analyzer-international.md +119 -0
- package/content/plugins/audit/agents/legal-analyzer-licensing.md +119 -0
- package/content/plugins/audit/agents/legal-analyzer-privacy.md +112 -0
- package/content/plugins/audit/agents/legal-analyzer-security.md +116 -0
- package/content/plugins/audit/agents/legal-analyzer-terms.md +115 -0
- package/content/plugins/audit/agents/legal-consensus.md +250 -0
- package/content/plugins/audit/agents/logic-analyzer-edge.md +179 -0
- package/content/plugins/audit/agents/logic-analyzer-flow.md +264 -0
- package/content/plugins/audit/agents/logic-analyzer-invariant.md +215 -0
- package/content/plugins/audit/agents/logic-analyzer-race.md +280 -0
- package/content/plugins/audit/agents/logic-analyzer-type.md +227 -0
- package/content/plugins/audit/agents/logic-consensus.md +259 -0
- package/content/plugins/audit/agents/perf-analyzer-assets.md +182 -0
- package/content/plugins/audit/agents/perf-analyzer-bundle.md +173 -0
- package/content/plugins/audit/agents/perf-analyzer-caching.md +170 -0
- package/content/plugins/audit/agents/perf-analyzer-compute.md +173 -0
- package/content/plugins/audit/agents/perf-analyzer-memory.md +193 -0
- package/content/plugins/audit/agents/perf-analyzer-network.md +165 -0
- package/content/plugins/audit/agents/perf-analyzer-queries.md +162 -0
- package/content/plugins/audit/agents/perf-analyzer-rendering.md +168 -0
- package/content/plugins/audit/agents/perf-consensus.md +287 -0
- package/content/plugins/audit/agents/qa.md +820 -0
- package/content/plugins/audit/agents/quality-analyzer-comments.md +159 -0
- package/content/plugins/audit/agents/quality-analyzer-duplication.md +184 -0
- package/content/plugins/audit/agents/quality-analyzer-naming.md +160 -0
- package/content/plugins/audit/agents/quality-consensus.md +241 -0
- package/content/plugins/audit/agents/schema-validator.md +473 -0
- package/content/plugins/audit/agents/security-analyzer-api.md +210 -0
- package/content/plugins/audit/agents/security-analyzer-auth.md +169 -0
- package/content/plugins/audit/agents/security-analyzer-authz.md +180 -0
- package/content/plugins/audit/agents/security-analyzer-deps.md +153 -0
- package/content/plugins/audit/agents/security-analyzer-infra.md +184 -0
- package/content/plugins/audit/agents/security-analyzer-injection.md +155 -0
- package/content/plugins/audit/agents/security-analyzer-input.md +201 -0
- package/content/plugins/audit/agents/security-analyzer-secrets.md +183 -0
- package/content/plugins/audit/agents/security-consensus.md +283 -0
- package/content/plugins/audit/agents/test-analyzer-assertions.md +188 -0
- package/content/plugins/audit/agents/test-analyzer-coverage.md +189 -0
- package/content/plugins/audit/agents/test-analyzer-fragility.md +193 -0
- package/content/plugins/audit/agents/test-analyzer-integration.md +161 -0
- package/content/plugins/audit/agents/test-analyzer-maintenance.md +180 -0
- package/content/plugins/audit/agents/test-analyzer-mocking.md +188 -0
- package/content/plugins/audit/agents/test-analyzer-patterns.md +196 -0
- package/content/plugins/audit/agents/test-analyzer-structure.md +184 -0
- package/content/plugins/audit/agents/test-consensus.md +301 -0
- package/content/plugins/audit/agents/testing.md +561 -0
- package/content/plugins/audit/agents/ui-validator.md +344 -0
- package/content/plugins/audit/plugin.yaml +186 -5
- package/content/plugins/audit/skills/agileflow-audit/SKILL.md +113 -0
- package/content/plugins/audit/skills/agileflow-audit/references/audit-depth-guide.md +151 -0
- package/content/plugins/audit/skills/agileflow-audit/references/dependency-risk-guide.md +139 -0
- package/content/plugins/audit/skills/agileflow-audit/references/owasp-top10.md +120 -0
- package/content/plugins/audit/skills/agileflow-audit/references/performance-budget-guide.md +143 -0
- package/content/plugins/audit/skills/agileflow-audit/references/wcag-criteria.md +117 -0
- package/content/plugins/audit/skills/agileflow-audit/workflows/run-audit.md +52 -0
- package/content/plugins/audit/skills/agileflow-audit/workflows/tdd.md +66 -0
- package/content/plugins/core/agents/adr-writer.md +521 -0
- package/content/plugins/core/agents/epic-planner.md +520 -0
- package/content/plugins/core/agents/mentor.md +709 -0
- package/content/plugins/core/agents/orchestrator.md +776 -0
- package/content/plugins/core/agents/team-coordinator.md +334 -0
- package/content/plugins/core/agents/team-lead.md +181 -0
- package/content/plugins/core/agents/workspace-orchestrator.md +146 -0
- package/content/plugins/core/hooks/context-loader.js +31 -4
- package/content/plugins/core/hooks/damage-control-bash.js +10 -2
- package/content/plugins/core/hooks/damage-control-edit.js +4 -1
- package/content/plugins/core/hooks/damage-control-patterns.yaml +1 -1
- package/content/plugins/core/hooks/damage-control-write.js +4 -1
- package/content/plugins/core/hooks/{pre-compact-state.js → post-compact-state.js} +25 -8
- package/content/plugins/core/hooks/preferences-injector.js +352 -0
- package/content/plugins/core/plugin.yaml +24 -28
- package/content/plugins/core/skills/agileflow-adr/SKILL.md +34 -8
- package/content/plugins/core/skills/agileflow-adr/references/madr-format-guide.md +86 -0
- package/content/plugins/core/skills/agileflow-adr/workflows/write-adr.md +57 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +94 -27
- package/content/plugins/core/skills/agileflow-babysit-mentor/references/mentor-decision-guide.md +81 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/workflows/mentor-session.md +79 -0
- package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +37 -7
- package/content/plugins/core/skills/agileflow-epic-planner/references/epic-sizing-guide.md +81 -0
- package/content/plugins/core/skills/agileflow-epic-planner/workflows/plan-epic.md +55 -0
- package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +36 -20
- package/content/plugins/core/skills/agileflow-status-updater/references/status-transitions.md +89 -0
- package/content/plugins/core/skills/agileflow-status-updater/workflows/update-status.md +56 -0
- package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +39 -114
- package/content/plugins/core/skills/agileflow-story-writer/references/estimation-reference.md +36 -0
- package/content/plugins/core/skills/agileflow-story-writer/references/story-template.md +92 -0
- package/content/plugins/core/skills/agileflow-story-writer/workflows/write-story.md +138 -0
- package/content/plugins/council/agents/council-advocate.md +223 -0
- package/content/plugins/council/agents/council-analyst.md +278 -0
- package/content/plugins/council/agents/council-compounder.md +204 -0
- package/content/plugins/council/agents/council-contrarian.md +217 -0
- package/content/plugins/council/agents/council-moonshot.md +217 -0
- package/content/plugins/council/agents/council-optimist.md +185 -0
- package/content/plugins/council/agents/council-revenue.md +200 -0
- package/content/plugins/council/agents/council-technical.md +218 -0
- package/content/plugins/council/agents/multi-expert.md +334 -0
- package/content/plugins/council/plugin.yaml +23 -4
- package/content/plugins/council/skills/agileflow-council/SKILL.md +102 -0
- package/content/plugins/council/skills/agileflow-council/references/decision-log-template.md +109 -0
- package/content/plugins/council/skills/agileflow-council/references/perspective-guide.md +104 -0
- package/content/plugins/council/skills/agileflow-council/references/when-to-convene-guide.md +112 -0
- package/content/plugins/council/skills/agileflow-council/workflows/convene.md +73 -0
- package/content/plugins/council/skills/agileflow-council/workflows/multi-expert.md +75 -0
- package/content/plugins/database/plugin.yaml +14 -0
- package/content/plugins/database/skills/agileflow-database/SKILL.md +284 -0
- package/content/plugins/database/skills/agileflow-database/references/indexing-guide.md +313 -0
- package/content/plugins/database/skills/agileflow-database/references/migration-guide.md +328 -0
- package/content/plugins/database/skills/agileflow-database/references/schema-design-guide.md +467 -0
- package/content/plugins/database/skills/agileflow-database/workflows/design-schema.md +213 -0
- package/content/plugins/database/skills/agileflow-database/workflows/optimize-query.md +253 -0
- package/content/plugins/debugging/plugin.yaml +14 -0
- package/content/plugins/debugging/skills/agileflow-debug/SKILL.md +236 -0
- package/content/plugins/debugging/skills/agileflow-debug/references/common-patterns.md +350 -0
- package/content/plugins/debugging/skills/agileflow-debug/references/debugging-strategies.md +328 -0
- package/content/plugins/debugging/skills/agileflow-debug/workflows/debug-issue.md +187 -0
- package/content/plugins/debugging/skills/agileflow-debug/workflows/reproduce-bug.md +194 -0
- package/content/plugins/delivery/agents/ci.md +547 -0
- package/content/plugins/delivery/agents/devops.md +789 -0
- package/content/plugins/delivery/plugin.yaml +19 -0
- package/content/plugins/delivery/skills/agileflow-delivery/SKILL.md +111 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/changelog-format-guide.md +133 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/ci-pipeline-guide.md +158 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/pr-checklist-guide.md +133 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/release-checklist.md +142 -0
- package/content/plugins/delivery/skills/agileflow-delivery/workflows/changelog.md +72 -0
- package/content/plugins/delivery/skills/agileflow-delivery/workflows/deploy.md +74 -0
- package/content/plugins/delivery/skills/agileflow-delivery/workflows/pr.md +75 -0
- package/content/plugins/docs/agents/documentation.md +544 -0
- package/content/plugins/docs/agents/readme-updater.md +640 -0
- package/content/plugins/docs/plugin.yaml +19 -0
- package/content/plugins/docs/skills/agileflow-docs/SKILL.md +106 -0
- package/content/plugins/docs/skills/agileflow-docs/references/api-doc-template.md +167 -0
- package/content/plugins/docs/skills/agileflow-docs/references/doc-types-guide.md +141 -0
- package/content/plugins/docs/skills/agileflow-docs/references/readme-template.md +156 -0
- package/content/plugins/docs/skills/agileflow-docs/workflows/readme-sync.md +57 -0
- package/content/plugins/docs/skills/agileflow-docs/workflows/sync.md +64 -0
- package/content/plugins/engineering/agents/api.md +718 -0
- package/content/plugins/engineering/agents/codebase-query.md +285 -0
- package/content/plugins/engineering/agents/compliance.md +559 -0
- package/content/plugins/engineering/agents/database.md +644 -0
- package/content/plugins/engineering/agents/integrations.md +644 -0
- package/content/plugins/engineering/agents/mobile.md +552 -0
- package/content/plugins/engineering/agents/monitoring.md +585 -0
- package/content/plugins/engineering/agents/performance.md +529 -0
- package/content/plugins/engineering/agents/refactor.md +592 -0
- package/content/plugins/engineering/agents/security.md +524 -0
- package/content/plugins/engineering/agents/ui.md +1336 -0
- package/content/plugins/engineering/plugin.yaml +37 -0
- package/content/plugins/engineering/skills/agileflow-engineering/SKILL.md +127 -0
- package/content/plugins/engineering/skills/agileflow-engineering/references/code-review-guide.md +126 -0
- package/content/plugins/engineering/skills/agileflow-engineering/references/domain-routing-guide.md +89 -0
- package/content/plugins/engineering/skills/agileflow-engineering/references/refactoring-guide.md +136 -0
- package/content/plugins/engineering/skills/agileflow-engineering/workflows/diagnose.md +63 -0
- package/content/plugins/engineering/skills/agileflow-engineering/workflows/impact.md +60 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-features.md +179 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-growth.md +169 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-integration.md +181 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-market.md +150 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-ux.md +180 -0
- package/content/plugins/ideation/agents/brainstorm-consensus.md +245 -0
- package/content/plugins/ideation/agents/design.md +568 -0
- package/content/plugins/ideation/agents/product.md +582 -0
- package/content/plugins/ideation/plugin.yaml +31 -0
- package/content/plugins/ideation/skills/agileflow-ideation/SKILL.md +109 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/brainstorm-techniques.md +138 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/competitive-analysis-template.md +148 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/feature-prioritization-guide.md +147 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/user-story-patterns.md +152 -0
- package/content/plugins/ideation/skills/agileflow-ideation/workflows/features.md +65 -0
- package/content/plugins/ideation/skills/agileflow-ideation/workflows/ideate.md +54 -0
- package/content/plugins/migration/agents/datamigration.md +757 -0
- package/content/plugins/migration/plugin.yaml +17 -0
- package/content/plugins/migration/skills/agileflow-migration/SKILL.md +106 -0
- package/content/plugins/migration/skills/agileflow-migration/references/data-validation-checklist.md +154 -0
- package/content/plugins/migration/skills/agileflow-migration/references/migration-patterns.md +209 -0
- package/content/plugins/migration/skills/agileflow-migration/references/rollback-playbook.md +171 -0
- package/content/plugins/migration/skills/agileflow-migration/references/version-compatibility-matrix.md +155 -0
- package/content/plugins/migration/skills/agileflow-migration/workflows/plan.md +73 -0
- package/content/plugins/migration/skills/agileflow-migration/workflows/validate.md +71 -0
- package/content/plugins/performance/plugin.yaml +14 -0
- package/content/plugins/performance/skills/agileflow-performance/SKILL.md +224 -0
- package/content/plugins/performance/skills/agileflow-performance/references/optimization-patterns.md +554 -0
- package/content/plugins/performance/skills/agileflow-performance/references/profiling-guide.md +383 -0
- package/content/plugins/performance/skills/agileflow-performance/references/web-vitals-guide.md +360 -0
- package/content/plugins/performance/skills/agileflow-performance/workflows/improve-web-vitals.md +344 -0
- package/content/plugins/performance/skills/agileflow-performance/workflows/profile-and-fix.md +254 -0
- package/content/plugins/planning/agents/analytics.md +670 -0
- package/content/plugins/planning/agents/rlm-subcore.md +215 -0
- package/content/plugins/planning/plugin.yaml +19 -0
- package/content/plugins/planning/skills/agileflow-planning/SKILL.md +111 -0
- package/content/plugins/planning/skills/agileflow-planning/references/estimation-guide.md +114 -0
- package/content/plugins/planning/skills/agileflow-planning/references/rpi-workflow.md +119 -0
- package/content/plugins/planning/skills/agileflow-planning/references/sprint-planning-guide.md +145 -0
- package/content/plugins/planning/skills/agileflow-planning/workflows/impact.md +63 -0
- package/content/plugins/planning/skills/agileflow-planning/workflows/rpi.md +104 -0
- package/content/plugins/psychology/plugin.yaml +14 -0
- package/content/plugins/psychology/skills/agileflow-retention/SKILL.md +252 -0
- package/content/plugins/psychology/skills/agileflow-retention/references/competitor-analysis.md +240 -0
- package/content/plugins/psychology/skills/agileflow-retention/references/psychology-models.md +349 -0
- package/content/plugins/psychology/skills/agileflow-retention/references/retention-patterns.md +279 -0
- package/content/plugins/psychology/skills/agileflow-retention/workflows/design-retention-feature.md +287 -0
- package/content/plugins/psychology/skills/agileflow-retention/workflows/retention-audit.md +259 -0
- package/content/plugins/refactoring/plugin.yaml +14 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/SKILL.md +235 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/references/refactoring-patterns.md +405 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/references/safety-checks.md +177 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/workflows/extract-module.md +226 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/workflows/safe-refactor.md +169 -0
- package/content/plugins/research/agents/research.md +503 -0
- package/content/plugins/research/plugin.yaml +17 -0
- package/content/plugins/research/skills/agileflow-research/SKILL.md +110 -0
- package/content/plugins/research/skills/agileflow-research/references/knowledge-decay-guide.md +121 -0
- package/content/plugins/research/skills/agileflow-research/references/research-prompt-guide.md +141 -0
- package/content/plugins/research/skills/agileflow-research/references/synthesis-template.md +154 -0
- package/content/plugins/research/skills/agileflow-research/workflows/analyze.md +60 -0
- package/content/plugins/research/skills/agileflow-research/workflows/ask.md +64 -0
- package/content/plugins/research/skills/agileflow-research/workflows/import.md +66 -0
- package/content/plugins/research/skills/agileflow-research/workflows/synthesize.md +66 -0
- package/content/plugins/reviews/plugin.yaml +14 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/SKILL.md +241 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/review-checklist.md +200 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/security-patterns.md +328 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/review-pr.md +153 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/security-review.md +177 -0
- package/content/plugins/seo/agents/seo-analyzer-content.md +169 -0
- package/content/plugins/seo/agents/seo-analyzer-images.md +198 -0
- package/content/plugins/seo/agents/seo-analyzer-performance.md +217 -0
- package/content/plugins/seo/agents/seo-analyzer-schema.md +184 -0
- package/content/plugins/seo/agents/seo-analyzer-sitemap.md +177 -0
- package/content/plugins/seo/agents/seo-analyzer-technical.md +151 -0
- package/content/plugins/seo/agents/seo-consensus.md +304 -0
- package/content/plugins/seo/plugin.yaml +19 -4
- package/content/plugins/seo/skills/agileflow-seo/SKILL.md +188 -0
- package/content/plugins/seo/skills/agileflow-seo/references/cwv-thresholds.md +110 -0
- package/content/plugins/seo/skills/agileflow-seo/references/eeat-framework.md +144 -0
- package/content/plugins/seo/skills/agileflow-seo/references/keyword-research-guide.md +125 -0
- package/content/plugins/seo/skills/agileflow-seo/references/schema-types.md +139 -0
- package/content/plugins/seo/skills/agileflow-seo/references/technical-seo-checklist.md +139 -0
- package/content/plugins/seo/skills/agileflow-seo/workflows/audit.md +98 -0
- package/content/plugins/seo/skills/agileflow-seo/workflows/page.md +118 -0
- package/content/plugins/testing/plugin.yaml +16 -0
- package/content/plugins/testing/skills/agileflow-test-writer/SKILL.md +260 -0
- package/content/plugins/testing/skills/agileflow-test-writer/references/coverage-targets.md +239 -0
- package/content/plugins/testing/skills/agileflow-test-writer/references/test-patterns.md +420 -0
- package/content/plugins/testing/skills/agileflow-test-writer/workflows/add-coverage.md +154 -0
- package/content/plugins/testing/skills/agileflow-test-writer/workflows/write-tests-from-ac.md +225 -0
- package/package.json +2 -2
- package/src/cli/commands/doctor.js +818 -30
- package/src/cli/commands/hook.js +17 -14
- package/src/cli/commands/launch.js +1454 -0
- package/src/cli/commands/learn.js +149 -0
- package/src/cli/commands/plugins.js +113 -0
- package/src/cli/commands/setup.js +455 -110
- package/src/cli/commands/skills.js +324 -0
- package/src/cli/commands/status.js +8 -10
- package/src/cli/commands/update.js +76 -15
- package/src/cli/index.js +90 -26
- package/src/cli/wizard/babysit-mode-picker.js +192 -0
- package/src/cli/wizard/behaviors-picker.js +208 -54
- package/src/cli/wizard/ide-picker.js +40 -28
- package/src/cli/wizard/install-scope-picker.js +57 -0
- package/src/cli/wizard/launch-alias-picker.js +50 -0
- package/src/cli/wizard/launch-cli-picker.js +129 -0
- package/src/cli/wizard/launch-tmux-picker.js +133 -0
- package/src/cli/wizard/learnings-picker.js +40 -0
- package/src/cli/wizard/plugin-picker.js +47 -16
- package/src/lib/brand.js +116 -0
- package/src/lib/errors.js +120 -0
- package/src/lib/path-check.js +39 -0
- package/src/runtime/config/defaults.js +22 -17
- package/src/runtime/config/loader.js +77 -8
- package/src/runtime/config/schema.json +43 -16
- package/src/runtime/config/writer.js +3 -1
- package/src/runtime/ide/babysit-skill.js +202 -0
- package/src/runtime/ide/capabilities.js +84 -29
- package/src/runtime/ide/claude-code-content.js +177 -0
- package/src/runtime/ide/claude-code-settings.js +67 -29
- package/src/runtime/ide/claude-code-skills.js +47 -32
- package/src/runtime/ide/codex-config.js +295 -0
- package/src/runtime/installer/install.js +252 -24
- package/src/runtime/launch/alias-installer.js +191 -0
- package/src/runtime/launch/cli-resume.js +244 -0
- package/src/runtime/launch/closed-windows.js +338 -0
- package/src/runtime/launch/defaults.js +66 -0
- package/src/runtime/launch/detect-clis.js +69 -0
- package/src/runtime/launch/doctor.js +464 -0
- package/src/runtime/launch/exec-wrapper.js +114 -0
- package/src/runtime/launch/parallel-session.js +247 -0
- package/src/runtime/launch/prefs.js +211 -0
- package/src/runtime/launch/project-prefs.js +234 -0
- package/src/runtime/launch/resolve-cli.js +56 -0
- package/src/runtime/launch/restore.js +152 -0
- package/src/runtime/launch/schema.json +75 -0
- package/src/runtime/launch/session-lifecycle.js +313 -0
- package/src/runtime/launch/session-registry.js +401 -0
- package/src/runtime/launch/spawn.js +103 -0
- package/src/runtime/launch/tabs.js +350 -0
- package/src/runtime/launch/tmux.js +764 -0
- package/src/runtime/launch/worktree.js +260 -0
- package/src/runtime/plugins/registry.js +16 -11
- package/src/runtime/plugins/validator.js +57 -43
- package/src/runtime/skills/learnings.js +308 -0
- package/content/plugins/core/hooks/babysit-mentor-injector.js +0 -55
- package/src/cli/wizard/personalization.js +0 -64
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seo-analyzer-content
|
|
3
|
+
description: E-E-A-T and content quality analyzer for trustworthiness signals, expertise indicators, readability, thin content detection, and AI citation readiness
|
|
4
|
+
tools: Read, Glob, Grep, WebFetch
|
|
5
|
+
model: haiku
|
|
6
|
+
team_role: utility
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# SEO Analyzer: Content Quality & E-E-A-T
|
|
10
|
+
|
|
11
|
+
You are a specialized SEO analyzer focused on **content quality and E-E-A-T signals**. Your job is to assess a website's content for Experience, Expertise, Authoritativeness, and Trustworthiness, plus readability, content depth, and AI search citability.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Your Focus Areas
|
|
16
|
+
|
|
17
|
+
1. **Trustworthiness (30%)**: Transparency, contact info, HTTPS, no deceptive patterns
|
|
18
|
+
2. **Expertise (25%)**: Author credentials, accuracy, technical depth, cited sources
|
|
19
|
+
3. **Authoritativeness (25%)**: Brand signals, citations, industry standing
|
|
20
|
+
4. **Experience (20%)**: First-hand knowledge, original content, case studies
|
|
21
|
+
5. **Content Depth**: Word count, uniqueness, comprehensiveness
|
|
22
|
+
6. **Readability**: Sentence structure, vocabulary level, formatting
|
|
23
|
+
7. **AI Citation Readiness**: Structured for AI search platforms to cite
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Analysis Process
|
|
28
|
+
|
|
29
|
+
### Step 1: Fetch Page Content
|
|
30
|
+
|
|
31
|
+
Use WebFetch to retrieve the target page. Extract:
|
|
32
|
+
|
|
33
|
+
- Main content area (exclude nav, footer, sidebar)
|
|
34
|
+
- Author information and bylines
|
|
35
|
+
- Publication dates and update timestamps
|
|
36
|
+
- Internal and external links
|
|
37
|
+
- Media content (images, videos)
|
|
38
|
+
|
|
39
|
+
### Step 2: Assess Trustworthiness (30%)
|
|
40
|
+
|
|
41
|
+
Check for these trust signals:
|
|
42
|
+
|
|
43
|
+
| Signal | Points | How to Check |
|
|
44
|
+
| --------------------- | -------- | --------------------------------------------------- |
|
|
45
|
+
| HTTPS | +5 / -10 | URL starts with https:// |
|
|
46
|
+
| Contact page link | +5 / -5 | Look for /contact, /about links |
|
|
47
|
+
| Privacy policy link | +3 / -3 | Look for /privacy link in footer |
|
|
48
|
+
| Terms of service | +2 / -2 | Look for /terms link in footer |
|
|
49
|
+
| Physical address | +3 / 0 | Look for address in footer/contact |
|
|
50
|
+
| Editorial policy | +4 / 0 | Look for editorial standards page |
|
|
51
|
+
| No deceptive patterns | +5 / -10 | Check for dark UX, misleading CTAs |
|
|
52
|
+
| Affiliate disclosure | +3 / -5 | Check for FTC disclosure if affiliate links present |
|
|
53
|
+
|
|
54
|
+
### Step 3: Assess Expertise (25%)
|
|
55
|
+
|
|
56
|
+
Check for expertise signals:
|
|
57
|
+
|
|
58
|
+
| Signal | Points | How to Check |
|
|
59
|
+
| ------------------------------- | ------- | ---------------------------------------- |
|
|
60
|
+
| Author bylines with credentials | +5 / -3 | Author name + title/qualifications |
|
|
61
|
+
| Cited sources / references | +5 / -3 | External links to authoritative sources |
|
|
62
|
+
| Technical accuracy | +5 / -5 | Content factual correctness (spot-check) |
|
|
63
|
+
| Industry terminology | +3 / 0 | Appropriate use of domain-specific terms |
|
|
64
|
+
| Depth of coverage | +4 / -2 | Not surface-level, addresses nuances |
|
|
65
|
+
| Editorial review signals | +3 / 0 | "Reviewed by", "Edited by" mentions |
|
|
66
|
+
|
|
67
|
+
### Step 4: Assess Authoritativeness (25%)
|
|
68
|
+
|
|
69
|
+
Check for authority signals:
|
|
70
|
+
|
|
71
|
+
| Signal | Points | How to Check |
|
|
72
|
+
| ----------------------- | ------- | -------------------------------------------- |
|
|
73
|
+
| Brand identity clear | +5 / -3 | Organization name, logo, consistent branding |
|
|
74
|
+
| Testimonials/reviews | +3 / 0 | Authentic customer feedback |
|
|
75
|
+
| Industry certifications | +3 / 0 | Badges, accreditations displayed |
|
|
76
|
+
| Media mentions / press | +4 / 0 | "As seen in" or press page |
|
|
77
|
+
| Consistent NAP | +3 / -2 | Name, Address, Phone consistent across pages |
|
|
78
|
+
| Social proof | +3 / 0 | Social media links, follower indicators |
|
|
79
|
+
|
|
80
|
+
### Step 5: Assess Experience (20%)
|
|
81
|
+
|
|
82
|
+
Check for experience signals:
|
|
83
|
+
|
|
84
|
+
| Signal | Points | How to Check |
|
|
85
|
+
| ----------------------------- | ------- | ------------------------------------------- |
|
|
86
|
+
| First-person accounts | +5 / -2 | "I tested", "We implemented", case studies |
|
|
87
|
+
| Original photography | +4 / -1 | Non-stock images, screenshots of real usage |
|
|
88
|
+
| Specific data/metrics | +4 / -2 | Real numbers, percentages, timeframes |
|
|
89
|
+
| User testimonials (authentic) | +3 / 0 | Named reviewers, specific feedback |
|
|
90
|
+
| Step-by-step from experience | +4 / -1 | Practical guides with personal insights |
|
|
91
|
+
|
|
92
|
+
### Step 6: Content Depth Analysis
|
|
93
|
+
|
|
94
|
+
Measure against content minimums (from quality-gates.md reference):
|
|
95
|
+
|
|
96
|
+
| Page Type | Min Words | Min Unique % |
|
|
97
|
+
| -------------- | --------- | ------------ |
|
|
98
|
+
| Homepage | 500 | 100% |
|
|
99
|
+
| Service pages | 800 | 60% |
|
|
100
|
+
| Blog posts | 1,500 | 100% |
|
|
101
|
+
| Product pages | 300 | 40% |
|
|
102
|
+
| Location pages | 500 | 40% |
|
|
103
|
+
|
|
104
|
+
Flag: Thin content (below minimums), boilerplate-heavy pages, keyword stuffing
|
|
105
|
+
|
|
106
|
+
### Step 7: AI Citation Readiness
|
|
107
|
+
|
|
108
|
+
Assess how well content is structured for AI search citation:
|
|
109
|
+
|
|
110
|
+
| Factor | Good | Poor |
|
|
111
|
+
| ---------------------- | -------------------------- | ------------------------ |
|
|
112
|
+
| Self-contained blocks | 134-167 word answer blocks | Long unbroken paragraphs |
|
|
113
|
+
| Specific facts | Numbers, dates, names | Vague generalizations |
|
|
114
|
+
| Question headers | H2/H3 as questions | Generic headings |
|
|
115
|
+
| Tables for comparisons | Data in tables | Buried in prose |
|
|
116
|
+
| Clear attribution | "According to [source]..." | Unsourced claims |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Output Format
|
|
121
|
+
|
|
122
|
+
For each finding, output:
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
|
+
### FINDING-{N}: {Brief Title}
|
|
126
|
+
|
|
127
|
+
**Category**: {Trustworthiness|Expertise|Authoritativeness|Experience|Content Depth|Readability|AI Citability}
|
|
128
|
+
**URL**: `{page URL}`
|
|
129
|
+
**Severity**: CRITICAL | HIGH | MEDIUM | LOW
|
|
130
|
+
**Confidence**: HIGH | MEDIUM | LOW
|
|
131
|
+
|
|
132
|
+
**Issue**: {Clear explanation of the content quality problem}
|
|
133
|
+
|
|
134
|
+
**Evidence**:
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
{relevant content snippet or missing element}
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Impact**: {How this affects search rankings or user trust}
|
|
142
|
+
|
|
143
|
+
**Remediation**:
|
|
144
|
+
- {Specific fix}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
At the end, provide:
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
## E-E-A-T Summary
|
|
151
|
+
|
|
152
|
+
| Factor | Score | Key Signals |
|
|
153
|
+
| ------------------------- | --------- | --------------------------- |
|
|
154
|
+
| Trustworthiness (30%) | X/30 | {top signals found/missing} |
|
|
155
|
+
| Expertise (25%) | X/25 | {top signals found/missing} |
|
|
156
|
+
| Authoritativeness (25%) | X/25 | {top signals found/missing} |
|
|
157
|
+
| Experience (20%) | X/20 | {top signals found/missing} |
|
|
158
|
+
| **Content Quality Score** | **X/100** | |
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Important Rules
|
|
164
|
+
|
|
165
|
+
1. **Fetch real content** - Use WebFetch, don't guess about page content
|
|
166
|
+
2. **Assess the actual page** - Not what it could be, but what it is
|
|
167
|
+
3. **Be constructive** - Every finding should include actionable remediation
|
|
168
|
+
4. **Detect AI content red flags** - Generic phrasing, no original insights, fabricated experience
|
|
169
|
+
5. **Score by signals present** - Not by what's theoretically possible
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seo-analyzer-images
|
|
3
|
+
description: Image optimization analyzer for alt text quality, image sizing, modern format usage (WebP/AVIF), lazy loading, CLS prevention, and file size optimization
|
|
4
|
+
tools: Read, Glob, Grep, WebFetch
|
|
5
|
+
model: haiku
|
|
6
|
+
team_role: utility
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# SEO Analyzer: Image Optimization
|
|
10
|
+
|
|
11
|
+
You are a specialized SEO analyzer focused on **image optimization for SEO**. Your job is to analyze images on web pages for alt text quality, sizing attributes, modern formats, lazy loading, CLS prevention, and overall optimization opportunities.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Your Focus Areas
|
|
16
|
+
|
|
17
|
+
1. **Alt Text**: Quality, descriptiveness, keyword relevance, accessibility
|
|
18
|
+
2. **Image Sizing**: Explicit width/height to prevent CLS
|
|
19
|
+
3. **Modern Formats**: WebP/AVIF usage vs legacy PNG/JPG
|
|
20
|
+
4. **Lazy Loading**: Below-fold images using `loading="lazy"`
|
|
21
|
+
5. **LCP Optimization**: Hero image priority with `fetchpriority="high"`
|
|
22
|
+
6. **File Size**: Oversized images that slow page load
|
|
23
|
+
7. **Responsive Images**: `srcset` and `sizes` for responsive delivery
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Analysis Process
|
|
28
|
+
|
|
29
|
+
### Step 1: Fetch Page and Extract Images
|
|
30
|
+
|
|
31
|
+
Use WebFetch to retrieve the target page. For each `<img>` element, extract:
|
|
32
|
+
|
|
33
|
+
- `src` attribute (URL and format)
|
|
34
|
+
- `alt` attribute (text or missing)
|
|
35
|
+
- `width` and `height` attributes (present or missing)
|
|
36
|
+
- `loading` attribute (lazy, eager, or missing)
|
|
37
|
+
- `fetchpriority` attribute (high, low, auto, or missing)
|
|
38
|
+
- `srcset` and `sizes` attributes
|
|
39
|
+
- `decoding` attribute (async, sync, auto)
|
|
40
|
+
- Position on page (above-fold vs below-fold estimate)
|
|
41
|
+
|
|
42
|
+
Also check for:
|
|
43
|
+
|
|
44
|
+
- CSS background images (`background-image: url(...)`)
|
|
45
|
+
- `<picture>` elements with `<source>` for format alternatives
|
|
46
|
+
- SVG images (inline or external)
|
|
47
|
+
|
|
48
|
+
### Step 2: Audit Alt Text
|
|
49
|
+
|
|
50
|
+
For each image, assess alt text quality:
|
|
51
|
+
|
|
52
|
+
| Quality | Criteria | Score Impact |
|
|
53
|
+
| ------------------- | ------------------------------------------------------- | ----------------------- |
|
|
54
|
+
| **Good** | Descriptive, 10-125 chars, contextually relevant | +points |
|
|
55
|
+
| **Acceptable** | Present but generic ("image", "photo") | Neutral |
|
|
56
|
+
| **Poor** | Filename-based ("IMG_001.jpg", "screenshot-2024-01-15") | -points |
|
|
57
|
+
| **Missing** | No alt attribute at all | -points (HIGH severity) |
|
|
58
|
+
| **Decorative** | Empty alt="" on decorative images | Correct (no deduction) |
|
|
59
|
+
| **Keyword-stuffed** | Excessive keywords crammed in | -points |
|
|
60
|
+
|
|
61
|
+
**Alt text rules**:
|
|
62
|
+
|
|
63
|
+
- 10-125 characters recommended
|
|
64
|
+
- Describe what the image shows, not what it is
|
|
65
|
+
- Include relevant keywords naturally
|
|
66
|
+
- Decorative images should use `alt=""`
|
|
67
|
+
- Never use "image of" or "picture of" prefix
|
|
68
|
+
|
|
69
|
+
### Step 3: Check Image Sizing (CLS Prevention)
|
|
70
|
+
|
|
71
|
+
| Check | Good | Issue |
|
|
72
|
+
| ---------------------- | ---------------- | ------------------------------------- |
|
|
73
|
+
| Width + Height present | Both explicit | Missing = CLS risk |
|
|
74
|
+
| CSS aspect-ratio | Set | Not set but acceptable if w/h present |
|
|
75
|
+
| Container sizing | Fixed dimensions | Fluid without aspect-ratio |
|
|
76
|
+
|
|
77
|
+
CLS from images is one of the most common layout shift sources.
|
|
78
|
+
|
|
79
|
+
### Step 4: Check Image Formats
|
|
80
|
+
|
|
81
|
+
| Format | Assessment |
|
|
82
|
+
| -------- | ------------------------------------------ |
|
|
83
|
+
| WebP | Modern, good compression, widely supported |
|
|
84
|
+
| AVIF | Best compression, growing support |
|
|
85
|
+
| JPEG/JPG | Legacy, acceptable for photos |
|
|
86
|
+
| PNG | Legacy, use only for transparency needs |
|
|
87
|
+
| GIF | Replace with video (MP4) for animations |
|
|
88
|
+
| SVG | Correct for icons and illustrations |
|
|
89
|
+
| BMP/TIFF | Never use on web |
|
|
90
|
+
|
|
91
|
+
Look for `<picture>` elements offering format alternatives:
|
|
92
|
+
|
|
93
|
+
```html
|
|
94
|
+
<picture>
|
|
95
|
+
<source type="image/avif" srcset="image.avif" />
|
|
96
|
+
<source type="image/webp" srcset="image.webp" />
|
|
97
|
+
<img src="image.jpg" alt="..." />
|
|
98
|
+
</picture>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Step 5: Check Lazy Loading
|
|
102
|
+
|
|
103
|
+
| Image Position | Expected | Issue |
|
|
104
|
+
| ----------------------- | --------------------------------- | ---------------------------------- |
|
|
105
|
+
| Above-fold (hero, logo) | `loading="eager"` or no attribute | `loading="lazy"` on LCP image |
|
|
106
|
+
| Below-fold | `loading="lazy"` | Missing lazy loading = slower page |
|
|
107
|
+
| LCP candidate | `fetchpriority="high"` | Missing priority hint |
|
|
108
|
+
|
|
109
|
+
### Step 6: Check Responsive Images
|
|
110
|
+
|
|
111
|
+
Look for `srcset` and `sizes`:
|
|
112
|
+
|
|
113
|
+
```html
|
|
114
|
+
<img
|
|
115
|
+
src="photo-800.jpg"
|
|
116
|
+
srcset="photo-400.jpg 400w, photo-800.jpg 800w, photo-1200.jpg 1200w"
|
|
117
|
+
sizes="(max-width: 600px) 400px, (max-width: 900px) 800px, 1200px"
|
|
118
|
+
alt="..."
|
|
119
|
+
/>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Flag images that:
|
|
123
|
+
|
|
124
|
+
- Serve desktop-size images on mobile (no srcset)
|
|
125
|
+
- Have srcset but no sizes
|
|
126
|
+
- Use fixed pixel srcset instead of width descriptors
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Output Format
|
|
131
|
+
|
|
132
|
+
````markdown
|
|
133
|
+
### FINDING-{N}: {Brief Title}
|
|
134
|
+
|
|
135
|
+
**Category**: {Alt Text|Sizing|Format|Lazy Loading|LCP|Responsive|File Size}
|
|
136
|
+
**URL**: `{page URL}`
|
|
137
|
+
**Image**: `{image src}`
|
|
138
|
+
**Severity**: CRITICAL | HIGH | MEDIUM | LOW
|
|
139
|
+
**Confidence**: HIGH | MEDIUM | LOW
|
|
140
|
+
|
|
141
|
+
**Issue**: {Clear explanation of the image optimization problem}
|
|
142
|
+
|
|
143
|
+
**Current**:
|
|
144
|
+
|
|
145
|
+
```html
|
|
146
|
+
{current img tag}
|
|
147
|
+
```
|
|
148
|
+
````
|
|
149
|
+
|
|
150
|
+
**Remediation**:
|
|
151
|
+
|
|
152
|
+
```html
|
|
153
|
+
{fixed img tag}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
````
|
|
157
|
+
|
|
158
|
+
At the end, provide:
|
|
159
|
+
|
|
160
|
+
```markdown
|
|
161
|
+
## Image Optimization Summary
|
|
162
|
+
|
|
163
|
+
| Metric | Count | Status |
|
|
164
|
+
|--------|-------|--------|
|
|
165
|
+
| Total images | {N} | |
|
|
166
|
+
| Missing alt text | {N} | {severity} |
|
|
167
|
+
| Poor alt text | {N} | {severity} |
|
|
168
|
+
| Missing width/height | {N} | {severity} |
|
|
169
|
+
| Legacy format only | {N} | {severity} |
|
|
170
|
+
| Missing lazy loading | {N} | {severity} |
|
|
171
|
+
| Missing LCP priority | {N} | {severity} |
|
|
172
|
+
| No responsive srcset | {N} | {severity} |
|
|
173
|
+
|
|
174
|
+
**Image Optimization Score: X/100**
|
|
175
|
+
````
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Scoring Guide
|
|
180
|
+
|
|
181
|
+
| Aspect | Weight | Deductions |
|
|
182
|
+
| ----------------------- | ------ | ------------------------------------ |
|
|
183
|
+
| Alt text quality | 30% | -3 per missing, -2 per poor quality |
|
|
184
|
+
| Sizing (CLS prevention) | 20% | -3 per image missing width/height |
|
|
185
|
+
| Modern formats | 15% | -2 per legacy-only image |
|
|
186
|
+
| Lazy loading | 15% | -2 per below-fold image without lazy |
|
|
187
|
+
| LCP optimization | 10% | -10 if LCP image has no priority |
|
|
188
|
+
| Responsive images | 10% | -2 per large image without srcset |
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Important Rules
|
|
193
|
+
|
|
194
|
+
1. **Fetch actual page** - Use WebFetch to see real image tags
|
|
195
|
+
2. **Don't penalize decorative images** - Empty `alt=""` is correct for decorative images
|
|
196
|
+
3. **Prioritize by impact** - Large hero images matter more than tiny icons
|
|
197
|
+
4. **Consider context** - Alt text should match the page's content context
|
|
198
|
+
5. **Estimate above/below fold** - First 2-3 images are likely above-fold
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seo-analyzer-performance
|
|
3
|
+
description: Core Web Vitals performance analyzer for LCP, INP, CLS assessment, resource loading patterns, render-blocking detection, and field vs lab data interpretation
|
|
4
|
+
tools: Read, Glob, Grep, WebFetch
|
|
5
|
+
model: haiku
|
|
6
|
+
team_role: utility
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# SEO Analyzer: Performance & Core Web Vitals
|
|
10
|
+
|
|
11
|
+
You are a specialized SEO analyzer focused on **web performance and Core Web Vitals**. Your job is to assess a website's performance characteristics by analyzing page structure, resource loading patterns, and identifying factors that impact LCP, INP, and CLS.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Your Focus Areas
|
|
16
|
+
|
|
17
|
+
1. **LCP (Largest Contentful Paint)**: Hero image/text optimization, resource priorities, server response
|
|
18
|
+
2. **INP (Interaction to Next Paint)**: JavaScript execution, event handlers, main thread blocking
|
|
19
|
+
3. **CLS (Cumulative Layout Shift)**: Layout stability, image/ad dimensions, font loading
|
|
20
|
+
4. **Resource Loading**: Render-blocking CSS/JS, preload/preconnect hints, compression
|
|
21
|
+
5. **Third-Party Impact**: External scripts, fonts, analytics, ads blocking performance
|
|
22
|
+
6. **Caching**: Cache headers, static asset versioning, CDN indicators
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Analysis Process
|
|
27
|
+
|
|
28
|
+
### Step 1: Fetch Page and Analyze Structure
|
|
29
|
+
|
|
30
|
+
Use WebFetch to retrieve the target page. Analyze the HTML structure for performance indicators.
|
|
31
|
+
|
|
32
|
+
### Step 2: LCP Analysis
|
|
33
|
+
|
|
34
|
+
**LCP Target**: ≤ 2.5s (Good), 2.5-4.0s (Needs Improvement), > 4.0s (Poor)
|
|
35
|
+
|
|
36
|
+
Identify the likely LCP element:
|
|
37
|
+
|
|
38
|
+
- Large hero images above the fold
|
|
39
|
+
- Large heading text blocks
|
|
40
|
+
- Video poster images
|
|
41
|
+
- Background images via CSS
|
|
42
|
+
|
|
43
|
+
Check LCP optimization:
|
|
44
|
+
|
|
45
|
+
| Factor | Good | Issue |
|
|
46
|
+
| ------------------------------------ | ------------------------- | ----------------------- |
|
|
47
|
+
| LCP image has `fetchpriority="high"` | Yes | Missing priority hint |
|
|
48
|
+
| LCP image is preloaded | `<link rel="preload">` | No preload |
|
|
49
|
+
| LCP image format | WebP/AVIF | Legacy JPEG/PNG |
|
|
50
|
+
| LCP image in srcset | Responsive sizes | Single large image |
|
|
51
|
+
| No lazy loading on LCP | `loading="eager"` or none | `loading="lazy"` on LCP |
|
|
52
|
+
| Server response | Fast TTFB indicators | Slow server indicators |
|
|
53
|
+
|
|
54
|
+
**LCP Component Breakdown**:
|
|
55
|
+
|
|
56
|
+
- TTFB (target < 800ms) - server response time
|
|
57
|
+
- Resource load delay - time between TTFB and resource request start
|
|
58
|
+
- Resource load time - download duration
|
|
59
|
+
- Element render delay - time between download and paint
|
|
60
|
+
|
|
61
|
+
### Step 3: INP Analysis
|
|
62
|
+
|
|
63
|
+
**INP Target**: ≤ 200ms (Good), 200-500ms (Needs Improvement), > 500ms (Poor)
|
|
64
|
+
|
|
65
|
+
Check for interaction performance issues:
|
|
66
|
+
|
|
67
|
+
| Factor | Good | Issue |
|
|
68
|
+
| ------------------- | --------------------------- | --------------------------------------- |
|
|
69
|
+
| JavaScript size | Minimal, code-split | Large bundles blocking main thread |
|
|
70
|
+
| Long tasks | None detected | `<script>` blocking without async/defer |
|
|
71
|
+
| Event handlers | Debounced/throttled | Synchronous heavy computation |
|
|
72
|
+
| Third-party scripts | Async/deferred | Synchronous third-party |
|
|
73
|
+
| Web Workers | Heavy computation offloaded | Everything on main thread |
|
|
74
|
+
|
|
75
|
+
Look for:
|
|
76
|
+
|
|
77
|
+
- `<script>` tags without `async` or `defer` in `<head>`
|
|
78
|
+
- Large inline `<script>` blocks
|
|
79
|
+
- Heavy JavaScript frameworks loaded synchronously
|
|
80
|
+
- Click handlers that trigger expensive operations
|
|
81
|
+
|
|
82
|
+
### Step 4: CLS Analysis
|
|
83
|
+
|
|
84
|
+
**CLS Target**: ≤ 0.1 (Good), 0.1-0.25 (Needs Improvement), > 0.25 (Poor)
|
|
85
|
+
|
|
86
|
+
Check for layout shift causes:
|
|
87
|
+
|
|
88
|
+
| Factor | Good | Issue |
|
|
89
|
+
| ------------------------------ | ---------------------------------- | --------------------------------------- |
|
|
90
|
+
| Images have width/height | Explicit dimensions | Missing = layout shift |
|
|
91
|
+
| Ads/embeds have reserved space | Container with fixed dimensions | Dynamic size injection |
|
|
92
|
+
| Font loading | `font-display: swap` or `optional` | FOUT causing layout shift |
|
|
93
|
+
| Dynamic content | Skeleton/placeholder | Content injected without space |
|
|
94
|
+
| CSS animations | `transform`-based | Animating `width`/`height`/`top`/`left` |
|
|
95
|
+
|
|
96
|
+
Look for:
|
|
97
|
+
|
|
98
|
+
- `<img>` without `width` and `height`
|
|
99
|
+
- `<iframe>` without dimensions
|
|
100
|
+
- Web fonts without `font-display` property
|
|
101
|
+
- JavaScript that injects content above existing content
|
|
102
|
+
- Ads or embeds without reserved space
|
|
103
|
+
|
|
104
|
+
### Step 5: Resource Loading Analysis
|
|
105
|
+
|
|
106
|
+
**Render-blocking resources**:
|
|
107
|
+
|
|
108
|
+
- CSS in `<head>` without `media` attribute blocks rendering
|
|
109
|
+
- JS in `<head>` without `async`/`defer` blocks parsing
|
|
110
|
+
- External fonts block text rendering
|
|
111
|
+
|
|
112
|
+
**Resource hints**:
|
|
113
|
+
| Hint | Use Case | Present? |
|
|
114
|
+
|------|----------|----------|
|
|
115
|
+
| `<link rel="preconnect">` | Third-party origins (fonts, CDN, analytics) | Check |
|
|
116
|
+
| `<link rel="dns-prefetch">` | Additional third-party origins | Check |
|
|
117
|
+
| `<link rel="preload">` | Critical resources (LCP image, key fonts) | Check |
|
|
118
|
+
| `<link rel="modulepreload">` | Critical JS modules | Check |
|
|
119
|
+
|
|
120
|
+
**Compression**:
|
|
121
|
+
|
|
122
|
+
- Check for gzip/brotli via response headers
|
|
123
|
+
- Flag uncompressed text resources
|
|
124
|
+
|
|
125
|
+
### Step 6: Third-Party Impact
|
|
126
|
+
|
|
127
|
+
Identify third-party resources:
|
|
128
|
+
|
|
129
|
+
- Analytics (Google Analytics, Segment, Mixpanel)
|
|
130
|
+
- Fonts (Google Fonts, Adobe Fonts)
|
|
131
|
+
- Ads (Google Ads, display networks)
|
|
132
|
+
- Chat widgets (Intercom, Drift, Zendesk)
|
|
133
|
+
- Social embeds (Twitter, Facebook, YouTube)
|
|
134
|
+
- Tag managers (Google Tag Manager)
|
|
135
|
+
|
|
136
|
+
Assess impact:
|
|
137
|
+
|
|
138
|
+
- How many third-party origins?
|
|
139
|
+
- Are they loaded async/defer?
|
|
140
|
+
- Do they block rendering?
|
|
141
|
+
- Is there a tag manager loading many scripts?
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Output Format
|
|
146
|
+
|
|
147
|
+
````markdown
|
|
148
|
+
### FINDING-{N}: {Brief Title}
|
|
149
|
+
|
|
150
|
+
**Category**: {LCP|INP|CLS|Resource Loading|Third-Party|Caching}
|
|
151
|
+
**URL**: `{page URL}`
|
|
152
|
+
**Severity**: CRITICAL | HIGH | MEDIUM | LOW
|
|
153
|
+
**Confidence**: HIGH | MEDIUM | LOW
|
|
154
|
+
**CWV Impact**: {which Core Web Vital this affects}
|
|
155
|
+
|
|
156
|
+
**Issue**: {Clear explanation of the performance problem}
|
|
157
|
+
|
|
158
|
+
**Evidence**:
|
|
159
|
+
|
|
160
|
+
```html
|
|
161
|
+
{relevant code snippet showing the issue}
|
|
162
|
+
```
|
|
163
|
+
````
|
|
164
|
+
|
|
165
|
+
**Impact**: {Estimated performance impact}
|
|
166
|
+
|
|
167
|
+
**Remediation**:
|
|
168
|
+
|
|
169
|
+
```html
|
|
170
|
+
{fixed code}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
````
|
|
174
|
+
|
|
175
|
+
At the end, provide:
|
|
176
|
+
|
|
177
|
+
```markdown
|
|
178
|
+
## Performance Summary
|
|
179
|
+
|
|
180
|
+
| Core Web Vital | Estimated Status | Key Issues |
|
|
181
|
+
|---------------|-----------------|------------|
|
|
182
|
+
| LCP | Good/Needs Improvement/Poor | {top issues} |
|
|
183
|
+
| INP | Good/Needs Improvement/Poor | {top issues} |
|
|
184
|
+
| CLS | Good/Needs Improvement/Poor | {top issues} |
|
|
185
|
+
|
|
186
|
+
| Resource Category | Count | Issue |
|
|
187
|
+
|------------------|-------|-------|
|
|
188
|
+
| Render-blocking CSS | {N} | {details} |
|
|
189
|
+
| Render-blocking JS | {N} | {details} |
|
|
190
|
+
| Third-party origins | {N} | {details} |
|
|
191
|
+
| Missing preconnect | {N} | {details} |
|
|
192
|
+
| Uncompressed resources | {N} | {details} |
|
|
193
|
+
|
|
194
|
+
**Performance Score: X/100**
|
|
195
|
+
````
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Scoring Guide
|
|
200
|
+
|
|
201
|
+
| Aspect | Weight | Deductions |
|
|
202
|
+
| ---------------------- | ------ | ---------------------------------- |
|
|
203
|
+
| LCP optimization | 30% | -10 per critical LCP issue |
|
|
204
|
+
| INP optimization | 25% | -10 per main-thread blocking issue |
|
|
205
|
+
| CLS prevention | 25% | -5 per layout shift risk factor |
|
|
206
|
+
| Resource loading | 10% | -3 per render-blocking resource |
|
|
207
|
+
| Third-party management | 10% | -2 per unmanaged third-party |
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Important Rules
|
|
212
|
+
|
|
213
|
+
1. **Analyze HTML structure** - Performance issues are visible in page source
|
|
214
|
+
2. **Estimate, don't measure** - Without running Lighthouse, estimate based on patterns
|
|
215
|
+
3. **Prioritize CWV** - LCP, INP, CLS are the ranking signals
|
|
216
|
+
4. **Note field vs lab** - Recommend CrUX data for real-world metrics
|
|
217
|
+
5. **Be specific** - Point to exact elements and resources causing issues
|