nemonix-cli 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 +186 -0
- package/dist/cli.js +6870 -0
- package/package.json +48 -0
- package/src/config/claude-code-config/.claude/commands/setup-tmux.md +0 -0
- package/src/config/claude-code-config/CHANGELOG.md +261 -0
- package/src/config/claude-code-config/README.md +1 -0
- package/src/config/claude-code-config/agents/action.md +36 -0
- package/src/config/claude-code-config/agents/clean-code-runner.md +61 -0
- package/src/config/claude-code-config/agents/code-reviewer.md +172 -0
- package/src/config/claude-code-config/agents/code-simplifier.md +49 -0
- package/src/config/claude-code-config/agents/explore-codebase.md +65 -0
- package/src/config/claude-code-config/agents/explore-docs.md +65 -0
- package/src/config/claude-code-config/agents/explore-fast.md +22 -0
- package/src/config/claude-code-config/agents/implementer.md +181 -0
- package/src/config/claude-code-config/agents/snipper.md +36 -0
- package/src/config/claude-code-config/agents/websearch.md +42 -0
- package/src/config/claude-code-config/commands/prompts/create-vitejs-app.md +272 -0
- package/src/config/claude-code-config/commands/prompts/nextjs-add-prisma-db.md +136 -0
- package/src/config/claude-code-config/commands/prompts/nextjs-setup-better-auth.md +173 -0
- package/src/config/claude-code-config/commands/prompts/nextjs-setup-project.md +200 -0
- package/src/config/claude-code-config/commands/prompts/prompt.md +55 -0
- package/src/config/claude-code-config/commands/prompts/saas-challenge-idea.md +135 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-architecture.md +242 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-headline.md +132 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-landing-copywritting.md +267 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-legals-docs.md +176 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-logos.md +240 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-prd.md +195 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-tasks.md +240 -0
- package/src/config/claude-code-config/commands/prompts/saas-define-pricing.md +293 -0
- package/src/config/claude-code-config/commands/prompts/saas-find-domain-name.md +190 -0
- package/src/config/claude-code-config/commands/prompts/saas-implement-landing-page.md +257 -0
- package/src/config/claude-code-config/commands/prompts/setup-tmux.md +160 -0
- package/src/config/claude-code-config/commands/prompts/tools.md +148 -0
- package/src/config/claude-code-config/hooks/hook-post-file.ts +162 -0
- package/src/config/claude-code-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
- package/src/config/claude-code-config/scripts/CLAUDE.md +50 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/CLAUDE.md +59 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/__tests__/shared.test.ts +185 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/__tests__/title-generation.test.ts +44 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/sample-transcript.jsonl +3 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/transcript-short-message.jsonl +2 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/transcript-with-title.jsonl +3 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/src/index.ts +113 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/src/rename-all.ts +148 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/src/shared.ts +157 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/src/worker.ts +58 -0
- package/src/config/claude-code-config/scripts/biome.json +37 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/CLAUDE.md +84 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/__tests__/claude.test.ts +19 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/__tests__/paths.test.ts +68 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/claude.ts +56 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/cli.ts +46 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/helper/credentials.ts +76 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/helper/index.ts +9 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/helper/paths.ts +51 -0
- package/src/config/claude-code-config/scripts/command-validator/CLAUDE.md +112 -0
- package/src/config/claude-code-config/scripts/command-validator/README.md +147 -0
- package/src/config/claude-code-config/scripts/command-validator/src/__tests__/validator.test.ts +99 -0
- package/src/config/claude-code-config/scripts/command-validator/src/cli.ts +121 -0
- package/src/config/claude-code-config/scripts/command-validator/src/lib/security-rules.ts +174 -0
- package/src/config/claude-code-config/scripts/command-validator/src/lib/types.ts +34 -0
- package/src/config/claude-code-config/scripts/command-validator/src/lib/validator.ts +90 -0
- package/src/config/claude-code-config/scripts/package.json +43 -0
- package/src/config/claude-code-config/scripts/statusline/CLAUDE.md +205 -0
- package/src/config/claude-code-config/scripts/statusline/README.md +193 -0
- package/src/config/claude-code-config/scripts/statusline/__tests__/context.test.ts +229 -0
- package/src/config/claude-code-config/scripts/statusline/__tests__/formatters.test.ts +108 -0
- package/src/config/claude-code-config/scripts/statusline/__tests__/statusline.test.ts +309 -0
- package/src/config/claude-code-config/scripts/statusline/data/.gitkeep +0 -0
- package/src/config/claude-code-config/scripts/statusline/defaults.json +82 -0
- package/src/config/claude-code-config/scripts/statusline/docs/ARCHITECTURE.md +166 -0
- package/src/config/claude-code-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -0
- package/src/config/claude-code-config/scripts/statusline/fixtures/test-input.json +35 -0
- package/src/config/claude-code-config/scripts/statusline/src/analyze-daily-usage.ts +151 -0
- package/src/config/claude-code-config/scripts/statusline/src/commands/interactive-config.ts +515 -0
- package/src/config/claude-code-config/scripts/statusline/src/debug-payloads.ts +195 -0
- package/src/config/claude-code-config/scripts/statusline/src/index.ts +224 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/config-types.ts +110 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/config.ts +21 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/context.ts +103 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/limits/commands/weekly-analysis.ts +108 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/limits/index.ts +111 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/limits/types.ts +15 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/migrate-to-sqlite.ts +136 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/spend-day.ts +79 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/spend-month.ts +66 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/spend-project.ts +85 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/database.ts +395 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/index.ts +178 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/payload-logger.ts +161 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/types.ts +37 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/formatters.ts +426 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/git.ts +100 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/menu-factories.ts +224 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/presets.ts +177 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/render-pure.ts +516 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/types.ts +36 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/utils.ts +15 -0
- package/src/config/claude-code-config/scripts/statusline/src/stats.ts +119 -0
- package/src/config/claude-code-config/scripts/statusline/src/tests/spend-v2.test.ts +377 -0
- package/src/config/claude-code-config/scripts/statusline/src/tools/fixed-cost-calc.ts +317 -0
- package/src/config/claude-code-config/scripts/statusline/statusline.config.free.json +79 -0
- package/src/config/claude-code-config/scripts/statusline/statusline.config.json +100 -0
- package/src/config/claude-code-config/scripts/statusline/test-with-fixtures.ts +37 -0
- package/src/config/claude-code-config/scripts/statusline/test.ts +20 -0
- package/src/config/claude-code-config/scripts/statusline/tsconfig.json +27 -0
- package/src/config/claude-code-config/scripts/tsconfig.json +27 -0
- package/src/config/claude-code-config/settings.json +92 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/SKILL.md +176 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/architecture-template.md +436 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/challenge-framework.md +289 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/discovery-framework.md +338 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/prd-template.md +452 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/task-template.md +263 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/tools.md +132 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/scripts/rename-project.sh +42 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/scripts/setup.sh +104 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-00-init.md +174 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-01-discovery.md +342 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-02-brainstorm.md +230 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-03-validate.md +372 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-04-prd.md +364 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-05-architecture.md +904 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-06-tasks.md +446 -0
- package/src/config/claude-code-config/skills/explore/SKILL.md +119 -0
- package/src/config/claude-code-config/skills/frontend-design/LICENSE.txt +177 -0
- package/src/config/claude-code-config/skills/frontend-design/SKILL.md +42 -0
- package/src/config/claude-code-config/skills/git-commit/SKILL.md +42 -0
- package/src/config/claude-code-config/skills/git-create-pr/SKILL.md +53 -0
- package/src/config/claude-code-config/skills/git-fix-pr-comments/SKILL.md +51 -0
- package/src/config/claude-code-config/skills/git-merge/SKILL.md +68 -0
- package/src/config/claude-code-config/skills/marketing-copywriting/SKILL.md +72 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/SKILL.md +694 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/comprehensive-example.md +175 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/project-patterns.md +334 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/prompting-techniques.md +411 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/rules-directory-guide.md +298 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/section-templates.md +347 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/SKILL.md +357 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/command-vs-prompt.md +287 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/examples.md +689 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/hook-types.md +495 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/input-output-schemas.md +503 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/matchers.md +517 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/troubleshooting.md +653 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/SKILL.md +285 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/anthropic-best-practices.md +126 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/anti-patterns.md +57 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/clarity-principles.md +54 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/context-management.md +389 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/few-shot-patterns.md +47 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/openai-best-practices.md +50 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/prompt-templates.md +110 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/reasoning-techniques.md +52 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/system-prompt-patterns.md +48 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/xml-structure.md +36 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/LICENSE.txt +202 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/SKILL.md +421 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/package.json +5 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/output-patterns.md +82 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/progressive-disclosure-patterns.md +374 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/prompting-integration.md +363 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/real-world-examples.md +513 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/script-patterns.md +385 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/workflows.md +28 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/xml-tag-guide.md +606 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/scripts/init-skill.ts +214 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/scripts/package-skill.ts +146 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/scripts/validate.ts +138 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/SKILL.md +390 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/ask-patterns.md +225 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/prompt-engineering.md +377 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/state-management.md +275 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/step-template.md +334 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/workflow-patterns.md +300 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/SKILL.md +451 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/context-management.md +567 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/debugging-agents.md +714 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/error-handling-and-recovery.md +502 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/evaluation-and-testing.md +374 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/orchestration-patterns.md +591 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/subagents.md +599 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/writing-subagent-prompts.md +513 -0
- package/src/config/claude-code-config/skills/ralph-loop/SKILL.md +117 -0
- package/src/config/claude-code-config/skills/ralph-loop/scripts/setup.sh +278 -0
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-00-init.md +215 -0
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-01-interactive-prd.md +366 -0
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-02-create-stories.md +273 -0
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-03-finish.md +245 -0
- package/src/config/claude-code-config/skills/ralph-tasks/SKILL.md +88 -0
- package/src/config/claude-code-config/skills/ralph-tasks/scripts/add-task.sh +36 -0
- package/src/config/claude-code-config/skills/ralph-tasks/scripts/list-tasks.sh +66 -0
- package/src/config/claude-code-config/skills/ralph-tasks/scripts/remove-task.sh +47 -0
- package/src/config/claude-code-config/skills/ralph-tasks/scripts/setup.sh +201 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-add-search.md +131 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-add.md +46 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-init.md +123 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-list.md +58 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-remove.md +48 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-setup.md +46 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-wake-up.md +62 -0
- package/src/config/claude-code-config/skills/utils-fix-errors/SKILL.md +61 -0
- package/src/config/claude-code-config/skills/utils-fix-grammar/SKILL.md +59 -0
- package/src/config/claude-code-config/skills/utils-oneshot/SKILL.md +56 -0
- package/src/config/claude-code-config/skills/utils-refactor/SKILL.md +89 -0
- package/src/config/claude-code-config/skills/utils-save-docs/SKILL.md +74 -0
- package/src/config/claude-code-config/skills/utils-ultrathink/SKILL.md +42 -0
- package/src/config/claude-code-config/skills/workflow-apex/SKILL.md +116 -0
- package/src/config/claude-code-config/skills/workflow-apex/scripts/setup-templates.sh +144 -0
- package/src/config/claude-code-config/skills/workflow-apex/scripts/update-progress.sh +80 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00-init.md +273 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-branch.md +126 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-economy.md +244 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-interactive.md +165 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-save.md +123 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-01-analyze.md +361 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-02-plan.md +422 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-02b-tasks.md +301 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-03-execute-teams.md +297 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-03-execute.md +239 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-04-validate.md +264 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-05-examine.md +294 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-06-resolve.md +237 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-07-tests.md +250 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-08-run-tests.md +308 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-09-finish.md +193 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/00-context.md +53 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/01-analyze.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/02-plan.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/03-execute.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/04-validate.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/05-examine.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/06-resolve.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/07-tests.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/08-run-tests.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/09-finish.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/README.md +195 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/step-complete.md +7 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/SKILL.md +127 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-01-explore.md +230 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-02-challenge.md +238 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-03-synthesize.md +337 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-04-action.md +285 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/SKILL.md +150 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/references/cli-commands.md +122 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/references/github-cli.md +243 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/references/troubleshooting.md +362 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/references/vercel-cli.md +192 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-00-init.md +157 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-01-watch-ci.md +192 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-02-analyze-errors.md +263 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-03-fix-locally.md +312 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-04-commit-push.md +206 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-05-cleanup.md +196 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/SKILL.md +129 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/general-clean-code.md +347 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/nextjs-clean-code.md +458 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/react-clean-code.md +406 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/tanstack-query-best-practices.md +516 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/zustand-best-practices.md +491 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/steps/step-01-scan.md +137 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/steps/step-02-apply.md +152 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/steps/step-03-verify.md +143 -0
- package/src/config/claude-code-config/skills/workflow-debug/SKILL.md +126 -0
- package/src/config/claude-code-config/skills/workflow-debug/references/log-technique.md +285 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-00-init.md +94 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-01-analyze.md +180 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-01b-log-instrumentation.md +271 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-02-find-solutions.md +141 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-03-propose.md +142 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-04-fix.md +176 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-05-verify.md +279 -0
- package/src/config/claude-code-config/skills/workflow-review-code/SKILL.md +219 -0
- package/src/config/claude-code-config/skills/workflow-review-code/references/clean-code-principles.md +140 -0
- package/src/config/claude-code-config/skills/workflow-review-code/references/code-quality-metrics.md +174 -0
- package/src/config/claude-code-config/skills/workflow-review-code/references/feedback-patterns.md +149 -0
- package/src/config/claude-code-config/skills/workflow-review-code/references/security-checklist.md +127 -0
- package/src/config/claude-code-config/song/finish.mp3 +0 -0
- package/src/config/claude-code-config/song/need-human.mp3 +0 -0
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
# Prompt Engineering for Workflow Skills
|
|
2
|
+
|
|
3
|
+
Best practices for writing effective prompts in workflow steps.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Core Principles
|
|
8
|
+
|
|
9
|
+
### 1. Be Explicit, Not Vague
|
|
10
|
+
|
|
11
|
+
❌ **Bad:**
|
|
12
|
+
```
|
|
13
|
+
Try to find relevant files.
|
|
14
|
+
Consider the patterns.
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
✅ **Good:**
|
|
18
|
+
```
|
|
19
|
+
Find ALL files matching: **/*auth*.ts
|
|
20
|
+
Document EACH pattern with file path and line number.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 2. Use Positive Framing
|
|
24
|
+
|
|
25
|
+
❌ **Bad:**
|
|
26
|
+
```
|
|
27
|
+
Don't forget to check for errors.
|
|
28
|
+
Don't skip the validation.
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
✅ **Good:**
|
|
32
|
+
```
|
|
33
|
+
Always check for errors before proceeding.
|
|
34
|
+
Run validation after each change.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 3. Define Success Criteria
|
|
38
|
+
|
|
39
|
+
❌ **Bad:**
|
|
40
|
+
```
|
|
41
|
+
Make sure it works properly.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
✅ **Good:**
|
|
45
|
+
```
|
|
46
|
+
<success_criteria>
|
|
47
|
+
- Typecheck passes: `pnpm run typecheck` exits 0
|
|
48
|
+
- Lint passes: `pnpm run lint` exits 0
|
|
49
|
+
- Tests pass: All tests green
|
|
50
|
+
- No console errors
|
|
51
|
+
</success_criteria>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 4. Handle Edge Cases
|
|
55
|
+
|
|
56
|
+
❌ **Bad:**
|
|
57
|
+
```
|
|
58
|
+
Process the files.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
✅ **Good:**
|
|
62
|
+
```
|
|
63
|
+
Process the files:
|
|
64
|
+
- If no files found: Report "No matching files" and ask user
|
|
65
|
+
- If file is empty: Skip with note
|
|
66
|
+
- If file is too large (>1000 lines): Read in chunks
|
|
67
|
+
- If file has errors: Log error and continue to next
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## XML Structure
|
|
73
|
+
|
|
74
|
+
Use semantic XML tags for clear organization:
|
|
75
|
+
|
|
76
|
+
```xml
|
|
77
|
+
<objective>
|
|
78
|
+
What this step accomplishes.
|
|
79
|
+
</objective>
|
|
80
|
+
|
|
81
|
+
<context>
|
|
82
|
+
Background information and prerequisites.
|
|
83
|
+
</context>
|
|
84
|
+
|
|
85
|
+
<execution_sequence>
|
|
86
|
+
Step-by-step instructions.
|
|
87
|
+
</execution_sequence>
|
|
88
|
+
|
|
89
|
+
<success_criteria>
|
|
90
|
+
How to know if this step succeeded.
|
|
91
|
+
</success_criteria>
|
|
92
|
+
|
|
93
|
+
<failure_modes>
|
|
94
|
+
What can go wrong and how to handle it.
|
|
95
|
+
</failure_modes>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Benefits of XML Tags
|
|
99
|
+
- Clear section boundaries
|
|
100
|
+
- Semantic meaning built-in
|
|
101
|
+
- Lower token usage than markdown
|
|
102
|
+
- Programmatically parseable
|
|
103
|
+
- Easy to reference: "Using the rules in `<execution_sequence>`..."
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Instruction Patterns
|
|
108
|
+
|
|
109
|
+
### Pattern 1: Conditional Behavior
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
**If `{auto_mode}` = true:**
|
|
113
|
+
→ Use recommended option automatically
|
|
114
|
+
→ Skip confirmation dialogs
|
|
115
|
+
→ Proceed without waiting
|
|
116
|
+
|
|
117
|
+
**If `{auto_mode}` = false:**
|
|
118
|
+
→ Present options to user
|
|
119
|
+
→ Wait for confirmation
|
|
120
|
+
→ Handle user response
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Pattern 2: Numbered Steps
|
|
124
|
+
|
|
125
|
+
```markdown
|
|
126
|
+
**1. First Action**
|
|
127
|
+
- Sub-step A
|
|
128
|
+
- Sub-step B
|
|
129
|
+
|
|
130
|
+
**2. Second Action**
|
|
131
|
+
- Sub-step A
|
|
132
|
+
- Sub-step B
|
|
133
|
+
|
|
134
|
+
**3. Third Action**
|
|
135
|
+
- Depends on step 2 completing successfully
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Pattern 3: Decision Trees
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
<decision_tree>
|
|
142
|
+
IF condition_a:
|
|
143
|
+
→ Action A
|
|
144
|
+
→ Load step-X
|
|
145
|
+
|
|
146
|
+
ELSE IF condition_b:
|
|
147
|
+
→ Action B
|
|
148
|
+
→ Load step-Y
|
|
149
|
+
|
|
150
|
+
ELSE:
|
|
151
|
+
→ Default action
|
|
152
|
+
→ Load step-Z
|
|
153
|
+
</decision_tree>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Pattern 4: CRITICAL Markers
|
|
157
|
+
|
|
158
|
+
Use for absolutely essential instructions:
|
|
159
|
+
|
|
160
|
+
```markdown
|
|
161
|
+
**CRITICAL: Never skip this step.**
|
|
162
|
+
|
|
163
|
+
**CRITICAL: Use AskUserQuestion tool, NOT plain text prompts.**
|
|
164
|
+
|
|
165
|
+
**CRITICAL: Launch ALL agents in a SINGLE message for parallel execution.**
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Tool Usage Patterns
|
|
171
|
+
|
|
172
|
+
### AskUserQuestion Pattern
|
|
173
|
+
|
|
174
|
+
```markdown
|
|
175
|
+
**CRITICAL: Use AskUserQuestion tool, NOT plain text 1/2/3 prompts.**
|
|
176
|
+
|
|
177
|
+
Use AskUserQuestion:
|
|
178
|
+
```yaml
|
|
179
|
+
questions:
|
|
180
|
+
- header: "Header"
|
|
181
|
+
question: "Full question?"
|
|
182
|
+
options:
|
|
183
|
+
- label: "Option A (Recommended)"
|
|
184
|
+
description: "What this does"
|
|
185
|
+
- label: "Option B"
|
|
186
|
+
description: "What this does"
|
|
187
|
+
multiSelect: false
|
|
188
|
+
```
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Parallel Agent Pattern
|
|
192
|
+
|
|
193
|
+
```markdown
|
|
194
|
+
**CRITICAL: Launch ALL agents in a SINGLE message for parallel execution.**
|
|
195
|
+
|
|
196
|
+
**Agent 1:** (`explore-codebase`)
|
|
197
|
+
```
|
|
198
|
+
Find files related to: {task}
|
|
199
|
+
Return: file paths with line numbers
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Agent 2:** (`explore-docs`)
|
|
203
|
+
```
|
|
204
|
+
Research documentation for: {task}
|
|
205
|
+
Return: key findings with references
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Agent 3:** (`websearch`)
|
|
209
|
+
```
|
|
210
|
+
Search for: {task}
|
|
211
|
+
Return: best practices and patterns
|
|
212
|
+
```
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Tool Selection Pattern
|
|
216
|
+
|
|
217
|
+
```markdown
|
|
218
|
+
**Use the RIGHT tool:**
|
|
219
|
+
|
|
220
|
+
- File search → Glob (not find)
|
|
221
|
+
- Content search → Grep (not grep command)
|
|
222
|
+
- Read files → Read (not cat)
|
|
223
|
+
- Edit files → Edit (not sed)
|
|
224
|
+
- Complex exploration → Task with explore agent
|
|
225
|
+
- User input → AskUserQuestion (not plain text)
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## State Documentation
|
|
231
|
+
|
|
232
|
+
### Available State Section
|
|
233
|
+
|
|
234
|
+
```markdown
|
|
235
|
+
<available_state>
|
|
236
|
+
From previous step:
|
|
237
|
+
|
|
238
|
+
| Variable | Description |
|
|
239
|
+
|----------|-------------|
|
|
240
|
+
| `{task_description}` | What to implement |
|
|
241
|
+
| `{task_id}` | Kebab-case identifier |
|
|
242
|
+
| `{auto_mode}` | Skip confirmations |
|
|
243
|
+
| `{files_found}` | List from step 1 |
|
|
244
|
+
</available_state>
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Produces Section
|
|
248
|
+
|
|
249
|
+
```markdown
|
|
250
|
+
<produces>
|
|
251
|
+
This step produces:
|
|
252
|
+
|
|
253
|
+
| Variable | Description |
|
|
254
|
+
|----------|-------------|
|
|
255
|
+
| `{plan_items}` | List of implementation steps |
|
|
256
|
+
| `{file_changes}` | Map of files to changes |
|
|
257
|
+
</produces>
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Error Handling Patterns
|
|
263
|
+
|
|
264
|
+
### Graceful Failure
|
|
265
|
+
|
|
266
|
+
```markdown
|
|
267
|
+
<error_handling>
|
|
268
|
+
**If validation fails:**
|
|
269
|
+
|
|
270
|
+
1. Log the specific error
|
|
271
|
+
2. Attempt auto-fix if possible
|
|
272
|
+
3. If auto-fix fails:
|
|
273
|
+
- **If `{auto_mode}` = true:** Try alternative approach
|
|
274
|
+
- **If `{auto_mode}` = false:** Ask user for guidance
|
|
275
|
+
4. Never proceed with failing checks
|
|
276
|
+
</error_handling>
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Retry Pattern
|
|
280
|
+
|
|
281
|
+
```markdown
|
|
282
|
+
<retry_pattern>
|
|
283
|
+
max_attempts = 3
|
|
284
|
+
attempt = 0
|
|
285
|
+
|
|
286
|
+
WHILE attempt < max_attempts:
|
|
287
|
+
attempt += 1
|
|
288
|
+
|
|
289
|
+
Try the operation
|
|
290
|
+
|
|
291
|
+
IF success:
|
|
292
|
+
→ Continue
|
|
293
|
+
|
|
294
|
+
IF failure AND attempt < max_attempts:
|
|
295
|
+
→ Log error
|
|
296
|
+
→ Apply fix
|
|
297
|
+
→ Retry
|
|
298
|
+
|
|
299
|
+
IF failure AND attempt >= max_attempts:
|
|
300
|
+
→ Stop and ask user
|
|
301
|
+
</retry_pattern>
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Formatting Guidelines
|
|
307
|
+
|
|
308
|
+
### Code Blocks
|
|
309
|
+
|
|
310
|
+
Use triple backticks with language hints:
|
|
311
|
+
|
|
312
|
+
```markdown
|
|
313
|
+
```bash
|
|
314
|
+
pnpm run typecheck
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
```typescript
|
|
318
|
+
const result = await validate(input);
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
```yaml
|
|
322
|
+
questions:
|
|
323
|
+
- header: "Test"
|
|
324
|
+
```
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Tables for Structured Data
|
|
328
|
+
|
|
329
|
+
```markdown
|
|
330
|
+
| Column 1 | Column 2 | Column 3 |
|
|
331
|
+
|----------|----------|----------|
|
|
332
|
+
| Value 1 | Value 2 | Value 3 |
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Lists for Steps
|
|
336
|
+
|
|
337
|
+
```markdown
|
|
338
|
+
1. First step
|
|
339
|
+
2. Second step
|
|
340
|
+
- Sub-step A
|
|
341
|
+
- Sub-step B
|
|
342
|
+
3. Third step
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## Anti-Patterns to Avoid
|
|
348
|
+
|
|
349
|
+
❌ **Vague instructions**
|
|
350
|
+
```
|
|
351
|
+
Handle the errors appropriately.
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
❌ **Missing conditions**
|
|
355
|
+
```
|
|
356
|
+
Ask the user what to do. # What if auto_mode?
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
❌ **Plain text prompts**
|
|
360
|
+
```
|
|
361
|
+
Choose 1, 2, or 3: # Use AskUserQuestion!
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
❌ **Sequential when parallel possible**
|
|
365
|
+
```
|
|
366
|
+
Launch Agent 1, wait, then launch Agent 2 # Launch together!
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
❌ **Assuming state exists**
|
|
370
|
+
```
|
|
371
|
+
Use {files_found} to... # What if empty?
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
❌ **Missing next step directive**
|
|
375
|
+
```
|
|
376
|
+
# Step ends without saying what's next
|
|
377
|
+
```
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# State Management
|
|
2
|
+
|
|
3
|
+
How to manage and persist state across workflow steps.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Principles
|
|
8
|
+
|
|
9
|
+
1. **Explicit State**: Always document what state is available
|
|
10
|
+
2. **Immutable Core**: Core variables (task_id, flags) don't change
|
|
11
|
+
3. **Accumulated Results**: Each step adds to results, doesn't replace
|
|
12
|
+
4. **Handoff Pattern**: Each step declares what it receives and produces
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## State Variable Types
|
|
17
|
+
|
|
18
|
+
### 1. Core Variables (Set in init, never change)
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
# Set in step-00-init, persist unchanged
|
|
22
|
+
task_description: string # What to do
|
|
23
|
+
task_id: string # Unique identifier (e.g., "01-add-auth")
|
|
24
|
+
auto_mode: boolean # Skip confirmations
|
|
25
|
+
save_mode: boolean # Save outputs to files
|
|
26
|
+
output_dir: string # Path to output folder (if save_mode)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 2. Flag Variables (Set in init, can be overridden)
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
# Parsed from user flags
|
|
33
|
+
examine_mode: boolean # Run optional review
|
|
34
|
+
test_mode: boolean # Run optional tests
|
|
35
|
+
economy_mode: boolean # Use simplified approach
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 3. Accumulated Results (Grow across steps)
|
|
39
|
+
|
|
40
|
+
```yaml
|
|
41
|
+
# Each step adds to these
|
|
42
|
+
files_found: list # Step 1 finds files
|
|
43
|
+
patterns_identified: list # Step 1 finds patterns
|
|
44
|
+
plan_items: list # Step 2 creates plan
|
|
45
|
+
completed_tasks: list # Step 3 tracks progress
|
|
46
|
+
test_results: object # Step 4 records results
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 4. Step-Local Variables (Only exist in current step)
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
# Temporary, not passed to next step
|
|
53
|
+
current_file: string # File being processed
|
|
54
|
+
loop_counter: integer # Iteration tracking
|
|
55
|
+
temp_results: list # Intermediate results
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Documenting State
|
|
61
|
+
|
|
62
|
+
### In SKILL.md
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
<state_variables>
|
|
66
|
+
**Persist throughout all steps:**
|
|
67
|
+
|
|
68
|
+
| Variable | Type | Description |
|
|
69
|
+
|----------|------|-------------|
|
|
70
|
+
| `{task_description}` | string | What to implement |
|
|
71
|
+
| `{task_id}` | string | Kebab-case identifier |
|
|
72
|
+
| `{auto_mode}` | boolean | Skip confirmations |
|
|
73
|
+
| `{save_mode}` | boolean | Save outputs |
|
|
74
|
+
| `{output_dir}` | string | Output path (if save_mode) |
|
|
75
|
+
</state_variables>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### In Each Step
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
<available_state>
|
|
82
|
+
From previous step:
|
|
83
|
+
|
|
84
|
+
| Variable | Description |
|
|
85
|
+
|----------|-------------|
|
|
86
|
+
| `{task_description}` | What to implement |
|
|
87
|
+
| `{task_id}` | Unique identifier |
|
|
88
|
+
| `{auto_mode}` | Skip confirmations |
|
|
89
|
+
| `{files_found}` | List of relevant files from step 1 |
|
|
90
|
+
| `{patterns}` | Patterns identified in step 1 |
|
|
91
|
+
</available_state>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## State Handoff Patterns
|
|
97
|
+
|
|
98
|
+
### Pattern 1: Simple Handoff
|
|
99
|
+
|
|
100
|
+
Step 1 produces → Step 2 consumes:
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
<!-- Step 1 output -->
|
|
104
|
+
<produces>
|
|
105
|
+
| Variable | Description |
|
|
106
|
+
|----------|-------------|
|
|
107
|
+
| `{files_found}` | Files related to task |
|
|
108
|
+
| `{patterns}` | Patterns in codebase |
|
|
109
|
+
</produces>
|
|
110
|
+
|
|
111
|
+
<!-- Step 2 input -->
|
|
112
|
+
<available_state>
|
|
113
|
+
From step-01-analyze:
|
|
114
|
+
|
|
115
|
+
| Variable | Description |
|
|
116
|
+
|----------|-------------|
|
|
117
|
+
| `{files_found}` | Files related to task |
|
|
118
|
+
| `{patterns}` | Patterns in codebase |
|
|
119
|
+
</available_state>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Pattern 2: Accumulated State
|
|
123
|
+
|
|
124
|
+
Each step adds to growing state:
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
<!-- Step 1 -->
|
|
128
|
+
Adds: {files_found}, {patterns}
|
|
129
|
+
|
|
130
|
+
<!-- Step 2 -->
|
|
131
|
+
Receives: {files_found}, {patterns}
|
|
132
|
+
Adds: {plan_items}
|
|
133
|
+
|
|
134
|
+
<!-- Step 3 -->
|
|
135
|
+
Receives: {files_found}, {patterns}, {plan_items}
|
|
136
|
+
Adds: {completed_tasks}
|
|
137
|
+
|
|
138
|
+
<!-- Step 4 -->
|
|
139
|
+
Receives: ALL of the above
|
|
140
|
+
Adds: {validation_results}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Pattern 3: Conditional State
|
|
144
|
+
|
|
145
|
+
State that only exists if certain flags are set:
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
<available_state>
|
|
149
|
+
From previous step:
|
|
150
|
+
|
|
151
|
+
**Always present:**
|
|
152
|
+
| `{task_description}` | What to implement |
|
|
153
|
+
| `{task_id}` | Unique identifier |
|
|
154
|
+
|
|
155
|
+
**If `{save_mode}` = true:**
|
|
156
|
+
| `{output_dir}` | Path to output folder |
|
|
157
|
+
|
|
158
|
+
**If `{test_mode}` = true:**
|
|
159
|
+
| `{test_results}` | Results from test runs |
|
|
160
|
+
</available_state>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Persisting State to Files
|
|
166
|
+
|
|
167
|
+
When `save_mode` is true, persist state to files:
|
|
168
|
+
|
|
169
|
+
### 00-context.md Structure
|
|
170
|
+
|
|
171
|
+
```markdown
|
|
172
|
+
# Task: {task_id}
|
|
173
|
+
|
|
174
|
+
**Created:** {timestamp}
|
|
175
|
+
**Task:** {task_description}
|
|
176
|
+
|
|
177
|
+
## Configuration
|
|
178
|
+
| Flag | Value |
|
|
179
|
+
|------|-------|
|
|
180
|
+
| auto_mode | {value} |
|
|
181
|
+
| save_mode | {value} |
|
|
182
|
+
| test_mode | {value} |
|
|
183
|
+
|
|
184
|
+
## Progress
|
|
185
|
+
| Step | Status | Timestamp |
|
|
186
|
+
|------|--------|-----------|
|
|
187
|
+
| 00-init | ✓ | {timestamp} |
|
|
188
|
+
| 01-analyze | ✓ | {timestamp} |
|
|
189
|
+
| 02-plan | ⏳ | {timestamp} |
|
|
190
|
+
|
|
191
|
+
## Accumulated State
|
|
192
|
+
```yaml
|
|
193
|
+
files_found:
|
|
194
|
+
- src/auth/login.ts
|
|
195
|
+
- src/api/auth/route.ts
|
|
196
|
+
|
|
197
|
+
patterns:
|
|
198
|
+
- name: "Route pattern"
|
|
199
|
+
example: "src/api/users/route.ts"
|
|
200
|
+
```
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Reading State for Resume
|
|
204
|
+
|
|
205
|
+
```markdown
|
|
206
|
+
<check_resume>
|
|
207
|
+
**If resuming:**
|
|
208
|
+
|
|
209
|
+
1. Read `00-context.md`
|
|
210
|
+
2. Parse configuration section → restore flags
|
|
211
|
+
3. Parse progress table → find last completed step
|
|
212
|
+
4. Parse accumulated state → restore variables
|
|
213
|
+
5. Load next incomplete step
|
|
214
|
+
</check_resume>
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## State Validation
|
|
220
|
+
|
|
221
|
+
Before using state, validate it exists:
|
|
222
|
+
|
|
223
|
+
```markdown
|
|
224
|
+
**Validate required state:**
|
|
225
|
+
|
|
226
|
+
IF {files_found} is empty:
|
|
227
|
+
→ Error: "Step 1 did not find any files. Cannot proceed."
|
|
228
|
+
→ Offer to re-run step 1
|
|
229
|
+
|
|
230
|
+
IF {plan_items} is empty:
|
|
231
|
+
→ Error: "No plan created. Cannot execute."
|
|
232
|
+
→ Return to step 2
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Anti-Patterns
|
|
238
|
+
|
|
239
|
+
❌ **Assuming state exists without checking**
|
|
240
|
+
```
|
|
241
|
+
# Bad: Will fail if files_found is undefined
|
|
242
|
+
For each file in {files_found}...
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
✅ **Always validate**
|
|
246
|
+
```
|
|
247
|
+
IF {files_found} exists AND length > 0:
|
|
248
|
+
For each file in {files_found}...
|
|
249
|
+
ELSE:
|
|
250
|
+
Handle missing state
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
❌ **Overwriting accumulated state**
|
|
254
|
+
```
|
|
255
|
+
# Bad: Loses previous step's results
|
|
256
|
+
{results} = step_3_results
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
✅ **Append to accumulated state**
|
|
260
|
+
```
|
|
261
|
+
# Good: Preserves previous results
|
|
262
|
+
{results}.step_3 = step_3_results
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
❌ **Hardcoding paths**
|
|
266
|
+
```
|
|
267
|
+
# Bad: Won't work in different projects
|
|
268
|
+
output_dir = "/Users/me/.claude/output/"
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
✅ **Use variables**
|
|
272
|
+
```
|
|
273
|
+
# Good: Works anywhere
|
|
274
|
+
output_dir = {project_root}/.claude/output/{workflow}/{task_id}/
|
|
275
|
+
```
|