devflow-kit 0.8.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +185 -29
- package/LICENSE +1 -1
- package/README.md +179 -308
- package/dist/cli.js +3 -1
- package/dist/commands/init.d.ts +21 -0
- package/dist/commands/init.js +311 -575
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.js +20 -0
- package/dist/commands/uninstall.d.ts +10 -0
- package/dist/commands/uninstall.js +351 -78
- package/dist/plugins.d.ts +46 -0
- package/dist/plugins.js +162 -0
- package/dist/utils/cli.d.ts +5 -0
- package/dist/utils/cli.js +14 -0
- package/dist/utils/installer.d.ts +41 -0
- package/dist/utils/installer.js +177 -0
- package/dist/utils/paths.d.ts +10 -0
- package/dist/utils/paths.js +23 -3
- package/dist/utils/post-install.d.ts +68 -0
- package/dist/utils/post-install.js +427 -0
- package/dist/utils/safe-delete-install.d.ts +22 -0
- package/dist/utils/safe-delete-install.js +156 -0
- package/dist/utils/safe-delete.d.ts +12 -0
- package/dist/utils/safe-delete.js +83 -0
- package/package.json +18 -8
- package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-audit-claude/README.md +46 -0
- package/plugins/devflow-audit-claude/agents/claude-md-auditor.md +134 -0
- package/plugins/devflow-audit-claude/commands/audit-claude.md +85 -0
- package/plugins/devflow-code-review/.claude-plugin/plugin.json +31 -0
- package/plugins/devflow-code-review/README.md +73 -0
- package/plugins/devflow-code-review/agents/git.md +272 -0
- package/plugins/devflow-code-review/agents/reviewer.md +119 -0
- package/plugins/devflow-code-review/agents/synthesizer.md +204 -0
- package/plugins/devflow-code-review/commands/code-review-teams.md +262 -0
- package/plugins/devflow-code-review/commands/code-review.md +141 -0
- package/plugins/devflow-code-review/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-code-review/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-code-review/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-code-review/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-code-review/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-code-review/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/SKILL.md +153 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/detection.md +337 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/patterns.md +873 -0
- package/plugins/devflow-code-review/skills/architecture-patterns/references/violations.md +575 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/SKILL.md +143 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/detection.md +264 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/patterns.md +487 -0
- package/plugins/devflow-code-review/skills/complexity-patterns/references/violations.md +361 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/SKILL.md +140 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/detection.md +207 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/patterns.md +202 -0
- package/plugins/devflow-code-review/skills/consistency-patterns/references/violations.md +213 -0
- package/plugins/devflow-code-review/skills/database-patterns/SKILL.md +134 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/detection.md +208 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/patterns.md +394 -0
- package/plugins/devflow-code-review/skills/database-patterns/references/violations.md +332 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/SKILL.md +141 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/detection.md +181 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/patterns.md +225 -0
- package/plugins/devflow-code-review/skills/dependencies-patterns/references/violations.md +247 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/SKILL.md +125 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/detection.md +190 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/patterns.md +189 -0
- package/plugins/devflow-code-review/skills/documentation-patterns/references/violations.md +163 -0
- package/plugins/devflow-code-review/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-code-review/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-code-review/skills/performance-patterns/SKILL.md +154 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/detection.md +351 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/patterns.md +503 -0
- package/plugins/devflow-code-review/skills/performance-patterns/references/violations.md +354 -0
- package/plugins/devflow-code-review/skills/react/SKILL.md +276 -0
- package/plugins/devflow-code-review/skills/react/references/patterns.md +1331 -0
- package/plugins/devflow-code-review/skills/react/references/violations.md +565 -0
- package/plugins/devflow-code-review/skills/regression-patterns/SKILL.md +146 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/detection.md +237 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/patterns.md +226 -0
- package/plugins/devflow-code-review/skills/regression-patterns/references/violations.md +225 -0
- package/plugins/devflow-code-review/skills/review-methodology/SKILL.md +119 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/patterns.md +186 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/report-template.md +142 -0
- package/plugins/devflow-code-review/skills/review-methodology/references/violations.md +125 -0
- package/plugins/devflow-code-review/skills/security-patterns/SKILL.md +156 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/detection.md +287 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/patterns.md +507 -0
- package/plugins/devflow-code-review/skills/security-patterns/references/violations.md +237 -0
- package/plugins/devflow-code-review/skills/test-patterns/SKILL.md +183 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/detection.md +149 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/patterns.md +220 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/report-template.md +108 -0
- package/plugins/devflow-code-review/skills/test-patterns/references/violations.md +221 -0
- package/plugins/devflow-core-skills/.claude-plugin/plugin.json +27 -0
- package/plugins/devflow-core-skills/README.md +50 -0
- package/plugins/devflow-core-skills/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-core-skills/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-core-skills/skills/core-patterns/SKILL.md +162 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/checklist.md +276 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/detection.md +303 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/patterns.md +576 -0
- package/plugins/devflow-core-skills/skills/core-patterns/references/violations.md +369 -0
- package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +134 -0
- package/plugins/devflow-core-skills/skills/docs-framework/references/patterns.md +346 -0
- package/plugins/devflow-core-skills/skills/docs-framework/references/violations.md +221 -0
- package/plugins/devflow-core-skills/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-core-skills/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-core-skills/skills/git-safety/SKILL.md +122 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/detection.md +290 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/patterns.md +289 -0
- package/plugins/devflow-core-skills/skills/git-safety/references/violations.md +18 -0
- package/plugins/devflow-core-skills/skills/git-workflow/SKILL.md +158 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-patterns.md +115 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/commit-violations.md +77 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-patterns.md +127 -0
- package/plugins/devflow-core-skills/skills/git-workflow/references/pr-violations.md +96 -0
- package/plugins/devflow-core-skills/skills/github-patterns/SKILL.md +153 -0
- package/plugins/devflow-core-skills/skills/github-patterns/references/patterns.md +572 -0
- package/plugins/devflow-core-skills/skills/github-patterns/references/violations.md +298 -0
- package/plugins/devflow-core-skills/skills/input-validation/SKILL.md +148 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/detection.md +283 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/patterns.md +361 -0
- package/plugins/devflow-core-skills/skills/input-validation/references/violations.md +224 -0
- package/plugins/devflow-core-skills/skills/react/SKILL.md +276 -0
- package/plugins/devflow-core-skills/skills/react/references/patterns.md +1331 -0
- package/plugins/devflow-core-skills/skills/react/references/violations.md +565 -0
- package/plugins/devflow-core-skills/skills/test-patterns/SKILL.md +183 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/detection.md +149 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/patterns.md +220 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/report-template.md +108 -0
- package/plugins/devflow-core-skills/skills/test-patterns/references/violations.md +221 -0
- package/plugins/devflow-core-skills/skills/typescript/SKILL.md +176 -0
- package/plugins/devflow-core-skills/skills/typescript/references/patterns.md +1105 -0
- package/plugins/devflow-core-skills/skills/typescript/references/violations.md +433 -0
- package/plugins/devflow-debug/.claude-plugin/plugin.json +18 -0
- package/plugins/devflow-debug/README.md +65 -0
- package/plugins/devflow-debug/agents/git.md +272 -0
- package/plugins/devflow-debug/commands/debug-teams.md +231 -0
- package/plugins/devflow-debug/commands/debug.md +160 -0
- package/plugins/devflow-debug/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-debug/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-debug/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-debug/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-debug/skills/git-safety/SKILL.md +122 -0
- package/plugins/devflow-debug/skills/git-safety/references/detection.md +290 -0
- package/plugins/devflow-debug/skills/git-safety/references/patterns.md +289 -0
- package/plugins/devflow-debug/skills/git-safety/references/violations.md +18 -0
- package/plugins/devflow-implement/.claude-plugin/plugin.json +21 -0
- package/plugins/devflow-implement/README.md +71 -0
- package/plugins/devflow-implement/agents/coder.md +122 -0
- package/plugins/devflow-implement/agents/git.md +272 -0
- package/plugins/devflow-implement/agents/scrutinizer.md +80 -0
- package/plugins/devflow-implement/agents/shepherd.md +94 -0
- package/plugins/devflow-implement/agents/simplifier.md +62 -0
- package/plugins/devflow-implement/agents/skimmer.md +88 -0
- package/plugins/devflow-implement/agents/synthesizer.md +204 -0
- package/plugins/devflow-implement/agents/validator.md +86 -0
- package/plugins/devflow-implement/commands/implement-teams.md +608 -0
- package/plugins/devflow-implement/commands/implement.md +426 -0
- package/plugins/devflow-implement/skills/accessibility/SKILL.md +229 -0
- package/plugins/devflow-implement/skills/accessibility/references/detection.md +171 -0
- package/plugins/devflow-implement/skills/accessibility/references/patterns.md +670 -0
- package/plugins/devflow-implement/skills/accessibility/references/violations.md +419 -0
- package/plugins/devflow-implement/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-implement/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-implement/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-implement/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-implement/skills/frontend-design/SKILL.md +254 -0
- package/plugins/devflow-implement/skills/frontend-design/references/detection.md +184 -0
- package/plugins/devflow-implement/skills/frontend-design/references/patterns.md +511 -0
- package/plugins/devflow-implement/skills/frontend-design/references/violations.md +453 -0
- package/plugins/devflow-implement/skills/implementation-patterns/SKILL.md +162 -0
- package/plugins/devflow-implement/skills/implementation-patterns/references/patterns.md +1063 -0
- package/plugins/devflow-implement/skills/implementation-patterns/references/violations.md +483 -0
- package/plugins/devflow-implement/skills/self-review/SKILL.md +149 -0
- package/plugins/devflow-implement/skills/self-review/references/patterns.md +405 -0
- package/plugins/devflow-implement/skills/self-review/references/report-template.md +253 -0
- package/plugins/devflow-implement/skills/self-review/references/violations.md +308 -0
- package/plugins/devflow-resolve/.claude-plugin/plugin.json +19 -0
- package/plugins/devflow-resolve/README.md +65 -0
- package/plugins/devflow-resolve/agents/git.md +272 -0
- package/plugins/devflow-resolve/agents/resolver.md +131 -0
- package/plugins/devflow-resolve/agents/simplifier.md +62 -0
- package/plugins/devflow-resolve/commands/resolve-teams.md +298 -0
- package/plugins/devflow-resolve/commands/resolve.md +237 -0
- package/plugins/devflow-resolve/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-resolve/skills/agent-teams/references/team-patterns.md +217 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/SKILL.md +162 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/references/patterns.md +1063 -0
- package/plugins/devflow-resolve/skills/implementation-patterns/references/violations.md +483 -0
- package/plugins/devflow-resolve/skills/security-patterns/SKILL.md +156 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/detection.md +287 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/patterns.md +507 -0
- package/plugins/devflow-resolve/skills/security-patterns/references/violations.md +237 -0
- package/plugins/devflow-self-review/.claude-plugin/plugin.json +7 -0
- package/plugins/devflow-self-review/README.md +38 -0
- package/plugins/devflow-self-review/agents/scrutinizer.md +80 -0
- package/plugins/devflow-self-review/agents/simplifier.md +62 -0
- package/plugins/devflow-self-review/agents/validator.md +86 -0
- package/plugins/devflow-self-review/commands/self-review.md +126 -0
- package/plugins/devflow-self-review/skills/core-patterns/SKILL.md +162 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/checklist.md +276 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/detection.md +303 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/patterns.md +576 -0
- package/plugins/devflow-self-review/skills/core-patterns/references/violations.md +369 -0
- package/plugins/devflow-self-review/skills/self-review/SKILL.md +149 -0
- package/plugins/devflow-self-review/skills/self-review/references/patterns.md +405 -0
- package/plugins/devflow-self-review/skills/self-review/references/report-template.md +253 -0
- package/plugins/devflow-self-review/skills/self-review/references/violations.md +308 -0
- package/plugins/devflow-specify/.claude-plugin/plugin.json +15 -0
- package/plugins/devflow-specify/README.md +46 -0
- package/plugins/devflow-specify/agents/skimmer.md +88 -0
- package/plugins/devflow-specify/agents/synthesizer.md +204 -0
- package/plugins/devflow-specify/commands/specify-teams.md +314 -0
- package/plugins/devflow-specify/commands/specify.md +179 -0
- package/plugins/devflow-specify/skills/agent-teams/SKILL.md +124 -0
- package/plugins/devflow-specify/skills/agent-teams/references/cleanup.md +104 -0
- package/plugins/devflow-specify/skills/agent-teams/references/communication.md +122 -0
- package/plugins/devflow-specify/skills/agent-teams/references/team-patterns.md +217 -0
- package/scripts/hooks/background-memory-update.sh +167 -0
- package/scripts/hooks/pre-compact-memory.sh +81 -0
- package/scripts/hooks/session-start-memory.sh +84 -0
- package/scripts/hooks/stop-update-memory.sh +81 -0
- package/shared/agents/coder.md +122 -0
- package/shared/agents/git.md +272 -0
- package/shared/agents/resolver.md +131 -0
- package/shared/agents/reviewer.md +119 -0
- package/shared/agents/scrutinizer.md +80 -0
- package/shared/agents/shepherd.md +94 -0
- package/shared/agents/simplifier.md +62 -0
- package/shared/agents/skimmer.md +88 -0
- package/shared/agents/synthesizer.md +204 -0
- package/shared/agents/validator.md +86 -0
- package/shared/skills/accessibility/SKILL.md +229 -0
- package/shared/skills/accessibility/references/detection.md +171 -0
- package/shared/skills/accessibility/references/patterns.md +670 -0
- package/shared/skills/accessibility/references/violations.md +419 -0
- package/shared/skills/agent-teams/SKILL.md +124 -0
- package/shared/skills/agent-teams/references/cleanup.md +104 -0
- package/shared/skills/agent-teams/references/communication.md +122 -0
- package/shared/skills/agent-teams/references/team-patterns.md +217 -0
- package/shared/skills/architecture-patterns/SKILL.md +153 -0
- package/shared/skills/architecture-patterns/references/detection.md +337 -0
- package/shared/skills/architecture-patterns/references/patterns.md +873 -0
- package/shared/skills/architecture-patterns/references/violations.md +575 -0
- package/shared/skills/complexity-patterns/SKILL.md +143 -0
- package/shared/skills/complexity-patterns/references/detection.md +264 -0
- package/shared/skills/complexity-patterns/references/patterns.md +487 -0
- package/shared/skills/complexity-patterns/references/violations.md +361 -0
- package/shared/skills/consistency-patterns/SKILL.md +140 -0
- package/shared/skills/consistency-patterns/references/detection.md +207 -0
- package/shared/skills/consistency-patterns/references/patterns.md +202 -0
- package/shared/skills/consistency-patterns/references/violations.md +213 -0
- package/shared/skills/core-patterns/SKILL.md +162 -0
- package/shared/skills/core-patterns/references/checklist.md +276 -0
- package/shared/skills/core-patterns/references/code-smell-violations.md +144 -0
- package/shared/skills/core-patterns/references/detection.md +303 -0
- package/shared/skills/core-patterns/references/patterns.md +576 -0
- package/shared/skills/core-patterns/references/violations.md +369 -0
- package/shared/skills/database-patterns/SKILL.md +134 -0
- package/shared/skills/database-patterns/references/detection.md +208 -0
- package/shared/skills/database-patterns/references/patterns.md +394 -0
- package/shared/skills/database-patterns/references/violations.md +332 -0
- package/shared/skills/dependencies-patterns/SKILL.md +141 -0
- package/shared/skills/dependencies-patterns/references/detection.md +181 -0
- package/shared/skills/dependencies-patterns/references/patterns.md +225 -0
- package/shared/skills/dependencies-patterns/references/violations.md +247 -0
- package/shared/skills/docs-framework/SKILL.md +134 -0
- package/shared/skills/docs-framework/references/patterns.md +346 -0
- package/shared/skills/docs-framework/references/violations.md +221 -0
- package/shared/skills/documentation-patterns/SKILL.md +125 -0
- package/shared/skills/documentation-patterns/references/detection.md +190 -0
- package/shared/skills/documentation-patterns/references/patterns.md +189 -0
- package/shared/skills/documentation-patterns/references/violations.md +163 -0
- package/shared/skills/frontend-design/SKILL.md +254 -0
- package/shared/skills/frontend-design/references/detection.md +184 -0
- package/shared/skills/frontend-design/references/patterns.md +511 -0
- package/shared/skills/frontend-design/references/violations.md +453 -0
- package/shared/skills/git-safety/SKILL.md +122 -0
- package/shared/skills/git-safety/references/detection.md +290 -0
- package/shared/skills/git-safety/references/patterns.md +289 -0
- package/shared/skills/git-safety/references/violations.md +18 -0
- package/shared/skills/git-workflow/SKILL.md +158 -0
- package/shared/skills/git-workflow/references/commit-patterns.md +115 -0
- package/shared/skills/git-workflow/references/commit-violations.md +77 -0
- package/shared/skills/git-workflow/references/pr-patterns.md +127 -0
- package/shared/skills/git-workflow/references/pr-violations.md +96 -0
- package/shared/skills/github-patterns/SKILL.md +153 -0
- package/shared/skills/github-patterns/references/patterns.md +572 -0
- package/shared/skills/github-patterns/references/violations.md +298 -0
- package/shared/skills/implementation-patterns/SKILL.md +162 -0
- package/shared/skills/implementation-patterns/references/patterns.md +1063 -0
- package/shared/skills/implementation-patterns/references/violations.md +483 -0
- package/shared/skills/input-validation/SKILL.md +148 -0
- package/shared/skills/input-validation/references/detection.md +283 -0
- package/shared/skills/input-validation/references/patterns.md +361 -0
- package/shared/skills/input-validation/references/violations.md +224 -0
- package/shared/skills/performance-patterns/SKILL.md +154 -0
- package/shared/skills/performance-patterns/references/detection.md +351 -0
- package/shared/skills/performance-patterns/references/patterns.md +503 -0
- package/shared/skills/performance-patterns/references/violations.md +354 -0
- package/shared/skills/react/SKILL.md +276 -0
- package/shared/skills/react/references/patterns.md +1331 -0
- package/shared/skills/react/references/violations.md +565 -0
- package/shared/skills/regression-patterns/SKILL.md +146 -0
- package/shared/skills/regression-patterns/references/detection.md +237 -0
- package/shared/skills/regression-patterns/references/patterns.md +226 -0
- package/shared/skills/regression-patterns/references/violations.md +225 -0
- package/shared/skills/review-methodology/SKILL.md +119 -0
- package/shared/skills/review-methodology/references/patterns.md +186 -0
- package/shared/skills/review-methodology/references/report-template.md +142 -0
- package/shared/skills/review-methodology/references/violations.md +125 -0
- package/shared/skills/security-patterns/SKILL.md +156 -0
- package/shared/skills/security-patterns/references/detection.md +287 -0
- package/shared/skills/security-patterns/references/patterns.md +507 -0
- package/shared/skills/security-patterns/references/violations.md +237 -0
- package/shared/skills/self-review/SKILL.md +149 -0
- package/shared/skills/self-review/references/patterns.md +405 -0
- package/shared/skills/self-review/references/report-template.md +253 -0
- package/shared/skills/self-review/references/violations.md +308 -0
- package/shared/skills/test-patterns/SKILL.md +183 -0
- package/shared/skills/test-patterns/references/detection.md +149 -0
- package/shared/skills/test-patterns/references/patterns.md +220 -0
- package/shared/skills/test-patterns/references/report-template.md +108 -0
- package/shared/skills/test-patterns/references/violations.md +221 -0
- package/shared/skills/typescript/SKILL.md +176 -0
- package/shared/skills/typescript/references/patterns.md +1105 -0
- package/shared/skills/typescript/references/violations.md +433 -0
- package/src/templates/claudeignore.template +188 -0
- package/src/templates/managed-settings.json +146 -0
- package/src/templates/settings.json +59 -0
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/uninstall.d.ts.map +0 -1
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/utils/git.d.ts.map +0 -1
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js.map +0 -1
- package/src/claude/CLAUDE.md +0 -400
- package/src/claude/agents/devflow/audit-architecture.md +0 -132
- package/src/claude/agents/devflow/audit-complexity.md +0 -132
- package/src/claude/agents/devflow/audit-database.md +0 -132
- package/src/claude/agents/devflow/audit-dependencies.md +0 -132
- package/src/claude/agents/devflow/audit-documentation.md +0 -132
- package/src/claude/agents/devflow/audit-performance.md +0 -256
- package/src/claude/agents/devflow/audit-security.md +0 -259
- package/src/claude/agents/devflow/audit-tests.md +0 -132
- package/src/claude/agents/devflow/audit-typescript.md +0 -132
- package/src/claude/agents/devflow/brainstorm.md +0 -279
- package/src/claude/agents/devflow/catch-up.md +0 -345
- package/src/claude/agents/devflow/code-review.md +0 -307
- package/src/claude/agents/devflow/commit.md +0 -380
- package/src/claude/agents/devflow/debug.md +0 -476
- package/src/claude/agents/devflow/design.md +0 -491
- package/src/claude/agents/devflow/pr-comments.md +0 -285
- package/src/claude/agents/devflow/project-state.md +0 -419
- package/src/claude/agents/devflow/pull-request.md +0 -423
- package/src/claude/agents/devflow/release.md +0 -1137
- package/src/claude/agents/devflow/tech-debt.md +0 -338
- package/src/claude/commands/devflow/brainstorm.md +0 -68
- package/src/claude/commands/devflow/breakdown.md +0 -125
- package/src/claude/commands/devflow/catch-up.md +0 -29
- package/src/claude/commands/devflow/code-review.md +0 -237
- package/src/claude/commands/devflow/commit.md +0 -17
- package/src/claude/commands/devflow/debug.md +0 -56
- package/src/claude/commands/devflow/design.md +0 -82
- package/src/claude/commands/devflow/devlog.md +0 -408
- package/src/claude/commands/devflow/implement.md +0 -100
- package/src/claude/commands/devflow/plan.md +0 -223
- package/src/claude/commands/devflow/pull-request.md +0 -269
- package/src/claude/commands/devflow/release.md +0 -251
- package/src/claude/commands/devflow/resolve-comments.md +0 -583
- package/src/claude/scripts/statusline.sh +0 -47
- package/src/claude/settings.json +0 -6
- package/src/claude/skills/devflow/code-smell/SKILL.md +0 -428
- package/src/claude/skills/devflow/debug/SKILL.md +0 -119
- package/src/claude/skills/devflow/error-handling/SKILL.md +0 -597
- package/src/claude/skills/devflow/input-validation/SKILL.md +0 -514
- package/src/claude/skills/devflow/pattern-check/SKILL.md +0 -238
- package/src/claude/skills/devflow/research/SKILL.md +0 -138
- package/src/claude/skills/devflow/test-design/SKILL.md +0 -384
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Comprehensive branch review using agent teams for adversarial peer review with debate and consensus
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Code Review Command
|
|
6
|
+
|
|
7
|
+
Run a comprehensive code review of the current branch by spawning a review team where agents debate findings, then synthesize consensus results into PR comments.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
/code-review (review current branch)
|
|
13
|
+
/code-review #42 (review specific PR)
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Phases
|
|
17
|
+
|
|
18
|
+
### Phase 0: Pre-Flight (Git Agent)
|
|
19
|
+
|
|
20
|
+
Spawn Git agent to validate and prepare branch:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
Task(subagent_type="Git", run_in_background=false):
|
|
24
|
+
"OPERATION: ensure-pr-ready
|
|
25
|
+
Validate branch, commit if needed, push, create PR if needed.
|
|
26
|
+
Return: branch, base_branch, branch-slug, PR#"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**If BLOCKED:** Stop and report the blocker to user.
|
|
30
|
+
|
|
31
|
+
**Extract from response:** `branch`, `base_branch`, `branch_slug`, `pr_number` for use in subsequent phases.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Phase 1: Analyze Changed Files
|
|
36
|
+
|
|
37
|
+
Detect file types in diff to determine conditional reviews:
|
|
38
|
+
|
|
39
|
+
| Condition | Adds Perspective |
|
|
40
|
+
|-----------|-----------------|
|
|
41
|
+
| .ts/.tsx files | typescript |
|
|
42
|
+
| .tsx/.jsx files | react |
|
|
43
|
+
| .tsx/.jsx files | accessibility |
|
|
44
|
+
| .tsx/.jsx/.css/.scss files | frontend-design |
|
|
45
|
+
| DB/migration files | database |
|
|
46
|
+
| Dependency files changed | dependencies |
|
|
47
|
+
| Docs or significant code | documentation |
|
|
48
|
+
|
|
49
|
+
### Phase 2: Spawn Review Team
|
|
50
|
+
|
|
51
|
+
Create an agent team for adversarial review. Always include 4 core perspectives; conditionally add more based on Phase 1 analysis.
|
|
52
|
+
|
|
53
|
+
**Core perspectives (always):**
|
|
54
|
+
- **Security**: vulnerabilities, injection, auth, crypto issues
|
|
55
|
+
- **Architecture**: SOLID violations, coupling, layering, modularity
|
|
56
|
+
- **Performance**: queries, algorithms, caching, I/O bottlenecks
|
|
57
|
+
- **Quality**: complexity, tests, consistency, regression, naming
|
|
58
|
+
|
|
59
|
+
**Conditional perspectives (based on changed files):**
|
|
60
|
+
- **TypeScript**: type safety, generics, utility types (if .ts/.tsx changed)
|
|
61
|
+
- **React**: hooks, state, rendering, composition (if .tsx/.jsx changed)
|
|
62
|
+
- **Accessibility**: ARIA, keyboard nav, focus management (if .tsx/.jsx changed)
|
|
63
|
+
- **Frontend Design**: visual consistency, spacing, typography (if .tsx/.jsx/.css changed)
|
|
64
|
+
- **Database**: schema, queries, migrations, indexes (if DB files changed)
|
|
65
|
+
- **Dependencies**: CVEs, versions, licenses, supply chain (if package files changed)
|
|
66
|
+
- **Documentation**: doc drift, missing docs, stale comments (if docs or significant code changed)
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Create a team named "review-{branch_slug}" to review PR #{pr_number}.
|
|
70
|
+
|
|
71
|
+
Spawn review teammates with self-contained prompts:
|
|
72
|
+
|
|
73
|
+
- Name: "security-reviewer"
|
|
74
|
+
Prompt: |
|
|
75
|
+
You are reviewing PR #{pr_number} on branch {branch} (base: {base_branch}).
|
|
76
|
+
1. Read your skill: `Read ~/.claude/skills/security-patterns/SKILL.md`
|
|
77
|
+
2. Read review methodology: `Read ~/.claude/skills/review-methodology/SKILL.md`
|
|
78
|
+
3. Get the diff: `git diff {base_branch}...HEAD`
|
|
79
|
+
4. Apply the 6-step review process from review-methodology
|
|
80
|
+
5. Focus: injection, auth bypass, crypto misuse, OWASP vulnerabilities
|
|
81
|
+
6. Classify each finding: 🔴 BLOCKING / ⚠️ SHOULD-FIX / ℹ️ PRE-EXISTING
|
|
82
|
+
7. Include file:line references for every finding
|
|
83
|
+
8. Write your report: `Write to .docs/reviews/{branch_slug}/security.md`
|
|
84
|
+
9. Report completion: SendMessage(type: "message", recipient: "team-lead", summary: "Security review done")
|
|
85
|
+
|
|
86
|
+
- Name: "architecture-reviewer"
|
|
87
|
+
Prompt: |
|
|
88
|
+
You are reviewing PR #{pr_number} on branch {branch} (base: {base_branch}).
|
|
89
|
+
1. Read your skill: `Read ~/.claude/skills/architecture-patterns/SKILL.md`
|
|
90
|
+
2. Read review methodology: `Read ~/.claude/skills/review-methodology/SKILL.md`
|
|
91
|
+
3. Get the diff: `git diff {base_branch}...HEAD`
|
|
92
|
+
4. Apply the 6-step review process from review-methodology
|
|
93
|
+
5. Focus: SOLID violations, coupling, layering issues, modularity problems
|
|
94
|
+
6. Classify each finding: 🔴 BLOCKING / ⚠️ SHOULD-FIX / ℹ️ PRE-EXISTING
|
|
95
|
+
7. Include file:line references for every finding
|
|
96
|
+
8. Write your report: `Write to .docs/reviews/{branch_slug}/architecture.md`
|
|
97
|
+
9. Report completion: SendMessage(type: "message", recipient: "team-lead", summary: "Architecture review done")
|
|
98
|
+
|
|
99
|
+
- Name: "performance-reviewer"
|
|
100
|
+
Prompt: |
|
|
101
|
+
You are reviewing PR #{pr_number} on branch {branch} (base: {base_branch}).
|
|
102
|
+
1. Read your skill: `Read ~/.claude/skills/performance-patterns/SKILL.md`
|
|
103
|
+
2. Read review methodology: `Read ~/.claude/skills/review-methodology/SKILL.md`
|
|
104
|
+
3. Get the diff: `git diff {base_branch}...HEAD`
|
|
105
|
+
4. Apply the 6-step review process from review-methodology
|
|
106
|
+
5. Focus: N+1 queries, memory leaks, algorithm issues, I/O bottlenecks
|
|
107
|
+
6. Classify each finding: 🔴 BLOCKING / ⚠️ SHOULD-FIX / ℹ️ PRE-EXISTING
|
|
108
|
+
7. Include file:line references for every finding
|
|
109
|
+
8. Write your report: `Write to .docs/reviews/{branch_slug}/performance.md`
|
|
110
|
+
9. Report completion: SendMessage(type: "message", recipient: "team-lead", summary: "Performance review done")
|
|
111
|
+
|
|
112
|
+
- Name: "quality-reviewer"
|
|
113
|
+
Prompt: |
|
|
114
|
+
You are reviewing PR #{pr_number} on branch {branch} (base: {base_branch}).
|
|
115
|
+
1. Read your skills:
|
|
116
|
+
- `Read ~/.claude/skills/complexity-patterns/SKILL.md`
|
|
117
|
+
- `Read ~/.claude/skills/consistency-patterns/SKILL.md`
|
|
118
|
+
- `Read ~/.claude/skills/test-patterns/SKILL.md`
|
|
119
|
+
- `Read ~/.claude/skills/regression-patterns/SKILL.md`
|
|
120
|
+
2. Read review methodology: `Read ~/.claude/skills/review-methodology/SKILL.md`
|
|
121
|
+
3. Get the diff: `git diff {base_branch}...HEAD`
|
|
122
|
+
4. Apply the 6-step review process from review-methodology
|
|
123
|
+
5. Focus: complexity, test gaps, pattern violations, regressions, naming
|
|
124
|
+
6. Classify each finding: 🔴 BLOCKING / ⚠️ SHOULD-FIX / ℹ️ PRE-EXISTING
|
|
125
|
+
7. Include file:line references for every finding
|
|
126
|
+
8. Write your report: `Write to .docs/reviews/{branch_slug}/quality.md`
|
|
127
|
+
9. Report completion: SendMessage(type: "message", recipient: "team-lead", summary: "Quality review done")
|
|
128
|
+
|
|
129
|
+
[Add conditional perspectives based on Phase 1 — follow same pattern:
|
|
130
|
+
explicit skill path, diff command, output path, SendMessage for completion]
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Phase 3: Debate Round
|
|
134
|
+
|
|
135
|
+
After all reviewers complete initial analysis, lead initiates adversarial debate:
|
|
136
|
+
|
|
137
|
+
Lead initiates debate via broadcast:
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
SendMessage(type: "broadcast", summary: "Debate: share and challenge findings"):
|
|
141
|
+
"All reviewers: Share your top 3-5 findings. Then challenge findings
|
|
142
|
+
from other reviewers you disagree with. Provide counter-evidence with
|
|
143
|
+
file:line references.
|
|
144
|
+
|
|
145
|
+
Rules:
|
|
146
|
+
- Security: challenge architecture claims that affect attack surface
|
|
147
|
+
- Architecture: challenge performance suggestions that break separation
|
|
148
|
+
- Performance: challenge complexity assessments with benchmarking context
|
|
149
|
+
- Quality: validate whether tests cover security and performance concerns
|
|
150
|
+
|
|
151
|
+
Max 2 exchange rounds. Then submit final findings with confidence:
|
|
152
|
+
- HIGH: Unchallenged or survived challenge with evidence
|
|
153
|
+
- MEDIUM: Majority agreed, dissent noted
|
|
154
|
+
- LOW: Genuinely split, both perspectives included"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Reviewers message each other directly using SendMessage:
|
|
158
|
+
- `SendMessage(type: "message", recipient: "{reviewer-name}", summary: "Challenge: {topic}")` to challenge a specific finding
|
|
159
|
+
- `SendMessage(type: "message", recipient: "{reviewer-name}", summary: "Validate: {topic}")` to validate alignment
|
|
160
|
+
- `SendMessage(type: "message", recipient: "team-lead", summary: "Escalation: {topic}")` for unresolvable disagreements
|
|
161
|
+
- Update or withdraw findings based on peer evidence
|
|
162
|
+
|
|
163
|
+
### Phase 4: Synthesis and PR Comments
|
|
164
|
+
|
|
165
|
+
**WAIT** for debate to complete, then lead produces outputs.
|
|
166
|
+
|
|
167
|
+
Spawn 2 agents **in a single message**:
|
|
168
|
+
|
|
169
|
+
**Git Agent (PR Comments)**:
|
|
170
|
+
```
|
|
171
|
+
Task(subagent_type="Git", run_in_background=false):
|
|
172
|
+
"OPERATION: comment-pr
|
|
173
|
+
Read reviews from .docs/reviews/{branch_slug}/
|
|
174
|
+
Create inline PR comments. Deduplicate overlapping findings.
|
|
175
|
+
Consolidate skipped findings into summary comment.
|
|
176
|
+
Include confidence levels from debate consensus."
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Lead synthesizes review summary** (written to `.docs/reviews/{branch_slug}/review-summary.{timestamp}.md`):
|
|
180
|
+
|
|
181
|
+
```markdown
|
|
182
|
+
## Review Summary: {branch}
|
|
183
|
+
|
|
184
|
+
### Merge Recommendation
|
|
185
|
+
{APPROVE / REQUEST_CHANGES / BLOCK}
|
|
186
|
+
|
|
187
|
+
### Consensus Findings (HIGH confidence)
|
|
188
|
+
{Findings all reviewers agreed on or that survived challenge}
|
|
189
|
+
|
|
190
|
+
### Majority Findings (MEDIUM confidence)
|
|
191
|
+
{Findings most agreed on, with dissenting view noted}
|
|
192
|
+
|
|
193
|
+
### Split Findings (LOW confidence)
|
|
194
|
+
{Genuinely contested, both perspectives with evidence}
|
|
195
|
+
|
|
196
|
+
### Issue Counts
|
|
197
|
+
- 🔴 Blocking: {count}
|
|
198
|
+
- ⚠️ Should-fix: {count}
|
|
199
|
+
- ℹ️ Pre-existing: {count}
|
|
200
|
+
|
|
201
|
+
### Debate Summary
|
|
202
|
+
{Key exchanges that changed findings}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Phase 5: Cleanup and Report
|
|
206
|
+
|
|
207
|
+
Shut down all review teammates explicitly:
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
For each teammate in [security-reviewer, architecture-reviewer, performance-reviewer, quality-reviewer, ...conditional]:
|
|
211
|
+
SendMessage(type: "shutdown_request", recipient: "{name}", content: "Review complete")
|
|
212
|
+
Wait for shutdown_response (approve: true)
|
|
213
|
+
|
|
214
|
+
TeamDelete
|
|
215
|
+
Verify TeamDelete succeeded. If failed, retry once after 5s. If retry fails, HALT.
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Display results:
|
|
219
|
+
- Merge recommendation with confidence level
|
|
220
|
+
- Issue counts by category (🔴 blocking / ⚠️ should-fix / ℹ️ pre-existing)
|
|
221
|
+
- PR comments created/skipped (from Git agent)
|
|
222
|
+
- Key debate highlights
|
|
223
|
+
- Artifact paths
|
|
224
|
+
|
|
225
|
+
## Architecture
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
/code-review (orchestrator - creates team, coordinates debate)
|
|
229
|
+
│
|
|
230
|
+
├─ Phase 0: Pre-flight
|
|
231
|
+
│ └─ Git agent (ensure-pr-ready)
|
|
232
|
+
│
|
|
233
|
+
├─ Phase 1: Analyze changed files
|
|
234
|
+
│ └─ Detect file types for conditional perspectives
|
|
235
|
+
│
|
|
236
|
+
├─ Phase 2: Spawn review team
|
|
237
|
+
│ ├─ Security Reviewer (teammate)
|
|
238
|
+
│ ├─ Architecture Reviewer (teammate)
|
|
239
|
+
│ ├─ Performance Reviewer (teammate)
|
|
240
|
+
│ ├─ Quality Reviewer (teammate)
|
|
241
|
+
│ └─ [Conditional: TypeScript, React, A11y, Design, DB, Deps, Docs]
|
|
242
|
+
│
|
|
243
|
+
├─ Phase 3: Debate round
|
|
244
|
+
│ └─ Reviewers challenge each other (max 2 rounds)
|
|
245
|
+
│
|
|
246
|
+
├─ Phase 4: Synthesis
|
|
247
|
+
│ ├─ Git agent (comment-pr with consensus findings)
|
|
248
|
+
│ └─ Lead writes review-summary with confidence levels
|
|
249
|
+
│
|
|
250
|
+
└─ Phase 5: Cleanup and display results
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Principles
|
|
254
|
+
|
|
255
|
+
1. **Adversarial review** - Reviewers challenge each other's findings, not just report independently
|
|
256
|
+
2. **Consensus confidence** - Findings classified by agreement level (HIGH/MEDIUM/LOW)
|
|
257
|
+
3. **Orchestration only** - Command spawns team, coordinates debate, doesn't do review work itself
|
|
258
|
+
4. **Git agent for git work** - All git operations go through Git agent
|
|
259
|
+
5. **Bounded debate** - Max 2 exchange rounds, then converge
|
|
260
|
+
6. **Honest reporting** - Report disagreements with evidence, don't paper over conflicts
|
|
261
|
+
7. **Cleanup always** - Team resources released even on failure
|
|
262
|
+
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Comprehensive branch review using specialized sub-agents for PR readiness
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Code Review Command
|
|
6
|
+
|
|
7
|
+
Run a comprehensive code review of the current branch by spawning parallel review agents, then synthesizing results into PR comments.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
/code-review (review current branch)
|
|
13
|
+
/code-review #42 (review specific PR)
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Phases
|
|
17
|
+
|
|
18
|
+
### Phase 0: Pre-Flight (Git Agent)
|
|
19
|
+
|
|
20
|
+
Spawn Git agent to validate and prepare branch:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
Task(subagent_type="Git", run_in_background=false):
|
|
24
|
+
"OPERATION: ensure-pr-ready
|
|
25
|
+
Validate branch, commit if needed, push, create PR if needed.
|
|
26
|
+
Return: branch, base_branch, branch-slug, PR#"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**If BLOCKED:** Stop and report the blocker to user.
|
|
30
|
+
|
|
31
|
+
**Extract from response:** `branch`, `base_branch`, `branch_slug`, `pr_number` for use in subsequent phases.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Phase 1: Analyze Changed Files
|
|
36
|
+
|
|
37
|
+
Detect file types in diff to determine conditional reviews:
|
|
38
|
+
|
|
39
|
+
| Condition | Adds Review |
|
|
40
|
+
|-----------|-------------|
|
|
41
|
+
| .ts/.tsx files | typescript |
|
|
42
|
+
| .tsx/.jsx files | react |
|
|
43
|
+
| .tsx/.jsx files | accessibility |
|
|
44
|
+
| .tsx/.jsx/.css/.scss files | frontend-design |
|
|
45
|
+
| DB/migration files | database |
|
|
46
|
+
| Dependency files changed | dependencies |
|
|
47
|
+
| Docs or significant code | documentation |
|
|
48
|
+
|
|
49
|
+
### Phase 2: Run Reviews (Parallel)
|
|
50
|
+
|
|
51
|
+
Spawn Reviewer agents **in a single message**. Always run 7 core reviews; conditionally add up to 4 more:
|
|
52
|
+
|
|
53
|
+
| Focus | Always | Pattern Skill |
|
|
54
|
+
|-------|--------|---------------|
|
|
55
|
+
| security | ✓ | security-patterns |
|
|
56
|
+
| architecture | ✓ | architecture-patterns |
|
|
57
|
+
| performance | ✓ | performance-patterns |
|
|
58
|
+
| complexity | ✓ | complexity-patterns |
|
|
59
|
+
| consistency | ✓ | consistency-patterns |
|
|
60
|
+
| regression | ✓ | regression-patterns |
|
|
61
|
+
| tests | ✓ | test-patterns |
|
|
62
|
+
| typescript | conditional | typescript |
|
|
63
|
+
| react | conditional | react |
|
|
64
|
+
| accessibility | conditional | accessibility |
|
|
65
|
+
| frontend-design | conditional | frontend-design |
|
|
66
|
+
| database | conditional | database-patterns |
|
|
67
|
+
| dependencies | conditional | dependencies-patterns |
|
|
68
|
+
| documentation | conditional | documentation-patterns |
|
|
69
|
+
|
|
70
|
+
Each Reviewer invocation (all in one message, **NOT background**):
|
|
71
|
+
```
|
|
72
|
+
Task(subagent_type="Reviewer", run_in_background=false):
|
|
73
|
+
"Review focusing on {focus}. Apply {focus}-patterns.
|
|
74
|
+
Follow 6-step process from review-methodology.
|
|
75
|
+
PR: #{pr_number}, Base: {base_branch}
|
|
76
|
+
IMPORTANT: Write report to .docs/reviews/{branch-slug}/{focus}.md using Write tool"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Phase 3: Synthesis (Parallel)
|
|
80
|
+
|
|
81
|
+
**WAIT** for Phase 2, then spawn 3 agents **in a single message**:
|
|
82
|
+
|
|
83
|
+
**Git Agent (PR Comments)**:
|
|
84
|
+
```
|
|
85
|
+
Task(subagent_type="Git", run_in_background=false):
|
|
86
|
+
"OPERATION: comment-pr
|
|
87
|
+
Read reviews from .docs/reviews/{branch-slug}/
|
|
88
|
+
Create inline PR comments, deduplicate, consolidate skipped into summary"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Synthesizer Agent**:
|
|
92
|
+
```
|
|
93
|
+
Task(subagent_type="Synthesizer", run_in_background=false):
|
|
94
|
+
"Mode: review
|
|
95
|
+
Aggregate findings, determine merge recommendation
|
|
96
|
+
Output: .docs/reviews/{branch-slug}/review-summary.{timestamp}.md"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Phase 4: Report
|
|
100
|
+
|
|
101
|
+
Display results from all agents:
|
|
102
|
+
- Merge recommendation (from Synthesizer)
|
|
103
|
+
- Issue counts by category (🔴 blocking / ⚠️ should-fix / ℹ️ pre-existing)
|
|
104
|
+
- PR comments created/skipped (from Git)
|
|
105
|
+
- Artifact paths
|
|
106
|
+
|
|
107
|
+
## Architecture
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
/code-review (orchestrator - spawns agents only)
|
|
111
|
+
│
|
|
112
|
+
├─ Phase 0: Pre-flight
|
|
113
|
+
│ └─ Git agent (ensure-pr-ready)
|
|
114
|
+
│
|
|
115
|
+
├─ Phase 1: Analyze changed files
|
|
116
|
+
│ └─ Detect file types for conditional reviews
|
|
117
|
+
│
|
|
118
|
+
├─ Phase 2: Reviews (PARALLEL)
|
|
119
|
+
│ ├─ Reviewer: security
|
|
120
|
+
│ ├─ Reviewer: architecture
|
|
121
|
+
│ ├─ Reviewer: performance
|
|
122
|
+
│ ├─ Reviewer: complexity
|
|
123
|
+
│ ├─ Reviewer: consistency
|
|
124
|
+
│ ├─ Reviewer: regression
|
|
125
|
+
│ ├─ Reviewer: tests
|
|
126
|
+
│ └─ Reviewer: [conditional: typescript, react, a11y, design, database, deps, docs]
|
|
127
|
+
│
|
|
128
|
+
├─ Phase 3: Synthesis (PARALLEL)
|
|
129
|
+
│ ├─ Git agent (comment-pr)
|
|
130
|
+
│ └─ Synthesizer agent (mode: review)
|
|
131
|
+
│
|
|
132
|
+
└─ Phase 4: Display results
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Principles
|
|
136
|
+
|
|
137
|
+
1. **Orchestration only** - Command spawns agents, doesn't do git/review work itself
|
|
138
|
+
2. **Parallel, not background** - Multiple agents in one message, but `run_in_background=false` so phases complete before proceeding
|
|
139
|
+
3. **Git agent for git work** - All git operations go through Git agent
|
|
140
|
+
4. **Clear ownership** - Each agent owns its output completely
|
|
141
|
+
5. **Honest reporting** - Display agent outputs directly
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: accessibility
|
|
3
|
+
description: This skill should be used when the user asks to "add accessibility", "check ARIA", "handle keyboard navigation", "add focus management", or creates UI components, forms, or interactive elements. Provides WCAG 2.1 AA patterns for keyboard navigation, ARIA roles and states, focus management, color contrast, and screen reader support.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
allowed-tools: Read, Grep, Glob
|
|
6
|
+
activation:
|
|
7
|
+
file-patterns:
|
|
8
|
+
- "**/*.tsx"
|
|
9
|
+
- "**/*.jsx"
|
|
10
|
+
- "**/*.css"
|
|
11
|
+
- "**/*.scss"
|
|
12
|
+
exclude:
|
|
13
|
+
- "node_modules/**"
|
|
14
|
+
- "**/*.test.*"
|
|
15
|
+
- "**/*.spec.*"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Accessibility Patterns
|
|
19
|
+
|
|
20
|
+
Reference for web accessibility (WCAG 2.1 AA compliance), keyboard navigation, screen reader support, and inclusive design.
|
|
21
|
+
|
|
22
|
+
## Iron Law
|
|
23
|
+
|
|
24
|
+
> **EVERY INTERACTION MUST BE POSSIBLE WITHOUT A MOUSE**
|
|
25
|
+
>
|
|
26
|
+
> If a user cannot complete an action using only keyboard, the feature is broken.
|
|
27
|
+
> Mouse-only interactions exclude users with motor disabilities, power users,
|
|
28
|
+
> and anyone navigating with assistive technology. Tab order, focus management,
|
|
29
|
+
> and keyboard shortcuts are not optional enhancements.
|
|
30
|
+
|
|
31
|
+
## When This Skill Activates
|
|
32
|
+
|
|
33
|
+
- Creating interactive UI components
|
|
34
|
+
- Building forms and inputs
|
|
35
|
+
- Working with React/JSX code
|
|
36
|
+
- Discussing focus, ARIA, or screen readers
|
|
37
|
+
- Reviewing color schemes or contrast
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Keyboard Navigation
|
|
42
|
+
|
|
43
|
+
### Focus Management
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
// CORRECT: Focus trap in modal
|
|
47
|
+
function Modal({ isOpen, onClose, children }) {
|
|
48
|
+
const firstFocusable = useRef<HTMLButtonElement>(null);
|
|
49
|
+
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (isOpen) firstFocusable.current?.focus();
|
|
52
|
+
}, [isOpen]);
|
|
53
|
+
|
|
54
|
+
return (
|
|
55
|
+
<div role="dialog" aria-modal="true" onKeyDown={(e) => {
|
|
56
|
+
if (e.key === 'Escape') onClose();
|
|
57
|
+
}}>
|
|
58
|
+
<button ref={firstFocusable}>First action</button>
|
|
59
|
+
{children}
|
|
60
|
+
</div>
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// VIOLATION: No focus management, no escape handler
|
|
65
|
+
function BadModal({ children }) {
|
|
66
|
+
return <div className="modal">{children}</div>;
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Skip Links
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
// CORRECT: Skip to main content
|
|
74
|
+
<a href="#main-content" className="sr-only focus:not-sr-only">
|
|
75
|
+
Skip to main content
|
|
76
|
+
</a>
|
|
77
|
+
<main id="main-content" tabIndex={-1}>...</main>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## ARIA and Semantic HTML
|
|
83
|
+
|
|
84
|
+
### Prefer Semantic Elements
|
|
85
|
+
|
|
86
|
+
```tsx
|
|
87
|
+
// CORRECT: Native semantics
|
|
88
|
+
<button onClick={handleClick}>Submit</button>
|
|
89
|
+
<nav aria-label="Main"><ul>...</ul></nav>
|
|
90
|
+
<article><header>...</header></article>
|
|
91
|
+
|
|
92
|
+
// VIOLATION: Div with role instead of semantic element
|
|
93
|
+
<div role="button" onClick={handleClick}>Submit</div>
|
|
94
|
+
<div role="navigation">...</div>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Live Regions
|
|
98
|
+
|
|
99
|
+
```tsx
|
|
100
|
+
// CORRECT: Announce dynamic changes
|
|
101
|
+
<div aria-live="polite" aria-atomic="true">
|
|
102
|
+
{message && <p>{message}</p>}
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
// For errors (assertive)
|
|
106
|
+
<div role="alert">{errorMessage}</div>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Color and Contrast
|
|
112
|
+
|
|
113
|
+
| Element | Minimum Ratio | WCAG Level |
|
|
114
|
+
|---------|--------------|------------|
|
|
115
|
+
| Normal text (<18px) | 4.5:1 | AA |
|
|
116
|
+
| Large text (>=18px bold, >=24px) | 3:1 | AA |
|
|
117
|
+
| UI components | 3:1 | AA |
|
|
118
|
+
| Enhanced | 7:1 | AAA |
|
|
119
|
+
|
|
120
|
+
### Never Color-Only Meaning
|
|
121
|
+
|
|
122
|
+
```tsx
|
|
123
|
+
// VIOLATION: Only color indicates error
|
|
124
|
+
<input style={{ borderColor: hasError ? 'red' : 'gray' }} />
|
|
125
|
+
|
|
126
|
+
// CORRECT: Icon + text + color
|
|
127
|
+
<input aria-invalid={hasError} aria-describedby="error-msg" />
|
|
128
|
+
{hasError && <span id="error-msg" role="alert">Required field</span>}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Motion and Animation
|
|
134
|
+
|
|
135
|
+
```tsx
|
|
136
|
+
// CORRECT: Respect user preferences
|
|
137
|
+
const prefersReduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
138
|
+
|
|
139
|
+
<div className={prefersReduced ? 'no-animation' : 'animate-fade'}>
|
|
140
|
+
Content
|
|
141
|
+
</div>
|
|
142
|
+
|
|
143
|
+
// CSS approach
|
|
144
|
+
@media (prefers-reduced-motion: reduce) {
|
|
145
|
+
*, *::before, *::after {
|
|
146
|
+
animation-duration: 0.01ms !important;
|
|
147
|
+
transition-duration: 0.01ms !important;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Touch and Pointer
|
|
155
|
+
|
|
156
|
+
### Minimum Target Size
|
|
157
|
+
|
|
158
|
+
```css
|
|
159
|
+
/* CORRECT: 44x44px minimum touch target */
|
|
160
|
+
.button {
|
|
161
|
+
min-width: 44px;
|
|
162
|
+
min-height: 44px;
|
|
163
|
+
padding: 12px 16px;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/* VIOLATION: Tiny tap targets */
|
|
167
|
+
.icon-button {
|
|
168
|
+
width: 20px;
|
|
169
|
+
height: 20px;
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Forms and Errors
|
|
176
|
+
|
|
177
|
+
```tsx
|
|
178
|
+
// CORRECT: Associated labels and error linking
|
|
179
|
+
<div>
|
|
180
|
+
<label htmlFor="email">Email</label>
|
|
181
|
+
<input
|
|
182
|
+
id="email"
|
|
183
|
+
type="email"
|
|
184
|
+
aria-invalid={!!error}
|
|
185
|
+
aria-describedby={error ? 'email-error' : undefined}
|
|
186
|
+
/>
|
|
187
|
+
{error && <span id="email-error" role="alert">{error}</span>}
|
|
188
|
+
</div>
|
|
189
|
+
|
|
190
|
+
// VIOLATION: Placeholder as label
|
|
191
|
+
<input placeholder="Enter email" />
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Extended References
|
|
197
|
+
|
|
198
|
+
For additional patterns and detection rules:
|
|
199
|
+
- `references/violations.md` - Extended accessibility violations
|
|
200
|
+
- `references/patterns.md` - Extended correct patterns
|
|
201
|
+
- `references/detection.md` - Grep patterns for finding issues
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Severity Guidelines
|
|
206
|
+
|
|
207
|
+
| Severity | Criteria |
|
|
208
|
+
|----------|----------|
|
|
209
|
+
| CRITICAL | No keyboard access, missing form labels, zero contrast |
|
|
210
|
+
| HIGH | Missing focus indicators, no skip links, color-only meaning |
|
|
211
|
+
| MEDIUM | Missing ARIA labels, poor focus order, small touch targets |
|
|
212
|
+
| LOW | Missing optional enhancements, could improve announcements |
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Checklist
|
|
217
|
+
|
|
218
|
+
- [ ] All interactive elements reachable via Tab
|
|
219
|
+
- [ ] Visible focus indicators on all focusable elements
|
|
220
|
+
- [ ] Escape closes modals/dropdowns
|
|
221
|
+
- [ ] Skip link to main content
|
|
222
|
+
- [ ] All form inputs have associated labels
|
|
223
|
+
- [ ] Errors linked via aria-describedby
|
|
224
|
+
- [ ] Color contrast meets 4.5:1 (text) / 3:1 (UI)
|
|
225
|
+
- [ ] No color-only meaning
|
|
226
|
+
- [ ] prefers-reduced-motion respected
|
|
227
|
+
- [ ] Touch targets minimum 44x44px
|
|
228
|
+
- [ ] aria-live for dynamic content
|
|
229
|
+
- [ ] Semantic HTML preferred over ARIA roles
|