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,426 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute a single task through the complete lifecycle - orchestrates exploration, planning, implementation, and simplification with parallel agents
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Implement Command
|
|
6
|
+
|
|
7
|
+
Orchestrate a single task from exploration through implementation by spawning specialized agents. The orchestrator only spawns agents and passes context - all work is done by agents.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
/implement <task description>
|
|
13
|
+
/implement #42 (GitHub issue number)
|
|
14
|
+
/implement (use conversation context)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Input
|
|
18
|
+
|
|
19
|
+
`$ARGUMENTS` contains whatever follows `/implement`:
|
|
20
|
+
- Task description: "implement JWT auth"
|
|
21
|
+
- GitHub issue: "#42"
|
|
22
|
+
- Empty: use conversation context
|
|
23
|
+
|
|
24
|
+
## Phases
|
|
25
|
+
|
|
26
|
+
### Phase 1: Setup
|
|
27
|
+
|
|
28
|
+
Record the current branch name as `BASE_BRANCH` - this will be the PR target.
|
|
29
|
+
|
|
30
|
+
Generate a unique `TASK_ID`: `task-{YYYY-MM-DD_HHMM}` (e.g., `task-2025-01-15_1430`).
|
|
31
|
+
|
|
32
|
+
Spawn Git agent to set up task environment:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Task(subagent_type="Git"):
|
|
36
|
+
"OPERATION: setup-task
|
|
37
|
+
TASK_ID: {task-id}
|
|
38
|
+
BASE_BRANCH: {current branch name}
|
|
39
|
+
ISSUE_INPUT: {issue number if provided, otherwise omit}
|
|
40
|
+
Create feature branch and fetch issue if specified.
|
|
41
|
+
Return the branch setup summary."
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Capture from Git agent output** (used throughout flow):
|
|
45
|
+
- `BASE_BRANCH`: Branch this feature was created from (for PR target)
|
|
46
|
+
- `ISSUE_NUMBER`: GitHub issue number (if provided)
|
|
47
|
+
- `ISSUE_CONTENT`: Full issue body including description (if provided)
|
|
48
|
+
- `ACCEPTANCE_CRITERIA`: Extracted acceptance criteria from issue (if provided)
|
|
49
|
+
|
|
50
|
+
### Phase 1.5: Orient
|
|
51
|
+
|
|
52
|
+
Spawn Skimmer agent for codebase overview:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Task(subagent_type="Skimmer"):
|
|
56
|
+
"Orient in codebase for: {task description}
|
|
57
|
+
Use skim to identify relevant files, functions, integration points"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Phase 2: Explore (Parallel)
|
|
61
|
+
|
|
62
|
+
Spawn 4 Explore agents **in a single message**, each with Skimmer context:
|
|
63
|
+
|
|
64
|
+
| Focus | Thoroughness | Find |
|
|
65
|
+
|-------|-------------|------|
|
|
66
|
+
| Architecture | medium | Similar implementations, patterns, module structure |
|
|
67
|
+
| Integration | medium | Entry points, services, database models, configuration |
|
|
68
|
+
| Reusable code | medium | Utilities, helpers, validation patterns, error handling |
|
|
69
|
+
| Edge cases | quick | Error scenarios, race conditions, permission failures |
|
|
70
|
+
|
|
71
|
+
Track success/failure of each explorer for synthesis context.
|
|
72
|
+
|
|
73
|
+
### Phase 3: Synthesize Exploration
|
|
74
|
+
|
|
75
|
+
**WAIT** for Phase 2 to complete.
|
|
76
|
+
|
|
77
|
+
**CRITICAL**: Do NOT synthesize outputs yourself in the main session.
|
|
78
|
+
You MUST spawn the Synthesizer agent - "spawn Synthesizer" means delegate to the agent, not do the work yourself.
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Task(subagent_type="Synthesizer"):
|
|
82
|
+
"Synthesize EXPLORATION outputs for: {task}
|
|
83
|
+
Mode: exploration
|
|
84
|
+
Explorer outputs: {all 4 outputs}
|
|
85
|
+
Failed explorations: {any failures}
|
|
86
|
+
Combine into: patterns, integration points, reusable code, edge cases"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Phase 4: Plan (Parallel)
|
|
90
|
+
|
|
91
|
+
Spawn 3 Plan agents **in a single message**, each with exploration synthesis:
|
|
92
|
+
|
|
93
|
+
| Focus | Output |
|
|
94
|
+
|-------|--------|
|
|
95
|
+
| Implementation steps | Ordered steps with files and dependencies |
|
|
96
|
+
| Testing strategy | Unit tests, integration tests, edge case tests |
|
|
97
|
+
| Execution strategy | SINGLE_CODER vs SEQUENTIAL_CODERS vs PARALLEL_CODERS decision |
|
|
98
|
+
|
|
99
|
+
**Execution Strategy planner analyzes 3 axes:**
|
|
100
|
+
|
|
101
|
+
| Axis | Signals | Decision Impact |
|
|
102
|
+
|------|---------|-----------------|
|
|
103
|
+
| **Artifact Independence** | Shared contracts? Integration points? | If coupled → SINGLE_CODER |
|
|
104
|
+
| **Context Capacity** | File count, module breadth, pattern complexity | HIGH/CRITICAL → SEQUENTIAL_CODERS |
|
|
105
|
+
| **Domain Specialization** | Tech stack detected (backend, frontend, tests) | Determines DOMAIN hints for Coders |
|
|
106
|
+
|
|
107
|
+
**Context Risk Levels:**
|
|
108
|
+
- **LOW**: <10 files, single module → SINGLE_CODER
|
|
109
|
+
- **MEDIUM**: 10-20 files, 2-3 modules → Consider SEQUENTIAL_CODERS
|
|
110
|
+
- **HIGH**: 20-30 files, multiple modules → SEQUENTIAL_CODERS (2-3 phases)
|
|
111
|
+
- **CRITICAL**: >30 files, cross-cutting concerns → SEQUENTIAL_CODERS (more phases)
|
|
112
|
+
|
|
113
|
+
### Phase 5: Synthesize Planning
|
|
114
|
+
|
|
115
|
+
**WAIT** for Phase 4 to complete.
|
|
116
|
+
|
|
117
|
+
**CRITICAL**: Do NOT synthesize outputs yourself in the main session.
|
|
118
|
+
You MUST spawn the Synthesizer agent - "spawn Synthesizer" means delegate to the agent, not do the work yourself.
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Task(subagent_type="Synthesizer"):
|
|
122
|
+
"Synthesize PLANNING outputs for: {task}
|
|
123
|
+
Mode: planning
|
|
124
|
+
Planner outputs: {all 3 outputs}
|
|
125
|
+
Combine into: execution plan with strategy decision (SINGLE_CODER | SEQUENTIAL_CODERS | PARALLEL_CODERS)"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Synthesizer returns:**
|
|
129
|
+
- Execution strategy type and reasoning
|
|
130
|
+
- Context risk level
|
|
131
|
+
- Subtask breakdown with DOMAIN hints (if not SINGLE_CODER)
|
|
132
|
+
- Implementation plan with dependencies
|
|
133
|
+
|
|
134
|
+
### Phase 6: Implement
|
|
135
|
+
|
|
136
|
+
Based on Phase 5 synthesis, use the three-strategy framework:
|
|
137
|
+
|
|
138
|
+
**Strategy Selection** (from Execution Strategy planner):
|
|
139
|
+
|
|
140
|
+
| Strategy | When | Frequency |
|
|
141
|
+
|----------|------|-----------|
|
|
142
|
+
| **SINGLE_CODER** | Default. Coherent A→Z implementation | ~80% |
|
|
143
|
+
| **SEQUENTIAL_CODERS** | Context overflow risk, layered dependencies | ~15% |
|
|
144
|
+
| **PARALLEL_CODERS** | True artifact independence (rare) | ~5% |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
**SINGLE_CODER** (default):
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
Task(subagent_type="Coder"):
|
|
152
|
+
"TASK_ID: {task-id}
|
|
153
|
+
TASK_DESCRIPTION: {description}
|
|
154
|
+
BASE_BRANCH: {base branch}
|
|
155
|
+
EXECUTION_PLAN: {full plan from synthesis}
|
|
156
|
+
PATTERNS: {patterns from exploration}
|
|
157
|
+
CREATE_PR: true
|
|
158
|
+
DOMAIN: {detected domain or 'fullstack'}"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
**SEQUENTIAL_CODERS** (for HIGH/CRITICAL context risk):
|
|
164
|
+
|
|
165
|
+
Spawn Coders one at a time, passing handoff summaries between phases:
|
|
166
|
+
|
|
167
|
+
**Phase 1 Coder:**
|
|
168
|
+
```
|
|
169
|
+
Task(subagent_type="Coder"):
|
|
170
|
+
"TASK_ID: {task-id}
|
|
171
|
+
TASK_DESCRIPTION: {phase 1 description}
|
|
172
|
+
BASE_BRANCH: {base branch}
|
|
173
|
+
EXECUTION_PLAN: {phase 1 steps}
|
|
174
|
+
PATTERNS: {patterns from exploration}
|
|
175
|
+
CREATE_PR: false
|
|
176
|
+
DOMAIN: {phase 1 domain, e.g., 'backend'}
|
|
177
|
+
HANDOFF_REQUIRED: true"
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Phase 2+ Coders** (after prior phase completes):
|
|
181
|
+
```
|
|
182
|
+
Task(subagent_type="Coder"):
|
|
183
|
+
"TASK_ID: {task-id}
|
|
184
|
+
TASK_DESCRIPTION: {phase N description}
|
|
185
|
+
BASE_BRANCH: {base branch}
|
|
186
|
+
EXECUTION_PLAN: {phase N steps}
|
|
187
|
+
PATTERNS: {patterns from exploration}
|
|
188
|
+
CREATE_PR: {true if last phase, false otherwise}
|
|
189
|
+
DOMAIN: {phase N domain, e.g., 'frontend'}
|
|
190
|
+
PRIOR_PHASE_SUMMARY: {summary from previous Coder}
|
|
191
|
+
FILES_FROM_PRIOR_PHASE: {list of files created}
|
|
192
|
+
HANDOFF_REQUIRED: {true if not last phase}"
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**Handoff Protocol**: Each sequential Coder receives the prior Coder's implementation summary. The receiving Coder MUST:
|
|
196
|
+
1. Check git log to see commits from previous phases
|
|
197
|
+
2. Read actual files created - do not trust summary alone
|
|
198
|
+
3. Identify patterns from actual code (naming, error handling, testing)
|
|
199
|
+
4. Reference handoff summary to validate understanding
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
**PARALLEL_CODERS** (rare - truly independent artifacts):
|
|
204
|
+
|
|
205
|
+
Spawn multiple Coders **in a single message**, each with independent subtask:
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
Task(subagent_type="Coder"): # Coder 1
|
|
209
|
+
"TASK_ID: {task-id}-part1
|
|
210
|
+
TASK_DESCRIPTION: {independent subtask 1}
|
|
211
|
+
BASE_BRANCH: {base branch}
|
|
212
|
+
EXECUTION_PLAN: {subtask 1 steps}
|
|
213
|
+
PATTERNS: {patterns}
|
|
214
|
+
CREATE_PR: false
|
|
215
|
+
DOMAIN: {subtask 1 domain}"
|
|
216
|
+
|
|
217
|
+
Task(subagent_type="Coder"): # Coder 2 (same message)
|
|
218
|
+
"TASK_ID: {task-id}-part2
|
|
219
|
+
TASK_DESCRIPTION: {independent subtask 2}
|
|
220
|
+
BASE_BRANCH: {base branch}
|
|
221
|
+
EXECUTION_PLAN: {subtask 2 steps}
|
|
222
|
+
PATTERNS: {patterns}
|
|
223
|
+
CREATE_PR: false
|
|
224
|
+
DOMAIN: {subtask 2 domain}"
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**Independence criteria** (all must be true for PARALLEL_CODERS):
|
|
228
|
+
- No shared contracts or interfaces
|
|
229
|
+
- No integration points between subtasks
|
|
230
|
+
- Different files/modules with no imports between them
|
|
231
|
+
- Each subtask is self-contained
|
|
232
|
+
|
|
233
|
+
### Phase 6.5: Validate
|
|
234
|
+
|
|
235
|
+
After Coder completes, spawn Validator to verify correctness:
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
Task(subagent_type="Validator", model="haiku"):
|
|
239
|
+
"FILES_CHANGED: {list of files from Coder output}
|
|
240
|
+
VALIDATION_SCOPE: full
|
|
241
|
+
Run build, typecheck, lint, test. Report pass/fail with failure details."
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**If FAIL:**
|
|
245
|
+
1. Extract failure details from Validator output
|
|
246
|
+
2. Increment `validation_retry_count`
|
|
247
|
+
3. If `validation_retry_count <= 2`:
|
|
248
|
+
- Spawn Coder with fix context:
|
|
249
|
+
```
|
|
250
|
+
Task(subagent_type="Coder"):
|
|
251
|
+
"TASK_ID: {task-id}
|
|
252
|
+
TASK_DESCRIPTION: Fix validation failures
|
|
253
|
+
OPERATION: validation-fix
|
|
254
|
+
VALIDATION_FAILURES: {parsed failures from Validator}
|
|
255
|
+
SCOPE: Fix only the listed failures, no other changes
|
|
256
|
+
CREATE_PR: false"
|
|
257
|
+
```
|
|
258
|
+
- Loop back to Phase 6.5 (re-validate)
|
|
259
|
+
4. If `validation_retry_count > 2`: Report failures to user and halt
|
|
260
|
+
|
|
261
|
+
**If PASS:** Continue to Phase 7
|
|
262
|
+
|
|
263
|
+
### Phase 7: Simplify
|
|
264
|
+
|
|
265
|
+
After validation passes, spawn Simplifier to polish the code:
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
Task(subagent_type="Simplifier"):
|
|
269
|
+
"Simplify recently implemented code
|
|
270
|
+
Task: {task description}
|
|
271
|
+
FILES_CHANGED: {list of files from Coder output}
|
|
272
|
+
Focus on code modified by Coder, apply project standards, enhance clarity"
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Phase 8: Self-Review
|
|
276
|
+
|
|
277
|
+
After Simplifier completes, spawn Scrutinizer as final quality gate:
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
Task(subagent_type="Scrutinizer"):
|
|
281
|
+
"TASK_DESCRIPTION: {task description}
|
|
282
|
+
FILES_CHANGED: {list of files from Coder output}
|
|
283
|
+
Evaluate 9 pillars, fix P0/P1 issues, report status"
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
If Scrutinizer returns BLOCKED, report to user and halt.
|
|
287
|
+
|
|
288
|
+
### Phase 8.5: Re-Validate (if Scrutinizer made changes)
|
|
289
|
+
|
|
290
|
+
If Scrutinizer made code changes (status: FIXED), spawn Validator to verify:
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
Task(subagent_type="Validator", model="haiku"):
|
|
294
|
+
"FILES_CHANGED: {files modified by Scrutinizer}
|
|
295
|
+
VALIDATION_SCOPE: changed-only
|
|
296
|
+
Verify Scrutinizer's fixes didn't break anything."
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**If FAIL:** Report to user - Scrutinizer broke tests, needs manual intervention.
|
|
300
|
+
|
|
301
|
+
**If PASS:** Continue to Phase 9
|
|
302
|
+
|
|
303
|
+
### Phase 9: Alignment Check
|
|
304
|
+
|
|
305
|
+
After Scrutinizer passes (and re-validation if needed), spawn Shepherd to validate alignment:
|
|
306
|
+
|
|
307
|
+
```
|
|
308
|
+
Task(subagent_type="Shepherd"):
|
|
309
|
+
"ORIGINAL_REQUEST: {task description or issue content}
|
|
310
|
+
EXECUTION_PLAN: {synthesized plan from Phase 5}
|
|
311
|
+
FILES_CHANGED: {list of files from Coder output}
|
|
312
|
+
ACCEPTANCE_CRITERIA: {extracted criteria if available}
|
|
313
|
+
Validate alignment with request and plan. Report ALIGNED or MISALIGNED with details."
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
**If ALIGNED:** Continue to Phase 10
|
|
317
|
+
|
|
318
|
+
**If MISALIGNED:**
|
|
319
|
+
1. Extract misalignment details from Shepherd output
|
|
320
|
+
2. Increment `alignment_fix_count`
|
|
321
|
+
3. If `alignment_fix_count <= 2`:
|
|
322
|
+
- Spawn Coder to fix misalignments:
|
|
323
|
+
```
|
|
324
|
+
Task(subagent_type="Coder"):
|
|
325
|
+
"TASK_ID: {task-id}
|
|
326
|
+
TASK_DESCRIPTION: Fix alignment issues
|
|
327
|
+
OPERATION: alignment-fix
|
|
328
|
+
MISALIGNMENTS: {structured misalignments from Shepherd}
|
|
329
|
+
SCOPE: Fix only the listed misalignments, no other changes
|
|
330
|
+
CREATE_PR: false"
|
|
331
|
+
```
|
|
332
|
+
- Spawn Validator to verify fix didn't break tests:
|
|
333
|
+
```
|
|
334
|
+
Task(subagent_type="Validator", model="haiku"):
|
|
335
|
+
"FILES_CHANGED: {files modified by fix Coder}
|
|
336
|
+
VALIDATION_SCOPE: changed-only"
|
|
337
|
+
```
|
|
338
|
+
- If Validator FAIL: Report to user
|
|
339
|
+
- If Validator PASS: Loop back to Phase 9 (re-check alignment)
|
|
340
|
+
4. If `alignment_fix_count > 2`: Report misalignments to user for decision
|
|
341
|
+
|
|
342
|
+
### Phase 10: Create PR
|
|
343
|
+
|
|
344
|
+
**For SEQUENTIAL_CODERS or PARALLEL_CODERS**: The last sequential Coder (with CREATE_PR: true) handles PR creation. For parallel coders, create unified PR using `git-workflow` skill patterns. Push branch and run `gh pr create` with comprehensive description, targeting `BASE_BRANCH`.
|
|
345
|
+
|
|
346
|
+
**For SINGLE_CODER**: PR is created by the Coder agent (CREATE_PR: true).
|
|
347
|
+
|
|
348
|
+
### Phase 11: Report
|
|
349
|
+
|
|
350
|
+
Display completion summary with phase status, PR info, and next steps.
|
|
351
|
+
|
|
352
|
+
## Architecture
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
/implement (orchestrator - spawns agents only)
|
|
356
|
+
│
|
|
357
|
+
├─ Phase 1: Setup
|
|
358
|
+
│ └─ Git agent (operation: setup-task) - creates feature branch, fetches issue
|
|
359
|
+
│
|
|
360
|
+
├─ Phase 1.5: Orient
|
|
361
|
+
│ └─ Skimmer agent (codebase overview via skim)
|
|
362
|
+
│
|
|
363
|
+
├─ Phase 2: Explore (PARALLEL, with Skimmer context)
|
|
364
|
+
│ ├─ Explore: Architecture
|
|
365
|
+
│ ├─ Explore: Integration
|
|
366
|
+
│ ├─ Explore: Reusable code
|
|
367
|
+
│ └─ Explore: Edge cases
|
|
368
|
+
│
|
|
369
|
+
├─ Phase 3: Synthesize Exploration
|
|
370
|
+
│ └─ Synthesizer agent (mode: exploration)
|
|
371
|
+
│
|
|
372
|
+
├─ Phase 4: Plan (PARALLEL)
|
|
373
|
+
│ ├─ Plan: Implementation steps
|
|
374
|
+
│ ├─ Plan: Testing strategy
|
|
375
|
+
│ └─ Plan: Execution strategy (3-strategy decision)
|
|
376
|
+
│
|
|
377
|
+
├─ Phase 5: Synthesize Planning
|
|
378
|
+
│ └─ Synthesizer agent (mode: planning) → returns strategy + DOMAIN hints
|
|
379
|
+
│
|
|
380
|
+
├─ Phase 6: Implement (3-strategy framework)
|
|
381
|
+
│ ├─ SINGLE_CODER (80%): One Coder, full plan, CREATE_PR: true
|
|
382
|
+
│ ├─ SEQUENTIAL_CODERS (15%): N Coders with handoff summaries
|
|
383
|
+
│ └─ PARALLEL_CODERS (5%): N Coders in single message (rare)
|
|
384
|
+
│
|
|
385
|
+
├─ Phase 6.5: Validate
|
|
386
|
+
│ └─ Validator agent (build, typecheck, lint, test)
|
|
387
|
+
│ └─ If FAIL: Coder fix loop (max 2 retries) → re-validate
|
|
388
|
+
│
|
|
389
|
+
├─ Phase 7: Simplify
|
|
390
|
+
│ └─ Simplifier agent (refines code clarity and consistency)
|
|
391
|
+
│
|
|
392
|
+
├─ Phase 8: Self-Review
|
|
393
|
+
│ └─ Scrutinizer agent (final quality gate, fixes P0/P1)
|
|
394
|
+
│
|
|
395
|
+
├─ Phase 8.5: Re-Validate (if Scrutinizer made changes)
|
|
396
|
+
│ └─ Validator agent (verify Scrutinizer fixes)
|
|
397
|
+
│
|
|
398
|
+
├─ Phase 9: Alignment Check
|
|
399
|
+
│ └─ Shepherd agent (validates alignment - reports only, no fixes)
|
|
400
|
+
│ └─ If MISALIGNED: Coder fix loop (max 2 iterations) → Validator → re-check
|
|
401
|
+
│
|
|
402
|
+
├─ Phase 10: Create PR (if needed)
|
|
403
|
+
│ └─ SINGLE_CODER: handled by Coder
|
|
404
|
+
│ └─ SEQUENTIAL: handled by last Coder
|
|
405
|
+
│ └─ PARALLEL: orchestrator creates unified PR
|
|
406
|
+
│
|
|
407
|
+
└─ Phase 11: Display agent outputs
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
## Principles
|
|
411
|
+
|
|
412
|
+
1. **Orchestration only** - Command spawns agents, never does work itself
|
|
413
|
+
2. **Coherence-first** - Single Coder produces more consistent code (default ~80% of tasks)
|
|
414
|
+
3. **Parallel exploration** - Explore and plan phases run in parallel; sequential phases wait
|
|
415
|
+
4. **Agent ownership** - Each agent owns its output completely
|
|
416
|
+
5. **Clean handoffs** - Each phase passes structured data to next; sequential Coders pass implementation summaries
|
|
417
|
+
6. **Honest reporting** - Display agent outputs directly
|
|
418
|
+
7. **Simplification pass** - Code refined for clarity before PR
|
|
419
|
+
8. **Strict delegation** - Never perform agent work in main session. "Spawn X" means call Task tool with X, not do X's work yourself
|
|
420
|
+
9. **Validator owns validation** - Never run `npm test`, `npm run build`, or similar in main session; always delegate to Validator agent
|
|
421
|
+
10. **Coder owns fixes** - Never implement fixes in main session; spawn Coder for validation failures and alignment fixes
|
|
422
|
+
11. **Loop limits** - Max 2 validation retries, max 2 alignment fix iterations before escalating to user
|
|
423
|
+
|
|
424
|
+
## Error Handling
|
|
425
|
+
|
|
426
|
+
If any agent fails, report the phase, agent type, and error. Offer options: retry phase, investigate systematically, or escalate to user.
|
|
@@ -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
|