@trieungoctam/vibekit 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/LICENSE +21 -0
- package/README.md +85 -0
- package/agents/debugger.md +158 -0
- package/agents/docs-manager.md +220 -0
- package/agents/planner.md +129 -0
- package/agents/researcher.md +58 -0
- package/agents/reviewer.md +152 -0
- package/agents/tester.md +126 -0
- package/bin/vibekit.js +18 -0
- package/hooks/lib/ck-config-utils.cjs +831 -0
- package/hooks/lib/colors.cjs +95 -0
- package/hooks/lib/config-counter.cjs +103 -0
- package/hooks/lib/context-builder.cjs +616 -0
- package/hooks/lib/git-info-cache.cjs +143 -0
- package/hooks/lib/hook-logger.cjs +92 -0
- package/hooks/lib/privacy-checker.cjs +297 -0
- package/hooks/lib/project-detector.cjs +474 -0
- package/hooks/lib/scout-checker.cjs +263 -0
- package/hooks/lib/transcript-parser.cjs +181 -0
- package/hooks/post-edit-simplify-reminder.cjs +156 -0
- package/hooks/privacy-block.cjs +166 -0
- package/hooks/scout-block.cjs +147 -0
- package/hooks/session-init.cjs +360 -0
- package/package.json +41 -0
- package/rules/development-rules.md +52 -0
- package/rules/documentation-management.md +121 -0
- package/rules/orchestration-protocol.md +43 -0
- package/rules/primary-workflow.md +57 -0
- package/rules/team-coordination-rules.md +90 -0
- package/skills/ai/agent-browser/SKILL.md +294 -0
- package/skills/ai/agent-browser/references/.gitkeep +0 -0
- package/skills/ai/agent-browser/references/agent-browser-vs-chrome-devtools.md +112 -0
- package/skills/ai/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/skills/ai/ai-artist/SKILL.md +122 -0
- package/skills/ai/ai-artist/data/awesome-prompts.csv +3592 -0
- package/skills/ai/ai-artist/data/lighting.csv +19 -0
- package/skills/ai/ai-artist/data/nano-banana-templates.csv +17 -0
- package/skills/ai/ai-artist/data/platforms.csv +11 -0
- package/skills/ai/ai-artist/data/styles.csv +26 -0
- package/skills/ai/ai-artist/data/techniques.csv +19 -0
- package/skills/ai/ai-artist/data/use-cases.csv +16 -0
- package/skills/ai/ai-artist/references/advanced-techniques.md +184 -0
- package/skills/ai/ai-artist/references/awesome-nano-banana-pro-prompts.md +8575 -0
- package/skills/ai/ai-artist/references/domain-code.md +66 -0
- package/skills/ai/ai-artist/references/domain-data.md +72 -0
- package/skills/ai/ai-artist/references/domain-marketing.md +66 -0
- package/skills/ai/ai-artist/references/domain-patterns.md +33 -0
- package/skills/ai/ai-artist/references/domain-writing.md +68 -0
- package/skills/ai/ai-artist/references/image-prompting.md +141 -0
- package/skills/ai/ai-artist/references/llm-prompting.md +165 -0
- package/skills/ai/ai-artist/references/nano-banana.md +136 -0
- package/skills/ai/ai-artist/references/reasoning-techniques.md +201 -0
- package/skills/ai/ai-artist/references/validation-workflow.md +117 -0
- package/skills/ai/ai-artist/scripts/core.py +197 -0
- package/skills/ai/ai-artist/scripts/extract_prompts.py +102 -0
- package/skills/ai/ai-artist/scripts/generate.py +370 -0
- package/skills/ai/ai-artist/scripts/search.py +147 -0
- package/skills/ai/ai-multimodal/.env.example +204 -0
- package/skills/ai/ai-multimodal/SKILL.md +110 -0
- package/skills/ai/ai-multimodal/references/audio-processing.md +387 -0
- package/skills/ai/ai-multimodal/references/image-generation.md +939 -0
- package/skills/ai/ai-multimodal/references/music-generation.md +311 -0
- package/skills/ai/ai-multimodal/references/video-analysis.md +515 -0
- package/skills/ai/ai-multimodal/references/video-generation.md +457 -0
- package/skills/ai/ai-multimodal/references/vision-understanding.md +492 -0
- package/skills/ai/ai-multimodal/scripts/.coverage +0 -0
- package/skills/ai/ai-multimodal/scripts/check_setup.py +315 -0
- package/skills/ai/ai-multimodal/scripts/document_converter.py +395 -0
- package/skills/ai/ai-multimodal/scripts/gemini_batch_process.py +1185 -0
- package/skills/ai/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/skills/ai/ai-multimodal/scripts/requirements.txt +26 -0
- package/skills/ai/ai-multimodal/scripts/tests/.coverage +0 -0
- package/skills/ai/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/skills/ai/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/skills/ai/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/skills/ai/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/skills/ai/mcp-management/README.md +219 -0
- package/skills/ai/mcp-management/SKILL.md +210 -0
- package/skills/ai/mcp-management/assets/tools.json +3146 -0
- package/skills/ai/mcp-management/references/configuration.md +114 -0
- package/skills/ai/mcp-management/references/gemini-cli-integration.md +221 -0
- package/skills/ai/mcp-management/references/mcp-protocol.md +116 -0
- package/skills/ai/mcp-management/scripts/.env.example +10 -0
- package/skills/ai/mcp-management/scripts/cli.ts +195 -0
- package/skills/ai/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/ai/mcp-management/scripts/dist/cli.js +160 -0
- package/skills/ai/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/skills/ai/mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/ai/mcp-management/scripts/package.json +20 -0
- package/skills/ai/mcp-management/scripts/tsconfig.json +15 -0
- package/skills/core/brainstorm/SKILL.md +164 -0
- package/skills/core/brainstorm/scripts/frame-template.html +214 -0
- package/skills/core/brainstorm/scripts/helper.js +88 -0
- package/skills/core/brainstorm/scripts/server.cjs +338 -0
- package/skills/core/brainstorm/scripts/start-server.sh +153 -0
- package/skills/core/brainstorm/scripts/stop-server.sh +55 -0
- package/skills/core/brainstorm/spec-document-reviewer-prompt.md +49 -0
- package/skills/core/brainstorm/visual-companion.md +286 -0
- package/skills/core/code-review/SKILL.md +147 -0
- package/skills/core/code-review/references/code-review-reception.md +113 -0
- package/skills/core/code-review/references/codebase-scan-workflow.md +29 -0
- package/skills/core/code-review/references/edge-case-scouting.md +119 -0
- package/skills/core/code-review/references/parallel-review-workflow.md +69 -0
- package/skills/core/code-review/references/requesting-code-review.md +116 -0
- package/skills/core/code-review/references/task-management-reviews.md +140 -0
- package/skills/core/code-review/references/verification-before-completion.md +139 -0
- package/skills/core/cook/README.md +86 -0
- package/skills/core/cook/SKILL.md +113 -0
- package/skills/core/cook/references/intent-detection.md +101 -0
- package/skills/core/cook/references/review-cycle.md +75 -0
- package/skills/core/cook/references/subagent-patterns.md +75 -0
- package/skills/core/cook/references/workflow-steps.md +172 -0
- package/skills/core/debug/SKILL.md +121 -0
- package/skills/core/debug/references/defense-in-depth.md +124 -0
- package/skills/core/debug/references/frontend-verification.md +103 -0
- package/skills/core/debug/references/investigation-methodology.md +101 -0
- package/skills/core/debug/references/log-and-ci-analysis.md +97 -0
- package/skills/core/debug/references/performance-diagnostics.md +113 -0
- package/skills/core/debug/references/reporting-standards.md +122 -0
- package/skills/core/debug/references/root-cause-tracing.md +122 -0
- package/skills/core/debug/references/systematic-debugging.md +102 -0
- package/skills/core/debug/references/task-management-debugging.md +155 -0
- package/skills/core/debug/references/verification.md +123 -0
- package/skills/core/debug/scripts/find-polluter.sh +63 -0
- package/skills/core/debug/scripts/find-polluter.test.md +102 -0
- package/skills/core/execute/SKILL.md +70 -0
- package/skills/core/fix/SKILL.md +111 -0
- package/skills/core/fix/references/complexity-assessment.md +72 -0
- package/skills/core/fix/references/mode-selection.md +46 -0
- package/skills/core/fix/references/parallel-exploration.md +100 -0
- package/skills/core/fix/references/review-cycle.md +77 -0
- package/skills/core/fix/references/skill-activation-matrix.md +78 -0
- package/skills/core/fix/references/task-orchestration.md +103 -0
- package/skills/core/fix/references/workflow-ci.md +28 -0
- package/skills/core/fix/references/workflow-deep.md +122 -0
- package/skills/core/fix/references/workflow-logs.md +72 -0
- package/skills/core/fix/references/workflow-quick.md +59 -0
- package/skills/core/fix/references/workflow-standard.md +111 -0
- package/skills/core/fix/references/workflow-test.md +75 -0
- package/skills/core/fix/references/workflow-types.md +33 -0
- package/skills/core/fix/references/workflow-ui.md +75 -0
- package/skills/core/plan/SKILL.md +145 -0
- package/skills/core/plan/plan-document-reviewer-prompt.md +49 -0
- package/skills/core/subagent-dev/SKILL.md +277 -0
- package/skills/core/subagent-dev/code-quality-reviewer-prompt.md +26 -0
- package/skills/core/subagent-dev/implementer-prompt.md +113 -0
- package/skills/core/subagent-dev/spec-reviewer-prompt.md +61 -0
- package/skills/core/tdd/SKILL.md +371 -0
- package/skills/core/tdd/testing-anti-patterns.md +299 -0
- package/skills/core/test/SKILL.md +109 -0
- package/skills/core/test/references/report-format.md +58 -0
- package/skills/core/test/references/test-execution-workflow.md +103 -0
- package/skills/core/test/references/ui-testing-workflow.md +65 -0
- package/skills/core/verify/SKILL.md +139 -0
- package/skills/dev/backend-dev/SKILL.md +96 -0
- package/skills/dev/backend-dev/references/backend-api-design.md +495 -0
- package/skills/dev/backend-dev/references/backend-architecture.md +454 -0
- package/skills/dev/backend-dev/references/backend-authentication.md +338 -0
- package/skills/dev/backend-dev/references/backend-code-quality.md +659 -0
- package/skills/dev/backend-dev/references/backend-debugging.md +904 -0
- package/skills/dev/backend-dev/references/backend-devops.md +494 -0
- package/skills/dev/backend-dev/references/backend-mindset.md +387 -0
- package/skills/dev/backend-dev/references/backend-performance.md +397 -0
- package/skills/dev/backend-dev/references/backend-security.md +290 -0
- package/skills/dev/backend-dev/references/backend-technologies.md +256 -0
- package/skills/dev/backend-dev/references/backend-testing.md +429 -0
- package/skills/dev/context-engineering/SKILL.md +108 -0
- package/skills/dev/context-engineering/references/context-compression.md +84 -0
- package/skills/dev/context-engineering/references/context-degradation.md +93 -0
- package/skills/dev/context-engineering/references/context-fundamentals.md +75 -0
- package/skills/dev/context-engineering/references/context-optimization.md +82 -0
- package/skills/dev/context-engineering/references/evaluation.md +89 -0
- package/skills/dev/context-engineering/references/memory-systems.md +88 -0
- package/skills/dev/context-engineering/references/multi-agent-patterns.md +90 -0
- package/skills/dev/context-engineering/references/project-development.md +97 -0
- package/skills/dev/context-engineering/references/runtime-awareness.md +202 -0
- package/skills/dev/context-engineering/references/tool-design.md +86 -0
- package/skills/dev/context-engineering/scripts/compression_evaluator.py +349 -0
- package/skills/dev/context-engineering/scripts/context_analyzer.py +317 -0
- package/skills/dev/context-engineering/scripts/tests/test_edge_cases.py +246 -0
- package/skills/dev/databases/SKILL.md +84 -0
- package/skills/dev/databases/analytics.md +198 -0
- package/skills/dev/databases/db-design.md +188 -0
- package/skills/dev/databases/incremental-etl.md +213 -0
- package/skills/dev/databases/references/mongodb-aggregation.md +447 -0
- package/skills/dev/databases/references/mongodb-atlas.md +465 -0
- package/skills/dev/databases/references/mongodb-crud.md +408 -0
- package/skills/dev/databases/references/mongodb-indexing.md +442 -0
- package/skills/dev/databases/references/postgresql-administration.md +594 -0
- package/skills/dev/databases/references/postgresql-performance.md +527 -0
- package/skills/dev/databases/references/postgresql-psql-cli.md +467 -0
- package/skills/dev/databases/references/postgresql-queries.md +475 -0
- package/skills/dev/databases/scripts/.coverage +0 -0
- package/skills/dev/databases/scripts/db_backup.py +502 -0
- package/skills/dev/databases/scripts/db_migrate.py +426 -0
- package/skills/dev/databases/scripts/db_performance_check.py +457 -0
- package/skills/dev/databases/scripts/requirements.txt +20 -0
- package/skills/dev/databases/scripts/tests/coverage-db.json +1 -0
- package/skills/dev/databases/scripts/tests/requirements.txt +4 -0
- package/skills/dev/databases/scripts/tests/test_db_backup.py +340 -0
- package/skills/dev/databases/scripts/tests/test_db_migrate.py +277 -0
- package/skills/dev/databases/scripts/tests/test_db_performance_check.py +370 -0
- package/skills/dev/databases/stacks/bigquery.md +231 -0
- package/skills/dev/databases/stacks/d1_cloudflare.md +137 -0
- package/skills/dev/databases/stacks/mysql.md +216 -0
- package/skills/dev/databases/stacks/postgres.md +235 -0
- package/skills/dev/databases/stacks/sqlite.md +244 -0
- package/skills/dev/databases/transactional.md +176 -0
- package/skills/dev/devops/.env.example +76 -0
- package/skills/dev/devops/SKILL.md +97 -0
- package/skills/dev/devops/references/browser-rendering.md +305 -0
- package/skills/dev/devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/dev/devops/references/cloudflare-platform.md +271 -0
- package/skills/dev/devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/dev/devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/dev/devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/dev/devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/dev/devops/references/docker-basics.md +297 -0
- package/skills/dev/devops/references/docker-compose.md +292 -0
- package/skills/dev/devops/references/gcloud-platform.md +297 -0
- package/skills/dev/devops/references/gcloud-services.md +304 -0
- package/skills/dev/devops/references/kubernetes-basics.md +99 -0
- package/skills/dev/devops/references/kubernetes-helm-advanced.md +75 -0
- package/skills/dev/devops/references/kubernetes-helm.md +81 -0
- package/skills/dev/devops/references/kubernetes-kubectl.md +74 -0
- package/skills/dev/devops/references/kubernetes-security-advanced.md +98 -0
- package/skills/dev/devops/references/kubernetes-security.md +95 -0
- package/skills/dev/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
- package/skills/dev/devops/references/kubernetes-troubleshooting.md +49 -0
- package/skills/dev/devops/references/kubernetes-workflows-advanced.md +75 -0
- package/skills/dev/devops/references/kubernetes-workflows.md +78 -0
- package/skills/dev/devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/dev/devops/scripts/docker_optimize.py +332 -0
- package/skills/dev/devops/scripts/requirements.txt +20 -0
- package/skills/dev/devops/scripts/tests/requirements.txt +3 -0
- package/skills/dev/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/skills/dev/devops/scripts/tests/test_docker_optimize.py +436 -0
- package/skills/dev/frontend-design/SKILL.md +78 -0
- package/skills/dev/frontend-design/references/ai-multimodal-overview.md +165 -0
- package/skills/dev/frontend-design/references/analysis-best-practices.md +80 -0
- package/skills/dev/frontend-design/references/analysis-prompts.md +141 -0
- package/skills/dev/frontend-design/references/analysis-techniques.md +118 -0
- package/skills/dev/frontend-design/references/animejs.md +396 -0
- package/skills/dev/frontend-design/references/asset-generation.md +337 -0
- package/skills/dev/frontend-design/references/design-extraction-overview.md +71 -0
- package/skills/dev/frontend-design/references/extraction-best-practices.md +141 -0
- package/skills/dev/frontend-design/references/extraction-output-templates.md +162 -0
- package/skills/dev/frontend-design/references/extraction-prompts.md +127 -0
- package/skills/dev/frontend-design/references/technical-accessibility.md +119 -0
- package/skills/dev/frontend-design/references/technical-best-practices.md +97 -0
- package/skills/dev/frontend-design/references/technical-optimization.md +44 -0
- package/skills/dev/frontend-design/references/technical-overview.md +90 -0
- package/skills/dev/frontend-design/references/technical-workflows.md +150 -0
- package/skills/dev/frontend-design/references/visual-analysis-overview.md +95 -0
- package/skills/dev/frontend-design/references/workflow-3d.md +102 -0
- package/skills/dev/frontend-design/references/workflow-describe.md +87 -0
- package/skills/dev/frontend-design/references/workflow-immersive.md +87 -0
- package/skills/dev/frontend-design/references/workflow-quick.md +57 -0
- package/skills/dev/frontend-design/references/workflow-screenshot.md +63 -0
- package/skills/dev/frontend-design/references/workflow-video.md +74 -0
- package/skills/dev/frontend-dev/SKILL.md +400 -0
- package/skills/dev/frontend-dev/resources/common-patterns.md +331 -0
- package/skills/dev/frontend-dev/resources/complete-examples.md +872 -0
- package/skills/dev/frontend-dev/resources/component-patterns.md +502 -0
- package/skills/dev/frontend-dev/resources/data-fetching.md +767 -0
- package/skills/dev/frontend-dev/resources/file-organization.md +502 -0
- package/skills/dev/frontend-dev/resources/loading-and-error-states.md +501 -0
- package/skills/dev/frontend-dev/resources/performance.md +406 -0
- package/skills/dev/frontend-dev/resources/routing-guide.md +364 -0
- package/skills/dev/frontend-dev/resources/styling-guide.md +428 -0
- package/skills/dev/frontend-dev/resources/typescript-standards.md +418 -0
- package/skills/dev/git/SKILL.md +114 -0
- package/skills/dev/git/references/branch-management.md +88 -0
- package/skills/dev/git/references/commit-standards.md +46 -0
- package/skills/dev/git/references/gh-cli-guide.md +109 -0
- package/skills/dev/git/references/safety-protocols.md +69 -0
- package/skills/dev/git/references/workflow-commit.md +58 -0
- package/skills/dev/git/references/workflow-merge.md +48 -0
- package/skills/dev/git/references/workflow-pr.md +58 -0
- package/skills/dev/git/references/workflow-push.md +52 -0
- package/skills/dev/git-worktree/SKILL.md +218 -0
- package/skills/utils/ask/SKILL.md +58 -0
- package/skills/utils/bootstrap/SKILL.md +101 -0
- package/skills/utils/bootstrap/references/shared-phases.md +59 -0
- package/skills/utils/bootstrap/references/workflow-auto.md +52 -0
- package/skills/utils/bootstrap/references/workflow-fast.md +50 -0
- package/skills/utils/bootstrap/references/workflow-full.md +60 -0
- package/skills/utils/bootstrap/references/workflow-parallel.md +59 -0
- package/skills/utils/ck-help/SKILL.md +102 -0
- package/skills/utils/ck-help/scripts/ck-help.py +1321 -0
- package/skills/utils/ck-help/scripts/commands_data.yaml +3 -0
- package/skills/utils/ck-help/scripts/skills_data.yaml +593 -0
- package/skills/utils/copywriting/SKILL.md +94 -0
- package/skills/utils/copywriting/references/copy-formulas.md +150 -0
- package/skills/utils/copywriting/references/cta-patterns.md +168 -0
- package/skills/utils/copywriting/references/email-copy.md +193 -0
- package/skills/utils/copywriting/references/headline-templates.md +140 -0
- package/skills/utils/copywriting/references/landing-page-copy.md +175 -0
- package/skills/utils/copywriting/references/power-words.md +189 -0
- package/skills/utils/copywriting/references/social-media-copy.md +222 -0
- package/skills/utils/copywriting/references/workflow-cro.md +83 -0
- package/skills/utils/copywriting/references/workflow-enhance.md +32 -0
- package/skills/utils/copywriting/references/workflow-fast.md +29 -0
- package/skills/utils/copywriting/references/workflow-good.md +39 -0
- package/skills/utils/copywriting/references/writing-styles.md +247 -0
- package/skills/utils/copywriting/scripts/extract-writing-styles.py +308 -0
- package/skills/utils/copywriting/templates/copy-brief.md +49 -0
- package/skills/utils/docs/SKILL.md +55 -0
- package/skills/utils/docs/references/init-workflow.md +32 -0
- package/skills/utils/docs/references/summarize-workflow.md +18 -0
- package/skills/utils/docs/references/update-workflow.md +59 -0
- package/skills/utils/journal/SKILL.md +11 -0
- package/skills/utils/kanban/SKILL.md +99 -0
- package/skills/utils/preview/SKILL.md +75 -0
- package/skills/utils/preview/references/generation-modes.md +95 -0
- package/skills/utils/preview/references/view-mode.md +42 -0
- package/skills/utils/repomix/SKILL.md +248 -0
- package/skills/utils/repomix/references/configuration.md +211 -0
- package/skills/utils/repomix/references/usage-patterns.md +232 -0
- package/skills/utils/repomix/scripts/.coverage +0 -0
- package/skills/utils/repomix/scripts/README.md +179 -0
- package/skills/utils/repomix/scripts/repomix_batch.py +455 -0
- package/skills/utils/repomix/scripts/repos.example.json +15 -0
- package/skills/utils/repomix/scripts/requirements.txt +15 -0
- package/skills/utils/repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/skills/utils/research/SKILL.md +171 -0
- package/skills/utils/scout/SKILL.md +89 -0
- package/skills/utils/scout/references/external-scouting.md +140 -0
- package/skills/utils/scout/references/internal-scouting.md +119 -0
- package/skills/utils/scout/references/task-management-scouting.md +125 -0
- package/skills/utils/sequential-thinking/.env.example +8 -0
- package/skills/utils/sequential-thinking/README.md +183 -0
- package/skills/utils/sequential-thinking/SKILL.md +95 -0
- package/skills/utils/sequential-thinking/package.json +31 -0
- package/skills/utils/sequential-thinking/references/advanced-strategies.md +79 -0
- package/skills/utils/sequential-thinking/references/advanced-techniques.md +76 -0
- package/skills/utils/sequential-thinking/references/core-patterns.md +95 -0
- package/skills/utils/sequential-thinking/references/examples-api.md +88 -0
- package/skills/utils/sequential-thinking/references/examples-architecture.md +94 -0
- package/skills/utils/sequential-thinking/references/examples-debug.md +90 -0
- package/skills/utils/sequential-thinking/scripts/format-thought.js +159 -0
- package/skills/utils/sequential-thinking/scripts/process-thought.js +236 -0
- package/skills/utils/sequential-thinking/tests/format-thought.test.js +133 -0
- package/skills/utils/sequential-thinking/tests/process-thought.test.js +215 -0
- package/skills/utils/write-skill/SKILL.md +655 -0
- package/skills/utils/write-skill/anthropic-best-practices.md +1150 -0
- package/skills/utils/write-skill/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/utils/write-skill/graphviz-conventions.dot +172 -0
- package/skills/utils/write-skill/persuasion-principles.md +187 -0
- package/skills/utils/write-skill/render-graphs.js +168 -0
- package/skills/utils/write-skill/testing-skills-with-subagents.md +384 -0
- package/src/commands/init.js +238 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
# Visual Companion Guide
|
|
2
|
+
|
|
3
|
+
Browser-based visual brainstorming companion for showing mockups, diagrams, and options.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
Decide per-question, not per-session. The test: **would the user understand this better by seeing it than reading it?**
|
|
8
|
+
|
|
9
|
+
**Use the browser** when the content itself is visual:
|
|
10
|
+
|
|
11
|
+
- **UI mockups** — wireframes, layouts, navigation structures, component designs
|
|
12
|
+
- **Architecture diagrams** — system components, data flow, relationship maps
|
|
13
|
+
- **Side-by-side visual comparisons** — comparing two layouts, two color schemes, two design directions
|
|
14
|
+
- **Design polish** — when the question is about look and feel, spacing, visual hierarchy
|
|
15
|
+
- **Spatial relationships** — state machines, flowcharts, entity relationships rendered as diagrams
|
|
16
|
+
|
|
17
|
+
**Use the terminal** when the content is text or tabular:
|
|
18
|
+
|
|
19
|
+
- **Requirements and scope questions** — "what does X mean?", "which features are in scope?"
|
|
20
|
+
- **Conceptual A/B/C choices** — picking between approaches described in words
|
|
21
|
+
- **Tradeoff lists** — pros/cons, comparison tables
|
|
22
|
+
- **Technical decisions** — API design, data modeling, architectural approach selection
|
|
23
|
+
- **Clarifying questions** — anything where the answer is words, not a visual preference
|
|
24
|
+
|
|
25
|
+
A question *about* a UI topic is not automatically a visual question. "What kind of wizard do you want?" is conceptual — use the terminal. "Which of these wizard layouts feels right?" is visual — use the browser.
|
|
26
|
+
|
|
27
|
+
## How It Works
|
|
28
|
+
|
|
29
|
+
The server watches a directory for HTML files and serves the newest one to the browser. You write HTML content, the user sees it in their browser and can click to select options. Selections are recorded to a `.events` file that you read on your next turn.
|
|
30
|
+
|
|
31
|
+
**Content fragments vs full documents:** If your HTML file starts with `<!DOCTYPE` or `<html`, the server serves it as-is (just injects the helper script). Otherwise, the server automatically wraps your content in the frame template — adding the header, CSS theme, selection indicator, and all interactive infrastructure. **Write content fragments by default.** Only write full documents when you need complete control over the page.
|
|
32
|
+
|
|
33
|
+
## Starting a Session
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Start server with persistence (mockups saved to project)
|
|
37
|
+
scripts/start-server.sh --project-dir /path/to/project
|
|
38
|
+
|
|
39
|
+
# Returns: {"type":"server-started","port":52341,"url":"http://localhost:52341",
|
|
40
|
+
# "screen_dir":"/path/to/project/.superpowers/brainstorm/12345-1706000000"}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Save `screen_dir` from the response. Tell user to open the URL.
|
|
44
|
+
|
|
45
|
+
**Finding connection info:** The server writes its startup JSON to `$SCREEN_DIR/.server-info`. If you launched the server in the background and didn't capture stdout, read that file to get the URL and port. When using `--project-dir`, check `<project>/.superpowers/brainstorm/` for the session directory.
|
|
46
|
+
|
|
47
|
+
**Note:** Pass the project root as `--project-dir` so mockups persist in `.superpowers/brainstorm/` and survive server restarts. Without it, files go to `/tmp` and get cleaned up. Remind the user to add `.superpowers/` to `.gitignore` if it's not already there.
|
|
48
|
+
|
|
49
|
+
**Launching the server by platform:**
|
|
50
|
+
|
|
51
|
+
**Claude Code (macOS / Linux):**
|
|
52
|
+
```bash
|
|
53
|
+
# Default mode works — the script backgrounds the server itself
|
|
54
|
+
scripts/start-server.sh --project-dir /path/to/project
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Claude Code (Windows):**
|
|
58
|
+
```bash
|
|
59
|
+
# Windows auto-detects and uses foreground mode, which blocks the tool call.
|
|
60
|
+
# Use run_in_background: true on the Bash tool call so the server survives
|
|
61
|
+
# across conversation turns.
|
|
62
|
+
scripts/start-server.sh --project-dir /path/to/project
|
|
63
|
+
```
|
|
64
|
+
When calling this via the Bash tool, set `run_in_background: true`. Then read `$SCREEN_DIR/.server-info` on the next turn to get the URL and port.
|
|
65
|
+
|
|
66
|
+
**Codex:**
|
|
67
|
+
```bash
|
|
68
|
+
# Codex reaps background processes. The script auto-detects CODEX_CI and
|
|
69
|
+
# switches to foreground mode. Run it normally — no extra flags needed.
|
|
70
|
+
scripts/start-server.sh --project-dir /path/to/project
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Gemini CLI:**
|
|
74
|
+
```bash
|
|
75
|
+
# Use --foreground and set is_background: true on your shell tool call
|
|
76
|
+
# so the process survives across turns
|
|
77
|
+
scripts/start-server.sh --project-dir /path/to/project --foreground
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Other environments:** The server must keep running in the background across conversation turns. If your environment reaps detached processes, use `--foreground` and launch the command with your platform's background execution mechanism.
|
|
81
|
+
|
|
82
|
+
If the URL is unreachable from your browser (common in remote/containerized setups), bind a non-loopback host:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
scripts/start-server.sh \
|
|
86
|
+
--project-dir /path/to/project \
|
|
87
|
+
--host 0.0.0.0 \
|
|
88
|
+
--url-host localhost
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Use `--url-host` to control what hostname is printed in the returned URL JSON.
|
|
92
|
+
|
|
93
|
+
## The Loop
|
|
94
|
+
|
|
95
|
+
1. **Check server is alive**, then **write HTML** to a new file in `screen_dir`:
|
|
96
|
+
- Before each write, check that `$SCREEN_DIR/.server-info` exists. If it doesn't (or `.server-stopped` exists), the server has shut down — restart it with `start-server.sh` before continuing. The server auto-exits after 30 minutes of inactivity.
|
|
97
|
+
- Use semantic filenames: `platform.html`, `visual-style.html`, `layout.html`
|
|
98
|
+
- **Never reuse filenames** — each screen gets a fresh file
|
|
99
|
+
- Use Write tool — **never use cat/heredoc** (dumps noise into terminal)
|
|
100
|
+
- Server automatically serves the newest file
|
|
101
|
+
|
|
102
|
+
2. **Tell user what to expect and end your turn:**
|
|
103
|
+
- Remind them of the URL (every step, not just first)
|
|
104
|
+
- Give a brief text summary of what's on screen (e.g., "Showing 3 layout options for the homepage")
|
|
105
|
+
- Ask them to respond in the terminal: "Take a look and let me know what you think. Click to select an option if you'd like."
|
|
106
|
+
|
|
107
|
+
3. **On your next turn** — after the user responds in the terminal:
|
|
108
|
+
- Read `$SCREEN_DIR/.events` if it exists — this contains the user's browser interactions (clicks, selections) as JSON lines
|
|
109
|
+
- Merge with the user's terminal text to get the full picture
|
|
110
|
+
- The terminal message is the primary feedback; `.events` provides structured interaction data
|
|
111
|
+
|
|
112
|
+
4. **Iterate or advance** — if feedback changes current screen, write a new file (e.g., `layout-v2.html`). Only move to the next question when the current step is validated.
|
|
113
|
+
|
|
114
|
+
5. **Unload when returning to terminal** — when the next step doesn't need the browser (e.g., a clarifying question, a tradeoff discussion), push a waiting screen to clear the stale content:
|
|
115
|
+
|
|
116
|
+
```html
|
|
117
|
+
<!-- filename: waiting.html (or waiting-2.html, etc.) -->
|
|
118
|
+
<div style="display:flex;align-items:center;justify-content:center;min-height:60vh">
|
|
119
|
+
<p class="subtitle">Continuing in terminal...</p>
|
|
120
|
+
</div>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
This prevents the user from staring at a resolved choice while the conversation has moved on. When the next visual question comes up, push a new content file as usual.
|
|
124
|
+
|
|
125
|
+
6. Repeat until done.
|
|
126
|
+
|
|
127
|
+
## Writing Content Fragments
|
|
128
|
+
|
|
129
|
+
Write just the content that goes inside the page. The server wraps it in the frame template automatically (header, theme CSS, selection indicator, and all interactive infrastructure).
|
|
130
|
+
|
|
131
|
+
**Minimal example:**
|
|
132
|
+
|
|
133
|
+
```html
|
|
134
|
+
<h2>Which layout works better?</h2>
|
|
135
|
+
<p class="subtitle">Consider readability and visual hierarchy</p>
|
|
136
|
+
|
|
137
|
+
<div class="options">
|
|
138
|
+
<div class="option" data-choice="a" onclick="toggleSelect(this)">
|
|
139
|
+
<div class="letter">A</div>
|
|
140
|
+
<div class="content">
|
|
141
|
+
<h3>Single Column</h3>
|
|
142
|
+
<p>Clean, focused reading experience</p>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
<div class="option" data-choice="b" onclick="toggleSelect(this)">
|
|
146
|
+
<div class="letter">B</div>
|
|
147
|
+
<div class="content">
|
|
148
|
+
<h3>Two Column</h3>
|
|
149
|
+
<p>Sidebar navigation with main content</p>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
That's it. No `<html>`, no CSS, no `<script>` tags needed. The server provides all of that.
|
|
156
|
+
|
|
157
|
+
## CSS Classes Available
|
|
158
|
+
|
|
159
|
+
The frame template provides these CSS classes for your content:
|
|
160
|
+
|
|
161
|
+
### Options (A/B/C choices)
|
|
162
|
+
|
|
163
|
+
```html
|
|
164
|
+
<div class="options">
|
|
165
|
+
<div class="option" data-choice="a" onclick="toggleSelect(this)">
|
|
166
|
+
<div class="letter">A</div>
|
|
167
|
+
<div class="content">
|
|
168
|
+
<h3>Title</h3>
|
|
169
|
+
<p>Description</p>
|
|
170
|
+
</div>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Multi-select:** Add `data-multiselect` to the container to let users select multiple options. Each click toggles the item. The indicator bar shows the count.
|
|
176
|
+
|
|
177
|
+
```html
|
|
178
|
+
<div class="options" data-multiselect>
|
|
179
|
+
<!-- same option markup — users can select/deselect multiple -->
|
|
180
|
+
</div>
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Cards (visual designs)
|
|
184
|
+
|
|
185
|
+
```html
|
|
186
|
+
<div class="cards">
|
|
187
|
+
<div class="card" data-choice="design1" onclick="toggleSelect(this)">
|
|
188
|
+
<div class="card-image"><!-- mockup content --></div>
|
|
189
|
+
<div class="card-body">
|
|
190
|
+
<h3>Name</h3>
|
|
191
|
+
<p>Description</p>
|
|
192
|
+
</div>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Mockup container
|
|
198
|
+
|
|
199
|
+
```html
|
|
200
|
+
<div class="mockup">
|
|
201
|
+
<div class="mockup-header">Preview: Dashboard Layout</div>
|
|
202
|
+
<div class="mockup-body"><!-- your mockup HTML --></div>
|
|
203
|
+
</div>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Split view (side-by-side)
|
|
207
|
+
|
|
208
|
+
```html
|
|
209
|
+
<div class="split">
|
|
210
|
+
<div class="mockup"><!-- left --></div>
|
|
211
|
+
<div class="mockup"><!-- right --></div>
|
|
212
|
+
</div>
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Pros/Cons
|
|
216
|
+
|
|
217
|
+
```html
|
|
218
|
+
<div class="pros-cons">
|
|
219
|
+
<div class="pros"><h4>Pros</h4><ul><li>Benefit</li></ul></div>
|
|
220
|
+
<div class="cons"><h4>Cons</h4><ul><li>Drawback</li></ul></div>
|
|
221
|
+
</div>
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Mock elements (wireframe building blocks)
|
|
225
|
+
|
|
226
|
+
```html
|
|
227
|
+
<div class="mock-nav">Logo | Home | About | Contact</div>
|
|
228
|
+
<div style="display: flex;">
|
|
229
|
+
<div class="mock-sidebar">Navigation</div>
|
|
230
|
+
<div class="mock-content">Main content area</div>
|
|
231
|
+
</div>
|
|
232
|
+
<button class="mock-button">Action Button</button>
|
|
233
|
+
<input class="mock-input" placeholder="Input field">
|
|
234
|
+
<div class="placeholder">Placeholder area</div>
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Typography and sections
|
|
238
|
+
|
|
239
|
+
- `h2` — page title
|
|
240
|
+
- `h3` — section heading
|
|
241
|
+
- `.subtitle` — secondary text below title
|
|
242
|
+
- `.section` — content block with bottom margin
|
|
243
|
+
- `.label` — small uppercase label text
|
|
244
|
+
|
|
245
|
+
## Browser Events Format
|
|
246
|
+
|
|
247
|
+
When the user clicks options in the browser, their interactions are recorded to `$SCREEN_DIR/.events` (one JSON object per line). The file is cleared automatically when you push a new screen.
|
|
248
|
+
|
|
249
|
+
```jsonl
|
|
250
|
+
{"type":"click","choice":"a","text":"Option A - Simple Layout","timestamp":1706000101}
|
|
251
|
+
{"type":"click","choice":"c","text":"Option C - Complex Grid","timestamp":1706000108}
|
|
252
|
+
{"type":"click","choice":"b","text":"Option B - Hybrid","timestamp":1706000115}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
The full event stream shows the user's exploration path — they may click multiple options before settling. The last `choice` event is typically the final selection, but the pattern of clicks can reveal hesitation or preferences worth asking about.
|
|
256
|
+
|
|
257
|
+
If `.events` doesn't exist, the user didn't interact with the browser — use only their terminal text.
|
|
258
|
+
|
|
259
|
+
## Design Tips
|
|
260
|
+
|
|
261
|
+
- **Scale fidelity to the question** — wireframes for layout, polish for polish questions
|
|
262
|
+
- **Explain the question on each page** — "Which layout feels more professional?" not just "Pick one"
|
|
263
|
+
- **Iterate before advancing** — if feedback changes current screen, write a new version
|
|
264
|
+
- **2-4 options max** per screen
|
|
265
|
+
- **Use real content when it matters** — for a photography portfolio, use actual images (Unsplash). Placeholder content obscures design issues.
|
|
266
|
+
- **Keep mockups simple** — focus on layout and structure, not pixel-perfect design
|
|
267
|
+
|
|
268
|
+
## File Naming
|
|
269
|
+
|
|
270
|
+
- Use semantic names: `platform.html`, `visual-style.html`, `layout.html`
|
|
271
|
+
- Never reuse filenames — each screen must be a new file
|
|
272
|
+
- For iterations: append version suffix like `layout-v2.html`, `layout-v3.html`
|
|
273
|
+
- Server serves newest file by modification time
|
|
274
|
+
|
|
275
|
+
## Cleaning Up
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
scripts/stop-server.sh $SCREEN_DIR
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
If the session used `--project-dir`, mockup files persist in `.superpowers/brainstorm/` for later reference. Only `/tmp` sessions get deleted on stop.
|
|
282
|
+
|
|
283
|
+
## Reference
|
|
284
|
+
|
|
285
|
+
- Frame template (CSS reference): `scripts/frame-template.html`
|
|
286
|
+
- Helper script (client-side): `scripts/helper.js`
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review
|
|
3
|
+
description: "Review code quality, receive feedback with technical rigor, verify completion claims. Use before PRs, after implementing features, when claiming task completion. Includes scout-based edge case detection and native Task pipeline orchestration."
|
|
4
|
+
argument-hint: "[context] OR codebase [parallel]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Code Review
|
|
8
|
+
|
|
9
|
+
Guide proper code review practices emphasizing technical rigor, evidence-based claims, and verification over performative responses.
|
|
10
|
+
|
|
11
|
+
## Default (No Arguments)
|
|
12
|
+
|
|
13
|
+
If invoked with context (recent changes/PR), proceed with review. If invoked WITHOUT arguments, use `AskUserQuestion` to present available review operations:
|
|
14
|
+
|
|
15
|
+
| Operation | Description |
|
|
16
|
+
|-----------|-------------|
|
|
17
|
+
| `(default)` | Review recent changes/PR |
|
|
18
|
+
| `codebase` | Full codebase scan & analysis |
|
|
19
|
+
| `codebase parallel` | Parallel multi-reviewer audit |
|
|
20
|
+
|
|
21
|
+
Present as options via `AskUserQuestion` with header "Review Operation", question "What would you like to do?".
|
|
22
|
+
|
|
23
|
+
## Core Principle
|
|
24
|
+
|
|
25
|
+
**YAGNI**, **KISS**, **DRY** always. Technical correctness over social comfort.
|
|
26
|
+
**Be honest, be brutal, straight to the point, and be concise.**
|
|
27
|
+
|
|
28
|
+
Verify before implementing. Ask before assuming. Evidence before claims.
|
|
29
|
+
|
|
30
|
+
## Practices
|
|
31
|
+
|
|
32
|
+
| Practice | When | Reference |
|
|
33
|
+
|----------|------|-----------|
|
|
34
|
+
| Receiving feedback | Unclear feedback, external reviewers, needs prioritization | `references/code-review-reception.md` |
|
|
35
|
+
| Requesting review | After tasks, before merge, stuck on problem | `references/requesting-code-review.md` |
|
|
36
|
+
| Verification gates | Before any completion claim, commit, PR | `references/verification-before-completion.md` |
|
|
37
|
+
| Edge case scouting | After implementation, before review | `references/edge-case-scouting.md` |
|
|
38
|
+
| **Task-managed reviews** | Multi-file features (3+ files), parallel reviewers, fix cycles | `references/task-management-reviews.md` |
|
|
39
|
+
|
|
40
|
+
## Quick Decision Tree
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
SITUATION?
|
|
44
|
+
│
|
|
45
|
+
├─ Received feedback → STOP if unclear, verify if external, implement if human partner
|
|
46
|
+
├─ Completed work → Scout edge cases → Request code-reviewer subagent
|
|
47
|
+
├─ Multi-file feature (3+ files) → Create review pipeline tasks (scout→review→fix→verify)
|
|
48
|
+
└─ About to claim status → RUN verification command FIRST
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Receiving Feedback
|
|
52
|
+
|
|
53
|
+
**Pattern:** READ → UNDERSTAND → VERIFY → EVALUATE → RESPOND → IMPLEMENT
|
|
54
|
+
|
|
55
|
+
**Rules:**
|
|
56
|
+
- No performative agreement: "You're absolutely right!", "Great point!"
|
|
57
|
+
- No implementation before verification
|
|
58
|
+
- Restate, ask questions, push back with reasoning, or just work
|
|
59
|
+
- YAGNI check: grep for usage before implementing "proper" features
|
|
60
|
+
|
|
61
|
+
**Source handling:**
|
|
62
|
+
- Human partner: Trusted - implement after understanding
|
|
63
|
+
- External reviewers: Verify technically, check breakage, push back if wrong
|
|
64
|
+
|
|
65
|
+
**Full protocol:** `references/code-review-reception.md`
|
|
66
|
+
|
|
67
|
+
## Requesting Review
|
|
68
|
+
|
|
69
|
+
**When:** After each task, major features, before merge
|
|
70
|
+
|
|
71
|
+
**Process:**
|
|
72
|
+
1. **Scout edge cases first** (see below)
|
|
73
|
+
2. Get SHAs: `BASE_SHA=$(git rev-parse HEAD~1)` and `HEAD_SHA=$(git rev-parse HEAD)`
|
|
74
|
+
3. Dispatch code-reviewer subagent with: WHAT, PLAN, BASE_SHA, HEAD_SHA, DESCRIPTION
|
|
75
|
+
4. Fix Critical immediately, Important before proceeding
|
|
76
|
+
|
|
77
|
+
**Full protocol:** `references/requesting-code-review.md`
|
|
78
|
+
|
|
79
|
+
## Edge Case Scouting
|
|
80
|
+
|
|
81
|
+
**When:** After implementation, before requesting code-reviewer
|
|
82
|
+
|
|
83
|
+
**Process:**
|
|
84
|
+
1. Invoke `/ck:scout` with edge-case-focused prompt
|
|
85
|
+
2. Scout analyzes: affected files, data flows, error paths, boundary conditions
|
|
86
|
+
3. Review scout findings for potential issues
|
|
87
|
+
4. Address critical gaps before code review
|
|
88
|
+
|
|
89
|
+
**Full protocol:** `references/edge-case-scouting.md`
|
|
90
|
+
|
|
91
|
+
## Task-Managed Review Pipeline
|
|
92
|
+
|
|
93
|
+
**When:** Multi-file features (3+ changed files), parallel code-reviewer scopes, review cycles with Critical fix iterations.
|
|
94
|
+
|
|
95
|
+
**Pipeline:** scout → review → fix → verify (each a Task with dependency chain)
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
TaskCreate: "Scout edge cases" → pending
|
|
99
|
+
TaskCreate: "Review implementation" → pending, blockedBy: [scout]
|
|
100
|
+
TaskCreate: "Fix critical issues" → pending, blockedBy: [review]
|
|
101
|
+
TaskCreate: "Verify fixes pass" → pending, blockedBy: [fix]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Parallel reviews:** Spawn scoped code-reviewer subagents for independent file groups (e.g., backend + frontend). Fix task blocks on all reviewers completing.
|
|
105
|
+
|
|
106
|
+
**Re-review cycles:** If fixes introduce new issues, create cycle-2 review task. Limit 3 cycles, escalate to user after.
|
|
107
|
+
|
|
108
|
+
**Full protocol:** `references/task-management-reviews.md`
|
|
109
|
+
|
|
110
|
+
## Verification Gates
|
|
111
|
+
|
|
112
|
+
**Iron Law:** NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
113
|
+
|
|
114
|
+
**Gate:** IDENTIFY command → RUN full → READ output → VERIFY confirms → THEN claim
|
|
115
|
+
|
|
116
|
+
**Requirements:**
|
|
117
|
+
- Tests pass: Output shows 0 failures
|
|
118
|
+
- Build succeeds: Exit 0
|
|
119
|
+
- Bug fixed: Original symptom passes
|
|
120
|
+
- Requirements met: Checklist verified
|
|
121
|
+
|
|
122
|
+
**Red Flags:** "should"/"probably"/"seems to", satisfaction before verification, trusting agent reports
|
|
123
|
+
|
|
124
|
+
**Full protocol:** `references/verification-before-completion.md`
|
|
125
|
+
|
|
126
|
+
## Integration with Workflows
|
|
127
|
+
|
|
128
|
+
- **Subagent-Driven:** Scout edge cases → Review after EACH task → Verify before next
|
|
129
|
+
- **Pull Requests:** Scout → Verify tests → Code-reviewer review → Merge
|
|
130
|
+
- **Task Pipeline:** Create review tasks with dependencies → auto-unblock through chain
|
|
131
|
+
- **Cook Handoff:** Cook completes phase → review pipeline tasks → all complete → cook proceeds
|
|
132
|
+
|
|
133
|
+
## Codebase Analysis Subcommands
|
|
134
|
+
|
|
135
|
+
| Subcommand | Reference | Purpose |
|
|
136
|
+
|------------|-----------|---------|
|
|
137
|
+
| `/ck:code-review codebase` | `references/codebase-scan-workflow.md` | Scan & analyze the codebase |
|
|
138
|
+
| `/ck:code-review codebase parallel` | `references/parallel-review-workflow.md` | Ultrathink edge cases, then parallel verify |
|
|
139
|
+
|
|
140
|
+
## Bottom Line
|
|
141
|
+
|
|
142
|
+
1. Technical rigor over social performance
|
|
143
|
+
2. Scout edge cases before review
|
|
144
|
+
3. Task-manage reviews for multi-file features
|
|
145
|
+
4. Evidence before claims
|
|
146
|
+
|
|
147
|
+
Verify. Scout. Question. Then implement. Evidence. Then claim.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: receiving-code-review
|
|
3
|
+
description: Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Review Reception
|
|
7
|
+
|
|
8
|
+
**Core principle:** Verify before implementing. Ask before assuming. Technical correctness over social comfort.
|
|
9
|
+
|
|
10
|
+
## Response Pattern
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
1. READ: Complete feedback without reacting
|
|
14
|
+
2. UNDERSTAND: Restate requirement (or ask)
|
|
15
|
+
3. VERIFY: Check against codebase reality
|
|
16
|
+
4. EVALUATE: Technically sound for THIS codebase?
|
|
17
|
+
5. RESPOND: Technical acknowledgment or reasoned pushback
|
|
18
|
+
6. IMPLEMENT: One at a time, test each
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Forbidden Responses
|
|
22
|
+
|
|
23
|
+
❌ "You're absolutely right!" / "Great point!" / "Thanks for [anything]"
|
|
24
|
+
❌ "Let me implement that now" (before verification)
|
|
25
|
+
|
|
26
|
+
✅ Restate technical requirement
|
|
27
|
+
✅ Ask clarifying questions
|
|
28
|
+
✅ Push back with technical reasoning
|
|
29
|
+
✅ Just start working (actions > words)
|
|
30
|
+
|
|
31
|
+
## Handling Unclear Feedback
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
IF any item unclear:
|
|
35
|
+
STOP - don't implement anything
|
|
36
|
+
ASK for clarification on ALL unclear items
|
|
37
|
+
|
|
38
|
+
WHY: Items may be related. Partial understanding = wrong implementation.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Source-Specific Handling
|
|
42
|
+
|
|
43
|
+
**Human partner:** Trusted - implement after understanding, no performative agreement
|
|
44
|
+
|
|
45
|
+
**External reviewers:**
|
|
46
|
+
```
|
|
47
|
+
BEFORE implementing:
|
|
48
|
+
1. Technically correct for THIS codebase?
|
|
49
|
+
2. Breaks existing functionality?
|
|
50
|
+
3. Reason for current implementation?
|
|
51
|
+
4. Works all platforms/versions?
|
|
52
|
+
|
|
53
|
+
IF wrong: Push back with technical reasoning
|
|
54
|
+
IF can't verify: State limitation, ask direction
|
|
55
|
+
IF conflicts with partner's decisions: Stop, discuss first
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## YAGNI Check
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
IF reviewer suggests "implementing properly":
|
|
62
|
+
grep codebase for actual usage
|
|
63
|
+
IF unused: "This isn't called. Remove it (YAGNI)?"
|
|
64
|
+
IF used: Implement properly
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Implementation Order
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
1. Clarify unclear items FIRST
|
|
71
|
+
2. Implement: blocking → simple → complex
|
|
72
|
+
3. Test each individually
|
|
73
|
+
4. Verify no regressions
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## When To Push Back
|
|
77
|
+
|
|
78
|
+
- Breaks existing functionality
|
|
79
|
+
- Reviewer lacks full context
|
|
80
|
+
- Violates YAGNI (unused feature)
|
|
81
|
+
- Technically incorrect for stack
|
|
82
|
+
- Legacy/compatibility reasons
|
|
83
|
+
- Conflicts with architectural decisions
|
|
84
|
+
|
|
85
|
+
**How:** Technical reasoning, specific questions, reference working tests
|
|
86
|
+
|
|
87
|
+
## Acknowledging Correct Feedback
|
|
88
|
+
|
|
89
|
+
✅ "Fixed. [Brief description]"
|
|
90
|
+
✅ "Good catch - [issue]. Fixed in [location]."
|
|
91
|
+
✅ Just fix it (actions > words)
|
|
92
|
+
|
|
93
|
+
❌ ANY gratitude or performative expression
|
|
94
|
+
|
|
95
|
+
## Correcting Wrong Pushback
|
|
96
|
+
|
|
97
|
+
✅ "You were right - checked [X], it does [Y]. Implementing."
|
|
98
|
+
❌ Long apology, defending, over-explaining
|
|
99
|
+
|
|
100
|
+
## Quick Reference
|
|
101
|
+
|
|
102
|
+
| Mistake | Fix |
|
|
103
|
+
|---------|-----|
|
|
104
|
+
| Performative agreement | State requirement or act |
|
|
105
|
+
| Blind implementation | Verify against codebase |
|
|
106
|
+
| Batch without testing | One at a time |
|
|
107
|
+
| Assuming reviewer right | Check if breaks things |
|
|
108
|
+
| Avoiding pushback | Technical correctness > comfort |
|
|
109
|
+
|
|
110
|
+
## Bottom Line
|
|
111
|
+
|
|
112
|
+
External feedback = suggestions to evaluate, not orders.
|
|
113
|
+
Verify. Question. Then implement.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Codebase Scan Workflow
|
|
2
|
+
|
|
3
|
+
Think harder to scan the codebase and analyze it follow the Orchestration Protocol, Core Responsibilities, Subagents Team and Development Rules:
|
|
4
|
+
<tasks>$ARGUMENTS</tasks>
|
|
5
|
+
|
|
6
|
+
## Role Responsibilities
|
|
7
|
+
- You are an elite software engineering expert who specializes in system architecture design and technical decision-making.
|
|
8
|
+
- You operate by: **YAGNI**, **KISS**, and **DRY**.
|
|
9
|
+
- Sacrifice grammar for concision. List unresolved questions at end.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### Research
|
|
14
|
+
* Use 2 `researcher` subagents in parallel to search up to 5 sources
|
|
15
|
+
* Keep every research report concise (≤150 lines)
|
|
16
|
+
* Use `/ck:scout` slash command to search the codebase
|
|
17
|
+
|
|
18
|
+
### Code Review
|
|
19
|
+
* Use multiple `code-reviewer` subagents in parallel to review code
|
|
20
|
+
* If issues found, ask main agent to improve and repeat until tests pass
|
|
21
|
+
* When complete, report summary to user
|
|
22
|
+
|
|
23
|
+
### Plan
|
|
24
|
+
* Use `planner` subagent to analyze reports and create improvement plan
|
|
25
|
+
* Save overview at `plan.md`, phase files as `phase-XX-phase-name.md`
|
|
26
|
+
|
|
27
|
+
### Final Report
|
|
28
|
+
* Summary of changes, guide user to get started, suggest next steps
|
|
29
|
+
* Ask user if they want to commit and push
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: edge-case-scouting
|
|
3
|
+
description: Use after implementation, before code review to proactively find edge cases, side effects, and potential issues via scout skill - catches problems code-reviewer might miss
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Edge Case Scouting
|
|
7
|
+
|
|
8
|
+
Proactive detection of edge cases, side effects, and potential issues before code review.
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Code reviews catch obvious issues but miss subtle side effects. Scout detects:
|
|
13
|
+
- Files affected by changes reviewer might not check
|
|
14
|
+
- Data flow paths that could break
|
|
15
|
+
- Boundary conditions and error paths
|
|
16
|
+
- Integration issues across modules
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
**Mandatory:** Multi-file features, shared utility refactors, complex bug fixes
|
|
21
|
+
**Optional:** Single-file changes, docs, config
|
|
22
|
+
|
|
23
|
+
## Process
|
|
24
|
+
|
|
25
|
+
### 1. Identify Changed Files
|
|
26
|
+
```bash
|
|
27
|
+
git diff --name-only HEAD~1
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 2. Invoke Scout
|
|
31
|
+
```
|
|
32
|
+
/scout edge cases for recent changes.
|
|
33
|
+
|
|
34
|
+
Changed: {files from git diff}
|
|
35
|
+
|
|
36
|
+
Find:
|
|
37
|
+
1. Files importing/depending on changed modules
|
|
38
|
+
2. Data flow paths through modified functions
|
|
39
|
+
3. Error handling paths not tested
|
|
40
|
+
4. Boundary conditions (null, empty, max)
|
|
41
|
+
5. Race conditions in async code
|
|
42
|
+
6. State management side effects
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 3. Analyze & Act
|
|
46
|
+
|
|
47
|
+
| Finding | Action |
|
|
48
|
+
|---------|--------|
|
|
49
|
+
| Affected file not in scope | Add to review |
|
|
50
|
+
| Data flow risk | Verify or add test |
|
|
51
|
+
| Edge case | Add test or verify |
|
|
52
|
+
| Missing test | Add before review |
|
|
53
|
+
|
|
54
|
+
### 4. Document for Review
|
|
55
|
+
```
|
|
56
|
+
Scout findings:
|
|
57
|
+
- {issues found}
|
|
58
|
+
- Verified: {what checked}
|
|
59
|
+
- Addressed: {what fixed}
|
|
60
|
+
- Needs review: {remaining}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Scout Prompts
|
|
64
|
+
|
|
65
|
+
**Feature:**
|
|
66
|
+
```
|
|
67
|
+
Scout edge cases for {feature}.
|
|
68
|
+
Changed: {files}
|
|
69
|
+
Find: consumers, error states, untested inputs, performance, compatibility
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Bug fix:**
|
|
73
|
+
```
|
|
74
|
+
Scout side effects of fix in {file}.
|
|
75
|
+
Bug: {description}, Fix: {approach}
|
|
76
|
+
Find: other paths using logic, dependent features, similar bugs
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Refactor:**
|
|
80
|
+
```
|
|
81
|
+
Scout breaking changes in {module}.
|
|
82
|
+
Before: {old}, After: {new}
|
|
83
|
+
Find: importers, behavior diffs, removed functionality
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## What Scout Catches
|
|
87
|
+
|
|
88
|
+
| Issue | Why Missed | Scout Detects |
|
|
89
|
+
|-------|------------|---------------|
|
|
90
|
+
| Indirect deps | Not in diff | Traces imports |
|
|
91
|
+
| Race conditions | Hard static review | Analyzes flow |
|
|
92
|
+
| State mutations | Hidden side effects | Tracks data |
|
|
93
|
+
| Missing null checks | Assumed safe | Boundary analysis |
|
|
94
|
+
| Integration breaks | Out of scope | Cross-module search |
|
|
95
|
+
|
|
96
|
+
## Red Flags
|
|
97
|
+
|
|
98
|
+
- Shared utility changed but only one caller tested
|
|
99
|
+
- Error path leads to unhandled rejection
|
|
100
|
+
- State modified in place without notification
|
|
101
|
+
- Breaking change without migration
|
|
102
|
+
|
|
103
|
+
## Example
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
1. Done: Add cache to UserService.getUser()
|
|
107
|
+
2. Diff: src/services/user-service.ts
|
|
108
|
+
3. Scout: "edge cases for caching in getUser()"
|
|
109
|
+
4. Report:
|
|
110
|
+
- ProfileComponent expects fresh data on edit
|
|
111
|
+
- AdminPanel loops getUser() (memory risk)
|
|
112
|
+
- No cache clear on updateUser()
|
|
113
|
+
5. Fix: Add invalidation, maxSize
|
|
114
|
+
6. Document for code-reviewer
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Bottom Line
|
|
118
|
+
|
|
119
|
+
Scout before review. Don't trust "simple changes" - scout them anyway.
|