@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,102 @@
|
|
|
1
|
+
# Systematic Debugging
|
|
2
|
+
|
|
3
|
+
Four-phase debugging framework that ensures root cause investigation before attempting fixes.
|
|
4
|
+
|
|
5
|
+
## The Iron Law
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
If haven't completed Phase 1, cannot propose fixes.
|
|
12
|
+
|
|
13
|
+
## The Four Phases
|
|
14
|
+
|
|
15
|
+
Must complete each phase before proceeding to next.
|
|
16
|
+
|
|
17
|
+
### Phase 1: Root Cause Investigation
|
|
18
|
+
|
|
19
|
+
**BEFORE attempting ANY fix:**
|
|
20
|
+
|
|
21
|
+
1. **Read Error Messages Carefully** - Don't skip past errors/warnings, read stack traces completely
|
|
22
|
+
2. **Reproduce Consistently** - Can trigger reliably? Exact steps? If not reproducible → gather more data
|
|
23
|
+
3. **Check Recent Changes** - What changed? Git diff, recent commits, new dependencies, config changes
|
|
24
|
+
4. **Gather Evidence in Multi-Component Systems**
|
|
25
|
+
- For EACH component boundary: log data entering/exiting, verify environment propagation
|
|
26
|
+
- Run once to gather evidence showing WHERE it breaks
|
|
27
|
+
- THEN analyze to identify failing component
|
|
28
|
+
5. **Trace Data Flow** - Where does bad value originate? Trace up call stack until finding source (see root-cause-tracing.md)
|
|
29
|
+
|
|
30
|
+
### Phase 2: Pattern Analysis
|
|
31
|
+
|
|
32
|
+
**Find pattern before fixing:**
|
|
33
|
+
|
|
34
|
+
1. **Find Working Examples** - Locate similar working code in same codebase
|
|
35
|
+
2. **Compare Against References** - Read reference implementation COMPLETELY, understand fully before applying
|
|
36
|
+
3. **Identify Differences** - List every difference however small, don't assume "that can't matter"
|
|
37
|
+
4. **Understand Dependencies** - What other components, settings, config, environment needed?
|
|
38
|
+
|
|
39
|
+
### Phase 3: Hypothesis and Testing
|
|
40
|
+
|
|
41
|
+
**Scientific method:**
|
|
42
|
+
|
|
43
|
+
1. **Form Single Hypothesis** - "I think X is root cause because Y", be specific not vague
|
|
44
|
+
2. **Test Minimally** - SMALLEST possible change to test hypothesis, one variable at a time
|
|
45
|
+
3. **Verify Before Continuing** - Worked? → Phase 4. Didn't work? → NEW hypothesis. DON'T add more fixes
|
|
46
|
+
4. **When Don't Know** - Say "I don't understand X", don't pretend, ask for help
|
|
47
|
+
|
|
48
|
+
### Phase 4: Implementation
|
|
49
|
+
|
|
50
|
+
**Fix root cause, not symptom:**
|
|
51
|
+
|
|
52
|
+
1. **Create Failing Test Case** - Simplest reproduction, automated if possible, MUST have before fixing
|
|
53
|
+
2. **Implement Single Fix** - Address root cause identified, ONE change, no "while I'm here" improvements
|
|
54
|
+
3. **Verify Fix** - Test passes? No other tests broken? Issue actually resolved?
|
|
55
|
+
4. **If Fix Doesn't Work**
|
|
56
|
+
- STOP. Count: How many fixes tried?
|
|
57
|
+
- If < 3: Return to Phase 1, re-analyze with new information
|
|
58
|
+
- **If ≥ 3: STOP and question architecture**
|
|
59
|
+
5. **If 3+ Fixes Failed: Question Architecture**
|
|
60
|
+
- Pattern: Each fix reveals new shared state/coupling problem elsewhere
|
|
61
|
+
- STOP and question fundamentals: Is pattern sound? Wrong architecture?
|
|
62
|
+
- Discuss with human partner before more fixes
|
|
63
|
+
|
|
64
|
+
## Red Flags - STOP and Follow Process
|
|
65
|
+
|
|
66
|
+
If catch yourself thinking:
|
|
67
|
+
- "Quick fix for now, investigate later"
|
|
68
|
+
- "Just try changing X and see if it works"
|
|
69
|
+
- "Add multiple changes, run tests"
|
|
70
|
+
- "Skip the test, I'll manually verify"
|
|
71
|
+
- "It's probably X, let me fix that"
|
|
72
|
+
- "I don't fully understand but this might work"
|
|
73
|
+
- "One more fix attempt" (when already tried 2+)
|
|
74
|
+
|
|
75
|
+
**ALL mean:** STOP. Return to Phase 1.
|
|
76
|
+
|
|
77
|
+
## Human Partner Signals You're Doing It Wrong
|
|
78
|
+
|
|
79
|
+
- "Is that not happening?" - Assumed without verifying
|
|
80
|
+
- "Will it show us...?" - Should have added evidence gathering
|
|
81
|
+
- "Stop guessing" - Proposing fixes without understanding
|
|
82
|
+
- "Ultrathink this" - Question fundamentals, not just symptoms
|
|
83
|
+
- "We're stuck?" (frustrated) - Approach isn't working
|
|
84
|
+
|
|
85
|
+
**When see these:** STOP. Return to Phase 1.
|
|
86
|
+
|
|
87
|
+
## Common Rationalizations
|
|
88
|
+
|
|
89
|
+
| Excuse | Reality |
|
|
90
|
+
|--------|---------|
|
|
91
|
+
| "Issue is simple, don't need process" | Simple issues have root causes too |
|
|
92
|
+
| "Emergency, no time for process" | Systematic is FASTER than guess-and-check |
|
|
93
|
+
| "Just try this first, then investigate" | First fix sets pattern. Do right from start |
|
|
94
|
+
| "One more fix attempt" (after 2+ failures) | 3+ failures = architectural problem |
|
|
95
|
+
|
|
96
|
+
## Real-World Impact
|
|
97
|
+
|
|
98
|
+
From debugging sessions:
|
|
99
|
+
- Systematic approach: 15-30 minutes to fix
|
|
100
|
+
- Random fixes approach: 2-3 hours of thrashing
|
|
101
|
+
- First-time fix rate: 95% vs 40%
|
|
102
|
+
- New bugs introduced: Near zero vs common
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Debug Task Management Patterns
|
|
2
|
+
|
|
3
|
+
Track investigation and debugging pipelines via Claude Native Tasks (TaskCreate, TaskUpdate, TaskList).
|
|
4
|
+
|
|
5
|
+
## When to Create Tasks
|
|
6
|
+
|
|
7
|
+
| Debug Scope | Tasks? | Rationale |
|
|
8
|
+
|-------------|--------|-----------|
|
|
9
|
+
| Single bug, one file | No | Systematic debugging handles directly |
|
|
10
|
+
| Multi-component investigation (3+ steps) | Yes | Track assess → collect → analyze → fix → verify |
|
|
11
|
+
| Parallel log/data collection agents | Yes | Coordinate independent evidence gathering |
|
|
12
|
+
| Performance investigation with multiple layers | Yes | Track bottleneck analysis per layer |
|
|
13
|
+
| CI/CD pipeline failure with 3+ possible causes | Yes | Track hypothesis elimination |
|
|
14
|
+
|
|
15
|
+
**3-Task Rule:** Skip task creation when investigation has <3 meaningful steps.
|
|
16
|
+
|
|
17
|
+
## Investigation Pipeline as Tasks
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
TaskCreate: "Assess incident scope" → pending
|
|
21
|
+
TaskCreate: "Collect logs and evidence" → pending, blockedBy: [assess]
|
|
22
|
+
TaskCreate: "Analyze root cause" → pending, blockedBy: [collect]
|
|
23
|
+
TaskCreate: "Implement fix" → pending, blockedBy: [analyze]
|
|
24
|
+
TaskCreate: "Verify fix resolves issue" → pending, blockedBy: [fix]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Maps to investigation-methodology.md 5-step process. Auto-unblocks as each step completes.
|
|
28
|
+
|
|
29
|
+
## Task Schemas
|
|
30
|
+
|
|
31
|
+
### Assess Task
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
TaskCreate(
|
|
35
|
+
subject: "Assess {incident} scope and impact",
|
|
36
|
+
activeForm: "Assessing incident scope",
|
|
37
|
+
description: "Gather symptoms, identify affected components, check recent changes. See investigation-methodology.md Step 1",
|
|
38
|
+
metadata: { debugStage: "assess", incident: "{incident}",
|
|
39
|
+
severity: "P1", effort: "5m" }
|
|
40
|
+
)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Collect Task
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
TaskCreate(
|
|
47
|
+
subject: "Collect evidence for {incident}",
|
|
48
|
+
activeForm: "Collecting evidence",
|
|
49
|
+
description: "Server logs, CI/CD logs, database state, metrics. See log-and-ci-analysis.md",
|
|
50
|
+
metadata: { debugStage: "collect", incident: "{incident}",
|
|
51
|
+
sources: "logs,ci,db", priority: "P1", effort: "10m" },
|
|
52
|
+
addBlockedBy: ["{assess-task-id}"]
|
|
53
|
+
)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Analyze Task
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
TaskCreate(
|
|
60
|
+
subject: "Analyze root cause of {incident}",
|
|
61
|
+
activeForm: "Analyzing root cause",
|
|
62
|
+
description: "Correlate evidence, trace execution paths, identify root cause. See systematic-debugging.md Phase 1-3",
|
|
63
|
+
metadata: { debugStage: "analyze", incident: "{incident}",
|
|
64
|
+
technique: "systematic", priority: "P1", effort: "15m" },
|
|
65
|
+
addBlockedBy: ["{collect-task-id}"]
|
|
66
|
+
)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Fix Task
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
TaskCreate(
|
|
73
|
+
subject: "Fix root cause: {root_cause_summary}",
|
|
74
|
+
activeForm: "Implementing fix",
|
|
75
|
+
description: "Address root cause, add defense-in-depth validation. See defense-in-depth.md",
|
|
76
|
+
metadata: { debugStage: "fix", rootCause: "{root_cause}",
|
|
77
|
+
priority: "P1", effort: "20m" },
|
|
78
|
+
addBlockedBy: ["{analyze-task-id}"]
|
|
79
|
+
)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Verify Task
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
TaskCreate(
|
|
86
|
+
subject: "Verify fix with fresh evidence",
|
|
87
|
+
activeForm: "Verifying fix",
|
|
88
|
+
description: "Run tests, check build, confirm issue resolved. NO CLAIMS WITHOUT EVIDENCE. See verification.md",
|
|
89
|
+
metadata: { debugStage: "verify", priority: "P1", effort: "5m" },
|
|
90
|
+
addBlockedBy: ["{fix-task-id}"]
|
|
91
|
+
)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Parallel Evidence Collection
|
|
95
|
+
|
|
96
|
+
For multi-source investigations, spawn parallel collection agents:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
// Parallel — no blockedBy between them
|
|
100
|
+
TaskCreate(subject: "Collect CI/CD pipeline logs",
|
|
101
|
+
metadata: { debugStage: "collect", source: "ci",
|
|
102
|
+
agentIndex: 1, totalAgents: 3, priority: "P1" })
|
|
103
|
+
|
|
104
|
+
TaskCreate(subject: "Collect application server logs",
|
|
105
|
+
metadata: { debugStage: "collect", source: "server",
|
|
106
|
+
agentIndex: 2, totalAgents: 3, priority: "P1" })
|
|
107
|
+
|
|
108
|
+
TaskCreate(subject: "Query database for anomalies",
|
|
109
|
+
metadata: { debugStage: "collect", source: "db",
|
|
110
|
+
agentIndex: 3, totalAgents: 3, priority: "P1" })
|
|
111
|
+
|
|
112
|
+
// Analyze blocks on ALL collection completing:
|
|
113
|
+
TaskCreate(subject: "Analyze root cause from collected evidence",
|
|
114
|
+
addBlockedBy: ["{ci-id}", "{server-id}", "{db-id}"])
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Task Lifecycle
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
Assess: pending → in_progress → completed (scope + impact identified)
|
|
121
|
+
Collect: pending → in_progress → completed (evidence gathered)
|
|
122
|
+
Analyze: pending → in_progress → completed (root cause identified)
|
|
123
|
+
Fix: pending → in_progress → completed (fix implemented)
|
|
124
|
+
Verify: pending → in_progress → completed (fresh verification evidence)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Re-Investigation Cycle
|
|
128
|
+
|
|
129
|
+
When fix doesn't resolve the issue → new analyze-fix-verify cycle:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
TaskCreate(subject: "Re-analyze: fix attempt {N} failed",
|
|
133
|
+
addBlockedBy: ["{verify-task-id}"],
|
|
134
|
+
metadata: { debugStage: "analyze", cycle: 2, priority: "P1" })
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Limit to 3 cycles. After cycle 3 → question architecture (systematic-debugging.md Phase 4.5).
|
|
138
|
+
|
|
139
|
+
## Integration with Cook/Planning
|
|
140
|
+
|
|
141
|
+
Debug tasks are **separate from** cook/planning phase tasks.
|
|
142
|
+
|
|
143
|
+
**When cook spawns debugger:**
|
|
144
|
+
1. Cook encounters failing tests → creates debug pipeline tasks
|
|
145
|
+
2. Debug pipeline executes (assess → collect → analyze → fix → verify)
|
|
146
|
+
3. All debug tasks complete → cook marks phase debugging as done
|
|
147
|
+
4. Cook proceeds to next phase
|
|
148
|
+
|
|
149
|
+
## Report Sync-Back
|
|
150
|
+
|
|
151
|
+
After investigation completes, write diagnostic report per reporting-standards.md. Report persists as the "source of truth" for cross-session reference (tasks are session-scoped only).
|
|
152
|
+
|
|
153
|
+
## Error Handling
|
|
154
|
+
|
|
155
|
+
If `TaskCreate` fails: log warning, continue with sequential debugging. Tasks add visibility and coordination, not core functionality.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Verification Before Completion
|
|
2
|
+
|
|
3
|
+
Run verification commands and confirm output before claiming success.
|
|
4
|
+
|
|
5
|
+
## Core Principle
|
|
6
|
+
|
|
7
|
+
**Evidence before claims, always.**
|
|
8
|
+
|
|
9
|
+
Claiming work complete without verification is dishonesty, not efficiency.
|
|
10
|
+
|
|
11
|
+
## The Iron Law
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
If haven't run verification command in this message, cannot claim it passes.
|
|
18
|
+
|
|
19
|
+
## The Gate Function
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
BEFORE claiming any status or expressing satisfaction:
|
|
23
|
+
|
|
24
|
+
1. IDENTIFY: What command proves this claim?
|
|
25
|
+
2. RUN: Execute FULL command (fresh, complete)
|
|
26
|
+
3. READ: Full output, check exit code, count failures
|
|
27
|
+
4. VERIFY: Does output confirm claim?
|
|
28
|
+
- If NO: State actual status with evidence
|
|
29
|
+
- If YES: State claim WITH evidence
|
|
30
|
+
5. ONLY THEN: Make claim
|
|
31
|
+
|
|
32
|
+
Skip any step = lying, not verifying
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Common Failures
|
|
36
|
+
|
|
37
|
+
| Claim | Requires | Not Sufficient |
|
|
38
|
+
|-------|----------|----------------|
|
|
39
|
+
| Tests pass | Test command output: 0 failures | Previous run, "should pass" |
|
|
40
|
+
| Linter clean | Linter output: 0 errors | Partial check, extrapolation |
|
|
41
|
+
| Build succeeds | Build command: exit 0 | Linter passing, logs look good |
|
|
42
|
+
| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
|
|
43
|
+
| Regression test works | Red-green cycle verified | Test passes once |
|
|
44
|
+
| Agent completed | VCS diff shows changes | Agent reports "success" |
|
|
45
|
+
| Requirements met | Line-by-line checklist | Tests passing |
|
|
46
|
+
|
|
47
|
+
## Red Flags - STOP
|
|
48
|
+
|
|
49
|
+
- Using "should", "probably", "seems to"
|
|
50
|
+
- Expressing satisfaction before verification ("Great!", "Perfect!", "Done!")
|
|
51
|
+
- About to commit/push/PR without verification
|
|
52
|
+
- Trusting agent success reports
|
|
53
|
+
- Relying on partial verification
|
|
54
|
+
- Thinking "just this once"
|
|
55
|
+
- Tired and wanting work over
|
|
56
|
+
- **ANY wording implying success without having run verification**
|
|
57
|
+
|
|
58
|
+
## Rationalization Prevention
|
|
59
|
+
|
|
60
|
+
| Excuse | Reality |
|
|
61
|
+
|--------|---------|
|
|
62
|
+
| "Should work now" | RUN verification |
|
|
63
|
+
| "I'm confident" | Confidence ≠ evidence |
|
|
64
|
+
| "Just this once" | No exceptions |
|
|
65
|
+
| "Linter passed" | Linter ≠ compiler |
|
|
66
|
+
| "Agent said success" | Verify independently |
|
|
67
|
+
| "Partial check is enough" | Partial proves nothing |
|
|
68
|
+
|
|
69
|
+
## Key Patterns
|
|
70
|
+
|
|
71
|
+
**Tests:**
|
|
72
|
+
```
|
|
73
|
+
✅ [Run test command] [See: 34/34 pass] "All tests pass"
|
|
74
|
+
❌ "Should pass now" / "Looks correct"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Regression tests (TDD Red-Green):**
|
|
78
|
+
```
|
|
79
|
+
✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
|
|
80
|
+
❌ "I've written regression test" (without red-green verification)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Build:**
|
|
84
|
+
```
|
|
85
|
+
✅ [Run build] [See: exit 0] "Build passes"
|
|
86
|
+
❌ "Linter passed" (linter doesn't check compilation)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Requirements:**
|
|
90
|
+
```
|
|
91
|
+
✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
|
|
92
|
+
❌ "Tests pass, phase complete"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Agent delegation:**
|
|
96
|
+
```
|
|
97
|
+
✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
|
|
98
|
+
❌ Trust agent report
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## When To Apply
|
|
102
|
+
|
|
103
|
+
**ALWAYS before:**
|
|
104
|
+
- ANY variation of success/completion claims
|
|
105
|
+
- ANY expression of satisfaction
|
|
106
|
+
- ANY positive statement about work state
|
|
107
|
+
- Committing, PR creation, task completion
|
|
108
|
+
- Moving to next task
|
|
109
|
+
- Delegating to agents
|
|
110
|
+
|
|
111
|
+
**Rule applies to:**
|
|
112
|
+
- Exact phrases
|
|
113
|
+
- Paraphrases and synonyms
|
|
114
|
+
- Implications of success
|
|
115
|
+
- ANY communication suggesting completion/correctness
|
|
116
|
+
|
|
117
|
+
## The Bottom Line
|
|
118
|
+
|
|
119
|
+
**No shortcuts for verification.**
|
|
120
|
+
|
|
121
|
+
Run command. Read output. THEN claim result.
|
|
122
|
+
|
|
123
|
+
Non-negotiable.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Bisection script to find which test creates unwanted files/state
|
|
3
|
+
# Usage: ./find-polluter.sh <file_or_dir_to_check> <test_pattern>
|
|
4
|
+
# Example: ./find-polluter.sh '.git' 'src/**/*.test.ts'
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
if [ $# -ne 2 ]; then
|
|
9
|
+
echo "Usage: $0 <file_to_check> <test_pattern>"
|
|
10
|
+
echo "Example: $0 '.git' 'src/**/*.test.ts'"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
POLLUTION_CHECK="$1"
|
|
15
|
+
TEST_PATTERN="$2"
|
|
16
|
+
|
|
17
|
+
echo "🔍 Searching for test that creates: $POLLUTION_CHECK"
|
|
18
|
+
echo "Test pattern: $TEST_PATTERN"
|
|
19
|
+
echo ""
|
|
20
|
+
|
|
21
|
+
# Get list of test files
|
|
22
|
+
TEST_FILES=$(find . -path "$TEST_PATTERN" | sort)
|
|
23
|
+
TOTAL=$(echo "$TEST_FILES" | wc -l | tr -d ' ')
|
|
24
|
+
|
|
25
|
+
echo "Found $TOTAL test files"
|
|
26
|
+
echo ""
|
|
27
|
+
|
|
28
|
+
COUNT=0
|
|
29
|
+
for TEST_FILE in $TEST_FILES; do
|
|
30
|
+
COUNT=$((COUNT + 1))
|
|
31
|
+
|
|
32
|
+
# Skip if pollution already exists
|
|
33
|
+
if [ -e "$POLLUTION_CHECK" ]; then
|
|
34
|
+
echo "⚠️ Pollution already exists before test $COUNT/$TOTAL"
|
|
35
|
+
echo " Skipping: $TEST_FILE"
|
|
36
|
+
continue
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
echo "[$COUNT/$TOTAL] Testing: $TEST_FILE"
|
|
40
|
+
|
|
41
|
+
# Run the test
|
|
42
|
+
npm test "$TEST_FILE" > /dev/null 2>&1 || true
|
|
43
|
+
|
|
44
|
+
# Check if pollution appeared
|
|
45
|
+
if [ -e "$POLLUTION_CHECK" ]; then
|
|
46
|
+
echo ""
|
|
47
|
+
echo "🎯 FOUND POLLUTER!"
|
|
48
|
+
echo " Test: $TEST_FILE"
|
|
49
|
+
echo " Created: $POLLUTION_CHECK"
|
|
50
|
+
echo ""
|
|
51
|
+
echo "Pollution details:"
|
|
52
|
+
ls -la "$POLLUTION_CHECK"
|
|
53
|
+
echo ""
|
|
54
|
+
echo "To investigate:"
|
|
55
|
+
echo " npm test $TEST_FILE # Run just this test"
|
|
56
|
+
echo " cat $TEST_FILE # Review test code"
|
|
57
|
+
exit 1
|
|
58
|
+
fi
|
|
59
|
+
done
|
|
60
|
+
|
|
61
|
+
echo ""
|
|
62
|
+
echo "✅ No polluter found - all tests clean!"
|
|
63
|
+
exit 0
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# find-polluter.sh Test Documentation
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Bisection script to find which test creates unwanted files or state pollution.
|
|
5
|
+
|
|
6
|
+
## Manual Test Procedure
|
|
7
|
+
|
|
8
|
+
### Setup Test Scenario
|
|
9
|
+
```bash
|
|
10
|
+
# Create test directory
|
|
11
|
+
mkdir -p /tmp/polluter-test && cd /tmp/polluter-test
|
|
12
|
+
|
|
13
|
+
# Create clean test
|
|
14
|
+
cat > test1.test.js << 'EOF'
|
|
15
|
+
console.log('Test 1: clean');
|
|
16
|
+
EOF
|
|
17
|
+
|
|
18
|
+
# Create polluter test
|
|
19
|
+
cat > test2.test.js << 'EOF'
|
|
20
|
+
const fs = require('fs');
|
|
21
|
+
fs.mkdirSync('.git', { recursive: true });
|
|
22
|
+
console.log('Test 2: creates pollution');
|
|
23
|
+
EOF
|
|
24
|
+
|
|
25
|
+
# Create another clean test
|
|
26
|
+
cat > test3.test.js << 'EOF'
|
|
27
|
+
console.log('Test 3: clean');
|
|
28
|
+
EOF
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Run Script
|
|
32
|
+
```bash
|
|
33
|
+
# For projects with npm test
|
|
34
|
+
/path/to/find-polluter.sh '.git' 'src/**/*.test.ts'
|
|
35
|
+
|
|
36
|
+
# For node-only tests (modify script to use 'node' instead of 'npm test')
|
|
37
|
+
./find-polluter.sh '.git' '*.test.js'
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Expected Output
|
|
41
|
+
```
|
|
42
|
+
🔍 Searching for test that creates: .git
|
|
43
|
+
Test pattern: *.test.js
|
|
44
|
+
|
|
45
|
+
Found 3 test files
|
|
46
|
+
|
|
47
|
+
[1/3] Testing: ./test1.test.js
|
|
48
|
+
[2/3] Testing: ./test2.test.js
|
|
49
|
+
|
|
50
|
+
🎯 FOUND POLLUTER!
|
|
51
|
+
Test: ./test2.test.js
|
|
52
|
+
Created: .git
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Cleanup
|
|
56
|
+
```bash
|
|
57
|
+
rm -rf /tmp/polluter-test
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Test Results
|
|
61
|
+
|
|
62
|
+
✅ Script logic verified (2025-11-11)
|
|
63
|
+
- Correctly iterates through test files
|
|
64
|
+
- Detects pollution creation
|
|
65
|
+
- Reports the polluting test file
|
|
66
|
+
- Exits early when polluter found
|
|
67
|
+
|
|
68
|
+
## Usage Notes
|
|
69
|
+
|
|
70
|
+
**Prerequisites:**
|
|
71
|
+
- Test runner (npm test) must be configured in project
|
|
72
|
+
- Test pattern must match actual test files
|
|
73
|
+
- Pollution path must be accurate
|
|
74
|
+
|
|
75
|
+
**Customization:**
|
|
76
|
+
If your project doesn't use `npm test`, modify line 42:
|
|
77
|
+
```bash
|
|
78
|
+
# Replace
|
|
79
|
+
npm test "$TEST_FILE" > /dev/null 2>&1 || true
|
|
80
|
+
|
|
81
|
+
# With your test command
|
|
82
|
+
node "$TEST_FILE" > /dev/null 2>&1 || true
|
|
83
|
+
# Or
|
|
84
|
+
jest "$TEST_FILE" > /dev/null 2>&1 || true
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Common Use Cases
|
|
88
|
+
|
|
89
|
+
1. **Find test creating .git directory:**
|
|
90
|
+
```bash
|
|
91
|
+
./find-polluter.sh '.git' 'src/**/*.test.ts'
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
2. **Find test creating node_modules:**
|
|
95
|
+
```bash
|
|
96
|
+
./find-polluter.sh 'node_modules' 'test/**/*.spec.js'
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
3. **Find test creating specific file:**
|
|
100
|
+
```bash
|
|
101
|
+
./find-polluter.sh 'unwanted-file.txt' '**/*.test.js'
|
|
102
|
+
```
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: executing-plans
|
|
3
|
+
description: Use when you have a written implementation plan to execute in a separate session with review checkpoints
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Executing Plans
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Load plan, review critically, execute all tasks, report when complete.
|
|
11
|
+
|
|
12
|
+
**Announce at start:** "I'm using the executing-plans skill to implement this plan."
|
|
13
|
+
|
|
14
|
+
**Note:** Tell your human partner that Superpowers works much better with access to subagents. The quality of its work will be significantly higher if run on a platform with subagent support (such as Claude Code or Codex). If subagents are available, use superpowers:subagent-driven-development instead of this skill.
|
|
15
|
+
|
|
16
|
+
## The Process
|
|
17
|
+
|
|
18
|
+
### Step 1: Load and Review Plan
|
|
19
|
+
1. Read plan file
|
|
20
|
+
2. Review critically - identify any questions or concerns about the plan
|
|
21
|
+
3. If concerns: Raise them with your human partner before starting
|
|
22
|
+
4. If no concerns: Create TodoWrite and proceed
|
|
23
|
+
|
|
24
|
+
### Step 2: Execute Tasks
|
|
25
|
+
|
|
26
|
+
For each task:
|
|
27
|
+
1. Mark as in_progress
|
|
28
|
+
2. Follow each step exactly (plan has bite-sized steps)
|
|
29
|
+
3. Run verifications as specified
|
|
30
|
+
4. Mark as completed
|
|
31
|
+
|
|
32
|
+
### Step 3: Complete Development
|
|
33
|
+
|
|
34
|
+
After all tasks complete and verified:
|
|
35
|
+
- Announce: "I'm using the finishing-a-development-branch skill to complete this work."
|
|
36
|
+
- **REQUIRED SUB-SKILL:** Use superpowers:finishing-a-development-branch
|
|
37
|
+
- Follow that skill to verify tests, present options, execute choice
|
|
38
|
+
|
|
39
|
+
## When to Stop and Ask for Help
|
|
40
|
+
|
|
41
|
+
**STOP executing immediately when:**
|
|
42
|
+
- Hit a blocker (missing dependency, test fails, instruction unclear)
|
|
43
|
+
- Plan has critical gaps preventing starting
|
|
44
|
+
- You don't understand an instruction
|
|
45
|
+
- Verification fails repeatedly
|
|
46
|
+
|
|
47
|
+
**Ask for clarification rather than guessing.**
|
|
48
|
+
|
|
49
|
+
## When to Revisit Earlier Steps
|
|
50
|
+
|
|
51
|
+
**Return to Review (Step 1) when:**
|
|
52
|
+
- Partner updates the plan based on your feedback
|
|
53
|
+
- Fundamental approach needs rethinking
|
|
54
|
+
|
|
55
|
+
**Don't force through blockers** - stop and ask.
|
|
56
|
+
|
|
57
|
+
## Remember
|
|
58
|
+
- Review plan critically first
|
|
59
|
+
- Follow plan steps exactly
|
|
60
|
+
- Don't skip verifications
|
|
61
|
+
- Reference skills when plan says to
|
|
62
|
+
- Stop when blocked, don't guess
|
|
63
|
+
- Never start implementation on main/master branch without explicit user consent
|
|
64
|
+
|
|
65
|
+
## Integration
|
|
66
|
+
|
|
67
|
+
**Required workflow skills:**
|
|
68
|
+
- **superpowers:using-git-worktrees** - REQUIRED: Set up isolated workspace before starting
|
|
69
|
+
- **superpowers:writing-plans** - Creates the plan this skill executes
|
|
70
|
+
- **superpowers:finishing-a-development-branch** - Complete development after all tasks
|