prizmkit 1.1.100 → 1.1.102
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/bin/create-prizmkit.js +4 -4
- package/bundled/VERSION.json +3 -3
- package/bundled/dev-pipeline/.env.example +3 -3
- package/bundled/dev-pipeline/README.md +110 -90
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +1 -1
- package/bundled/dev-pipeline/cli.py +27 -0
- package/bundled/dev-pipeline/prizmkit_runtime/__init__.py +13 -0
- package/bundled/dev-pipeline/prizmkit_runtime/__main__.py +9 -0
- package/bundled/dev-pipeline/prizmkit_runtime/cli.py +193 -0
- package/bundled/dev-pipeline/prizmkit_runtime/commands.py +313 -0
- package/bundled/dev-pipeline/prizmkit_runtime/compat.py +32 -0
- package/bundled/dev-pipeline/prizmkit_runtime/config.py +410 -0
- package/bundled/dev-pipeline/prizmkit_runtime/daemon.py +478 -0
- package/bundled/dev-pipeline/prizmkit_runtime/gitops.py +734 -0
- package/bundled/dev-pipeline/prizmkit_runtime/heartbeat.py +256 -0
- package/bundled/dev-pipeline/prizmkit_runtime/interoperability.py +109 -0
- package/bundled/dev-pipeline/prizmkit_runtime/paths.py +110 -0
- package/bundled/dev-pipeline/prizmkit_runtime/processes.py +373 -0
- package/bundled/dev-pipeline/prizmkit_runtime/reset.py +389 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_bookkeeping.py +51 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_classification.py +179 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_models.py +355 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_prompts.py +118 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_recovery.py +187 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_status.py +153 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runners.py +425 -0
- package/bundled/dev-pipeline/prizmkit_runtime/sessions.py +560 -0
- package/bundled/dev-pipeline/prizmkit_runtime/status.py +71 -0
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +51 -36
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +20 -5
- package/bundled/dev-pipeline/scripts/generate-recovery-prompt.py +2 -2
- package/bundled/dev-pipeline/scripts/parse-stream-progress.py +39 -0
- package/bundled/dev-pipeline/templates/agent-prompts/dev-implement.md +8 -2
- package/bundled/dev-pipeline/templates/agent-prompts/reviewer-review.md +1 -1
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +6 -2
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +14 -6
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +14 -4
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +14 -4
- package/bundled/dev-pipeline/templates/sections/context-budget-rules.md +2 -0
- package/bundled/dev-pipeline/templates/sections/log-size-awareness.md +9 -30
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +15 -7
- package/bundled/dev-pipeline/templates/sections/phase-implement-agent.md +42 -29
- package/bundled/dev-pipeline/templates/sections/phase-implement-full.md +41 -39
- package/bundled/dev-pipeline/templates/sections/phase-implement-lite.md +8 -17
- package/bundled/dev-pipeline/templates/sections/phase-prizmkit-test.md +2 -2
- package/bundled/dev-pipeline/templates/sections/phase-review-agent.md +1 -3
- package/bundled/dev-pipeline/templates/sections/phase-review-full.md +1 -3
- package/bundled/dev-pipeline/templates/sections/phase0-test-baseline.md +3 -8
- package/bundled/dev-pipeline/templates/sections/test-failure-recovery-agent.md +6 -2
- package/bundled/dev-pipeline/templates/sections/test-failure-recovery-lite.md +5 -1
- package/bundled/dev-pipeline/tests/test_auto_skip.py +436 -14
- package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +115 -7
- package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +40 -0
- package/bundled/dev-pipeline/tests/test_python_runner_parity.py +1226 -0
- package/bundled/dev-pipeline/tests/test_unified_cli.py +1045 -0
- package/bundled/skills/_metadata.json +1 -1
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +29 -34
- package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +6 -5
- package/bundled/skills/feature-pipeline-launcher/SKILL.md +29 -35
- package/bundled/skills/feature-pipeline-launcher/references/configuration.md +7 -6
- package/bundled/skills/feature-workflow/SKILL.md +3 -6
- package/bundled/skills/recovery-workflow/SKILL.md +23 -32
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +29 -35
- package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +7 -6
- package/bundled/skills/refactor-workflow/SKILL.md +3 -6
- package/bundled/templates/hooks/commit-intent.json +2 -2
- package/bundled/templates/hooks/diff-prizm-docs.py +226 -0
- package/bundled/templates/hooks/prizm-pre-commit.py +45 -0
- package/bundled/templates/hooks/validate-prizm-docs.py +240 -0
- package/package.json +1 -1
- package/src/config.js +42 -19
- package/src/external-skills.js +14 -14
- package/src/index.js +3 -6
- package/src/manifest.js +11 -5
- package/src/metadata.js +7 -18
- package/src/platforms.js +25 -0
- package/src/prompts.js +0 -12
- package/src/runtimes.js +18 -11
- package/src/scaffold.js +144 -122
- package/src/upgrade.js +12 -3
- package/bundled/dev-pipeline/launch-bugfix-daemon.sh +0 -500
- package/bundled/dev-pipeline/launch-feature-daemon.sh +0 -657
- package/bundled/dev-pipeline/launch-refactor-daemon.sh +0 -502
- package/bundled/dev-pipeline/lib/branch.sh +0 -326
- package/bundled/dev-pipeline/lib/common.sh +0 -1476
- package/bundled/dev-pipeline/lib/heartbeat.sh +0 -469
- package/bundled/dev-pipeline/reset-bug.sh +0 -425
- package/bundled/dev-pipeline/reset-feature.sh +0 -436
- package/bundled/dev-pipeline/reset-refactor.sh +0 -423
- package/bundled/dev-pipeline/run-bugfix.sh +0 -1430
- package/bundled/dev-pipeline/run-feature.sh +0 -1718
- package/bundled/dev-pipeline/run-recovery.sh +0 -648
- package/bundled/dev-pipeline/run-refactor.sh +0 -1463
- package/bundled/dev-pipeline/tests/test-path-resolution.sh +0 -100
- package/bundled/dev-pipeline-windows/.env.example +0 -36
- package/bundled/dev-pipeline-windows/README.md +0 -30
- package/bundled/dev-pipeline-windows/SCHEMA_ANALYSIS.md +0 -533
- package/bundled/dev-pipeline-windows/assets/feature-list-example.json +0 -146
- package/bundled/dev-pipeline-windows/assets/prizm-dev-team-integration.md +0 -137
- package/bundled/dev-pipeline-windows/launch-bugfix-daemon.ps1 +0 -9
- package/bundled/dev-pipeline-windows/launch-feature-daemon.ps1 +0 -9
- package/bundled/dev-pipeline-windows/launch-refactor-daemon.ps1 +0 -9
- package/bundled/dev-pipeline-windows/lib/branch.ps1 +0 -235
- package/bundled/dev-pipeline-windows/lib/common.ps1 +0 -991
- package/bundled/dev-pipeline-windows/lib/daemon.ps1 +0 -140
- package/bundled/dev-pipeline-windows/lib/pipeline.ps1 +0 -1051
- package/bundled/dev-pipeline-windows/lib/reset.ps1 +0 -121
- package/bundled/dev-pipeline-windows/reset-bug.ps1 +0 -10
- package/bundled/dev-pipeline-windows/reset-feature.ps1 +0 -10
- package/bundled/dev-pipeline-windows/reset-refactor.ps1 +0 -10
- package/bundled/dev-pipeline-windows/run-bugfix.ps1 +0 -9
- package/bundled/dev-pipeline-windows/run-feature.ps1 +0 -9
- package/bundled/dev-pipeline-windows/run-recovery.ps1 +0 -179
- package/bundled/dev-pipeline-windows/run-refactor.ps1 +0 -9
- package/bundled/dev-pipeline-windows/scripts/check-session-status.py +0 -301
- package/bundled/dev-pipeline-windows/scripts/continuation.py +0 -374
- package/bundled/dev-pipeline-windows/scripts/detect-stuck.py +0 -530
- package/bundled/dev-pipeline-windows/scripts/generate-bootstrap-prompt.py +0 -2279
- package/bundled/dev-pipeline-windows/scripts/generate-bugfix-prompt.py +0 -763
- package/bundled/dev-pipeline-windows/scripts/generate-recovery-prompt.py +0 -805
- package/bundled/dev-pipeline-windows/scripts/generate-refactor-prompt.py +0 -841
- package/bundled/dev-pipeline-windows/scripts/init-bugfix-pipeline.py +0 -316
- package/bundled/dev-pipeline-windows/scripts/init-dev-team.py +0 -134
- package/bundled/dev-pipeline-windows/scripts/init-pipeline.py +0 -382
- package/bundled/dev-pipeline-windows/scripts/init-refactor-pipeline.py +0 -399
- package/bundled/dev-pipeline-windows/scripts/parse-stream-progress.py +0 -1362
- package/bundled/dev-pipeline-windows/scripts/patch-completion-notes.py +0 -191
- package/bundled/dev-pipeline-windows/scripts/prizmkit-test-gate.py +0 -446
- package/bundled/dev-pipeline-windows/scripts/update-bug-status.py +0 -1121
- package/bundled/dev-pipeline-windows/scripts/update-checkpoint.py +0 -173
- package/bundled/dev-pipeline-windows/scripts/update-feature-status.py +0 -1789
- package/bundled/dev-pipeline-windows/scripts/update-refactor-status.py +0 -1327
- package/bundled/dev-pipeline-windows/scripts/utils.py +0 -542
- package/bundled/dev-pipeline-windows/templates/agent-prompts/critic-plan-challenge.md +0 -7
- package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-fix.md +0 -7
- package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-implement.md +0 -65
- package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-resume.md +0 -5
- package/bundled/dev-pipeline-windows/templates/agent-prompts/reviewer-review.md +0 -7
- package/bundled/dev-pipeline-windows/templates/bootstrap-prompt.md +0 -73
- package/bundled/dev-pipeline-windows/templates/bootstrap-tier1.md +0 -589
- package/bundled/dev-pipeline-windows/templates/bootstrap-tier2.md +0 -710
- package/bundled/dev-pipeline-windows/templates/bootstrap-tier3.md +0 -791
- package/bundled/dev-pipeline-windows/templates/bug-fix-list-schema.json +0 -263
- package/bundled/dev-pipeline-windows/templates/bugfix-bootstrap-prompt.md +0 -326
- package/bundled/dev-pipeline-windows/templates/feature-list-schema.json +0 -237
- package/bundled/dev-pipeline-windows/templates/refactor-bootstrap-prompt.md +0 -340
- package/bundled/dev-pipeline-windows/templates/refactor-list-schema.json +0 -270
- package/bundled/dev-pipeline-windows/templates/sections/ac-verification-checklist.md +0 -7
- package/bundled/dev-pipeline-windows/templates/sections/checkpoint-system.md +0 -91
- package/bundled/dev-pipeline-windows/templates/sections/context-budget-rules.md +0 -34
- package/bundled/dev-pipeline-windows/templates/sections/critical-paths-agent.md +0 -10
- package/bundled/dev-pipeline-windows/templates/sections/critical-paths-full.md +0 -12
- package/bundled/dev-pipeline-windows/templates/sections/critical-paths-lite.md +0 -7
- package/bundled/dev-pipeline-windows/templates/sections/directory-convention-agent.md +0 -8
- package/bundled/dev-pipeline-windows/templates/sections/directory-convention-full.md +0 -9
- package/bundled/dev-pipeline-windows/templates/sections/directory-convention-lite.md +0 -6
- package/bundled/dev-pipeline-windows/templates/sections/failure-capture.md +0 -21
- package/bundled/dev-pipeline-windows/templates/sections/feature-context.md +0 -21
- package/bundled/dev-pipeline-windows/templates/sections/log-size-awareness.md +0 -41
- package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-auto.md +0 -283
- package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-opencli.md +0 -112
- package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification.md +0 -168
- package/bundled/dev-pipeline-windows/templates/sections/phase-commit-full.md +0 -82
- package/bundled/dev-pipeline-windows/templates/sections/phase-commit.md +0 -75
- package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-agent-suffix.md +0 -23
- package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-base.md +0 -14
- package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-lite-suffix.md +0 -19
- package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan-full.md +0 -63
- package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan.md +0 -42
- package/bundled/dev-pipeline-windows/templates/sections/phase-implement-agent.md +0 -44
- package/bundled/dev-pipeline-windows/templates/sections/phase-implement-full.md +0 -59
- package/bundled/dev-pipeline-windows/templates/sections/phase-implement-lite.md +0 -39
- package/bundled/dev-pipeline-windows/templates/sections/phase-plan-agent.md +0 -27
- package/bundled/dev-pipeline-windows/templates/sections/phase-plan-lite.md +0 -27
- package/bundled/dev-pipeline-windows/templates/sections/phase-prizmkit-test.md +0 -39
- package/bundled/dev-pipeline-windows/templates/sections/phase-review-agent.md +0 -35
- package/bundled/dev-pipeline-windows/templates/sections/phase-review-full.md +0 -35
- package/bundled/dev-pipeline-windows/templates/sections/phase-specify-plan-full.md +0 -73
- package/bundled/dev-pipeline-windows/templates/sections/phase0-init.md +0 -13
- package/bundled/dev-pipeline-windows/templates/sections/phase0-test-baseline.md +0 -21
- package/bundled/dev-pipeline-windows/templates/sections/session-context.md +0 -5
- package/bundled/dev-pipeline-windows/templates/sections/subagent-timeout-recovery.md +0 -6
- package/bundled/dev-pipeline-windows/templates/sections/task-contract.md +0 -34
- package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-agent.md +0 -48
- package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-lite.md +0 -48
- package/bundled/dev-pipeline-windows/templates/session-status-schema.json +0 -83
- package/bundled/skills-windows/app-planner/SKILL.md +0 -296
- package/bundled/skills-windows/app-planner/assets/app-design-guide.md +0 -101
- package/bundled/skills-windows/app-planner/references/architecture-decisions.md +0 -52
- package/bundled/skills-windows/app-planner/references/brainstorm-guide.md +0 -101
- package/bundled/skills-windows/app-planner/references/frontend-design-guide.md +0 -71
- package/bundled/skills-windows/app-planner/references/infrastructure-convention-discovery.md +0 -108
- package/bundled/skills-windows/app-planner/references/project-brief-guide.md +0 -82
- package/bundled/skills-windows/app-planner/references/project-conventions-discovery.md +0 -59
- package/bundled/skills-windows/app-planner/references/project-state-detection.md +0 -90
- package/bundled/skills-windows/app-planner/references/red-team-checklist.md +0 -40
- package/bundled/skills-windows/app-planner/references/rules/backend/derivation-rules.md +0 -619
- package/bundled/skills-windows/app-planner/references/rules/backend/fixed-rules.md +0 -285
- package/bundled/skills-windows/app-planner/references/rules/backend/question-bank.md +0 -249
- package/bundled/skills-windows/app-planner/references/rules/backend/question-manifest.json +0 -46
- package/bundled/skills-windows/app-planner/references/rules/backend/template.md +0 -173
- package/bundled/skills-windows/app-planner/references/rules/database/derivation-rules.md +0 -382
- package/bundled/skills-windows/app-planner/references/rules/database/fixed-rules.md +0 -211
- package/bundled/skills-windows/app-planner/references/rules/database/question-bank.md +0 -184
- package/bundled/skills-windows/app-planner/references/rules/database/question-manifest.json +0 -39
- package/bundled/skills-windows/app-planner/references/rules/database/template.md +0 -158
- package/bundled/skills-windows/app-planner/references/rules/frontend/derivation-rules.md +0 -820
- package/bundled/skills-windows/app-planner/references/rules/frontend/fixed-rules.md +0 -188
- package/bundled/skills-windows/app-planner/references/rules/frontend/question-bank.md +0 -319
- package/bundled/skills-windows/app-planner/references/rules/frontend/question-manifest.json +0 -51
- package/bundled/skills-windows/app-planner/references/rules/frontend/template.md +0 -339
- package/bundled/skills-windows/app-planner/references/rules/mobile/derivation-rules.md +0 -649
- package/bundled/skills-windows/app-planner/references/rules/mobile/fixed-rules.md +0 -290
- package/bundled/skills-windows/app-planner/references/rules/mobile/question-bank.md +0 -232
- package/bundled/skills-windows/app-planner/references/rules/mobile/question-manifest.json +0 -47
- package/bundled/skills-windows/app-planner/references/rules/mobile/template.md +0 -175
- package/bundled/skills-windows/app-planner/references/rules-configuration.md +0 -46
- package/bundled/skills-windows/bug-fix-workflow/SKILL.md +0 -379
- package/bundled/skills-windows/bug-fix-workflow/references/bug-diagnosis.md +0 -41
- package/bundled/skills-windows/bug-planner/SKILL.md +0 -402
- package/bundled/skills-windows/bug-planner/assets/bug-confirmation-template.md +0 -43
- package/bundled/skills-windows/bug-planner/references/critic-and-verification.md +0 -44
- package/bundled/skills-windows/bug-planner/references/error-recovery.md +0 -73
- package/bundled/skills-windows/bug-planner/references/input-formats.md +0 -53
- package/bundled/skills-windows/bug-planner/references/schema-validation.md +0 -25
- package/bundled/skills-windows/bug-planner/references/severity-rules.md +0 -16
- package/bundled/skills-windows/bug-planner/scripts/validate-bug-list.py +0 -322
- package/bundled/skills-windows/bugfix-pipeline-launcher/SKILL.md +0 -304
- package/bundled/skills-windows/bugfix-pipeline-launcher/references/configuration.md +0 -84
- package/bundled/skills-windows/feature-pipeline-launcher/SKILL.md +0 -381
- package/bundled/skills-windows/feature-pipeline-launcher/references/configuration.md +0 -67
- package/bundled/skills-windows/feature-pipeline-launcher/scripts/preflight-check.py +0 -462
- package/bundled/skills-windows/feature-planner/SKILL.md +0 -397
- package/bundled/skills-windows/feature-planner/assets/evaluation-guide.md +0 -64
- package/bundled/skills-windows/feature-planner/assets/planning-guide.md +0 -214
- package/bundled/skills-windows/feature-planner/references/browser-interaction.md +0 -59
- package/bundled/skills-windows/feature-planner/references/completeness-review.md +0 -57
- package/bundled/skills-windows/feature-planner/references/decomposition-patterns.md +0 -75
- package/bundled/skills-windows/feature-planner/references/error-recovery.md +0 -90
- package/bundled/skills-windows/feature-planner/references/incremental-feature-planning.md +0 -112
- package/bundled/skills-windows/feature-planner/references/new-project-planning.md +0 -85
- package/bundled/skills-windows/feature-planner/scripts/validate-and-generate.py +0 -1020
- package/bundled/skills-windows/feature-workflow/SKILL.md +0 -374
- package/bundled/skills-windows/feature-workflow/references/brainstorm-guide.md +0 -137
- package/bundled/skills-windows/prizm-kit/SKILL.md +0 -93
- package/bundled/skills-windows/prizmkit-code-review/SKILL.md +0 -161
- package/bundled/skills-windows/prizmkit-code-review/references/dev-agent-prompt.md +0 -30
- package/bundled/skills-windows/prizmkit-code-review/references/review-report-template.md +0 -31
- package/bundled/skills-windows/prizmkit-code-review/references/reviewer-agent-prompt.md +0 -66
- package/bundled/skills-windows/prizmkit-code-review/scripts/check_loop.py +0 -186
- package/bundled/skills-windows/prizmkit-committer/SKILL.md +0 -89
- package/bundled/skills-windows/prizmkit-deploy/SKILL.md +0 -444
- package/bundled/skills-windows/prizmkit-deploy/references/ci-cd-workflows.md +0 -115
- package/bundled/skills-windows/prizmkit-deploy/references/cloud-platform-deploy.md +0 -93
- package/bundled/skills-windows/prizmkit-deploy/references/data-safety-examples.md +0 -120
- package/bundled/skills-windows/prizmkit-deploy/references/database-setup.md +0 -46
- package/bundled/skills-windows/prizmkit-deploy/references/deploy-config-schema.md +0 -148
- package/bundled/skills-windows/prizmkit-deploy/references/deploy-history-schema.md +0 -62
- package/bundled/skills-windows/prizmkit-deploy/references/deployment-modes.md +0 -50
- package/bundled/skills-windows/prizmkit-deploy/references/direct-upload.md +0 -26
- package/bundled/skills-windows/prizmkit-deploy/references/dns-setup.md +0 -42
- package/bundled/skills-windows/prizmkit-deploy/references/docker-deploy.md +0 -31
- package/bundled/skills-windows/prizmkit-deploy/references/firewall-setup.md +0 -37
- package/bundled/skills-windows/prizmkit-deploy/references/live-validation-notes.md +0 -21
- package/bundled/skills-windows/prizmkit-deploy/references/nginx-blue-green.md +0 -59
- package/bundled/skills-windows/prizmkit-deploy/references/ssh-bootstrap-flow.md +0 -49
- package/bundled/skills-windows/prizmkit-deploy/references/ssh-execution-flow.md +0 -41
- package/bundled/skills-windows/prizmkit-deploy/references/ssh-takeover.md +0 -20
- package/bundled/skills-windows/prizmkit-deploy/references/ssl-setup.md +0 -56
- package/bundled/skills-windows/prizmkit-implement/SKILL.md +0 -71
- package/bundled/skills-windows/prizmkit-init/SKILL.md +0 -356
- package/bundled/skills-windows/prizmkit-init/assets/project-brief-template.md +0 -82
- package/bundled/skills-windows/prizmkit-init/references/config-schema.md +0 -70
- package/bundled/skills-windows/prizmkit-init/references/rules/layer-detection.md +0 -41
- package/bundled/skills-windows/prizmkit-init/references/tech-stack-catalog.md +0 -13
- package/bundled/skills-windows/prizmkit-init/references/update-supplement.md +0 -9
- package/bundled/skills-windows/prizmkit-plan/SKILL.md +0 -102
- package/bundled/skills-windows/prizmkit-plan/assets/plan-template.md +0 -115
- package/bundled/skills-windows/prizmkit-plan/assets/spec-template.md +0 -73
- package/bundled/skills-windows/prizmkit-plan/references/clarify-guide.md +0 -67
- package/bundled/skills-windows/prizmkit-plan/references/examples.md +0 -85
- package/bundled/skills-windows/prizmkit-plan/references/verification-checklist.md +0 -60
- package/bundled/skills-windows/prizmkit-prizm-docs/SKILL.md +0 -129
- package/bundled/skills-windows/prizmkit-prizm-docs/assets/prizm-docs-format.md +0 -613
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-init.md +0 -45
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-rebuild.md +0 -15
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-status.md +0 -14
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-update.md +0 -19
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-validate.md +0 -17
- package/bundled/skills-windows/prizmkit-retrospective/SKILL.md +0 -87
- package/bundled/skills-windows/prizmkit-retrospective/references/knowledge-injection-steps.md +0 -50
- package/bundled/skills-windows/prizmkit-retrospective/references/structural-sync-steps.md +0 -43
- package/bundled/skills-windows/prizmkit-test/SKILL.md +0 -227
- package/bundled/skills-windows/prizmkit-test/references/boundary-coverage-protocol.md +0 -220
- package/bundled/skills-windows/prizmkit-test/references/examples.md +0 -143
- package/bundled/skills-windows/prizmkit-test/references/service-boundary-test-catalog.md +0 -225
- package/bundled/skills-windows/prizmkit-test/references/test-generation-steps.md +0 -109
- package/bundled/skills-windows/prizmkit-test/references/test-report-template.md +0 -111
- package/bundled/skills-windows/prizmkit-test/scripts/validate_boundary_report.py +0 -347
- package/bundled/skills-windows/recovery-workflow/SKILL.md +0 -355
- package/bundled/skills-windows/recovery-workflow/evals/evals.json +0 -46
- package/bundled/skills-windows/recovery-workflow/references/detection.md +0 -58
- package/bundled/skills-windows/recovery-workflow/scripts/detect-recovery-state.py +0 -544
- package/bundled/skills-windows/refactor-pipeline-launcher/SKILL.md +0 -346
- package/bundled/skills-windows/refactor-pipeline-launcher/references/configuration.md +0 -72
- package/bundled/skills-windows/refactor-planner/SKILL.md +0 -398
- package/bundled/skills-windows/refactor-planner/assets/planning-guide.md +0 -292
- package/bundled/skills-windows/refactor-planner/references/behavior-preservation.md +0 -301
- package/bundled/skills-windows/refactor-planner/references/fast-path.md +0 -59
- package/bundled/skills-windows/refactor-planner/references/planning-phases.md +0 -135
- package/bundled/skills-windows/refactor-planner/references/refactor-scoping-guide.md +0 -221
- package/bundled/skills-windows/refactor-planner/scripts/validate-and-generate-refactor.py +0 -858
- package/bundled/skills-windows/refactor-workflow/SKILL.md +0 -343
- package/bundled/skills-windows/refactor-workflow/references/brainstorm-guide.md +0 -116
- package/bundled/templates/hooks/diff-prizm-docs.sh +0 -158
- package/bundled/templates/hooks/prizm-pre-commit.sh +0 -108
- package/bundled/templates/hooks/validate-prizm-docs.sh +0 -139
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# Project Brief Template
|
|
2
|
-
|
|
3
|
-
> Capture the user's key product ideas as a simple checklist. Each line is one idea. This file is referenced by `root.prizm` (`PROJECT_BRIEF:`) so every new AI session automatically knows the project's goals.
|
|
4
|
-
|
|
5
|
-
## File Location
|
|
6
|
-
|
|
7
|
-
`.prizmkit/plans/project-brief.md`
|
|
8
|
-
|
|
9
|
-
## Format
|
|
10
|
-
|
|
11
|
-
```markdown
|
|
12
|
-
# Project Brief
|
|
13
|
-
|
|
14
|
-
[ ] Core product idea or constraint
|
|
15
|
-
[ ] Another product idea
|
|
16
|
-
[ ] Third idea — one sentence, no sub-bullets
|
|
17
|
-
[x] Already implemented feature -> src/feature/, src/utils/helper.ts
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Rules
|
|
21
|
-
|
|
22
|
-
1. **First line**: `# Project Brief`
|
|
23
|
-
2. **Remaining lines**: One idea per line, prefixed with `[ ]` (pending) or `[x]` (done)
|
|
24
|
-
3. Each line is **one sentence** — no paragraphs, no sub-bullets, no grouping headers
|
|
25
|
-
4. Language: match the user's language (Chinese or English)
|
|
26
|
-
5. **Size limit**: 500 words max (this file is injected into every session's context window)
|
|
27
|
-
6. **Completion marking** (mandatory): When a brief item is implemented:
|
|
28
|
-
- Change `[ ]` to `[x]`
|
|
29
|
-
- Append `->` followed by the **key file or directory paths** that implement it
|
|
30
|
-
- List the most important 1-3 paths only (entry point, core module, or directory) — not every touched file
|
|
31
|
-
- Example: `[x] User authentication with OAuth -> src/auth/, src/middleware/auth.ts`
|
|
32
|
-
- This lets future AI sessions instantly locate the implementation without re-scanning
|
|
33
|
-
|
|
34
|
-
## Brownfield Init
|
|
35
|
-
|
|
36
|
-
When initializing an existing project, AI infers the brief from:
|
|
37
|
-
- Generated `root.prizm` (tech stack, module structure)
|
|
38
|
-
- `README.md` (if exists)
|
|
39
|
-
- Package metadata (`package.json` description, `pyproject.toml`, etc.)
|
|
40
|
-
|
|
41
|
-
Then presents the draft to the user for confirmation and editing.
|
|
42
|
-
|
|
43
|
-
## Greenfield Init
|
|
44
|
-
|
|
45
|
-
When initializing a new/empty project, use **progressive questioning** to fully understand the user's intent before generating the brief. Do NOT dump all questions at once — ask in rounds, adapting based on answers.
|
|
46
|
-
|
|
47
|
-
### Round 1: Problem & Vision (required)
|
|
48
|
-
- What problem does this project solve? (or: what's the core idea?)
|
|
49
|
-
- Who is the target user / audience?
|
|
50
|
-
|
|
51
|
-
### Round 2: Scope & Features (required)
|
|
52
|
-
- What are the 3-5 core features or capabilities? (ask user to list them)
|
|
53
|
-
- What is the MVP scope? (what's the minimum version that delivers value?)
|
|
54
|
-
- Are there any explicit non-goals? (things this project deliberately does NOT do)
|
|
55
|
-
|
|
56
|
-
### Round 3: Technical Constraints (if user has preferences)
|
|
57
|
-
- Any preferred tech stack / language / framework?
|
|
58
|
-
- Any integration requirements? (third-party APIs, databases, auth providers)
|
|
59
|
-
- Deployment target? (web app, mobile, CLI, library, self-hosted, cloud)
|
|
60
|
-
|
|
61
|
-
### Round 4: Clarification (adaptive — only if gaps remain)
|
|
62
|
-
If previous answers are vague or incomplete, probe deeper:
|
|
63
|
-
- "You mentioned X — can you give a concrete example of how a user would use it?"
|
|
64
|
-
- "Are there existing tools that do something similar? How is yours different?"
|
|
65
|
-
- "What does success look like for V1?"
|
|
66
|
-
|
|
67
|
-
### Completion Criteria
|
|
68
|
-
Stop asking when ALL of these are clear:
|
|
69
|
-
1. **Problem** — what pain point or opportunity this addresses
|
|
70
|
-
2. **Users** — who will use it and in what context
|
|
71
|
-
3. **Core features** — at least 3 concrete capabilities (not vague aspirations)
|
|
72
|
-
4. **Boundaries** — what's in scope vs. out of scope for V1
|
|
73
|
-
5. **Technical direction** — enough to populate `config.json` tech_stack (or explicitly deferred)
|
|
74
|
-
|
|
75
|
-
If the user gives short/vague answers, don't accept them — rephrase and ask again. A weak brief leads to weak specs downstream.
|
|
76
|
-
|
|
77
|
-
### Generate & Confirm
|
|
78
|
-
Once all criteria are met:
|
|
79
|
-
1. Generate brief in checklist format (see Format section above)
|
|
80
|
-
2. Present to user with: "Here's what I captured — anything to add, remove, or change?"
|
|
81
|
-
3. Apply edits and write to `.prizmkit/plans/project-brief.md`
|
|
82
|
-
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# config.json Schema — Tech Stack Fields
|
|
2
|
-
|
|
3
|
-
## Merge Strategy
|
|
4
|
-
|
|
5
|
-
Handles re-init without losing user edits:
|
|
6
|
-
|
|
7
|
-
- Read existing `config.json` if present
|
|
8
|
-
- If `tech_stack` field exists AND `_auto_detected` is `false` or absent:
|
|
9
|
-
→ **SKIP** — user has manually configured tech stack, preserve their settings
|
|
10
|
-
- Always update `detected_layers` with new layer detection results on every init run — layer detection is based on code that exists, not user preference. This ensures greenfield projects that later gain code get their `detected_layers` populated correctly. Note: the final value written is still determined by Phase 6c (e.g., if user chose "Skip entirely" in Phase 4.7, Phase 6c writes `[]` regardless of detection results).
|
|
11
|
-
- If `tech_stack` field exists AND `_auto_detected` is `true`:
|
|
12
|
-
→ **MERGE** — overwrite auto-detected values with new detection results, but preserve any keys the user added manually (keys not in the new detection result). Overwrite `detected_layers` with new layer detection results.
|
|
13
|
-
- If `tech_stack` field does NOT exist:
|
|
14
|
-
→ **WRITE** full detected tech stack with `"_auto_detected": true`, and write `detected_layers` from layer detection
|
|
15
|
-
- Only include fields that were actually detected (no empty/null values)
|
|
16
|
-
|
|
17
|
-
## Field Definitions
|
|
18
|
-
|
|
19
|
-
| Field | Type | Description |
|
|
20
|
-
|-------|------|-------------|
|
|
21
|
-
| `adoption_mode` | string | `"passive"` \| `"advisory"` \| `"active"` |
|
|
22
|
-
| `platform` | string | `"codebuddy"` \| `"claude"` \| `"codex"` \| `"all"` |
|
|
23
|
-
| `tech_stack` | object | Detected or user-provided tech stack |
|
|
24
|
-
| `tech_stack._auto_detected` | boolean | `true` if auto-detected, `false` if user-provided |
|
|
25
|
-
| `detected_layers` | string[] | Development layers detected in the project. Written by prizmkit-init Phase 4.5. Used to determine available rule configuration options. Values: `frontend` / `backend` / `database` / `mobile`. Empty array when no layers detected or user skipped rules. Always updated on every init run based on fresh code detection — not gated by `_auto_detected` (see Merge Strategy above). |
|
|
26
|
-
|
|
27
|
-
Legacy manifests may still contain `both` for read-only migration compatibility. New config writes must use `codebuddy`, `claude`, `codex`, or `all`.
|
|
28
|
-
|
|
29
|
-
## Examples
|
|
30
|
-
|
|
31
|
-
Fullstack project:
|
|
32
|
-
```json
|
|
33
|
-
{
|
|
34
|
-
"adoption_mode": "passive",
|
|
35
|
-
"platform": "claude",
|
|
36
|
-
"detected_layers": ["frontend", "backend", "database"],
|
|
37
|
-
"tech_stack": {
|
|
38
|
-
"language": "TypeScript",
|
|
39
|
-
"runtime": "Node.js 20",
|
|
40
|
-
"frontend_framework": "React",
|
|
41
|
-
"frontend_styling": "Tailwind CSS",
|
|
42
|
-
"backend_framework": "Express.js",
|
|
43
|
-
"database": "PostgreSQL",
|
|
44
|
-
"orm": "Prisma",
|
|
45
|
-
"testing": "Vitest",
|
|
46
|
-
"bundler": "Vite",
|
|
47
|
-
"project_type": "fullstack",
|
|
48
|
-
"_auto_detected": true
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Pure Python backend:
|
|
54
|
-
```json
|
|
55
|
-
{
|
|
56
|
-
"adoption_mode": "passive",
|
|
57
|
-
"platform": "claude",
|
|
58
|
-
"tech_stack": {
|
|
59
|
-
"language": "Python",
|
|
60
|
-
"runtime": "Python >=3.11",
|
|
61
|
-
"backend_framework": "FastAPI",
|
|
62
|
-
"database": "PostgreSQL",
|
|
63
|
-
"orm": "SQLAlchemy",
|
|
64
|
-
"testing": "pytest",
|
|
65
|
-
"project_type": "backend",
|
|
66
|
-
"_auto_detected": true
|
|
67
|
-
},
|
|
68
|
-
"detected_layers": ["backend", "database"]
|
|
69
|
-
}
|
|
70
|
-
```
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Layer Detection — Signal Reference Table
|
|
2
|
-
|
|
3
|
-
> Load this file in Phase 4.5 to determine which development layers exist in the project.
|
|
4
|
-
> A "layer" means a distinct code domain that may benefit from custom dev rules.
|
|
5
|
-
|
|
6
|
-
## Detection Signals
|
|
7
|
-
|
|
8
|
-
> **This table is a reference guide, not an exhaustive checklist.** The signals below cover common frameworks and patterns, but the list cannot be complete — new frameworks emerge, projects use unconventional setups, and context matters more than any single string match. In addition to matching against these signals, **apply your own judgment**: if you see files, directories, or dependencies that clearly indicate a development layer (even if not listed below), include it. If a signal matches but context suggests it's misleading (e.g., a dependency present but not actually used as the primary tech), downgrade or ignore it. The goal is to accurately reflect what the project contains, not to mechanically match strings.
|
|
9
|
-
|
|
10
|
-
| Layer | Signal Source | Detection Rule |
|
|
11
|
-
|-------|--------------|----------------|
|
|
12
|
-
| **frontend** | `package.json` dependencies | Contains `react`, `vue`, `angular`, `next`, `nuxt`, `svelte`, `solid-js`, `preact`, `remix`, `astro`, `qwik` |
|
|
13
|
-
| **frontend** | `package.json` devDependencies | Contains `vite`, `webpack`, `parcel`, `turbo` |
|
|
14
|
-
| **frontend** | Directory | `src/components/`, `pages/`, `app/` with `.tsx`/`.jsx`/`.vue` files |
|
|
15
|
-
| **backend** | `package.json` dependencies | Contains `express`, `fastify`, `koa`, `hono`, `nest`, `next` (API routes) |
|
|
16
|
-
| **backend** | `requirements.txt` / `pyproject.toml` | Contains `fastapi`, `django`, `flask`, `sanic`, `litestar` |
|
|
17
|
-
| **backend** | `go.mod` | Contains `gin-gonic`, `echo`, `fiber`, `chi` |
|
|
18
|
-
| **backend** | `pom.xml` / `build.gradle` | Contains `spring-boot`, `quarkus`, `micronaut`, `ktor` |
|
|
19
|
-
| **backend** | Directory | `routes/`, `controllers/`, `handlers/`, `api/`, `internal/` with server code |
|
|
20
|
-
| **database** | `package.json` dependencies | Contains `prisma`, `typeorm`, `sequelize`, `mongoose`, `knex`, `drizzle-orm`, `kysely` |
|
|
21
|
-
| **database** | `requirements.txt` / `pyproject.toml` | Contains `sqlalchemy`, `django` (ORM), `pony`, `peewee`, `tortoise-orm` |
|
|
22
|
-
| **database** | `go.mod` | Contains `gorm`, `sqlx`, `sqlc`, `ent`, `bun` |
|
|
23
|
-
| **database** | Directory | `migrations/`, `prisma/`, `alembic/`, `db/`, `schema/` |
|
|
24
|
-
| **database** | Environment | `.env*` contains `DATABASE_URL`, `DB_HOST`, `DB_NAME`, `MONGO_URI` |
|
|
25
|
-
| **mobile** | File | `pubspec.yaml` exists (Flutter) |
|
|
26
|
-
| **mobile** | `package.json` dependencies | Contains `react-native`, `expo` |
|
|
27
|
-
| **mobile** | Directory | Both `ios/*.xcodeproj` + `android/build.gradle` exist simultaneously |
|
|
28
|
-
|
|
29
|
-
## Mobile Confirmation
|
|
30
|
-
|
|
31
|
-
When mobile signals are detected but ambiguous (e.g., a monorepo with web + mobile), use `AskUserQuestion`:
|
|
32
|
-
|
|
33
|
-
> "Mobile platform signals detected (ios/ + android/ directories). Is this project
|
|
34
|
-
> a mobile app, or are these directories for another purpose?"
|
|
35
|
-
> Options: "Yes, this is a mobile app" / "No, these are for another purpose"
|
|
36
|
-
|
|
37
|
-
## Output
|
|
38
|
-
|
|
39
|
-
After detection (signals + your own judgment), assemble `detected_layers` array (e.g., `["frontend", "backend", "database"]`).
|
|
40
|
-
Store in memory for Phase 6 config.json writing.
|
|
41
|
-
If no layers detected (library/CLI project), array is empty.
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Tech Stack Detection — Field Catalog
|
|
2
|
-
|
|
3
|
-
Adaptive field list — only include fields that apply to the project being scanned.
|
|
4
|
-
|
|
5
|
-
- **Language & Runtime**: e.g. TypeScript + Node.js 20, Python 3.11, Go 1.22
|
|
6
|
-
- **Frontend framework** (if applicable): React, Vue.js, Angular, Next.js, Svelte, etc.
|
|
7
|
-
- **Frontend styling** (if applicable): Tailwind CSS, SCSS, Styled Components, Material UI, etc.
|
|
8
|
-
- **Backend framework** (if applicable): Express.js, FastAPI, Django, NestJS, Gin, etc.
|
|
9
|
-
- **Database** (if applicable): PostgreSQL, MySQL, MongoDB, Redis, SQLite — detected from deps or `docker-compose.yml`
|
|
10
|
-
- **ORM** (if applicable): Prisma, Drizzle, TypeORM, SQLAlchemy, Mongoose, etc.
|
|
11
|
-
- **Bundler** (if applicable): Vite, Webpack, esbuild, Rollup, Turborepo
|
|
12
|
-
- **Testing**: Vitest, Jest, pytest, Go test, etc.
|
|
13
|
-
- **Project type** (inferred): `frontend` | `backend` | `fullstack` | `library` | `cli` | `monorepo`
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# Update Supplement — Post-Merge Gap-Fill Procedure
|
|
2
|
-
|
|
3
|
-
Runs after tech stack merge in Update mode:
|
|
4
|
-
|
|
5
|
-
1. **Module scan**: Re-scan project directories using the same TWO-TIER model from Step 1. Compare discovered modules against existing MODULE_INDEX in root.prizm.
|
|
6
|
-
2. **Missing L1 check**: For any discovered module with no corresponding L1 `.prizm` doc → create L1 immediately and add to MODULE_INDEX.
|
|
7
|
-
3. **Missing L2 check**: For any module/sub-module that has source files with meaningful logic but no L2 `.prizm` doc → create L2 using the L2 GENERATION TEMPLATE. Judgment call: skip trivial wrapper directories or single-config modules.
|
|
8
|
-
4. **Stale L1 check**: For existing L1 docs, verify FILES count and KEY_FILES are still accurate. Update if source directory contents have changed significantly.
|
|
9
|
-
5. **Report**: Include in the Update report: modules added, L1 docs created, L2 docs created, stale docs refreshed.
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "prizmkit-plan"
|
|
3
|
-
description: "Specify and plan tasks: natural language → spec.md & plan.md with architecture and executable tasks. Use before /prizmkit-implement. Trigger on: 'specify', 'plan', 'new task', 'I want to add/build...', 'architect', 'design', 'break it down', 'create tasks'. (project)"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# PrizmKit Plan
|
|
7
|
-
|
|
8
|
-
A universal spec + plan generator. Takes a natural-language description of ANY development task (new feature, refactoring, bug fix, migration, etc.) and produces `spec.md` (WHAT/WHY) and `plan.md` (HOW) with executable tasks.
|
|
9
|
-
|
|
10
|
-
### When to Use
|
|
11
|
-
- Any non-trivial development task that benefits from written specification and planning
|
|
12
|
-
- Before `/prizmkit-implement` — to create the spec + task breakdown
|
|
13
|
-
- User says "specify", "plan", "new task", "I want to add...", "architect", "design", "break it down"
|
|
14
|
-
|
|
15
|
-
### When NOT to Use
|
|
16
|
-
- Config tweaks, typo fixes, trivial one-line changes → edit directly
|
|
17
|
-
- Simple changes where the developer already knows exactly what to do and the scope is ≤10 lines in a single file
|
|
18
|
-
|
|
19
|
-
## Input
|
|
20
|
-
|
|
21
|
-
| Parameter | Required | Description |
|
|
22
|
-
|-----------|----------|-------------|
|
|
23
|
-
| `description` | Yes | Natural-language description of the task |
|
|
24
|
-
| `artifact_dir` | No | Directory to write spec.md + plan.md into. If omitted, auto-generates under `.prizmkit/specs/` (see Phase 0 Step 2). |
|
|
25
|
-
|
|
26
|
-
## Execution
|
|
27
|
-
|
|
28
|
-
### Phase 0: Specify (→ spec.md)
|
|
29
|
-
|
|
30
|
-
**Skip condition**: If `spec.md` already exists in the artifact directory, skip to Phase 1.
|
|
31
|
-
|
|
32
|
-
**Steps:**
|
|
33
|
-
|
|
34
|
-
1. Gather input: read the task description. If no description is provided and interactive session is available, ask the user; otherwise abort with an error.
|
|
35
|
-
2. Determine artifact directory:
|
|
36
|
-
- If `artifact_dir` is provided → use it directly
|
|
37
|
-
- If not provided → scan `.prizmkit/specs/` for existing `###-*` directories, find highest numeric prefix, next = highest + 1 (zero-padded to 3 digits; start at `001` if empty). Create `.prizmkit/specs/###-task-slug/`
|
|
38
|
-
- Auto-generate 2-10 word task slug from description
|
|
39
|
-
3. Load project context: read `.prizmkit/prizm-docs/root.prizm` and relevant L1/L2 docs
|
|
40
|
-
4. Generate `spec.md` from template (`${SKILL_DIR}/assets/spec-template.md`):
|
|
41
|
-
- Fill sections based on the task description — all sections are optional, include only what is relevant
|
|
42
|
-
- `[NEEDS CLARIFICATION]` markers for all ambiguous items
|
|
43
|
-
5. **Database design detection**: If changes involve data persistence (new entities, fields, schema changes), add `## Data Model` section — scan existing schema files to extract naming conventions, ID strategy, constraint patterns. Mark uncertain decisions with `[NEEDS CLARIFICATION]`.
|
|
44
|
-
6. Run quality validation : all goals have criteria? scope defined? DB conventions documented (if applicable)?
|
|
45
|
-
7. **Auto-clarification**: If any `[NEEDS CLARIFICATION]` markers remain and interactive session is available, enter interactive clarification.
|
|
46
|
-
→ Read `${SKILL_DIR}/references/clarify-guide.md` for question strategy and update rules.
|
|
47
|
-
If non-interactive, resolve ambiguities by choosing the most conservative option and annotating the decision.
|
|
48
|
-
Resolve all markers before proceeding to Phase 1.
|
|
49
|
-
|
|
50
|
-
**Writing principles**: Focus on WHAT and WHY, never HOW. Every goal needs acceptance criteria. Scope boundaries must be explicit. Mark all genuine ambiguities — the clarification phase resolves them.
|
|
51
|
-
|
|
52
|
-
**Internal ID hygiene**: PrizmKit IDs (`F-001`, `B-001`, `R-001`), task IDs (`T-100`), session IDs, run IDs, branch names, absolute worktree paths, and `.prizmkit/specs` / `.prizmkit/dev-pipeline` artifact paths are internal tracking metadata. They may appear in specs, plans, commit messages, and non-memory pipeline artifacts, but must never be written to `.prizmkit/prizm-docs/`, user-visible product copy, UI text, API responses, or expected UI strings in tests. If a behavior is scoped to the current feature, describe the product behavior without the ID.
|
|
53
|
-
|
|
54
|
-
### Phase 1: Design (spec.md → plan.md)
|
|
55
|
-
|
|
56
|
-
**Precondition**: `spec.md` exists in the artifact directory.
|
|
57
|
-
|
|
58
|
-
**Steps:**
|
|
59
|
-
|
|
60
|
-
1. Read `spec.md` from the artifact directory
|
|
61
|
-
2. Load project context if not already loaded in Phase 0: read `.prizmkit/prizm-docs/root.prizm` and relevant L1/L2 docs
|
|
62
|
-
3. Resolve any remaining `[NEEDS CLARIFICATION]` by proposing solutions
|
|
63
|
-
4. Generate `plan.md` from template (`${SKILL_DIR}/assets/plan-template.md`):
|
|
64
|
-
- Change approach (how the changes integrate with existing system)
|
|
65
|
-
- Component / file changes
|
|
66
|
-
- Data model changes (with **database design gate** — read ALL existing schema files, ensure new schema follows existing patterns, resolve all DB ambiguities inline before proceeding)
|
|
67
|
-
- Interface design (API endpoints, request/response formats)
|
|
68
|
-
- Testing strategy
|
|
69
|
-
- Risk assessment
|
|
70
|
-
- Behavior preservation strategy (if the task modifies existing behavior — include what must remain unchanged and how to verify)
|
|
71
|
-
5. Cross-check: every goal in spec.md maps to plan components — unmapped goals = coverage gaps
|
|
72
|
-
6. Check alignment with `.prizmkit/prizm-docs/root.prizm` RULES section
|
|
73
|
-
|
|
74
|
-
### Phase 2: Task Generation (plan.md → Tasks section)
|
|
75
|
-
|
|
76
|
-
1. If interactive session is available, ask user for strategy; otherwise infer automatically: MVP-first / Incremental / Parallel
|
|
77
|
-
2. Append `## Tasks` section to `plan.md` using template in `${SKILL_DIR}/assets/plan-template.md`:
|
|
78
|
-
- Phases: Setup (T-001~T-009) → Foundation (T-010~T-099) → Core (T-100+) → Polish (T-900+)
|
|
79
|
-
- Each task: `- [ ] [T-NNN] [P?] [G-N?] Description — file: path/to/file`
|
|
80
|
-
- Checkpoint tasks between phases for validation
|
|
81
|
-
- Organize Core tasks by goals (G-1, G-2, ...) or by logical grouping appropriate to the task
|
|
82
|
-
3. Verify consistency and coverage → read `${SKILL_DIR}/references/verification-checklist.md` and run all checks. Fix any issues inline before output.
|
|
83
|
-
4. Output: `plan.md` path, summary of design decisions, task count.
|
|
84
|
-
|
|
85
|
-
**HANDOFF:** `/prizmkit-implement`
|
|
86
|
-
|
|
87
|
-
## Examples
|
|
88
|
-
|
|
89
|
-
Read `${SKILL_DIR}/references/examples.md` for worked examples of feature, refactoring, and bug fix planning.
|
|
90
|
-
|
|
91
|
-
## References
|
|
92
|
-
|
|
93
|
-
- Spec template: `${SKILL_DIR}/assets/spec-template.md`
|
|
94
|
-
- Plan template: `${SKILL_DIR}/assets/plan-template.md`
|
|
95
|
-
- Clarification guide: `${SKILL_DIR}/references/clarify-guide.md`
|
|
96
|
-
- Verification checklist: `${SKILL_DIR}/references/verification-checklist.md`
|
|
97
|
-
|
|
98
|
-
## Output
|
|
99
|
-
|
|
100
|
-
| Directory | Files |
|
|
101
|
-
|---|---|
|
|
102
|
-
| `artifact_dir` (provided or auto-generated `.prizmkit/specs/###-slug/`) | `spec.md` + `plan.md` |
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# Plan: [TITLE]
|
|
2
|
-
|
|
3
|
-
## Change Approach
|
|
4
|
-
[Description of the technical approach — how these changes integrate with the existing system]
|
|
5
|
-
|
|
6
|
-
## Component Design
|
|
7
|
-
|
|
8
|
-
### New Components
|
|
9
|
-
- [Component]: [Purpose]
|
|
10
|
-
|
|
11
|
-
### Modified Components
|
|
12
|
-
- [Component]: [What changes and why]
|
|
13
|
-
|
|
14
|
-
## Behavior Preservation Strategy
|
|
15
|
-
<!-- Include when the task modifies existing behavior. Delete if not applicable (e.g., greenfield feature). -->
|
|
16
|
-
<!-- Strategy: one of test-gate / snapshot / manual -->
|
|
17
|
-
<!-- test-gate: all tests must pass after each task -->
|
|
18
|
-
<!-- snapshot: before-after comparison of outputs -->
|
|
19
|
-
<!-- manual: reviewer verification at checkpoints -->
|
|
20
|
-
- Strategy: [test-gate / snapshot / manual]
|
|
21
|
-
- Baseline: [describe green test suite or snapshot state]
|
|
22
|
-
|
|
23
|
-
## Data Model
|
|
24
|
-
<!-- Include when changes involve database / data persistence. Delete if not applicable. -->
|
|
25
|
-
<!-- IMPORTANT: Read existing schema/model files BEFORE designing new tables -->
|
|
26
|
-
|
|
27
|
-
### Existing Schema Audit
|
|
28
|
-
<!-- List existing tables/models reviewed. Note observed conventions. -->
|
|
29
|
-
- Tables reviewed: [list tables examined]
|
|
30
|
-
- Naming convention: [snake_case/camelCase — document what existing schema uses]
|
|
31
|
-
- ID strategy: [UUID/auto-increment/CUID — match existing]
|
|
32
|
-
- Timestamp fields: [created_at/updated_at pattern — match existing]
|
|
33
|
-
- Soft delete: [yes/no, field name if applicable]
|
|
34
|
-
- Constraint patterns: [NOT NULL defaults, UNIQUE patterns, index conventions]
|
|
35
|
-
|
|
36
|
-
### Schema Changes
|
|
37
|
-
| Entity | Type | Fields | Constraints | Relationships | Migration Notes |
|
|
38
|
-
|--------|------|--------|-------------|---------------|-----------------|
|
|
39
|
-
| [name] | new/modify | [field: type, ...] | [NOT NULL, UNIQUE, INDEX, ...] | [FK → existing_table(id)] | [migration strategy] |
|
|
40
|
-
|
|
41
|
-
### Style Conformance Checklist
|
|
42
|
-
- [ ] Table/column naming matches existing conventions
|
|
43
|
-
- [ ] ID strategy consistent with existing tables
|
|
44
|
-
- [ ] Timestamp fields follow existing patterns
|
|
45
|
-
- [ ] Foreign key constraints and indexes defined
|
|
46
|
-
- [ ] Soft delete strategy matches existing pattern (if applicable)
|
|
47
|
-
- [ ] All fields have explicit nullability (NOT NULL or nullable)
|
|
48
|
-
|
|
49
|
-
### Unresolved Questions
|
|
50
|
-
<!-- NONE — all DB design questions must be resolved inline before proceeding to Tasks -->
|
|
51
|
-
|
|
52
|
-
## Interface Design
|
|
53
|
-
[API endpoints, request/response formats, module interfaces — include all details here]
|
|
54
|
-
|
|
55
|
-
## Integration Points
|
|
56
|
-
- [Service/Module]: [How integrated]
|
|
57
|
-
|
|
58
|
-
## Testing Strategy
|
|
59
|
-
- Unit: [Approach]
|
|
60
|
-
- Integration: [Approach]
|
|
61
|
-
- E2E: [Approach]
|
|
62
|
-
|
|
63
|
-
## Risk Assessment
|
|
64
|
-
| Risk | Impact | Mitigation |
|
|
65
|
-
|------|--------|------------|
|
|
66
|
-
| [Risk] | [H/M/L] | [Plan] |
|
|
67
|
-
|
|
68
|
-
## Deployment Considerations
|
|
69
|
-
<!-- Include when there is deployment impact (new services, infra, environment changes). Delete if not applicable. -->
|
|
70
|
-
|
|
71
|
-
### New Infrastructure Requirements
|
|
72
|
-
- [Component]: [Deployment target from config deploy_strategy] — [any special config needed]
|
|
73
|
-
|
|
74
|
-
### New Environment Variables
|
|
75
|
-
| Variable | Required | Description | Example |
|
|
76
|
-
|----------|----------|-------------|---------|
|
|
77
|
-
| [VAR_NAME] | yes/no | [Purpose] | [example value] |
|
|
78
|
-
|
|
79
|
-
### Deployment Impact
|
|
80
|
-
- [ ] No infrastructure changes needed (skip this section)
|
|
81
|
-
- [ ] New service/container required
|
|
82
|
-
- [ ] New environment variables added
|
|
83
|
-
- [ ] Database migration required in production
|
|
84
|
-
- [ ] CI/CD pipeline update needed
|
|
85
|
-
|
|
86
|
-
## Pre-Implementation Gates
|
|
87
|
-
- [ ] Spec coverage: all goals mapped to components
|
|
88
|
-
- [ ] Data model reviewed — existing schema conventions documented and followed (if applicable)
|
|
89
|
-
- [ ] All `[NEEDS CLARIFICATION]` items resolved
|
|
90
|
-
- [ ] Testing approach agreed
|
|
91
|
-
- [ ] Behavior preservation strategy defined (if modifying existing behavior)
|
|
92
|
-
- [ ] Root cause confirmed with reproduction test design (if fixing a defect)
|
|
93
|
-
|
|
94
|
-
## Tasks
|
|
95
|
-
|
|
96
|
-
### Strategy: [MVP-first | Incremental | Parallel]
|
|
97
|
-
|
|
98
|
-
### Phase: Setup
|
|
99
|
-
- [ ] [T-001] [Description] — file: [path]
|
|
100
|
-
|
|
101
|
-
### Phase: Foundation
|
|
102
|
-
- [ ] [T-010] [Description] — file: [path]
|
|
103
|
-
|
|
104
|
-
### Phase: Core
|
|
105
|
-
<!-- Organize by goals (G-1, G-2, ...) or by logical grouping appropriate to the task -->
|
|
106
|
-
- [ ] [T-100] [P] [G-1] [Task description] — file: [path]
|
|
107
|
-
|
|
108
|
-
### Phase: Polish
|
|
109
|
-
- [ ] [T-900] Final verification
|
|
110
|
-
- [ ] [T-901] Documentation update
|
|
111
|
-
|
|
112
|
-
### Checkpoints
|
|
113
|
-
- [ ] [CP-1] After Setup: project builds and tests pass
|
|
114
|
-
- [ ] [CP-2] After Foundation: base changes verified
|
|
115
|
-
- [ ] [CP-3] After each Core group: acceptance criteria pass
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# [TITLE]
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
[One paragraph describing the purpose and motivation]
|
|
5
|
-
|
|
6
|
-
## Goals
|
|
7
|
-
|
|
8
|
-
### G-1: [Goal Title]
|
|
9
|
-
[Goal description — use whatever format best suits the task:
|
|
10
|
-
- User Story format: "As a [role], I want [capability], so that [benefit]."
|
|
11
|
-
- Objective format: "Objective: [change to make]. Target state: [desired outcome]."
|
|
12
|
-
- Fix format: "Fix: [symptom]. Root cause: [brief cause]."
|
|
13
|
-
- Or any other clear format.]
|
|
14
|
-
|
|
15
|
-
**Acceptance Criteria:**
|
|
16
|
-
- [ ] [Criterion 1 — Given/When/Then, or a concrete verifiable statement]
|
|
17
|
-
|
|
18
|
-
## Scope
|
|
19
|
-
|
|
20
|
-
### In Scope
|
|
21
|
-
- [Item 1]
|
|
22
|
-
|
|
23
|
-
### Out of Scope
|
|
24
|
-
- [Item 1]
|
|
25
|
-
|
|
26
|
-
## Behavior Preservation
|
|
27
|
-
<!-- Include this section when the task modifies existing behavior (refactoring, bug fixes, migrations, etc.). Delete if not applicable. -->
|
|
28
|
-
- [What behavior / contracts / interfaces must remain unchanged]
|
|
29
|
-
- [Existing test suites that must continue to pass]
|
|
30
|
-
|
|
31
|
-
## Root Cause
|
|
32
|
-
<!-- Include this section when the task is fixing a defect. Delete if not applicable. -->
|
|
33
|
-
- Error classification: [Runtime / Network / Auth / Data / Logic / Config / External]
|
|
34
|
-
- Root cause: [specific code location and mechanism]
|
|
35
|
-
- Affected files: [file list with line numbers]
|
|
36
|
-
- Impact: [blast radius — which modules / features are affected]
|
|
37
|
-
|
|
38
|
-
## Dependencies
|
|
39
|
-
- [Dependency 1]: [Why needed]
|
|
40
|
-
|
|
41
|
-
## Data Model
|
|
42
|
-
<!-- Include this section when changes involve database / data persistence. Delete if not applicable. -->
|
|
43
|
-
|
|
44
|
-
### Existing Schema Reference
|
|
45
|
-
<!-- Read existing schema/model files BEFORE designing new tables. Document observed conventions here. -->
|
|
46
|
-
- Tables reviewed: [list existing tables related to this change]
|
|
47
|
-
- Naming convention: [snake_case/camelCase — match existing]
|
|
48
|
-
- ID strategy: [UUID/auto-increment — match existing]
|
|
49
|
-
- Timestamp pattern: [created_at/updated_at — match existing]
|
|
50
|
-
- Soft delete: [yes/no, field name — match existing]
|
|
51
|
-
|
|
52
|
-
### New/Modified Entities
|
|
53
|
-
| Entity | Type (new/modify) | Key Fields | Relationships | Constraints |
|
|
54
|
-
|--------|-------------------|------------|---------------|-------------|
|
|
55
|
-
| [entity_name] | new | [field: type] | [FK to existing_table] | [NOT NULL, UNIQUE, etc.] |
|
|
56
|
-
|
|
57
|
-
### Open Data Model Questions
|
|
58
|
-
<!-- All questions here MUST be resolved before /prizmkit-plan generates Tasks -->
|
|
59
|
-
- [NEEDS CLARIFICATION] [Any uncertain data model decisions — field types, nullability, relationships]
|
|
60
|
-
|
|
61
|
-
## Constraints
|
|
62
|
-
- [Constraint 1]
|
|
63
|
-
|
|
64
|
-
## Clarifications
|
|
65
|
-
[NEEDS CLARIFICATION]: [Ambiguous item]
|
|
66
|
-
|
|
67
|
-
## Review Checklist
|
|
68
|
-
- [ ] All goals have acceptance criteria
|
|
69
|
-
- [ ] Scope boundaries are clearly defined
|
|
70
|
-
- [ ] Dependencies are identified
|
|
71
|
-
- [ ] No implementation details (WHAT not HOW)
|
|
72
|
-
- [ ] Behavior preservation defined (if modifying existing behavior)
|
|
73
|
-
- [ ] Root cause identified with evidence (if fixing a defect)
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Clarification Phase — Execution Guide
|
|
2
|
-
|
|
3
|
-
Invoked automatically during `/prizmkit-plan` Phase 0 (specify) when `[NEEDS CLARIFICATION]` markers exist, or during Phase 1 (design) when data model ambiguities arise.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Question Strategy
|
|
8
|
-
|
|
9
|
-
**Ask one question at a time.** Batching questions produces lower-quality answers.
|
|
10
|
-
|
|
11
|
-
For each question:
|
|
12
|
-
1. Cite the exact location in spec.md (e.g., "§Goals G-1 says..." or "§Scope says...")
|
|
13
|
-
2. State what is ambiguous and why it matters for implementation
|
|
14
|
-
3. Provide a **recommended answer** with rationale — gives the user a concrete starting point to accept, modify, or reject
|
|
15
|
-
|
|
16
|
-
**Prioritize by implementation impact** (highest first):
|
|
17
|
-
1. Data model (entities, relationships, field types, constraints, naming) — **hardest to change after code is written**
|
|
18
|
-
2. Functional scope boundaries
|
|
19
|
-
3. UX flow and error handling
|
|
20
|
-
4. Non-functional requirements (performance, security)
|
|
21
|
-
5. Edge cases and integration points
|
|
22
|
-
|
|
23
|
-
## Update Discipline
|
|
24
|
-
|
|
25
|
-
After **each** user answer:
|
|
26
|
-
- Immediately update `spec.md` (do not batch at the end)
|
|
27
|
-
- Remove the resolved `[NEEDS CLARIFICATION]` marker
|
|
28
|
-
- Re-evaluate for new ambiguities exposed by the answer
|
|
29
|
-
|
|
30
|
-
## No Limits Policy
|
|
31
|
-
|
|
32
|
-
**There is no cap on rounds or questions.** Keep asking until:
|
|
33
|
-
- All `[NEEDS CLARIFICATION]` markers are removed, AND
|
|
34
|
-
- No vague or underspecified areas remain, AND
|
|
35
|
-
- You are fully confident about the requirements
|
|
36
|
-
|
|
37
|
-
If the user's answer raises new questions — ask those too. If a previously-resolved item needs revisiting due to new context — go back.
|
|
38
|
-
|
|
39
|
-
## Early Termination
|
|
40
|
-
|
|
41
|
-
If the user says "done", "stop", or "enough" — end immediately and output a summary of:
|
|
42
|
-
- What was resolved
|
|
43
|
-
- What remains unclear (list any open `[NEEDS CLARIFICATION]` items)
|
|
44
|
-
|
|
45
|
-
## Example Exchange
|
|
46
|
-
|
|
47
|
-
**Question:**
|
|
48
|
-
> §Goals G-1 says "User can upload files" but doesn't specify file types or size limits.
|
|
49
|
-
>
|
|
50
|
-
> **Recommended:** Accept JPEG, PNG, PDF up to 10MB — covers common use cases without straining storage.
|
|
51
|
-
>
|
|
52
|
-
> Do you agree, or different constraints?
|
|
53
|
-
|
|
54
|
-
**User:** "Also allow SVG, make it 25MB"
|
|
55
|
-
|
|
56
|
-
**Action:** Update spec.md §Goals G-1 → `File upload: JPEG, PNG, PDF, SVG. Max 25MB per file.` Remove marker.
|
|
57
|
-
|
|
58
|
-
**Follow-up question triggered by answer:**
|
|
59
|
-
> SVGs can contain embedded scripts (XSS risk). Should uploaded SVGs be sanitized (strip `<script>` + event handlers), or restricted to trusted users only?
|
|
60
|
-
>
|
|
61
|
-
> **Recommended:** Sanitize all SVG uploads — allows all users to upload safely.
|
|
62
|
-
|
|
63
|
-
## Guidelines
|
|
64
|
-
|
|
65
|
-
- Stay at WHAT/WHY level — no implementation details (HOW) in spec
|
|
66
|
-
- If an answer contradicts an existing requirement, surface the conflict and ask which takes precedence
|
|
67
|
-
- If the user seems fatigued: "I have N more questions — continue now or later?" — but never silently stop with unresolved ambiguities
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# Plan Examples
|
|
2
|
-
|
|
3
|
-
## Example 1: New Feature
|
|
4
|
-
|
|
5
|
-
**Input:** "I want users to upload avatars"
|
|
6
|
-
|
|
7
|
-
**Phase 0 output:** `.prizmkit/specs/003-user-avatar/spec.md`
|
|
8
|
-
```markdown
|
|
9
|
-
# User Avatar Upload
|
|
10
|
-
## Overview
|
|
11
|
-
Allow registered users to upload and manage profile pictures.
|
|
12
|
-
## Goals
|
|
13
|
-
### G-1: Upload Avatar
|
|
14
|
-
As a registered user, I want to upload a profile picture,
|
|
15
|
-
so that other users can visually identify me.
|
|
16
|
-
**Acceptance Criteria:**
|
|
17
|
-
- Given I am on my profile page
|
|
18
|
-
- When I select an image file and click upload
|
|
19
|
-
- Then my avatar is updated and visible across the platform
|
|
20
|
-
## Scope
|
|
21
|
-
- **In scope:** Upload, display, remove avatar; image format validation
|
|
22
|
-
- **Out of scope:** Image cropping/editing, avatar history
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Phase 1-2 output:** `plan.md` excerpt:
|
|
26
|
-
```markdown
|
|
27
|
-
## Tasks
|
|
28
|
-
### Phase: Foundation (T-010~T-019)
|
|
29
|
-
- [ ] [T-010] [G-1] Add avatar_url field to User model — file: src/models/user.ts
|
|
30
|
-
- [ ] [T-011] [G-1] Create S3 upload utility — file: src/lib/s3.ts
|
|
31
|
-
### Phase: Core [P] (T-100~T-109)
|
|
32
|
-
- [ ] [T-100] [P] [G-1] POST /api/avatar upload endpoint — file: src/routes/avatar.ts
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Example 2: Refactoring
|
|
36
|
-
|
|
37
|
-
**Input:** "Extract shared auth middleware from the API routes"
|
|
38
|
-
|
|
39
|
-
**Phase 0 output:** `.prizmkit/specs/004-extract-auth-middleware/spec.md`
|
|
40
|
-
```markdown
|
|
41
|
-
# Extract Auth Middleware
|
|
42
|
-
## Overview
|
|
43
|
-
Consolidate duplicated authentication logic scattered across route files into a single shared middleware.
|
|
44
|
-
## Goals
|
|
45
|
-
### G-1: Extract Shared Authentication Logic
|
|
46
|
-
Consolidate duplicated auth checks from 5 route files into a single middleware module.
|
|
47
|
-
**Acceptance Criteria:**
|
|
48
|
-
- All existing auth-related tests pass without modification
|
|
49
|
-
- Auth logic exists in exactly one file (src/middleware/auth.ts)
|
|
50
|
-
- No route file contains inline token verification
|
|
51
|
-
## Scope
|
|
52
|
-
- **In scope:** src/routes/users.ts, orders.ts, admin.ts, payments.ts, profile.ts
|
|
53
|
-
- **Out of scope:** Authorization (role-based access), rate limiting
|
|
54
|
-
## Behavior Preservation
|
|
55
|
-
- All 23 existing API tests must pass unchanged
|
|
56
|
-
- Response formats and HTTP status codes must not change
|
|
57
|
-
- Error message strings must remain identical
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Example 3: Bug Fix
|
|
61
|
-
|
|
62
|
-
**Input:** "Login page crashes when API returns 401"
|
|
63
|
-
|
|
64
|
-
**Phase 0 output:** `.prizmkit/specs/005-login-401-crash/spec.md`
|
|
65
|
-
```markdown
|
|
66
|
-
# Fix: Login Crash on 401 Response
|
|
67
|
-
## Overview
|
|
68
|
-
Login page throws unhandled exception when auth API returns 401, causing a white screen.
|
|
69
|
-
## Goals
|
|
70
|
-
### G-1: Handle 401 Response Gracefully
|
|
71
|
-
When the auth API returns 401, display an error message instead of crashing.
|
|
72
|
-
**Acceptance Criteria:**
|
|
73
|
-
- Given user submits invalid credentials, When API returns 401, Then error message "Invalid credentials" is displayed
|
|
74
|
-
- Given user submits invalid credentials, When API returns 401, Then no unhandled exception is thrown
|
|
75
|
-
## Root Cause
|
|
76
|
-
- Error classification: Runtime
|
|
77
|
-
- Root cause: `AuthService.handleLogin()` at src/services/auth.ts:42 does not handle null token
|
|
78
|
-
- Affected files: src/services/auth.ts (L42), src/pages/login.tsx (L28)
|
|
79
|
-
## Scope
|
|
80
|
-
- **In scope:** Null handling in auth service, error display in login page
|
|
81
|
-
- **Out of scope:** Other HTTP error codes (403, 500), auth flow redesign
|
|
82
|
-
## Behavior Preservation
|
|
83
|
-
- All existing login success tests must pass unchanged
|
|
84
|
-
- Auth token flow for valid credentials must not change
|
|
85
|
-
```
|