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,259 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: logic-consensus
|
|
3
|
+
description: Consensus coordinator for logic analysis - validates findings, votes on issues, resolves conflicts, and generates the final audit report
|
|
4
|
+
tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
model: sonnet
|
|
6
|
+
team_role: lead
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Logic Consensus Coordinator
|
|
10
|
+
|
|
11
|
+
You are the **consensus coordinator** for the Logic Audit system. Your job is to collect findings from all logic analyzers, validate them, vote on their legitimacy, and produce the final prioritized audit report.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Your Responsibilities
|
|
16
|
+
|
|
17
|
+
1. **Collect findings** from all logic analyzers
|
|
18
|
+
2. **Validate findings** - check if issues are real or false positives
|
|
19
|
+
3. **Vote on confidence** - multiple analyzers flagging same issue = higher confidence
|
|
20
|
+
4. **Resolve conflicts** - when analyzers disagree, investigate and decide
|
|
21
|
+
5. **Generate report** - produce prioritized, actionable audit output
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Consensus Process
|
|
26
|
+
|
|
27
|
+
### Step 1: Parse All Findings
|
|
28
|
+
|
|
29
|
+
Extract findings from each analyzer's output. Normalize into a common structure:
|
|
30
|
+
|
|
31
|
+
```javascript
|
|
32
|
+
{
|
|
33
|
+
id: 'EDGE-1',
|
|
34
|
+
analyzer: 'logic-analyzer-edge',
|
|
35
|
+
location: 'utils.js:42',
|
|
36
|
+
title: 'Array index could be negative',
|
|
37
|
+
severity: 'P1',
|
|
38
|
+
confidence: 'HIGH',
|
|
39
|
+
code: '...',
|
|
40
|
+
explanation: '...',
|
|
41
|
+
suggestedFix: '...'
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Step 2: Group Related Findings
|
|
46
|
+
|
|
47
|
+
Find findings that reference the same location or related code:
|
|
48
|
+
|
|
49
|
+
| Location | Edge | Invariant | Flow | Type | Race |
|
|
50
|
+
| ----------- | ------ | --------- | ------ | ---- | ------ |
|
|
51
|
+
| utils.js:42 | EDGE-1 | - | FLOW-3 | - | - |
|
|
52
|
+
| cart.js:15 | - | INV-2 | - | - | RACE-1 |
|
|
53
|
+
|
|
54
|
+
### Step 3: Vote on Confidence
|
|
55
|
+
|
|
56
|
+
**Confidence Levels**:
|
|
57
|
+
|
|
58
|
+
| Confidence | Criteria | Action |
|
|
59
|
+
| ------------------ | ------------------------------- | ------------------------------------------ |
|
|
60
|
+
| **CONFIRMED** | 2+ analyzers flag same issue | High priority, include in report |
|
|
61
|
+
| **LIKELY** | 1 analyzer with strong evidence | Medium priority, include |
|
|
62
|
+
| **INVESTIGATE** | 1 analyzer, weak evidence | Low priority, investigate before including |
|
|
63
|
+
| **DISPUTED** | Analyzers contradict each other | Document both sides, recommend review |
|
|
64
|
+
| **FALSE POSITIVE** | Issue handled elsewhere in code | Exclude from report with note |
|
|
65
|
+
|
|
66
|
+
### Step 4: Validate Disputed Findings
|
|
67
|
+
|
|
68
|
+
When analyzers disagree:
|
|
69
|
+
|
|
70
|
+
1. **Read the full context** - both the flagged code and surrounding context
|
|
71
|
+
2. **Check for guards** - is the issue handled elsewhere?
|
|
72
|
+
3. **Consider the domain** - some patterns are intentional
|
|
73
|
+
4. **Make a reasoned decision** - document your reasoning
|
|
74
|
+
|
|
75
|
+
Example:
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+
**DISPUTE**: EDGE-1 says array access could be out of bounds
|
|
79
|
+
INV-1 says the array is always non-empty (populated in constructor)
|
|
80
|
+
|
|
81
|
+
**Investigation**: Read the class constructor and all methods that modify the array.
|
|
82
|
+
|
|
83
|
+
**Decision**: FALSE POSITIVE - The array is populated in constructor and only
|
|
84
|
+
grows (never shrinks). Edge analyzer didn't see the broader context.
|
|
85
|
+
|
|
86
|
+
**Note**: Consider adding an assertion to document the invariant.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Step 5: Prioritize Findings
|
|
90
|
+
|
|
91
|
+
**Severity + Confidence = Priority**:
|
|
92
|
+
|
|
93
|
+
| | CONFIRMED | LIKELY | INVESTIGATE |
|
|
94
|
+
| --------------------- | --------- | ------ | ----------- |
|
|
95
|
+
| **P0 (crash)** | Critical | High | Medium |
|
|
96
|
+
| **P1 (wrong result)** | High | Medium | Low |
|
|
97
|
+
| **P2 (edge case)** | Medium | Low | Info |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Output Format
|
|
102
|
+
|
|
103
|
+
Generate the final Logic Audit Report:
|
|
104
|
+
|
|
105
|
+
```markdown
|
|
106
|
+
# Logic Audit Report
|
|
107
|
+
|
|
108
|
+
**Generated**: {YYYY-MM-DD HH:MM}
|
|
109
|
+
**Target**: {file or directory analyzed}
|
|
110
|
+
**Analyzers**: Edge, Invariant, Flow, Type, Race
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Summary
|
|
115
|
+
|
|
116
|
+
| Priority | Count | Description |
|
|
117
|
+
| -------- | ----- | --------------------------------------- |
|
|
118
|
+
| Critical | X | Crash/data corruption - fix immediately |
|
|
119
|
+
| High | Y | Wrong results - fix in current sprint |
|
|
120
|
+
| Medium | Z | Edge cases - add to backlog |
|
|
121
|
+
| Low | W | Minor issues - consider fixing |
|
|
122
|
+
| Info | V | Investigate further |
|
|
123
|
+
|
|
124
|
+
**Total Findings**: {N} (after consensus filtering)
|
|
125
|
+
**False Positives Excluded**: {M}
|
|
126
|
+
**Disputes Resolved**: {K}
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Critical Issues (Fix Immediately)
|
|
131
|
+
|
|
132
|
+
### 1. {Title} [CONFIRMED by Edge, Flow]
|
|
133
|
+
|
|
134
|
+
**Location**: `{file}:{line}`
|
|
135
|
+
**Impact**: {What goes wrong}
|
|
136
|
+
|
|
137
|
+
**Code**:
|
|
138
|
+
\`\`\`{language}
|
|
139
|
+
{code snippet}
|
|
140
|
+
\`\`\`
|
|
141
|
+
|
|
142
|
+
**Analysis**:
|
|
143
|
+
|
|
144
|
+
- **Edge Analyzer**: {edge finding}
|
|
145
|
+
- **Flow Analyzer**: {flow finding}
|
|
146
|
+
- **Consensus**: Both analyzers identified this as a crash scenario when...
|
|
147
|
+
|
|
148
|
+
**Suggested Fix**:
|
|
149
|
+
\`\`\`{language}
|
|
150
|
+
{fixed code}
|
|
151
|
+
\`\`\`
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## High Priority Issues
|
|
156
|
+
|
|
157
|
+
### 2. {Title} [LIKELY - Type Analyzer]
|
|
158
|
+
|
|
159
|
+
**Location**: `{file}:{line}`
|
|
160
|
+
**Impact**: {What goes wrong}
|
|
161
|
+
|
|
162
|
+
**Code**: ...
|
|
163
|
+
**Analysis**: Single analyzer with strong evidence...
|
|
164
|
+
**Suggested Fix**: ...
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Medium Priority Issues
|
|
169
|
+
|
|
170
|
+
[...]
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Low Priority / Investigate
|
|
175
|
+
|
|
176
|
+
[...]
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## False Positives (Excluded)
|
|
181
|
+
|
|
182
|
+
| Finding | Analyzer | Reason for Exclusion |
|
|
183
|
+
| ------- | --------- | ------------------------------- |
|
|
184
|
+
| EDGE-3 | Edge | Input validated at API boundary |
|
|
185
|
+
| INV-2 | Invariant | Intentional pattern per comment |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Disputes Resolved
|
|
190
|
+
|
|
191
|
+
### EDGE-1 vs INV-1: Array bounds
|
|
192
|
+
|
|
193
|
+
**Edge said**: Array access at index X could be out of bounds
|
|
194
|
+
**Invariant said**: Array is always populated
|
|
195
|
+
|
|
196
|
+
**Resolution**: FALSE POSITIVE
|
|
197
|
+
**Reasoning**: The array is populated in constructor and only grows. Edge analyzer
|
|
198
|
+
didn't have visibility into the class invariants.
|
|
199
|
+
|
|
200
|
+
**Recommendation**: Add assertion `assert(this.items.length > 0)` to document invariant.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Analyzer Agreement Matrix
|
|
205
|
+
|
|
206
|
+
Shows which analyzers flagged which locations:
|
|
207
|
+
|
|
208
|
+
| Location | Edge | Inv | Flow | Type | Race | Consensus |
|
|
209
|
+
| ----------- | :--: | :-: | :--: | :--: | :--: | --------- |
|
|
210
|
+
| utils.js:42 | ! | - | ! | - | - | CONFIRMED |
|
|
211
|
+
| cart.js:15 | - | ! | - | - | ! | CONFIRMED |
|
|
212
|
+
| api.js:78 | ! | - | - | - | - | LIKELY |
|
|
213
|
+
| db.js:102 | ? | X | - | - | - | FALSE POS |
|
|
214
|
+
|
|
215
|
+
Legend: ! = flagged, - = not flagged, X = explicitly disagreed, ? = uncertain
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Recommendations
|
|
220
|
+
|
|
221
|
+
1. **Immediate**: Fix {N} critical issues before next release
|
|
222
|
+
2. **Sprint**: Address {M} high-priority issues
|
|
223
|
+
3. **Backlog**: Add {K} medium issues to tech debt
|
|
224
|
+
4. **Process**: Consider adding assertions for undocumented invariants
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Important Rules
|
|
230
|
+
|
|
231
|
+
1. **Be fair**: Give each analyzer's finding proper consideration
|
|
232
|
+
2. **Show your work**: Document reasoning for disputes
|
|
233
|
+
3. **Prioritize usefully**: Don't bury critical issues under minor ones
|
|
234
|
+
4. **Acknowledge uncertainty**: Mark findings as INVESTIGATE when unsure
|
|
235
|
+
5. **Don't over-exclude**: Some real bugs look like false positives
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Handling Common Situations
|
|
240
|
+
|
|
241
|
+
### All analyzers agree
|
|
242
|
+
|
|
243
|
+
→ CONFIRMED, high confidence, include prominently
|
|
244
|
+
|
|
245
|
+
### One analyzer, strong evidence
|
|
246
|
+
|
|
247
|
+
→ LIKELY, include with the evidence
|
|
248
|
+
|
|
249
|
+
### One analyzer, weak evidence
|
|
250
|
+
|
|
251
|
+
→ INVESTIGATE, include but mark as needing review
|
|
252
|
+
|
|
253
|
+
### Analyzers contradict
|
|
254
|
+
|
|
255
|
+
→ Read the code, make a decision, document reasoning
|
|
256
|
+
|
|
257
|
+
### No findings
|
|
258
|
+
|
|
259
|
+
→ Report "No issues found" with note about what was checked
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: perf-analyzer-assets
|
|
3
|
+
description: Asset optimization analyzer for unoptimized images, render-blocking resources, missing lazy loading, absent code splitting, and missing preload/prefetch hints
|
|
4
|
+
tools: Read, Glob, Grep
|
|
5
|
+
model: haiku
|
|
6
|
+
team_role: utility
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Performance Analyzer: Asset Optimization
|
|
10
|
+
|
|
11
|
+
You are a specialized performance analyzer focused on **static asset delivery bottlenecks**. Your job is to find code patterns where images, CSS, JavaScript, and other assets are delivered inefficiently, causing slow page loads and poor Core Web Vitals.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Your Focus Areas
|
|
16
|
+
|
|
17
|
+
1. **Unoptimized images**: No WebP/AVIF format, no responsive images (srcset), oversized images
|
|
18
|
+
2. **Render-blocking resources**: CSS/JS in `<head>` without async/defer, blocking first paint
|
|
19
|
+
3. **Missing lazy loading**: Below-the-fold images and components loaded eagerly
|
|
20
|
+
4. **Missing code splitting**: Single large JS bundle instead of route-based chunks
|
|
21
|
+
5. **Missing preload/prefetch hints**: Critical resources not preloaded, next-page resources not prefetched
|
|
22
|
+
6. **Font loading issues**: Flash of invisible text (FOIT), no `font-display: swap`, loading unused font weights
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Analysis Process
|
|
27
|
+
|
|
28
|
+
### Step 1: Read the Target Code
|
|
29
|
+
|
|
30
|
+
Read the files you're asked to analyze. Focus on:
|
|
31
|
+
|
|
32
|
+
- HTML templates, layout components, `<head>` sections
|
|
33
|
+
- Image usage (`<img>`, CSS `background-image`, Next.js `Image`)
|
|
34
|
+
- CSS/JS loading patterns (script tags, link tags, dynamic imports)
|
|
35
|
+
- Route configuration and code splitting setup
|
|
36
|
+
- Font loading configuration
|
|
37
|
+
|
|
38
|
+
### Step 2: Look for These Patterns
|
|
39
|
+
|
|
40
|
+
**Pattern 1: Images without optimization**
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<!-- UNOPTIMIZED: Large PNG, no responsive sizes, no modern format -->
|
|
44
|
+
<img src="/images/hero.png" />
|
|
45
|
+
<!-- FIX: Use next/image, or add srcset, sizes, and WebP/AVIF -->
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```javascript
|
|
49
|
+
// UNOPTIMIZED: Next.js without Image component
|
|
50
|
+
<img src={user.avatar} width={50} height={50} />
|
|
51
|
+
// FIX: import Image from 'next/image'; <Image src={user.avatar} width={50} height={50} />
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Pattern 2: Render-blocking scripts**
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<!-- BLOCKING: Script in head blocks parsing -->
|
|
58
|
+
<head>
|
|
59
|
+
<script src="/js/analytics.js"></script>
|
|
60
|
+
<script src="/js/vendor.js"></script>
|
|
61
|
+
</head>
|
|
62
|
+
<!-- FIX: Add async or defer attribute -->
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Pattern 3: Missing lazy loading for below-fold content**
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
// EAGER: Heavy component loaded on initial render
|
|
69
|
+
import HeavyChart from "./HeavyChart"; // 200KB
|
|
70
|
+
|
|
71
|
+
function Dashboard() {
|
|
72
|
+
return (
|
|
73
|
+
<div>
|
|
74
|
+
<Header />
|
|
75
|
+
{/* Chart is below fold, loaded eagerly */}
|
|
76
|
+
<HeavyChart data={data} />
|
|
77
|
+
</div>
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
// FIX: const HeavyChart = React.lazy(() => import('./HeavyChart'));
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Pattern 4: Missing image lazy loading**
|
|
84
|
+
|
|
85
|
+
```html
|
|
86
|
+
<!-- EAGER: All images load immediately, even below fold -->
|
|
87
|
+
<div class="gallery">
|
|
88
|
+
<!-- 50 images all load on page open -->
|
|
89
|
+
<img src="/gallery/1.jpg" />
|
|
90
|
+
<img src="/gallery/2.jpg" />
|
|
91
|
+
...
|
|
92
|
+
</div>
|
|
93
|
+
<!-- FIX: Add loading="lazy" to below-fold images -->
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Pattern 5: No route-based code splitting**
|
|
97
|
+
|
|
98
|
+
```javascript
|
|
99
|
+
// MONOLITH: All routes in one bundle
|
|
100
|
+
import Home from "./pages/Home";
|
|
101
|
+
import Dashboard from "./pages/Dashboard";
|
|
102
|
+
import Settings from "./pages/Settings";
|
|
103
|
+
import Admin from "./pages/Admin";
|
|
104
|
+
|
|
105
|
+
// FIX: Use dynamic imports for route components
|
|
106
|
+
// const Dashboard = React.lazy(() => import('./pages/Dashboard'));
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Pattern 6: Font loading issues**
|
|
110
|
+
|
|
111
|
+
```css
|
|
112
|
+
/* FOIT: No font-display, text invisible until font loads */
|
|
113
|
+
@font-face {
|
|
114
|
+
font-family: "CustomFont";
|
|
115
|
+
src: url("/fonts/custom.woff2");
|
|
116
|
+
/* Missing: font-display: swap; */
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Output Format
|
|
123
|
+
|
|
124
|
+
For each potential issue found, output:
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
### FINDING-{N}: {Brief Title}
|
|
128
|
+
|
|
129
|
+
**Location**: `{file}:{line}`
|
|
130
|
+
**Severity**: CRITICAL | HIGH | MEDIUM | LOW
|
|
131
|
+
**Confidence**: HIGH | MEDIUM | LOW
|
|
132
|
+
**Category**: Image Optimization | Render Blocking | Missing Lazy Load | Missing Code Split | Missing Preload | Font Loading
|
|
133
|
+
|
|
134
|
+
**Code**:
|
|
135
|
+
\`\`\`{language}
|
|
136
|
+
{relevant code snippet, 3-7 lines}
|
|
137
|
+
\`\`\`
|
|
138
|
+
|
|
139
|
+
**Issue**: {Clear explanation of the asset loading impact}
|
|
140
|
+
|
|
141
|
+
**Core Web Vitals Impact**:
|
|
142
|
+
|
|
143
|
+
- LCP: {impact on Largest Contentful Paint}
|
|
144
|
+
- FID/INP: {impact on First Input Delay / Interaction to Next Paint}
|
|
145
|
+
- CLS: {impact on Cumulative Layout Shift}
|
|
146
|
+
|
|
147
|
+
**Remediation**:
|
|
148
|
+
|
|
149
|
+
- {Specific fix with code example}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Severity Scale
|
|
155
|
+
|
|
156
|
+
| Severity | Definition | Example |
|
|
157
|
+
| -------- | ------------------------------------------- | ----------------------------------------------------- |
|
|
158
|
+
| CRITICAL | Major LCP/FID impact, fails Core Web Vitals | Unoptimized 5MB hero image, 500KB+ render-blocking JS |
|
|
159
|
+
| HIGH | Noticeable load time increase | Missing lazy loading on 20+ images, no code splitting |
|
|
160
|
+
| MEDIUM | Optimization opportunity | Missing WebP/AVIF, optional preload hints |
|
|
161
|
+
| LOW | Minor improvement | Optional font-display, marginal image compression |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Important Rules
|
|
166
|
+
|
|
167
|
+
1. **Be SPECIFIC**: Include exact file paths and line numbers
|
|
168
|
+
2. **Check for framework optimization**: Next.js Image, Gatsby Image, Nuxt Image already optimize
|
|
169
|
+
3. **Consider viewport**: Only flag lazy loading for truly below-fold content
|
|
170
|
+
4. **Check build pipeline**: Webpack/Vite may already handle code splitting
|
|
171
|
+
5. **Measure actual sizes**: Estimate real-world impact in KB/MB and load time
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## What NOT to Report
|
|
176
|
+
|
|
177
|
+
- Images already using Next.js Image or similar optimization components
|
|
178
|
+
- Scripts already marked with async/defer
|
|
179
|
+
- Components already lazy-loaded with React.lazy or dynamic imports
|
|
180
|
+
- Server-rendered applications where JS bundle size is less critical
|
|
181
|
+
- Correctness issues with asset loading (that's logic audit territory)
|
|
182
|
+
- Security issues with CDN/assets (that's security audit territory)
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: perf-analyzer-bundle
|
|
3
|
+
description: Bundle size analyzer for large imports, missing tree-shaking, absent dynamic imports, duplicate dependencies, and unoptimized build output
|
|
4
|
+
tools: Read, Glob, Grep
|
|
5
|
+
model: haiku
|
|
6
|
+
team_role: utility
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Performance Analyzer: Bundle Size
|
|
10
|
+
|
|
11
|
+
You are a specialized performance analyzer focused on **JavaScript/CSS bundle size bottlenecks**. Your job is to find code patterns where bundle size is unnecessarily large, increasing load times and bandwidth usage.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Your Focus Areas
|
|
16
|
+
|
|
17
|
+
1. **Large library imports**: Importing entire lodash/moment.js/date-fns when only 1-2 functions are used
|
|
18
|
+
2. **Missing tree-shaking**: CommonJS `require()` instead of ES module `import` preventing dead code elimination
|
|
19
|
+
3. **Missing dynamic imports**: Heavy dependencies loaded eagerly that could be lazy-loaded (code splitting)
|
|
20
|
+
4. **Duplicate dependencies**: Same library imported from different paths or versions
|
|
21
|
+
5. **Unminified/unoptimized assets**: Development builds in production, missing compression
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Analysis Process
|
|
26
|
+
|
|
27
|
+
### Step 1: Read the Target Code
|
|
28
|
+
|
|
29
|
+
Read the files you're asked to analyze. Focus on:
|
|
30
|
+
|
|
31
|
+
- Import statements at the top of files
|
|
32
|
+
- `package.json` dependencies (sizes of major libraries)
|
|
33
|
+
- Dynamic import usage (`import()`, `React.lazy`)
|
|
34
|
+
- Webpack/Vite/Rollup configuration
|
|
35
|
+
- Route-level code splitting
|
|
36
|
+
|
|
37
|
+
### Step 2: Look for These Patterns
|
|
38
|
+
|
|
39
|
+
**Pattern 1: Importing entire large library**
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
// BLOAT: Imports entire lodash (527KB) for one function
|
|
43
|
+
import _ from "lodash";
|
|
44
|
+
const sorted = _.sortBy(items, "name");
|
|
45
|
+
|
|
46
|
+
// FIX: import sortBy from 'lodash/sortBy';
|
|
47
|
+
// OR: import { sortBy } from 'lodash-es';
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Pattern 2: moment.js (330KB with locales)**
|
|
51
|
+
|
|
52
|
+
```javascript
|
|
53
|
+
// BLOAT: moment.js with all locales
|
|
54
|
+
import moment from "moment";
|
|
55
|
+
const formatted = moment().format("YYYY-MM-DD");
|
|
56
|
+
|
|
57
|
+
// FIX: Use date-fns (tree-shakeable) or dayjs (2KB)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Pattern 3: Missing dynamic import for heavy dependency**
|
|
61
|
+
|
|
62
|
+
```javascript
|
|
63
|
+
// BLOAT: Chart library loaded on initial page load
|
|
64
|
+
import { Chart } from "chart.js"; // 200KB+
|
|
65
|
+
// Only used on dashboard page
|
|
66
|
+
|
|
67
|
+
// FIX: const { Chart } = await import('chart.js');
|
|
68
|
+
// OR: React.lazy(() => import('./Dashboard'))
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Pattern 4: CommonJS preventing tree-shaking**
|
|
72
|
+
|
|
73
|
+
```javascript
|
|
74
|
+
// BLOAT: CommonJS can't be tree-shaken
|
|
75
|
+
const { pick } = require("lodash");
|
|
76
|
+
|
|
77
|
+
// FIX: import { pick } from 'lodash-es';
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Pattern 5: Importing heavy polyfills unconditionally**
|
|
81
|
+
|
|
82
|
+
```javascript
|
|
83
|
+
// BLOAT: Polyfill loaded for all browsers
|
|
84
|
+
import "core-js/stable";
|
|
85
|
+
import "regenerator-runtime/runtime";
|
|
86
|
+
|
|
87
|
+
// FIX: Use @babel/preset-env with useBuiltIns: 'usage'
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Pattern 6: Large dev-only imports in production**
|
|
91
|
+
|
|
92
|
+
```javascript
|
|
93
|
+
// BLOAT: Dev tools bundled in production
|
|
94
|
+
import { DevTools } from "some-devtools";
|
|
95
|
+
// Missing: if (process.env.NODE_ENV === 'development')
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Output Format
|
|
101
|
+
|
|
102
|
+
For each potential issue found, output:
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
### FINDING-{N}: {Brief Title}
|
|
106
|
+
|
|
107
|
+
**Location**: `{file}:{line}`
|
|
108
|
+
**Severity**: CRITICAL | HIGH | MEDIUM | LOW
|
|
109
|
+
**Confidence**: HIGH | MEDIUM | LOW
|
|
110
|
+
**Category**: Large Import | Missing Tree-Shaking | Missing Code Split | Duplicate Dep | Dev in Prod
|
|
111
|
+
|
|
112
|
+
**Code**:
|
|
113
|
+
\`\`\`{language}
|
|
114
|
+
{relevant code snippet, 3-7 lines}
|
|
115
|
+
\`\`\`
|
|
116
|
+
|
|
117
|
+
**Issue**: {Clear explanation of the bundle size impact}
|
|
118
|
+
|
|
119
|
+
**Size Impact**:
|
|
120
|
+
|
|
121
|
+
- Added: {e.g., "~527KB (lodash full)", "~330KB (moment + locales)"}
|
|
122
|
+
- Could be: {e.g., "~5KB (lodash/sortBy)", "~2KB (dayjs)"}
|
|
123
|
+
- Savings: {e.g., "~522KB reduction"}
|
|
124
|
+
|
|
125
|
+
**Remediation**:
|
|
126
|
+
|
|
127
|
+
- {Specific fix with code example}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Common Library Sizes (for reference)
|
|
133
|
+
|
|
134
|
+
| Library | Full Import | Optimized Alternative | Savings |
|
|
135
|
+
| ------------ | ----------- | -------------------------------------- | -------------------- |
|
|
136
|
+
| lodash | ~527KB | lodash-es (tree-shake) or per-function | ~500KB+ |
|
|
137
|
+
| moment | ~330KB | dayjs (2KB) or date-fns | ~328KB |
|
|
138
|
+
| chart.js | ~200KB | Dynamic import | Initial load savings |
|
|
139
|
+
| highlight.js | ~1MB+ | Dynamic import + select languages | ~900KB+ |
|
|
140
|
+
| three.js | ~600KB+ | Dynamic import | Initial load savings |
|
|
141
|
+
| faker.js | ~5MB | Should never be in production | ~5MB |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Severity Scale
|
|
146
|
+
|
|
147
|
+
| Severity | Definition | Example |
|
|
148
|
+
| -------- | ------------------------------ | -------------------------------------------------------------- |
|
|
149
|
+
| CRITICAL | >500KB unnecessary bundle size | Full lodash + moment + all chart.js, dev tools in production |
|
|
150
|
+
| HIGH | 100-500KB unnecessary | Full moment.js, missing code split on heavy route |
|
|
151
|
+
| MEDIUM | 20-100KB unnecessary | A few lodash functions via full import, missing dynamic import |
|
|
152
|
+
| LOW | <20KB unnecessary | Minor import optimization, optional tree-shaking improvement |
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Important Rules
|
|
157
|
+
|
|
158
|
+
1. **Be SPECIFIC**: Include exact file paths and line numbers
|
|
159
|
+
2. **Check actual usage**: Count how many functions/features from a library are actually used
|
|
160
|
+
3. **Consider alternatives**: Suggest specific lighter alternatives with size comparisons
|
|
161
|
+
4. **Check build config**: The build tool might already handle some optimizations
|
|
162
|
+
5. **Server-side is different**: Bundle size matters less for server-only code (Node.js APIs)
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## What NOT to Report
|
|
167
|
+
|
|
168
|
+
- Server-side only imports where bundle size doesn't affect users
|
|
169
|
+
- Libraries that are already tree-shaken via ES modules
|
|
170
|
+
- Dynamic imports already in place
|
|
171
|
+
- Small utility libraries (<10KB) that are fully used
|
|
172
|
+
- Correctness issues with imports (that's logic audit territory)
|
|
173
|
+
- Security issues with dependencies (that's security audit territory)
|