cokit-cli 1.2.7 → 1.3.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/README.md +8 -31
- package/agents/brainstormer.agent.md +28 -14
- package/agents/code-reviewer.agent.md +101 -67
- package/agents/code-simplifier.agent.md +36 -41
- package/agents/debugger.agent.md +29 -24
- package/agents/docs-manager.agent.md +15 -23
- package/agents/fullstack-developer.agent.md +16 -6
- package/agents/git-manager.agent.md +0 -3
- package/agents/planner.agent.md +16 -34
- package/agents/project-manager.agent.md +24 -0
- package/agents/researcher.agent.md +15 -13
- package/agents/tester.agent.md +43 -20
- package/agents/ui-ux-designer.agent.md +16 -49
- package/docs/README.md +8 -9
- package/docs/Skills Orchestration Layer - Training Slides - en.pdf +0 -0
- package/docs/Skills Orchestration Layer - Training Slides - vi.pdf +0 -0
- package/docs/code-standards.md +1 -2
- package/docs/codebase-summary.md +35 -66
- package/docs/cokit-commands-usage-guide.md +27 -73
- package/docs/cokit-comprehensive-mapping-guide.md +8 -10
- package/docs/cokit-slides.md +2 -5
- package/docs/cokit-sync-and-maintenance-guide.md +42 -190
- package/docs/cokit-team-presentation.md +6 -9
- package/docs/copilot-processing-flow.md +3 -3
- package/docs/migration-guide.md +14 -14
- package/docs/project-overview-pdr.md +5 -6
- package/docs/project-roadmap.md +12 -14
- package/docs/skills-and-orchestration-layer-en.md +404 -0
- package/docs/skills-and-orchestration-layer-vi.md +404 -0
- package/docs/system-architecture.md +13 -17
- package/docs/{claudekit-porting-rules.md → upstream-porting-rules.md} +15 -16
- package/package.json +3 -4
- package/prompts/ck-ask.prompt.md +0 -1
- package/prompts/ck-bootstrap.prompt.md +0 -3
- package/prompts/ck-brainstorm.prompt.md +0 -1
- package/prompts/ck-cook.prompt.md +0 -1
- package/prompts/ck-debug.prompt.md +0 -1
- package/prompts/ck-deploy.prompt.md +22 -0
- package/prompts/ck-docs.prompt.md +0 -1
- package/prompts/ck-frontend.prompt.md +20 -0
- package/prompts/ck-help.prompt.md +0 -1
- package/prompts/ck-plan-fast.prompt.md +0 -3
- package/prompts/ck-plan-hard.prompt.md +0 -3
- package/prompts/ck-plan.prompt.md +0 -3
- package/prompts/ck-project.prompt.md +20 -0
- package/prompts/ck-review.prompt.md +0 -3
- package/prompts/ck-scout.prompt.md +0 -1
- package/prompts/ck-security.prompt.md +22 -0
- package/prompts/ck-ship.prompt.md +22 -0
- package/prompts/ck-test.prompt.md +0 -2
- package/prompts/ck-watzup.prompt.md +0 -1
- package/skills/agent-browser/SKILL.md +11 -8
- package/skills/agent-browser/references/agent-browser-vs-chrome-devtools.md +112 -0
- package/skills/bootstrap/SKILL.md +102 -0
- package/skills/bootstrap/references/shared-phases.md +59 -0
- package/skills/bootstrap/references/workflow-auto.md +52 -0
- package/skills/bootstrap/references/workflow-fast.md +50 -0
- package/skills/bootstrap/references/workflow-full.md +60 -0
- package/skills/bootstrap/references/workflow-parallel.md +59 -0
- package/skills/brainstorm/SKILL.md +63 -15
- package/skills/code-review/SKILL.md +138 -135
- package/skills/code-review/references/adversarial-review.md +223 -0
- package/skills/code-review/references/checklist-workflow.md +100 -0
- package/skills/code-review/references/checklists/api.md +52 -0
- package/skills/code-review/references/checklists/base.md +100 -0
- package/skills/code-review/references/checklists/web-app.md +54 -0
- package/skills/code-review/references/code-review-reception.md +48 -144
- package/skills/code-review/references/codebase-scan-workflow.md +30 -0
- package/skills/code-review/references/edge-case-scouting.md +119 -0
- package/skills/code-review/references/input-mode-resolution.md +135 -0
- package/skills/code-review/references/parallel-review-workflow.md +76 -0
- package/skills/code-review/references/requesting-code-review.md +115 -104
- package/skills/code-review/references/spec-compliance-review.md +43 -0
- package/skills/code-review/references/task-management-reviews.md +155 -0
- package/skills/common/README.md +2 -12
- package/skills/common/api_key_helper.py +7 -37
- package/skills/context-engineering/SKILL.md +4 -3
- package/skills/context-engineering/references/context-degradation.md +2 -2
- package/skills/context-engineering/references/runtime-awareness.md +5 -47
- package/skills/cook/README.md +13 -13
- package/skills/cook/SKILL.md +86 -58
- package/skills/cook/references/intent-detection.md +7 -7
- package/skills/cook/references/review-cycle.md +2 -2
- package/skills/cook/references/subagent-patterns.md +75 -0
- package/skills/cook/references/workflow-steps.md +75 -23
- package/skills/databases/SKILL.md +3 -30
- package/skills/databases/db-design.md +1 -1
- package/skills/debug/SKILL.md +47 -105
- package/skills/debug/references/frontend-verification.md +103 -0
- package/skills/debug/references/investigation-methodology.md +101 -0
- package/skills/debug/references/log-and-ci-analysis.md +97 -0
- package/skills/debug/references/performance-diagnostics.md +113 -0
- package/skills/debug/references/reporting-standards.md +122 -0
- package/skills/debug/references/task-management-debugging.md +155 -0
- package/skills/deploy/SKILL.md +154 -0
- package/skills/deploy/references/platform-config-templates.md +35 -0
- package/skills/deploy/references/platforms/aws.md +58 -0
- package/skills/deploy/references/platforms/cloudflare.md +41 -0
- package/skills/deploy/references/platforms/coolify.md +32 -0
- package/skills/deploy/references/platforms/digitalocean.md +45 -0
- package/skills/deploy/references/platforms/dokploy.md +29 -0
- package/skills/deploy/references/platforms/flyio.md +54 -0
- package/skills/deploy/references/platforms/gcp.md +45 -0
- package/skills/deploy/references/platforms/github-pages.md +56 -0
- package/skills/deploy/references/platforms/heroku.md +31 -0
- package/skills/deploy/references/platforms/netlify.md +39 -0
- package/skills/deploy/references/platforms/railway.md +38 -0
- package/skills/deploy/references/platforms/render.md +39 -0
- package/skills/deploy/references/platforms/tose.md +35 -0
- package/skills/deploy/references/platforms/vercel.md +37 -0
- package/skills/deploy/references/platforms/vultr.md +27 -0
- package/skills/devops/SKILL.md +6 -12
- package/skills/docs-seeker/SKILL.md +2 -1
- package/skills/docs-seeker/references/context7-patterns.md +4 -0
- package/skills/docs-seeker/scripts/fetch-docs.js +1 -2
- package/skills/docs-seeker/scripts/utils/env-loader.js +4 -4
- package/skills/docs-seeker/workflows/library-search.md +1 -0
- package/skills/fix/SKILL.md +141 -44
- package/skills/fix/references/complexity-assessment.md +21 -9
- package/skills/fix/references/diagnosis-protocol.md +133 -0
- package/skills/fix/references/mode-selection.md +27 -11
- package/skills/fix/references/parallel-exploration.md +35 -12
- package/skills/fix/references/prevention-gate.md +87 -0
- package/skills/fix/references/review-cycle.md +3 -3
- package/skills/fix/references/skill-activation-matrix.md +64 -31
- package/skills/fix/references/task-orchestration.md +110 -0
- package/skills/fix/references/workflow-deep.md +110 -47
- package/skills/fix/references/workflow-logs.md +46 -10
- package/skills/fix/references/workflow-quick.md +43 -20
- package/skills/fix/references/workflow-standard.md +75 -41
- package/skills/fix/references/workflow-test.md +49 -10
- package/skills/fix/references/workflow-ui.md +56 -18
- package/skills/frontend-design/SKILL.md +109 -77
- package/skills/frontend-design/references/ai-multimodal-overview.md +165 -0
- package/skills/frontend-design/references/anti-slop-rules.md +103 -0
- package/skills/frontend-design/references/asset-generation.md +284 -108
- package/skills/frontend-design/references/bento-motion-engine.md +142 -0
- package/skills/frontend-design/references/magicui-components.md +129 -0
- package/skills/frontend-design/references/performance-guardrails.md +169 -0
- package/skills/frontend-design/references/premium-design-patterns.md +93 -0
- package/skills/frontend-design/references/redesign-audit-checklist.md +114 -0
- package/skills/frontend-design/references/visual-analysis-overview.md +1 -1
- package/skills/frontend-design/references/workflow-3d.md +98 -0
- package/skills/frontend-design/references/workflow-describe.md +4 -3
- package/skills/frontend-design/references/workflow-immersive.md +82 -0
- package/skills/frontend-design/references/workflow-quick.md +10 -12
- package/skills/frontend-design/references/workflow-screenshot.md +9 -8
- package/skills/frontend-design/references/workflow-video.md +74 -0
- package/skills/frontend-development/SKILL.md +400 -0
- package/skills/frontend-development/resources/common-patterns.md +331 -0
- package/skills/frontend-development/resources/complete-examples.md +872 -0
- package/skills/frontend-development/resources/component-patterns.md +502 -0
- package/skills/frontend-development/resources/data-fetching.md +767 -0
- package/skills/frontend-development/resources/file-organization.md +502 -0
- package/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/skills/frontend-development/resources/performance.md +406 -0
- package/skills/frontend-development/resources/routing-guide.md +364 -0
- package/skills/frontend-development/resources/styling-guide.md +428 -0
- package/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/skills/git/SKILL.md +18 -4
- package/skills/git/references/commit-standards.md +3 -3
- package/skills/git/references/workflow-commit.md +3 -3
- package/skills/git/references/workflow-merge.md +1 -1
- package/skills/git/references/workflow-pr.md +1 -1
- package/skills/git/references/workflow-push.md +1 -1
- package/skills/mcp-management/README.md +18 -18
- package/skills/mcp-management/SKILL.md +16 -15
- package/skills/mcp-management/references/configuration.md +4 -4
- package/skills/mcp-management/references/gemini-cli-integration.md +12 -12
- package/skills/mcp-management/scripts/.env.example +2 -2
- package/skills/mcp-management/scripts/dist/mcp-client.js +1 -1
- package/skills/mcp-management/scripts/mcp-client.ts +1 -1
- package/skills/mermaidjs-v11/SKILL.md +1 -0
- package/skills/planning/SKILL.md +122 -91
- package/skills/planning/references/archive-workflow.md +53 -0
- package/skills/planning/references/codebase-understanding.md +1 -1
- package/skills/planning/references/output-standards.md +17 -13
- package/skills/planning/references/plan-organization.md +52 -30
- package/skills/planning/references/red-team-personas.md +69 -0
- package/skills/planning/references/red-team-workflow.md +77 -0
- package/skills/planning/references/scope-challenge.md +90 -0
- package/skills/planning/references/task-management.md +134 -0
- package/skills/planning/references/validate-question-framework.md +80 -0
- package/skills/planning/references/validate-workflow.md +65 -0
- package/skills/planning/references/workflow-modes.md +154 -0
- package/skills/problem-solving/SKILL.md +1 -0
- package/skills/project-management/SKILL.md +133 -0
- package/skills/project-management/references/documentation-triggers.md +60 -0
- package/skills/project-management/references/hydration-workflow.md +89 -0
- package/skills/project-management/references/progress-tracking.md +120 -0
- package/skills/project-management/references/reporting-patterns.md +94 -0
- package/skills/project-management/references/task-operations.md +87 -0
- package/skills/repomix/SKILL.md +3 -2
- package/skills/repomix/references/usage-patterns.md +2 -2
- package/skills/repomix/scripts/README.md +1 -1
- package/skills/repomix/scripts/repomix_batch.py +2 -2
- package/skills/research/SKILL.md +7 -4
- package/skills/scout/SKILL.md +24 -24
- package/skills/scout/references/external-scouting.md +17 -17
- package/skills/scout/references/internal-scouting.md +9 -9
- package/skills/scout/references/task-management-scouting.md +125 -0
- package/skills/security/SKILL.md +139 -0
- package/skills/security/references/stride-owasp-checklist.md +128 -0
- package/skills/sequential-thinking/README.md +3 -3
- package/skills/sequential-thinking/SKILL.md +2 -0
- package/skills/sequential-thinking/package.json +1 -1
- package/skills/ship/SKILL.md +116 -0
- package/skills/ship/references/auto-detect.md +103 -0
- package/skills/ship/references/pr-template.md +90 -0
- package/skills/ship/references/ship-workflow.md +241 -0
- package/skills/test/SKILL.md +111 -0
- package/skills/test/references/report-format.md +58 -0
- package/skills/test/references/test-execution-workflow.md +103 -0
- package/skills/test/references/ui-testing-workflow.md +65 -0
- package/skills/ui-styling/SKILL.md +2 -0
- package/skills/web-testing/SKILL.md +8 -60
- package/templates/repo/.github/agents/brainstormer.agent.md +28 -14
- package/templates/repo/.github/agents/code-reviewer.agent.md +101 -67
- package/templates/repo/.github/agents/code-simplifier.agent.md +36 -41
- package/templates/repo/.github/agents/debugger.agent.md +29 -24
- package/templates/repo/.github/agents/docs-manager.agent.md +15 -23
- package/templates/repo/.github/agents/fullstack-developer.agent.md +16 -6
- package/templates/repo/.github/agents/git-manager.agent.md +0 -3
- package/templates/repo/.github/agents/planner.agent.md +16 -34
- package/templates/repo/.github/agents/project-manager.agent.md +24 -0
- package/templates/repo/.github/agents/researcher.agent.md +15 -13
- package/templates/repo/.github/agents/tester.agent.md +43 -20
- package/templates/repo/.github/agents/ui-ux-designer.agent.md +16 -49
- package/templates/repo/.github/prompts/ck-ask.prompt.md +0 -1
- package/templates/repo/.github/prompts/ck-bootstrap.prompt.md +0 -3
- package/templates/repo/.github/prompts/ck-brainstorm.prompt.md +0 -1
- package/templates/repo/.github/prompts/ck-cook.prompt.md +0 -1
- package/templates/repo/.github/prompts/ck-debug.prompt.md +0 -1
- package/templates/repo/.github/prompts/ck-deploy.prompt.md +22 -0
- package/templates/repo/.github/prompts/ck-docs.prompt.md +0 -1
- package/templates/repo/.github/prompts/ck-frontend.prompt.md +20 -0
- package/templates/repo/.github/prompts/ck-help.prompt.md +0 -1
- package/templates/repo/.github/prompts/ck-plan-fast.prompt.md +0 -3
- package/templates/repo/.github/prompts/ck-plan-hard.prompt.md +0 -3
- package/templates/repo/.github/prompts/ck-plan.prompt.md +0 -3
- package/templates/repo/.github/prompts/ck-project.prompt.md +20 -0
- package/templates/repo/.github/prompts/ck-review.prompt.md +0 -3
- package/templates/repo/.github/prompts/ck-scout.prompt.md +0 -1
- package/templates/repo/.github/prompts/ck-security.prompt.md +22 -0
- package/templates/repo/.github/prompts/ck-ship.prompt.md +22 -0
- package/templates/repo/.github/prompts/ck-test.prompt.md +0 -2
- package/templates/repo/.github/prompts/ck-watzup.prompt.md +0 -1
- package/templates/repo/.github/skills/agent-browser/SKILL.md +11 -8
- package/templates/repo/.github/skills/agent-browser/references/agent-browser-vs-chrome-devtools.md +112 -0
- package/templates/repo/.github/skills/bootstrap/SKILL.md +102 -0
- package/templates/repo/.github/skills/bootstrap/references/shared-phases.md +59 -0
- package/templates/repo/.github/skills/bootstrap/references/workflow-auto.md +52 -0
- package/templates/repo/.github/skills/bootstrap/references/workflow-fast.md +50 -0
- package/templates/repo/.github/skills/bootstrap/references/workflow-full.md +60 -0
- package/templates/repo/.github/skills/bootstrap/references/workflow-parallel.md +59 -0
- package/templates/repo/.github/skills/brainstorm/SKILL.md +63 -15
- package/templates/repo/.github/skills/code-review/SKILL.md +138 -135
- package/templates/repo/.github/skills/code-review/references/adversarial-review.md +223 -0
- package/templates/repo/.github/skills/code-review/references/checklist-workflow.md +100 -0
- package/templates/repo/.github/skills/code-review/references/checklists/api.md +52 -0
- package/templates/repo/.github/skills/code-review/references/checklists/base.md +100 -0
- package/templates/repo/.github/skills/code-review/references/checklists/web-app.md +54 -0
- package/templates/repo/.github/skills/code-review/references/code-review-reception.md +48 -144
- package/templates/repo/.github/skills/code-review/references/codebase-scan-workflow.md +30 -0
- package/templates/repo/.github/skills/code-review/references/edge-case-scouting.md +119 -0
- package/templates/repo/.github/skills/code-review/references/input-mode-resolution.md +135 -0
- package/templates/repo/.github/skills/code-review/references/parallel-review-workflow.md +76 -0
- package/templates/repo/.github/skills/code-review/references/requesting-code-review.md +19 -8
- package/templates/repo/.github/skills/code-review/references/spec-compliance-review.md +43 -0
- package/templates/repo/.github/skills/code-review/references/task-management-reviews.md +155 -0
- package/templates/repo/.github/skills/common/README.md +2 -12
- package/templates/repo/.github/skills/common/api_key_helper.py +7 -37
- package/templates/repo/.github/skills/context-engineering/SKILL.md +4 -3
- package/templates/repo/.github/skills/context-engineering/references/context-degradation.md +2 -2
- package/templates/repo/.github/skills/context-engineering/references/runtime-awareness.md +5 -47
- package/templates/repo/.github/skills/cook/README.md +13 -13
- package/templates/repo/.github/skills/cook/SKILL.md +86 -58
- package/templates/repo/.github/skills/cook/references/intent-detection.md +7 -7
- package/templates/repo/.github/skills/cook/references/review-cycle.md +2 -2
- package/templates/repo/.github/skills/cook/references/subagent-patterns.md +75 -0
- package/templates/repo/.github/skills/cook/references/workflow-steps.md +75 -23
- package/templates/repo/.github/skills/databases/SKILL.md +3 -30
- package/templates/repo/.github/skills/databases/db-design.md +1 -1
- package/templates/repo/.github/skills/debug/SKILL.md +47 -105
- package/templates/repo/.github/skills/debug/references/frontend-verification.md +103 -0
- package/templates/repo/.github/skills/debug/references/investigation-methodology.md +101 -0
- package/templates/repo/.github/skills/debug/references/log-and-ci-analysis.md +97 -0
- package/templates/repo/.github/skills/debug/references/performance-diagnostics.md +113 -0
- package/templates/repo/.github/skills/debug/references/reporting-standards.md +122 -0
- package/templates/repo/.github/skills/debug/references/task-management-debugging.md +155 -0
- package/templates/repo/.github/skills/deploy/SKILL.md +154 -0
- package/templates/repo/.github/skills/deploy/references/platform-config-templates.md +35 -0
- package/templates/repo/.github/skills/deploy/references/platforms/aws.md +58 -0
- package/templates/repo/.github/skills/deploy/references/platforms/cloudflare.md +41 -0
- package/templates/repo/.github/skills/deploy/references/platforms/coolify.md +32 -0
- package/templates/repo/.github/skills/deploy/references/platforms/digitalocean.md +45 -0
- package/templates/repo/.github/skills/deploy/references/platforms/dokploy.md +29 -0
- package/templates/repo/.github/skills/deploy/references/platforms/flyio.md +54 -0
- package/templates/repo/.github/skills/deploy/references/platforms/gcp.md +45 -0
- package/templates/repo/.github/skills/deploy/references/platforms/github-pages.md +56 -0
- package/templates/repo/.github/skills/deploy/references/platforms/heroku.md +31 -0
- package/templates/repo/.github/skills/deploy/references/platforms/netlify.md +39 -0
- package/templates/repo/.github/skills/deploy/references/platforms/railway.md +38 -0
- package/templates/repo/.github/skills/deploy/references/platforms/render.md +39 -0
- package/templates/repo/.github/skills/deploy/references/platforms/tose.md +35 -0
- package/templates/repo/.github/skills/deploy/references/platforms/vercel.md +37 -0
- package/templates/repo/.github/skills/deploy/references/platforms/vultr.md +27 -0
- package/templates/repo/.github/skills/devops/SKILL.md +6 -12
- package/templates/repo/.github/skills/docs-seeker/SKILL.md +2 -1
- package/templates/repo/.github/skills/docs-seeker/references/context7-patterns.md +4 -0
- package/templates/repo/.github/skills/docs-seeker/scripts/fetch-docs.js +1 -2
- package/templates/repo/.github/skills/docs-seeker/scripts/utils/env-loader.js +4 -4
- package/templates/repo/.github/skills/docs-seeker/workflows/library-search.md +1 -0
- package/templates/repo/.github/skills/fix/SKILL.md +141 -44
- package/templates/repo/.github/skills/fix/references/complexity-assessment.md +21 -9
- package/templates/repo/.github/skills/fix/references/diagnosis-protocol.md +133 -0
- package/templates/repo/.github/skills/fix/references/mode-selection.md +27 -11
- package/templates/repo/.github/skills/fix/references/parallel-exploration.md +35 -12
- package/templates/repo/.github/skills/fix/references/prevention-gate.md +87 -0
- package/templates/repo/.github/skills/fix/references/review-cycle.md +3 -3
- package/templates/repo/.github/skills/fix/references/skill-activation-matrix.md +64 -31
- package/templates/repo/.github/skills/fix/references/task-orchestration.md +110 -0
- package/templates/repo/.github/skills/fix/references/workflow-deep.md +110 -47
- package/templates/repo/.github/skills/fix/references/workflow-logs.md +46 -10
- package/templates/repo/.github/skills/fix/references/workflow-quick.md +43 -20
- package/templates/repo/.github/skills/fix/references/workflow-standard.md +75 -41
- package/templates/repo/.github/skills/fix/references/workflow-test.md +49 -10
- package/templates/repo/.github/skills/fix/references/workflow-ui.md +56 -18
- package/templates/repo/.github/skills/frontend-design/SKILL.md +49 -17
- package/templates/repo/.github/skills/frontend-design/references/ai-multimodal-overview.md +165 -0
- package/templates/repo/.github/skills/frontend-design/references/anti-slop-rules.md +103 -0
- package/templates/repo/.github/skills/frontend-design/references/asset-generation.md +284 -108
- package/templates/repo/.github/skills/frontend-design/references/bento-motion-engine.md +142 -0
- package/templates/repo/.github/skills/frontend-design/references/magicui-components.md +129 -0
- package/templates/repo/.github/skills/frontend-design/references/performance-guardrails.md +169 -0
- package/templates/repo/.github/skills/frontend-design/references/premium-design-patterns.md +93 -0
- package/templates/repo/.github/skills/frontend-design/references/redesign-audit-checklist.md +114 -0
- package/templates/repo/.github/skills/frontend-design/references/visual-analysis-overview.md +1 -1
- package/templates/repo/.github/skills/frontend-design/references/workflow-3d.md +98 -0
- package/templates/repo/.github/skills/frontend-design/references/workflow-describe.md +4 -3
- package/templates/repo/.github/skills/frontend-design/references/workflow-immersive.md +82 -0
- package/templates/repo/.github/skills/frontend-design/references/workflow-quick.md +10 -12
- package/templates/repo/.github/skills/frontend-design/references/workflow-screenshot.md +9 -8
- package/templates/repo/.github/skills/frontend-design/references/workflow-video.md +74 -0
- package/templates/repo/.github/skills/frontend-development/SKILL.md +400 -0
- package/templates/repo/.github/skills/frontend-development/resources/common-patterns.md +331 -0
- package/templates/repo/.github/skills/frontend-development/resources/complete-examples.md +872 -0
- package/templates/repo/.github/skills/frontend-development/resources/component-patterns.md +502 -0
- package/templates/repo/.github/skills/frontend-development/resources/data-fetching.md +767 -0
- package/templates/repo/.github/skills/frontend-development/resources/file-organization.md +502 -0
- package/templates/repo/.github/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/templates/repo/.github/skills/frontend-development/resources/performance.md +406 -0
- package/templates/repo/.github/skills/frontend-development/resources/routing-guide.md +364 -0
- package/templates/repo/.github/skills/frontend-development/resources/styling-guide.md +428 -0
- package/templates/repo/.github/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/templates/repo/.github/skills/git/SKILL.md +18 -4
- package/templates/repo/.github/skills/git/references/commit-standards.md +3 -3
- package/templates/repo/.github/skills/git/references/workflow-commit.md +3 -3
- package/templates/repo/.github/skills/git/references/workflow-merge.md +1 -1
- package/templates/repo/.github/skills/git/references/workflow-pr.md +1 -1
- package/templates/repo/.github/skills/git/references/workflow-push.md +1 -1
- package/templates/repo/.github/skills/mcp-management/README.md +18 -18
- package/templates/repo/.github/skills/mcp-management/SKILL.md +16 -15
- package/templates/repo/.github/skills/mcp-management/references/configuration.md +4 -4
- package/templates/repo/.github/skills/mcp-management/references/gemini-cli-integration.md +12 -12
- package/templates/repo/.github/skills/mcp-management/scripts/.env.example +2 -2
- package/templates/repo/.github/skills/mcp-management/scripts/mcp-client.ts +1 -1
- package/templates/repo/.github/skills/mermaidjs-v11/SKILL.md +1 -0
- package/templates/repo/.github/skills/planning/SKILL.md +122 -91
- package/templates/repo/.github/skills/planning/references/archive-workflow.md +53 -0
- package/templates/repo/.github/skills/planning/references/codebase-understanding.md +1 -1
- package/templates/repo/.github/skills/planning/references/output-standards.md +17 -13
- package/templates/repo/.github/skills/planning/references/plan-organization.md +52 -30
- package/templates/repo/.github/skills/planning/references/red-team-personas.md +69 -0
- package/templates/repo/.github/skills/planning/references/red-team-workflow.md +77 -0
- package/templates/repo/.github/skills/planning/references/scope-challenge.md +90 -0
- package/templates/repo/.github/skills/planning/references/task-management.md +134 -0
- package/templates/repo/.github/skills/planning/references/validate-question-framework.md +80 -0
- package/templates/repo/.github/skills/planning/references/validate-workflow.md +65 -0
- package/templates/repo/.github/skills/planning/references/workflow-modes.md +154 -0
- package/templates/repo/.github/skills/problem-solving/SKILL.md +1 -0
- package/templates/repo/.github/skills/project-management/SKILL.md +133 -0
- package/templates/repo/.github/skills/project-management/references/documentation-triggers.md +60 -0
- package/templates/repo/.github/skills/project-management/references/hydration-workflow.md +89 -0
- package/templates/repo/.github/skills/project-management/references/progress-tracking.md +120 -0
- package/templates/repo/.github/skills/project-management/references/reporting-patterns.md +94 -0
- package/templates/repo/.github/skills/project-management/references/task-operations.md +87 -0
- package/templates/repo/.github/skills/repomix/SKILL.md +3 -2
- package/templates/repo/.github/skills/repomix/references/usage-patterns.md +2 -2
- package/templates/repo/.github/skills/repomix/scripts/README.md +1 -1
- package/templates/repo/.github/skills/repomix/scripts/repomix_batch.py +2 -2
- package/templates/repo/.github/skills/research/SKILL.md +7 -4
- package/templates/repo/.github/skills/scout/SKILL.md +24 -24
- package/templates/repo/.github/skills/scout/references/external-scouting.md +17 -17
- package/templates/repo/.github/skills/scout/references/internal-scouting.md +9 -9
- package/templates/repo/.github/skills/scout/references/task-management-scouting.md +125 -0
- package/templates/repo/.github/skills/security/SKILL.md +139 -0
- package/templates/repo/.github/skills/security/references/stride-owasp-checklist.md +128 -0
- package/templates/repo/.github/skills/sequential-thinking/README.md +3 -3
- package/templates/repo/.github/skills/sequential-thinking/SKILL.md +2 -0
- package/templates/repo/.github/skills/sequential-thinking/package-lock.json +3652 -0
- package/templates/repo/.github/skills/sequential-thinking/package.json +1 -1
- package/templates/repo/.github/skills/ship/SKILL.md +116 -0
- package/templates/repo/.github/skills/ship/references/auto-detect.md +103 -0
- package/templates/repo/.github/skills/ship/references/pr-template.md +90 -0
- package/templates/repo/.github/skills/ship/references/ship-workflow.md +241 -0
- package/templates/repo/.github/skills/test/SKILL.md +111 -0
- package/templates/repo/.github/skills/test/references/report-format.md +58 -0
- package/templates/repo/.github/skills/test/references/test-execution-workflow.md +103 -0
- package/templates/repo/.github/skills/test/references/ui-testing-workflow.md +65 -0
- package/templates/repo/.github/skills/ui-styling/SKILL.md +2 -0
- package/templates/repo/.github/skills/web-testing/SKILL.md +8 -60
- package/docs/guide-next-steps-speckit-cokit-implementation.md +0 -187
- package/prompts/ck-spec-analyze.prompt.md +0 -201
- package/prompts/ck-spec-checklist.prompt.md +0 -308
- package/prompts/ck-spec-clarify.prompt.md +0 -190
- package/prompts/ck-spec-constitution.prompt.md +0 -92
- package/prompts/ck-spec-implement.prompt.md +0 -157
- package/prompts/ck-spec-plan.prompt.md +0 -95
- package/prompts/ck-spec-specify.prompt.md +0 -261
- package/prompts/ck-spec-tasks.prompt.md +0 -181
- package/templates/repo/.github/AGENTS.md +0 -103
- package/templates/repo/.github/prompts/ck-spec-analyze.prompt.md +0 -201
- package/templates/repo/.github/prompts/ck-spec-checklist.prompt.md +0 -308
- package/templates/repo/.github/prompts/ck-spec-clarify.prompt.md +0 -190
- package/templates/repo/.github/prompts/ck-spec-constitution.prompt.md +0 -92
- package/templates/repo/.github/prompts/ck-spec-implement.prompt.md +0 -157
- package/templates/repo/.github/prompts/ck-spec-plan.prompt.md +0 -95
- package/templates/repo/.github/prompts/ck-spec-specify.prompt.md +0 -261
- package/templates/repo/.github/prompts/ck-spec-tasks.prompt.md +0 -181
- package/templates/repo/.github/skills/databases/stacks/bigquery.md +0 -231
- package/templates/repo/.github/skills/databases/stacks/d1_cloudflare.md +0 -137
- package/templates/repo/.github/skills/databases/stacks/mysql.md +0 -216
- package/templates/repo/.github/skills/databases/stacks/postgres.md +0 -235
- package/templates/repo/.github/skills/databases/stacks/sqlite.md +0 -244
- package/templates/repo/.github/skills/mcp-management/assets/tools.json +0 -3146
- package/templates/repo/.github/skills/mcp-management/scripts/dist/analyze-tools.js +0 -70
- package/templates/repo/.github/skills/mcp-management/scripts/dist/cli.js +0 -160
- package/templates/repo/.github/skills/mcp-management/scripts/dist/mcp-client.js +0 -183
- package/templates/repo/.github/skills/ui-styling/LICENSE.txt +0 -202
- package/templates/repo/.github/spec-kit/memory/constitution.md +0 -50
- package/templates/repo/.github/spec-kit/scripts/bash/check-prerequisites.sh +0 -166
- package/templates/repo/.github/spec-kit/scripts/bash/common.sh +0 -156
- package/templates/repo/.github/spec-kit/scripts/bash/create-new-feature.sh +0 -297
- package/templates/repo/.github/spec-kit/scripts/bash/setup-plan.sh +0 -61
- package/templates/repo/.github/spec-kit/scripts/bash/update-agent-context.sh +0 -799
- package/templates/repo/.github/spec-kit/scripts/powershell/check-prerequisites.ps1 +0 -148
- package/templates/repo/.github/spec-kit/scripts/powershell/common.ps1 +0 -137
- package/templates/repo/.github/spec-kit/scripts/powershell/create-new-feature.ps1 +0 -283
- package/templates/repo/.github/spec-kit/scripts/powershell/setup-plan.ps1 +0 -61
- package/templates/repo/.github/spec-kit/scripts/powershell/update-agent-context.ps1 +0 -448
- package/templates/repo/.github/spec-kit/templates/agent-file-template.md +0 -28
- package/templates/repo/.github/spec-kit/templates/checklist-template.md +0 -40
- package/templates/repo/.github/spec-kit/templates/commands/analyze.md +0 -187
- package/templates/repo/.github/spec-kit/templates/commands/checklist.md +0 -297
- package/templates/repo/.github/spec-kit/templates/commands/clarify.md +0 -184
- package/templates/repo/.github/spec-kit/templates/commands/constitution.md +0 -82
- package/templates/repo/.github/spec-kit/templates/commands/implement.md +0 -138
- package/templates/repo/.github/spec-kit/templates/commands/plan.md +0 -95
- package/templates/repo/.github/spec-kit/templates/commands/specify.md +0 -261
- package/templates/repo/.github/spec-kit/templates/commands/tasks.md +0 -140
- package/templates/repo/.github/spec-kit/templates/commands/taskstoissues.md +0 -33
- package/templates/repo/.github/spec-kit/templates/plan-template.md +0 -104
- package/templates/repo/.github/spec-kit/templates/spec-template.md +0 -115
- package/templates/repo/.github/spec-kit/templates/tasks-phase-template.md +0 -42
- package/templates/repo/.github/spec-kit/templates/tasks-template.md +0 -268
- package/templates/repo/.github/spec-kit/templates/vscode-settings.json +0 -14
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: adversarial-review
|
|
3
|
+
description: Stage 3 red-team review that actively tries to break code — finds security holes, false assumptions, failure modes, race conditions. Spawns adversarial reviewer subagent with destructive mindset. Includes scope gate for trivial changes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Adversarial Review (Stage 3)
|
|
7
|
+
|
|
8
|
+
Runs after every Stage 2 (Code Quality) pass. Subject to scope gate below.
|
|
9
|
+
|
|
10
|
+
## Scope Gate
|
|
11
|
+
|
|
12
|
+
Skip adversarial review when ALL of these are true:
|
|
13
|
+
- Changed files <= 2
|
|
14
|
+
- Lines changed <= 30
|
|
15
|
+
- No security-sensitive files touched (auth, crypto, input parsing, SQL, env)
|
|
16
|
+
- No new dependencies added
|
|
17
|
+
|
|
18
|
+
When skipped, note: `Adversarial: skipped (below threshold)` in review output.
|
|
19
|
+
|
|
20
|
+
**NEVER skip when:**
|
|
21
|
+
- Any file in: `auth/`, `middleware/`, `security/`, `crypto/`
|
|
22
|
+
- `package.json`, `package-lock.json`, or lockfile changed
|
|
23
|
+
- Environment variables added/changed
|
|
24
|
+
- Database schema modified
|
|
25
|
+
- API route added/changed
|
|
26
|
+
|
|
27
|
+
## Mindset
|
|
28
|
+
|
|
29
|
+
> "You are hired to tear apart the implementer's work. Your job is to find every way this code can fail, be exploited, or produce incorrect results. Assume the implementer made mistakes. Prove it."
|
|
30
|
+
|
|
31
|
+
This is NOT a standard code review. Standard reviews check if code meets requirements. Adversarial review assumes requirements are met and asks: **"How can this still break?"**
|
|
32
|
+
|
|
33
|
+
## What to Attack
|
|
34
|
+
|
|
35
|
+
### Security Holes
|
|
36
|
+
- Injection vectors (SQL, command, XSS, template)
|
|
37
|
+
- Auth bypass paths (missing checks, privilege escalation)
|
|
38
|
+
- Secrets exposure (logs, error messages, stack traces)
|
|
39
|
+
- Input trust boundaries (user input treated as safe)
|
|
40
|
+
- SSRF, path traversal, deserialization attacks
|
|
41
|
+
|
|
42
|
+
### False Assumptions
|
|
43
|
+
- "This will never be null" -- prove it can be
|
|
44
|
+
- "This list always has elements" -- find the empty case
|
|
45
|
+
- "Users always call A before B" -- find the out-of-order path
|
|
46
|
+
- "This config value exists" -- find the missing env var
|
|
47
|
+
- "This third-party API always returns 200" -- find the failure mode
|
|
48
|
+
- "This API shape won't change" -- find the breaking caller
|
|
49
|
+
|
|
50
|
+
### Failure Modes & Resource Exhaustion
|
|
51
|
+
- What happens when disk is full?
|
|
52
|
+
- What happens when network times out mid-operation?
|
|
53
|
+
- What happens when the database connection drops during a transaction?
|
|
54
|
+
- Unbounded allocations from user-controlled input
|
|
55
|
+
- Missing timeouts on external calls
|
|
56
|
+
- Event loop blocking (sync operations in async context)
|
|
57
|
+
- Connection/handle leaks on error paths
|
|
58
|
+
- Regex catastrophic backtracking (ReDoS)
|
|
59
|
+
|
|
60
|
+
### Race Conditions
|
|
61
|
+
- Shared mutable state without locks
|
|
62
|
+
- Time-of-check-to-time-of-use (TOCTOU)
|
|
63
|
+
- Async operations with implicit ordering assumptions
|
|
64
|
+
- Cache invalidation during concurrent writes
|
|
65
|
+
|
|
66
|
+
### Data Corruption
|
|
67
|
+
- Partial writes on failure (no transaction/rollback)
|
|
68
|
+
- Type coercion surprises (string "0" as falsy)
|
|
69
|
+
- Floating point comparison for equality
|
|
70
|
+
- Timezone-naive datetime operations
|
|
71
|
+
|
|
72
|
+
### Supply Chain & Dependencies
|
|
73
|
+
- New dependencies: postinstall scripts, maintainer reputation, bundle size
|
|
74
|
+
- Lockfile changes: version drift, removed integrity hashes
|
|
75
|
+
- Transitive deps pulling in known-vulnerable packages
|
|
76
|
+
|
|
77
|
+
### Observability Blind Spots
|
|
78
|
+
- Swallowed errors (`catch {}` with no log)
|
|
79
|
+
- Missing structured context in error logs
|
|
80
|
+
- PII in log output
|
|
81
|
+
|
|
82
|
+
## Process
|
|
83
|
+
|
|
84
|
+
### 1. Spawn Adversarial Reviewer
|
|
85
|
+
|
|
86
|
+
Dispatch `code-reviewer` subagent with adversarial prompt:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
You are an adversarial code reviewer. Your ONLY job is to find ways this code
|
|
90
|
+
can fail, be exploited, or produce incorrect results.
|
|
91
|
+
|
|
92
|
+
DO NOT praise the code. DO NOT note what works well.
|
|
93
|
+
ONLY report problems. If you find nothing, say "No findings" -- but try harder first.
|
|
94
|
+
|
|
95
|
+
Focus on ADDED/MODIFIED lines (+ prefix in diff). Pre-existing code is out of scope
|
|
96
|
+
unless the change makes it newly exploitable.
|
|
97
|
+
|
|
98
|
+
Context (read for understanding, DO NOT review):
|
|
99
|
+
{CONTEXT_FILES}
|
|
100
|
+
|
|
101
|
+
Runtime: {RUNTIME} (e.g., Node.js single-threaded, browser, serverless)
|
|
102
|
+
Framework: {FRAMEWORK} (e.g., Express with global error handler at app.ts:45)
|
|
103
|
+
|
|
104
|
+
Review this diff:
|
|
105
|
+
{DIFF}
|
|
106
|
+
|
|
107
|
+
Changed files: {FILES}
|
|
108
|
+
|
|
109
|
+
Attack vectors to check:
|
|
110
|
+
1. Security holes (injection, auth bypass, secrets exposure)
|
|
111
|
+
2. False assumptions (null, empty, ordering, config, API contracts)
|
|
112
|
+
3. Failure modes + resource exhaustion (timeouts, leaks, unbounded input)
|
|
113
|
+
4. Race conditions (shared state, TOCTOU, async ordering)
|
|
114
|
+
5. Data corruption (partial writes, type coercion, encoding)
|
|
115
|
+
6. Supply chain (new deps, lockfile changes, transitive vulns)
|
|
116
|
+
7. Observability (swallowed errors, missing logs, PII in output)
|
|
117
|
+
|
|
118
|
+
For each finding, report:
|
|
119
|
+
- SEVERITY: Critical / Medium / Low
|
|
120
|
+
- CATEGORY: Security / Assumption / Failure / Race / Data / Supply / Observability
|
|
121
|
+
- LOCATION: file:line
|
|
122
|
+
- ATTACK: How to trigger the problem
|
|
123
|
+
- IMPACT: What happens when triggered
|
|
124
|
+
- FIX: Describe the fix approach (e.g., "add null check before line 42").
|
|
125
|
+
Do NOT write implementation code -- the implementer has full context.
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**If adversarial produces >10 findings on <100 lines changed:** likely too aggressive. Batch-reject noise, deep-review only Critical/Medium.
|
|
129
|
+
|
|
130
|
+
### 2. Adjudicate Findings
|
|
131
|
+
|
|
132
|
+
Main agent reviews each adversarial finding and assigns verdict:
|
|
133
|
+
|
|
134
|
+
| Verdict | Meaning | Action |
|
|
135
|
+
|---------|---------|--------|
|
|
136
|
+
| **Accept** | Valid flaw, reproducible or clearly reasoned | Must fix before merge |
|
|
137
|
+
| **Reject** | False positive, already handled, or impossible path | Document why, no action |
|
|
138
|
+
| **Defer** | Valid but low-risk, tracked for later | Create GitHub issue for tracking |
|
|
139
|
+
|
|
140
|
+
**Rules:**
|
|
141
|
+
- Every finding gets a verdict -- no silent dismissals
|
|
142
|
+
- Critical findings: Accept unless you can PROVE false positive
|
|
143
|
+
- Benefit of doubt goes to the adversary (safer to fix than to dismiss)
|
|
144
|
+
- If >50% of findings are Rejected, the adversary was too aggressive -- but still report all
|
|
145
|
+
|
|
146
|
+
**Calibration examples:**
|
|
147
|
+
|
|
148
|
+
| Verdict | Example | Reasoning |
|
|
149
|
+
|---------|---------|-----------|
|
|
150
|
+
| Accept | "SQL injection via string interpolation in query builder" | Clearly exploitable, concrete path shown |
|
|
151
|
+
| Reject | "Missing null check on config.apiUrl" | Config loaded at startup with schema validation (see config.ts:12), cannot be null at runtime |
|
|
152
|
+
| Defer | "No rate limiting on POST /api/upload" | Valid concern but internal-only tool currently; track for public exposure |
|
|
153
|
+
|
|
154
|
+
### 3. Report Format
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
## Adversarial Review -- Stage 3
|
|
158
|
+
|
|
159
|
+
### Summary
|
|
160
|
+
- Findings: N total (X Critical, Y Medium, Z Low)
|
|
161
|
+
- Accepted: A (must fix)
|
|
162
|
+
- Rejected: B (false positive)
|
|
163
|
+
- Deferred: C (tracked via GitHub issues)
|
|
164
|
+
|
|
165
|
+
### Accepted Findings (Must Fix)
|
|
166
|
+
|
|
167
|
+
#### [1] SEVERITY -- CATEGORY -- file:line
|
|
168
|
+
**Attack:** How to trigger
|
|
169
|
+
**Impact:** What happens
|
|
170
|
+
**Fix:** Approach description
|
|
171
|
+
**Verdict:** Accept -- [reason]
|
|
172
|
+
|
|
173
|
+
### Rejected Findings
|
|
174
|
+
|
|
175
|
+
#### [N] SEVERITY -- CATEGORY -- file:line
|
|
176
|
+
**Attack:** Claimed vector
|
|
177
|
+
**Verdict:** Reject -- [reason this is a false positive]
|
|
178
|
+
|
|
179
|
+
### Deferred Findings
|
|
180
|
+
|
|
181
|
+
#### [N] SEVERITY -- CATEGORY -- file:line
|
|
182
|
+
**Attack:** How to trigger
|
|
183
|
+
**Verdict:** Defer -- [reason] → GitHub issue #X
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### 4. Fix Accepted Findings
|
|
187
|
+
|
|
188
|
+
- Critical: Block merge. Fix immediately via `/fix` or manual edit.
|
|
189
|
+
- Medium: Fix before merge if feasible. Defer only with explicit user approval.
|
|
190
|
+
- Low: Track. Fix in follow-up if pattern repeats.
|
|
191
|
+
|
|
192
|
+
### Re-review Optimization
|
|
193
|
+
|
|
194
|
+
On fix cycles (re-running after accepted findings were fixed):
|
|
195
|
+
- Only pass the FIX diff to adversarial, not the full original diff
|
|
196
|
+
- Verify accepted findings are resolved
|
|
197
|
+
- Check for regression: did the fix introduce new issues?
|
|
198
|
+
|
|
199
|
+
## Integration with Pipeline
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
Stage 1 (Spec) → PASS
|
|
203
|
+
↓
|
|
204
|
+
Stage 2 (Quality) → PASS
|
|
205
|
+
↓
|
|
206
|
+
Scope gate → below threshold? → skip (note in report)
|
|
207
|
+
↓ (above threshold)
|
|
208
|
+
Stage 3 (Adversarial) → findings
|
|
209
|
+
├─ 0 Accepted → PASS → proceed
|
|
210
|
+
├─ Accepted Critical → BLOCK → fix → re-run Stage 3 (fix diff only)
|
|
211
|
+
└─ Accepted Medium/Low only → fix or defer → proceed
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**Task pipeline update:** When using task-managed reviews, adversarial review gets its own task between "Review implementation" and "Fix critical issues".
|
|
215
|
+
|
|
216
|
+
## What This Is NOT
|
|
217
|
+
|
|
218
|
+
- NOT a style review (Stage 2 handles that)
|
|
219
|
+
- NOT a spec compliance check (Stage 1 handles that)
|
|
220
|
+
- NOT dependency graph analysis or import tracing (scout handles that)
|
|
221
|
+
- NOT a general "suggestions for improvement" pass
|
|
222
|
+
|
|
223
|
+
This is a focused, hostile attempt to break the code. If the code survives, it's ready to ship.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Checklist-Based Review Workflow
|
|
2
|
+
|
|
3
|
+
How to apply structured review checklists during code review.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Pre-landing review (from `/ck-ship` pipeline)
|
|
8
|
+
- Explicit request for checklist review
|
|
9
|
+
- Security audit before release
|
|
10
|
+
- Code-reviewer agent when reviewing significant changes (10+ files or security-sensitive)
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
### 1. Auto-Detect Project Type
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Check for web app frameworks
|
|
18
|
+
if grep -qE '"(react|vue|svelte|next|nuxt|angular)"' package.json 2>/dev/null; then
|
|
19
|
+
echo "web-app"
|
|
20
|
+
# Check for API patterns
|
|
21
|
+
elif ls src/routes/ src/api/ src/controllers/ app/controllers/ 2>/dev/null | head -1; then
|
|
22
|
+
echo "api"
|
|
23
|
+
else
|
|
24
|
+
echo "base-only"
|
|
25
|
+
fi
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 2. Load Checklists
|
|
29
|
+
|
|
30
|
+
Always load: `checklists/base.md`
|
|
31
|
+
|
|
32
|
+
Overlay based on detection:
|
|
33
|
+
- `web-app` → also load `checklists/web-app.md`
|
|
34
|
+
- `api` → also load `checklists/api.md`
|
|
35
|
+
- Both detected → load both overlays
|
|
36
|
+
|
|
37
|
+
### 3. Get the Diff
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
git fetch origin main --quiet
|
|
41
|
+
git diff origin/main
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**CRITICAL:** Read the FULL diff before flagging anything. Checklist suppressions require full context.
|
|
45
|
+
|
|
46
|
+
### 4. Two-Pass Review
|
|
47
|
+
|
|
48
|
+
**Pass 1 (CRITICAL) — Run first:**
|
|
49
|
+
- Scan diff against ALL critical categories (base + overlays)
|
|
50
|
+
- Each finding must include: `[file:line]`, problem, fix
|
|
51
|
+
- These block `/ship` pipeline
|
|
52
|
+
|
|
53
|
+
**Pass 2 (INFORMATIONAL) — Run second:**
|
|
54
|
+
- Scan diff against ALL informational categories (base + overlays)
|
|
55
|
+
- Same format: `[file:line]`, problem, fix
|
|
56
|
+
- Included in PR body but don't block
|
|
57
|
+
|
|
58
|
+
### 5. Check Suppressions
|
|
59
|
+
|
|
60
|
+
Before reporting any finding, verify it's NOT in the suppressions list (bottom of `base.md`).
|
|
61
|
+
|
|
62
|
+
Key suppressions:
|
|
63
|
+
- Already addressed in the diff
|
|
64
|
+
- Readability-aiding redundancy
|
|
65
|
+
- Style/formatting issues
|
|
66
|
+
- "Consider using X" when Y works fine
|
|
67
|
+
|
|
68
|
+
### 6. Output
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Pre-Landing Review: N issues (X critical, Y informational)
|
|
72
|
+
|
|
73
|
+
**CRITICAL** (blocking):
|
|
74
|
+
- [src/auth/login.ts:42] SQL injection via string interpolation in user lookup
|
|
75
|
+
Fix: Use parameterized query: `db.query('SELECT * FROM users WHERE email = $1', [email])`
|
|
76
|
+
|
|
77
|
+
**Issues** (non-blocking):
|
|
78
|
+
- [src/api/users.ts:88] Magic number 30 for pagination limit
|
|
79
|
+
Fix: Extract to constant `DEFAULT_PAGE_SIZE = 30`
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 7. Critical Issue Resolution
|
|
83
|
+
|
|
84
|
+
For each critical issue, ask the user:
|
|
85
|
+
- Problem with `file:line`
|
|
86
|
+
- Recommended fix
|
|
87
|
+
- Options:
|
|
88
|
+
- A) Fix now (recommended)
|
|
89
|
+
- B) Acknowledge and proceed
|
|
90
|
+
- C) False positive — skip
|
|
91
|
+
|
|
92
|
+
If user chose A (fix): apply fixes, commit, then re-run tests before continuing.
|
|
93
|
+
|
|
94
|
+
## Integration with /ck-ship
|
|
95
|
+
|
|
96
|
+
The ship pipeline calls this workflow at Step 4. Critical findings block the pipeline. Informational findings are included in the PR body.
|
|
97
|
+
|
|
98
|
+
## Integration with /ck-code-review
|
|
99
|
+
|
|
100
|
+
When invoked as part of standard code review, the checklist augments (not replaces) the existing scout → review → fix → verify pipeline. Checklist findings are merged with code-reviewer's own findings.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# API Review Checklist (Overlay)
|
|
2
|
+
|
|
3
|
+
Additive to `base.md`. Apply when project exposes REST/GraphQL/gRPC APIs.
|
|
4
|
+
|
|
5
|
+
## Detection
|
|
6
|
+
|
|
7
|
+
Apply this overlay when any of these are true:
|
|
8
|
+
- Project has route definitions (Express, FastAPI, NestJS, Django, Rails, Go chi/gin)
|
|
9
|
+
- OpenAPI/Swagger spec file exists
|
|
10
|
+
- `src/routes/`, `src/api/`, `src/controllers/` directories
|
|
11
|
+
- GraphQL schema files in the diff
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Pass 1 — CRITICAL (additions to base)
|
|
16
|
+
|
|
17
|
+
### Auth & Rate Limiting
|
|
18
|
+
- Public endpoints missing rate limiting (login, registration, password reset)
|
|
19
|
+
- API keys or tokens exposed in URL query parameters (use headers)
|
|
20
|
+
- Missing auth middleware on new routes
|
|
21
|
+
- Batch/bulk endpoints without per-item authorization checks
|
|
22
|
+
|
|
23
|
+
### Input Validation
|
|
24
|
+
- Request body accepted without schema validation (missing Zod, Joi, Pydantic, etc.)
|
|
25
|
+
- Mass assignment: entire request body spread into database model
|
|
26
|
+
- File upload without size/type restrictions
|
|
27
|
+
- Array inputs without length limits (DoS via large payloads)
|
|
28
|
+
|
|
29
|
+
### Data Exposure
|
|
30
|
+
- Sensitive fields in API responses (password hashes, internal IDs, tokens)
|
|
31
|
+
- Stack traces or internal error details in production error responses
|
|
32
|
+
- Verbose error messages that leak schema/implementation details
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Pass 2 — INFORMATIONAL (additions to base)
|
|
37
|
+
|
|
38
|
+
### API Design
|
|
39
|
+
- List endpoints without pagination (LIMIT/OFFSET or cursor-based)
|
|
40
|
+
- Missing consistent error response format across endpoints
|
|
41
|
+
- Inconsistent naming conventions (camelCase vs snake_case in same API)
|
|
42
|
+
- Missing request/response content-type headers
|
|
43
|
+
|
|
44
|
+
### Observability
|
|
45
|
+
- New endpoints without logging/metrics
|
|
46
|
+
- Error paths that swallow exceptions silently
|
|
47
|
+
- Missing correlation/request IDs for tracing
|
|
48
|
+
|
|
49
|
+
### Versioning & Compatibility
|
|
50
|
+
- Breaking changes to existing response shapes without version bump
|
|
51
|
+
- Removed fields without deprecation notice
|
|
52
|
+
- Changed field types (string → number) in existing responses
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Base Review Checklist
|
|
2
|
+
|
|
3
|
+
Universal checklist for all project types. Two-pass model: critical (blocking) + informational (non-blocking).
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
Review `git diff origin/main` for the issues below. Be specific — cite `file:line` and suggest fixes. Skip anything that's fine. Only flag real problems.
|
|
8
|
+
|
|
9
|
+
**Output format:**
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Pre-Landing Review: N issues (X critical, Y informational)
|
|
13
|
+
|
|
14
|
+
**CRITICAL** (blocking):
|
|
15
|
+
- [file:line] Problem description
|
|
16
|
+
Fix: suggested fix
|
|
17
|
+
|
|
18
|
+
**Issues** (non-blocking):
|
|
19
|
+
- [file:line] Problem description
|
|
20
|
+
Fix: suggested fix
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
If no issues: `Pre-Landing Review: No issues found.`
|
|
24
|
+
|
|
25
|
+
Be terse. One line problem, one line fix. No preamble.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Pass 1 — CRITICAL (blocking)
|
|
30
|
+
|
|
31
|
+
### Injection & Data Safety
|
|
32
|
+
- String interpolation in SQL/database queries (even with type casting — use parameterized queries)
|
|
33
|
+
- Unsanitized user input written to database or rendered in HTML
|
|
34
|
+
- Raw HTML output from user-controlled data (`innerHTML`, `dangerouslySetInnerHTML`, `html_safe`, `raw()`, `| safe`)
|
|
35
|
+
- Command injection via string concatenation in shell commands (use argument arrays)
|
|
36
|
+
- Path traversal via user input in file operations
|
|
37
|
+
|
|
38
|
+
### Race Conditions & Concurrency
|
|
39
|
+
- Read-check-write without atomic operations (check-then-set should be atomic WHERE + UPDATE)
|
|
40
|
+
- Find-or-create without unique database constraint (concurrent calls create duplicates)
|
|
41
|
+
- Status transitions without atomic WHERE old_status + UPDATE new_status
|
|
42
|
+
- Shared mutable state accessed without synchronization
|
|
43
|
+
|
|
44
|
+
### Security Boundaries
|
|
45
|
+
- Missing authentication checks on new endpoints/routes
|
|
46
|
+
- Privilege escalation paths (user can access/modify another user's data — IDOR)
|
|
47
|
+
- Secrets in logs, error responses, or client-side code
|
|
48
|
+
- LLM/AI output written to database or used in queries without validation
|
|
49
|
+
- JWT/token comparison using `==` instead of constant-time comparison
|
|
50
|
+
|
|
51
|
+
### Auth & Access Control
|
|
52
|
+
- New API endpoints without auth middleware
|
|
53
|
+
- Missing authorization check (authenticated but not authorized)
|
|
54
|
+
- Admin-only operations accessible to regular users
|
|
55
|
+
- Session fixation or token reuse vulnerabilities
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Pass 2 — INFORMATIONAL (non-blocking)
|
|
60
|
+
|
|
61
|
+
### Conditional Side Effects
|
|
62
|
+
- Code branches on condition but forgets side effect on one branch (e.g., sets status but not associated data)
|
|
63
|
+
- Log messages claiming action happened but action was conditionally skipped
|
|
64
|
+
|
|
65
|
+
### Magic Numbers & String Coupling
|
|
66
|
+
- Bare numeric literals used in multiple files — should be named constants
|
|
67
|
+
- Error message strings used as query filters elsewhere (grep for the string)
|
|
68
|
+
|
|
69
|
+
### Dead Code & Consistency
|
|
70
|
+
- Variables assigned but never read
|
|
71
|
+
- Stale comments describing old behavior after code changed
|
|
72
|
+
- Import/require statements for unused modules
|
|
73
|
+
|
|
74
|
+
### Test Gaps
|
|
75
|
+
- Missing negative-path tests (error cases, validation failures)
|
|
76
|
+
- Assertions on type/status but not side effects (e.g., checks status but not that email was sent)
|
|
77
|
+
- Missing integration tests for security enforcement (auth, rate limiting, access control)
|
|
78
|
+
|
|
79
|
+
### Type Coercion at Boundaries
|
|
80
|
+
- Values crossing language/system boundaries where type could change (string vs number)
|
|
81
|
+
- Hash/digest inputs that don't normalize types before serialization
|
|
82
|
+
|
|
83
|
+
### Performance
|
|
84
|
+
- O(n*m) lookups in views/templates (array search inside loops — use hash/map lookup)
|
|
85
|
+
- Missing pagination on list endpoints returning unbounded results
|
|
86
|
+
- N+1 queries: loading associations inside loops without eager loading
|
|
87
|
+
- Unbounded queries without LIMIT
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Suppressions — DO NOT flag these
|
|
92
|
+
|
|
93
|
+
- Redundancy that aids readability (e.g., `present?` redundant with length check)
|
|
94
|
+
- "Add comment explaining why this threshold was chosen" — thresholds change, comments rot
|
|
95
|
+
- "This assertion could be tighter" when assertion already covers the behavior
|
|
96
|
+
- Consistency-only changes (wrapping a value to match how another constant is guarded)
|
|
97
|
+
- Harmless no-ops (e.g., `.filter()` on array that never contains the filtered value)
|
|
98
|
+
- ANYTHING already addressed in the diff being reviewed — read the FULL diff before commenting
|
|
99
|
+
- Style/formatting issues (use a linter for that)
|
|
100
|
+
- "Consider using X instead of Y" when Y works fine
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Web App Review Checklist (Overlay)
|
|
2
|
+
|
|
3
|
+
Additive to `base.md`. Apply when project has frontend framework (React, Vue, Svelte, Next.js, etc.).
|
|
4
|
+
|
|
5
|
+
## Detection
|
|
6
|
+
|
|
7
|
+
Apply this overlay when any of these are true:
|
|
8
|
+
- `package.json` has `react`, `vue`, `svelte`, `next`, `nuxt`, `angular` dependency
|
|
9
|
+
- Project has `src/pages/`, `src/app/`, `src/components/`, `src/views/` directories
|
|
10
|
+
- HTML/JSX/TSX/Vue files in the diff
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Pass 1 — CRITICAL (additions to base)
|
|
15
|
+
|
|
16
|
+
### XSS
|
|
17
|
+
- `innerHTML` assignment from any non-static source
|
|
18
|
+
- Template literals interpolated into DOM without escaping
|
|
19
|
+
- URL parameters rendered without sanitization
|
|
20
|
+
- `<a href={userInput}>` without protocol validation (javascript: protocol)
|
|
21
|
+
- Server-rendered user content without HTML entity encoding
|
|
22
|
+
|
|
23
|
+
### CSRF
|
|
24
|
+
- State-changing endpoints (POST/PUT/DELETE) without CSRF token verification
|
|
25
|
+
- Cookie-based auth without SameSite attribute
|
|
26
|
+
- Form submissions to external URLs
|
|
27
|
+
|
|
28
|
+
### N+1 Queries (server-rendered views)
|
|
29
|
+
- Database queries inside loops rendering lists
|
|
30
|
+
- Missing eager loading for associations rendered in views/pages
|
|
31
|
+
- Sequential API calls that could be batched
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Pass 2 — INFORMATIONAL (additions to base)
|
|
36
|
+
|
|
37
|
+
### Frontend Performance
|
|
38
|
+
- Inline `<style>` blocks in components re-parsed every render
|
|
39
|
+
- Missing `key` prop on list items
|
|
40
|
+
- Large bundle imports that could be lazy-loaded (e.g., full lodash instead of lodash/get)
|
|
41
|
+
- Images without width/height causing layout shift
|
|
42
|
+
- Missing `loading="lazy"` on below-fold images
|
|
43
|
+
|
|
44
|
+
### Accessibility
|
|
45
|
+
- Interactive elements without keyboard support (onClick without onKeyDown)
|
|
46
|
+
- Missing `alt` text on images
|
|
47
|
+
- Form inputs without associated labels
|
|
48
|
+
- Color-only indicators (no text/icon fallback)
|
|
49
|
+
- Missing ARIA attributes on custom interactive components
|
|
50
|
+
|
|
51
|
+
### Responsive / Layout
|
|
52
|
+
- Fixed pixel widths that break on mobile
|
|
53
|
+
- Missing viewport meta tag
|
|
54
|
+
- Overflow hidden cutting off content on small screens
|