prizmkit 1.1.100 → 1.1.101
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 +345 -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 +147 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runners.py +422 -0
- package/bundled/dev-pipeline/prizmkit_runtime/sessions.py +552 -0
- package/bundled/dev-pipeline/prizmkit_runtime/status.py +71 -0
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +38 -23
- 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 +7 -1
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +4 -0
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +12 -3
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +13 -3
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +13 -3
- 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/test-failure-recovery-agent.md +4 -0
- package/bundled/dev-pipeline/templates/sections/test-failure-recovery-lite.md +4 -0
- package/bundled/dev-pipeline/tests/test_auto_skip.py +436 -14
- package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +104 -0
- package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +40 -0
- package/bundled/dev-pipeline/tests/test_python_runner_parity.py +1138 -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 +33 -12
- package/src/index.js +3 -6
- package/src/manifest.js +3 -2
- package/src/metadata.js +7 -18
- package/src/prompts.js +0 -12
- package/src/runtimes.js +18 -11
- package/src/scaffold.js +133 -116
- package/src/upgrade.js +1 -1
- 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,283 +0,0 @@
|
|
|
1
|
-
### Browser Verification (Auto-Select Tool) — MANDATORY
|
|
2
|
-
|
|
3
|
-
You MUST execute this phase. Do NOT skip it. Select the best available browser tool at runtime and use PowerShell-native commands for setup, server lifecycle, and cleanup.
|
|
4
|
-
|
|
5
|
-
**Tool Selection**: Choose the best browser tool at runtime.
|
|
6
|
-
|
|
7
|
-
**Step 0 — Detect available tools**:
|
|
8
|
-
```powershell
|
|
9
|
-
"=== playwright-cli ==="
|
|
10
|
-
$playwright = Get-Command playwright-cli -ErrorAction SilentlyContinue
|
|
11
|
-
if ($playwright) { playwright-cli --version } else { "NOT_INSTALLED" }
|
|
12
|
-
"=== opencli ==="
|
|
13
|
-
$opencli = Get-Command opencli -ErrorAction SilentlyContinue
|
|
14
|
-
if ($opencli) { opencli --version } else { "NOT_INSTALLED" }
|
|
15
|
-
if ($opencli) {
|
|
16
|
-
opencli doctor 2>$null
|
|
17
|
-
if ($LASTEXITCODE -ne 0) { "OPENCLI_BRIDGE_FAILED" }
|
|
18
|
-
}
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
**Decision table**:
|
|
22
|
-
| Condition | Tool |
|
|
23
|
-
|-----------|------|
|
|
24
|
-
| Only playwright-cli available | playwright-cli |
|
|
25
|
-
| Only opencli available (doctor passes) | opencli |
|
|
26
|
-
| Both — local dev server, forms, components | playwright-cli |
|
|
27
|
-
| Both — needs real login state (OAuth/SSO) | opencli |
|
|
28
|
-
| Both — third-party integration verification | opencli |
|
|
29
|
-
| Neither available | Install playwright-cli as default |
|
|
30
|
-
|
|
31
|
-
Then follow the corresponding tool's workflow above (Steps 1-3).
|
|
32
|
-
|
|
33
|
-
If you choose playwright-cli, follow this workflow:
|
|
34
|
-
|
|
35
|
-
**Using: playwright-cli**
|
|
36
|
-
|
|
37
|
-
**CRITICAL CONSTRAINT — playwright-cli ONLY, NO Playwright MCP**:
|
|
38
|
-
- You MUST use `playwright-cli` (the CLI tool) for ALL browser interactions in this phase
|
|
39
|
-
- **NEVER** use Playwright MCP server, Playwright MCP tools, or any MCP-based browser automation
|
|
40
|
-
- If you have Playwright MCP configured, IGNORE it entirely — use the CLI command `playwright-cli` exclusively
|
|
41
|
-
- All browser actions go through `playwright-cli <command>` in the PowerShell tool, not through any MCP tool call
|
|
42
|
-
|
|
43
|
-
**Step 0 — Playwright CLI Readiness Check (BLOCKING — must pass before any browser action)**:
|
|
44
|
-
|
|
45
|
-
0a. Check if `playwright-cli` is installed:
|
|
46
|
-
```powershell
|
|
47
|
-
$playwright = Get-Command playwright-cli -ErrorAction SilentlyContinue
|
|
48
|
-
if ($playwright) { playwright-cli --version } else { "NOT_INSTALLED" }
|
|
49
|
-
```
|
|
50
|
-
If output is `NOT_INSTALLED`, install it:
|
|
51
|
-
```powershell
|
|
52
|
-
npm install -g @playwright/cli@latest
|
|
53
|
-
```
|
|
54
|
-
Then verify installation succeeded:
|
|
55
|
-
```powershell
|
|
56
|
-
playwright-cli --version
|
|
57
|
-
```
|
|
58
|
-
If installation fails, log the error in context-snapshot.md under `## Browser Verification: SKIPPED — playwright-cli installation failed` and proceed to the next phase. Do NOT attempt browser verification without playwright-cli.
|
|
59
|
-
|
|
60
|
-
0b. Learn playwright-cli usage (run once per session to understand available commands):
|
|
61
|
-
```powershell
|
|
62
|
-
playwright-cli --help
|
|
63
|
-
```
|
|
64
|
-
Use this output to determine the correct commands for your verification steps. Do NOT guess command syntax — refer to the help output.
|
|
65
|
-
|
|
66
|
-
0c. Check if playwright-cli skill is installed for the current AI platform:
|
|
67
|
-
```powershell
|
|
68
|
-
$currentPlatform = "unknown"
|
|
69
|
-
$skillDir = $null
|
|
70
|
-
if (Get-Command claude -ErrorAction SilentlyContinue) {
|
|
71
|
-
$currentPlatform = "claude"
|
|
72
|
-
$skillDir = Join-Path $HOME ".claude\skills"
|
|
73
|
-
} elseif (Get-Command cbc -ErrorAction SilentlyContinue) {
|
|
74
|
-
$currentPlatform = "codebuddy"
|
|
75
|
-
$skillDir = Join-Path $HOME ".cbc\skills"
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
$skillExists = $false
|
|
79
|
-
if ($skillDir) {
|
|
80
|
-
$directSkill = Join-Path $skillDir "playwright-cli"
|
|
81
|
-
$matchingSkills = Get-ChildItem -Path $skillDir -Filter "playwright*" -ErrorAction SilentlyContinue
|
|
82
|
-
$skillExists = (Test-Path -LiteralPath $directSkill) -or [bool]$matchingSkills
|
|
83
|
-
}
|
|
84
|
-
if ($skillExists) { "SKILL_EXISTS" } else { "SKILL_MISSING" }
|
|
85
|
-
```
|
|
86
|
-
If `SKILL_MISSING`:
|
|
87
|
-
```powershell
|
|
88
|
-
playwright-cli install --skills
|
|
89
|
-
```
|
|
90
|
-
If the current platform is NOT claude, move the installed skill files to the correct location:
|
|
91
|
-
```powershell
|
|
92
|
-
$claudeSkillDir = Join-Path $HOME ".claude\skills"
|
|
93
|
-
$sourceSkill = Join-Path $claudeSkillDir "playwright-cli"
|
|
94
|
-
if ($currentPlatform -ne "claude" -and $currentPlatform -ne "unknown" -and $skillDir -and (Test-Path -LiteralPath $sourceSkill)) {
|
|
95
|
-
New-Item -ItemType Directory -Force -Path $skillDir | Out-Null
|
|
96
|
-
Copy-Item -Recurse -Force -Path $sourceSkill -Destination $skillDir
|
|
97
|
-
"Moved playwright-cli skill from claude to $currentPlatform"
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
0d. Read the installed playwright-cli skill for workflow guidance:
|
|
102
|
-
After skill installation, read the skill's SKILL.md to understand recommended workflows and patterns. Use these patterns to construct your verification flow — do NOT invent your own patterns if the skill provides them.
|
|
103
|
-
|
|
104
|
-
**Step 1 — Start Dev Server**:
|
|
105
|
-
|
|
106
|
-
You know this project's tech stack. Detect and start the dev server yourself:
|
|
107
|
-
|
|
108
|
-
1. Identify the dev server start command from project config (`package.json` scripts, `Makefile`, `docker-compose.yml`, etc.)
|
|
109
|
-
2. **Detect the dev server port** — use the pre-detected port from pipeline if available, otherwise extract from project config. Do NOT hardcode or guess the port:
|
|
110
|
-
```powershell
|
|
111
|
-
$DEV_PORT = "{{DEV_PORT}}"
|
|
112
|
-
if ($DEV_PORT -eq "{{DEV_PORT}}" -or [string]::IsNullOrWhiteSpace($DEV_PORT)) {
|
|
113
|
-
$detectedPort = ""
|
|
114
|
-
if (Test-Path -LiteralPath "package.json") {
|
|
115
|
-
$detectedPort = node -e "const p=require('./package.json'); const s=(p.scripts?.dev) || ''; const m=s.match(/-p\s+(\d+)/); console.log(m?m[1]:'')"
|
|
116
|
-
}
|
|
117
|
-
if (-not $detectedPort -and $env:NEXT_PUBLIC_SITE_URL -match ':([0-9]+)') {
|
|
118
|
-
$detectedPort = $Matches[1]
|
|
119
|
-
}
|
|
120
|
-
if ($detectedPort) { $DEV_PORT = $detectedPort } else { $DEV_PORT = "3000" }
|
|
121
|
-
}
|
|
122
|
-
"Detected DEV_PORT=$DEV_PORT"
|
|
123
|
-
```
|
|
124
|
-
3. Verify the port is available and start the dev server in the background, capturing its process id:
|
|
125
|
-
```powershell
|
|
126
|
-
$portBusy = Get-NetTCPConnection -LocalPort ([int]$DEV_PORT) -ErrorAction SilentlyContinue
|
|
127
|
-
if ($portBusy) { "PORT_IN_USE" } else { "PORT_FREE" }
|
|
128
|
-
$devServerCommand = "<start-command>"
|
|
129
|
-
$server = Start-Process -FilePath "powershell" -ArgumentList @("-NoProfile", "-Command", $devServerCommand) -PassThru
|
|
130
|
-
$DEV_SERVER_PID = $server.Id
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
Wait for server to be ready: poll `http://localhost:$DEV_PORT` until it returns 200 or 302 (max 30 seconds, 2s interval):
|
|
134
|
-
```powershell
|
|
135
|
-
$ready = $false
|
|
136
|
-
for ($i = 0; $i -lt 15; $i++) {
|
|
137
|
-
try {
|
|
138
|
-
$response = Invoke-WebRequest -Uri "http://localhost:$DEV_PORT" -UseBasicParsing -TimeoutSec 2
|
|
139
|
-
if ($response.StatusCode -in @(200, 302)) { $ready = $true; break }
|
|
140
|
-
} catch {
|
|
141
|
-
Start-Sleep -Seconds 2
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
if (-not $ready) { "DEV_SERVER_NOT_READY" }
|
|
145
|
-
```
|
|
146
|
-
4. Open the app in playwright-cli: `playwright-cli open "http://localhost:$DEV_PORT"`
|
|
147
|
-
5. If the page requires authentication, use playwright-cli to register a test user and log in first
|
|
148
|
-
|
|
149
|
-
**Step 2 — Verification**:
|
|
150
|
-
|
|
151
|
-
Use `playwright-cli snapshot` on the running app to discover actual element refs, then verify these goals:
|
|
152
|
-
{{BROWSER_VERIFY_STEPS}}
|
|
153
|
-
|
|
154
|
-
Construct your verification workflow based on:
|
|
155
|
-
1. The playwright-cli skill documentation (read in Step 0d)
|
|
156
|
-
2. The `playwright-cli --help` output (captured in Step 0b)
|
|
157
|
-
3. The current task's Verification Gates and implemented features
|
|
158
|
-
|
|
159
|
-
Decide the concrete playwright-cli actions (click, fill, snapshot, screenshot, etc.) yourself based on the snapshot output and your knowledge of the implemented code. The goals above describe WHAT to verify — you determine HOW using playwright-cli commands.
|
|
160
|
-
|
|
161
|
-
Take a final screenshot for evidence: `playwright-cli screenshot`
|
|
162
|
-
|
|
163
|
-
**Step 3 — Cleanup (REQUIRED — you started it, you stop it)**:
|
|
164
|
-
|
|
165
|
-
1. Close the playwright-cli browser: `playwright-cli close`
|
|
166
|
-
2. Stop the dev server process and any remaining process bound to the dev server port:
|
|
167
|
-
```powershell
|
|
168
|
-
if ($DEV_SERVER_PID) { Stop-Process -Id $DEV_SERVER_PID -Force -ErrorAction SilentlyContinue }
|
|
169
|
-
Get-NetTCPConnection -LocalPort ([int]$DEV_PORT) -ErrorAction SilentlyContinue |
|
|
170
|
-
Select-Object -ExpandProperty OwningProcess -Unique |
|
|
171
|
-
ForEach-Object { Stop-Process -Id $_ -Force -ErrorAction SilentlyContinue }
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
If you choose opencli, follow this workflow:
|
|
175
|
-
|
|
176
|
-
**Using: opencli** (reuses Chrome logged-in sessions)
|
|
177
|
-
|
|
178
|
-
**CRITICAL CONSTRAINT — opencli browser ONLY**:
|
|
179
|
-
- You MUST use `opencli browser` for ALL browser interactions in this phase
|
|
180
|
-
- All browser actions go through `opencli browser <command>` in the PowerShell tool
|
|
181
|
-
|
|
182
|
-
**Step 0 — OpenCLI Readiness Check (BLOCKING)**:
|
|
183
|
-
|
|
184
|
-
0a. Check if `opencli` is installed:
|
|
185
|
-
```powershell
|
|
186
|
-
$opencli = Get-Command opencli -ErrorAction SilentlyContinue
|
|
187
|
-
if ($opencli) { opencli --version } else { "NOT_INSTALLED" }
|
|
188
|
-
```
|
|
189
|
-
If `NOT_INSTALLED`: `npm install -g @jackwener/opencli@latest`. If installation fails, log `## Browser Verification: SKIPPED — opencli installation failed` and proceed.
|
|
190
|
-
|
|
191
|
-
0b. Verify Browser Bridge: `opencli doctor`. If fails, log skip and proceed.
|
|
192
|
-
|
|
193
|
-
0c. Learn usage:
|
|
194
|
-
```powershell
|
|
195
|
-
opencli browser --help 2>$null
|
|
196
|
-
if ($LASTEXITCODE -ne 0) { opencli --help }
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
**Step 1 — Start Dev Server**: use the same port detection and server lifecycle pattern as the playwright-cli path:
|
|
200
|
-
```powershell
|
|
201
|
-
$DEV_PORT = "{{DEV_PORT}}"
|
|
202
|
-
if ($DEV_PORT -eq "{{DEV_PORT}}" -or [string]::IsNullOrWhiteSpace($DEV_PORT)) {
|
|
203
|
-
$detectedPort = ""
|
|
204
|
-
if (Test-Path -LiteralPath "package.json") {
|
|
205
|
-
$detectedPort = node -e "const p=require('./package.json'); const s=(p.scripts?.dev) || ''; const m=s.match(/-p\s+(\d+)/); console.log(m?m[1]:'')"
|
|
206
|
-
}
|
|
207
|
-
if (-not $detectedPort -and $env:NEXT_PUBLIC_SITE_URL -match ':([0-9]+)') {
|
|
208
|
-
$detectedPort = $Matches[1]
|
|
209
|
-
}
|
|
210
|
-
if ($detectedPort) { $DEV_PORT = $detectedPort } else { $DEV_PORT = "3000" }
|
|
211
|
-
}
|
|
212
|
-
"Detected DEV_PORT=$DEV_PORT"
|
|
213
|
-
```
|
|
214
|
-
```powershell
|
|
215
|
-
$portBusy = Get-NetTCPConnection -LocalPort ([int]$DEV_PORT) -ErrorAction SilentlyContinue
|
|
216
|
-
if ($portBusy) { "PORT_IN_USE" } else { "PORT_FREE" }
|
|
217
|
-
$devServerCommand = "<start-command>"
|
|
218
|
-
$server = Start-Process -FilePath "powershell" -ArgumentList @("-NoProfile", "-Command", $devServerCommand) -PassThru
|
|
219
|
-
$DEV_SERVER_PID = $server.Id
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
Wait for server to be ready: poll `http://localhost:$DEV_PORT` until it returns 200 or 302 (max 30 seconds, 2s interval):
|
|
223
|
-
```powershell
|
|
224
|
-
$ready = $false
|
|
225
|
-
for ($i = 0; $i -lt 15; $i++) {
|
|
226
|
-
try {
|
|
227
|
-
$response = Invoke-WebRequest -Uri "http://localhost:$DEV_PORT" -UseBasicParsing -TimeoutSec 2
|
|
228
|
-
if ($response.StatusCode -in @(200, 302)) { $ready = $true; break }
|
|
229
|
-
} catch {
|
|
230
|
-
Start-Sleep -Seconds 2
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
if (-not $ready) { "DEV_SERVER_NOT_READY" }
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
Start server, wait for ready, then:
|
|
237
|
-
```powershell
|
|
238
|
-
opencli browser open "http://localhost:$DEV_PORT"
|
|
239
|
-
if ($LASTEXITCODE -eq 0) { opencli browser state }
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
**Step 2 — Verification**:
|
|
243
|
-
|
|
244
|
-
Use `opencli browser state` to discover elements with `[N]` indices, then verify:
|
|
245
|
-
{{BROWSER_VERIFY_STEPS}}
|
|
246
|
-
|
|
247
|
-
Chain commands in PowerShell with semicolons and inspect each result, for example: `opencli browser click <N>; opencli browser wait time 1; opencli browser state`
|
|
248
|
-
|
|
249
|
-
**Step 3 — Cleanup**:
|
|
250
|
-
1. `opencli browser close`
|
|
251
|
-
2. Stop the dev server process and any remaining process bound to the dev server port:
|
|
252
|
-
```powershell
|
|
253
|
-
if ($DEV_SERVER_PID) { Stop-Process -Id $DEV_SERVER_PID -Force -ErrorAction SilentlyContinue }
|
|
254
|
-
Get-NetTCPConnection -LocalPort ([int]$DEV_PORT) -ErrorAction SilentlyContinue |
|
|
255
|
-
Select-Object -ExpandProperty OwningProcess -Unique |
|
|
256
|
-
ForEach-Object { Stop-Process -Id $_ -Force -ErrorAction SilentlyContinue }
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
**Step 4 — Reporting**:
|
|
260
|
-
|
|
261
|
-
Append results to `context-snapshot.md`:
|
|
262
|
-
```
|
|
263
|
-
## Browser Verification
|
|
264
|
-
Tool: <playwright-cli or opencli>
|
|
265
|
-
URL: http://localhost:$DEV_PORT
|
|
266
|
-
Dev Server Command: <actual command used>
|
|
267
|
-
Tool version: <version>
|
|
268
|
-
Steps executed: [list of commands used]
|
|
269
|
-
Screenshot: [path]
|
|
270
|
-
Result: PASS / FAIL (reason)
|
|
271
|
-
Server cleanup: confirmed
|
|
272
|
-
Browser cleanup: confirmed
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
If verification fails, log the failure details but continue to commit. Failures do NOT block the commit, but you MUST attempt verification and MUST clean up the dev server.
|
|
276
|
-
|
|
277
|
-
**Checkpoint update**: Run the update script to set step `browser-verification` to `"completed"`:
|
|
278
|
-
```powershell
|
|
279
|
-
Invoke-PrizmPython {{PIPELINE_DIR}}\scripts\update-checkpoint.py `
|
|
280
|
-
--checkpoint-path {{CHECKPOINT_PATH}} `
|
|
281
|
-
--step browser-verification `
|
|
282
|
-
--status completed
|
|
283
|
-
```
|
package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-opencli.md
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
### Browser Verification (opencli) — MANDATORY
|
|
2
|
-
|
|
3
|
-
You MUST execute this phase. Do NOT skip it. Do NOT mark it as completed without actually running opencli.
|
|
4
|
-
|
|
5
|
-
**Using: opencli** (reuses Chrome logged-in sessions)
|
|
6
|
-
|
|
7
|
-
**CRITICAL CONSTRAINT — opencli browser ONLY**:
|
|
8
|
-
- You MUST use `opencli browser` for ALL browser interactions in this phase
|
|
9
|
-
- All browser actions go through `opencli browser <command>` in the PowerShell tool
|
|
10
|
-
|
|
11
|
-
**Step 0 — OpenCLI Readiness Check (BLOCKING)**:
|
|
12
|
-
|
|
13
|
-
0a. Check if `opencli` is installed:
|
|
14
|
-
```powershell
|
|
15
|
-
$opencli = Get-Command opencli -ErrorAction SilentlyContinue
|
|
16
|
-
if ($opencli) { opencli --version } else { "NOT_INSTALLED" }
|
|
17
|
-
```
|
|
18
|
-
If `NOT_INSTALLED`: `npm install -g @jackwener/opencli@latest`. If installation fails, log `## Browser Verification: SKIPPED — opencli installation failed` and proceed.
|
|
19
|
-
|
|
20
|
-
0b. Verify Browser Bridge: `opencli doctor`. If fails, log skip and proceed.
|
|
21
|
-
|
|
22
|
-
0c. Learn usage:
|
|
23
|
-
```powershell
|
|
24
|
-
opencli browser --help 2>$null
|
|
25
|
-
if ($LASTEXITCODE -ne 0) { opencli --help }
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Step 1 — Start Dev Server**: use the same port detection and server lifecycle pattern as the playwright-cli path:
|
|
29
|
-
```powershell
|
|
30
|
-
$DEV_PORT = "{{DEV_PORT}}"
|
|
31
|
-
if ($DEV_PORT -eq "{{DEV_PORT}}" -or [string]::IsNullOrWhiteSpace($DEV_PORT)) {
|
|
32
|
-
$detectedPort = ""
|
|
33
|
-
if (Test-Path -LiteralPath "package.json") {
|
|
34
|
-
$detectedPort = node -e "const p=require('./package.json'); const s=(p.scripts?.dev) || ''; const m=s.match(/-p\s+(\d+)/); console.log(m?m[1]:'')"
|
|
35
|
-
}
|
|
36
|
-
if (-not $detectedPort -and $env:NEXT_PUBLIC_SITE_URL -match ':([0-9]+)') {
|
|
37
|
-
$detectedPort = $Matches[1]
|
|
38
|
-
}
|
|
39
|
-
if ($detectedPort) { $DEV_PORT = $detectedPort } else { $DEV_PORT = "3000" }
|
|
40
|
-
}
|
|
41
|
-
"Detected DEV_PORT=$DEV_PORT"
|
|
42
|
-
```
|
|
43
|
-
```powershell
|
|
44
|
-
$portBusy = Get-NetTCPConnection -LocalPort ([int]$DEV_PORT) -ErrorAction SilentlyContinue
|
|
45
|
-
if ($portBusy) { "PORT_IN_USE" } else { "PORT_FREE" }
|
|
46
|
-
$devServerCommand = "<start-command>"
|
|
47
|
-
$server = Start-Process -FilePath "powershell" -ArgumentList @("-NoProfile", "-Command", $devServerCommand) -PassThru
|
|
48
|
-
$DEV_SERVER_PID = $server.Id
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Wait for server to be ready: poll `http://localhost:$DEV_PORT` until it returns 200 or 302 (max 30 seconds, 2s interval):
|
|
52
|
-
```powershell
|
|
53
|
-
$ready = $false
|
|
54
|
-
for ($i = 0; $i -lt 15; $i++) {
|
|
55
|
-
try {
|
|
56
|
-
$response = Invoke-WebRequest -Uri "http://localhost:$DEV_PORT" -UseBasicParsing -TimeoutSec 2
|
|
57
|
-
if ($response.StatusCode -in @(200, 302)) { $ready = $true; break }
|
|
58
|
-
} catch {
|
|
59
|
-
Start-Sleep -Seconds 2
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (-not $ready) { "DEV_SERVER_NOT_READY" }
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Start server, wait for ready, then:
|
|
66
|
-
```powershell
|
|
67
|
-
opencli browser open "http://localhost:$DEV_PORT"
|
|
68
|
-
if ($LASTEXITCODE -eq 0) { opencli browser state }
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
**Step 2 — Verification**:
|
|
72
|
-
|
|
73
|
-
Use `opencli browser state` to discover elements with `[N]` indices, then verify:
|
|
74
|
-
{{BROWSER_VERIFY_STEPS}}
|
|
75
|
-
|
|
76
|
-
Chain commands in PowerShell with semicolons and inspect each result, for example: `opencli browser click <N>; opencli browser wait time 1; opencli browser state`
|
|
77
|
-
|
|
78
|
-
**Step 3 — Cleanup**:
|
|
79
|
-
1. `opencli browser close`
|
|
80
|
-
2. Stop the dev server process and any remaining process bound to the dev server port:
|
|
81
|
-
```powershell
|
|
82
|
-
if ($DEV_SERVER_PID) { Stop-Process -Id $DEV_SERVER_PID -Force -ErrorAction SilentlyContinue }
|
|
83
|
-
Get-NetTCPConnection -LocalPort ([int]$DEV_PORT) -ErrorAction SilentlyContinue |
|
|
84
|
-
Select-Object -ExpandProperty OwningProcess -Unique |
|
|
85
|
-
ForEach-Object { Stop-Process -Id $_ -Force -ErrorAction SilentlyContinue }
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
**Step 4 — Reporting**:
|
|
89
|
-
|
|
90
|
-
Append results to `context-snapshot.md`:
|
|
91
|
-
```
|
|
92
|
-
## Browser Verification
|
|
93
|
-
Tool: <playwright-cli or opencli>
|
|
94
|
-
URL: http://localhost:$DEV_PORT
|
|
95
|
-
Dev Server Command: <actual command used>
|
|
96
|
-
Tool version: <version>
|
|
97
|
-
Steps executed: [list of commands used]
|
|
98
|
-
Screenshot: [path]
|
|
99
|
-
Result: PASS / FAIL (reason)
|
|
100
|
-
Server cleanup: confirmed
|
|
101
|
-
Browser cleanup: confirmed
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
If verification fails, log the failure details but continue to commit. Failures do NOT block the commit, but you MUST attempt verification and MUST clean up the dev server.
|
|
105
|
-
|
|
106
|
-
**Checkpoint update**: Run the update script to set step `browser-verification` to `"completed"`:
|
|
107
|
-
```powershell
|
|
108
|
-
Invoke-PrizmPython {{PIPELINE_DIR}}\scripts\update-checkpoint.py `
|
|
109
|
-
--checkpoint-path {{CHECKPOINT_PATH}} `
|
|
110
|
-
--step browser-verification `
|
|
111
|
-
--status completed
|
|
112
|
-
```
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
### Browser Verification (playwright-cli) — MANDATORY
|
|
2
|
-
|
|
3
|
-
You MUST execute this phase. Do NOT skip it. Do NOT mark it as completed without actually running playwright-cli.
|
|
4
|
-
|
|
5
|
-
**Using: playwright-cli**
|
|
6
|
-
|
|
7
|
-
**CRITICAL CONSTRAINT — playwright-cli ONLY, NO Playwright MCP**:
|
|
8
|
-
- You MUST use `playwright-cli` (the CLI tool) for ALL browser interactions in this phase
|
|
9
|
-
- **NEVER** use Playwright MCP server, Playwright MCP tools, or any MCP-based browser automation
|
|
10
|
-
- If you have Playwright MCP configured, IGNORE it entirely — use the CLI command `playwright-cli` exclusively
|
|
11
|
-
- All browser actions go through `playwright-cli <command>` in the PowerShell tool, not through any MCP tool call
|
|
12
|
-
|
|
13
|
-
**Step 0 — Playwright CLI Readiness Check (BLOCKING — must pass before any browser action)**:
|
|
14
|
-
|
|
15
|
-
0a. Check if `playwright-cli` is installed:
|
|
16
|
-
```powershell
|
|
17
|
-
$playwright = Get-Command playwright-cli -ErrorAction SilentlyContinue
|
|
18
|
-
if ($playwright) { playwright-cli --version } else { "NOT_INSTALLED" }
|
|
19
|
-
```
|
|
20
|
-
If output is `NOT_INSTALLED`, install it:
|
|
21
|
-
```powershell
|
|
22
|
-
npm install -g @playwright/cli@latest
|
|
23
|
-
```
|
|
24
|
-
Then verify installation succeeded:
|
|
25
|
-
```powershell
|
|
26
|
-
playwright-cli --version
|
|
27
|
-
```
|
|
28
|
-
If installation fails, log the error in context-snapshot.md under `## Browser Verification: SKIPPED — playwright-cli installation failed` and proceed to the next phase. Do NOT attempt browser verification without playwright-cli.
|
|
29
|
-
|
|
30
|
-
0b. Learn playwright-cli usage (run once per session to understand available commands):
|
|
31
|
-
```powershell
|
|
32
|
-
playwright-cli --help
|
|
33
|
-
```
|
|
34
|
-
Use this output to determine the correct commands for your verification steps. Do NOT guess command syntax — refer to the help output.
|
|
35
|
-
|
|
36
|
-
0c. Check if playwright-cli skill is installed for the current AI platform:
|
|
37
|
-
```powershell
|
|
38
|
-
$currentPlatform = "unknown"
|
|
39
|
-
$skillDir = $null
|
|
40
|
-
if (Get-Command claude -ErrorAction SilentlyContinue) {
|
|
41
|
-
$currentPlatform = "claude"
|
|
42
|
-
$skillDir = Join-Path $HOME ".claude\skills"
|
|
43
|
-
} elseif (Get-Command cbc -ErrorAction SilentlyContinue) {
|
|
44
|
-
$currentPlatform = "codebuddy"
|
|
45
|
-
$skillDir = Join-Path $HOME ".cbc\skills"
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
$skillExists = $false
|
|
49
|
-
if ($skillDir) {
|
|
50
|
-
$directSkill = Join-Path $skillDir "playwright-cli"
|
|
51
|
-
$matchingSkills = Get-ChildItem -Path $skillDir -Filter "playwright*" -ErrorAction SilentlyContinue
|
|
52
|
-
$skillExists = (Test-Path -LiteralPath $directSkill) -or [bool]$matchingSkills
|
|
53
|
-
}
|
|
54
|
-
if ($skillExists) { "SKILL_EXISTS" } else { "SKILL_MISSING" }
|
|
55
|
-
```
|
|
56
|
-
If `SKILL_MISSING`:
|
|
57
|
-
```powershell
|
|
58
|
-
playwright-cli install --skills
|
|
59
|
-
```
|
|
60
|
-
If the current platform is NOT claude, move the installed skill files to the correct location:
|
|
61
|
-
```powershell
|
|
62
|
-
$claudeSkillDir = Join-Path $HOME ".claude\skills"
|
|
63
|
-
$sourceSkill = Join-Path $claudeSkillDir "playwright-cli"
|
|
64
|
-
if ($currentPlatform -ne "claude" -and $currentPlatform -ne "unknown" -and $skillDir -and (Test-Path -LiteralPath $sourceSkill)) {
|
|
65
|
-
New-Item -ItemType Directory -Force -Path $skillDir | Out-Null
|
|
66
|
-
Copy-Item -Recurse -Force -Path $sourceSkill -Destination $skillDir
|
|
67
|
-
"Moved playwright-cli skill from claude to $currentPlatform"
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
0d. Read the installed playwright-cli skill for workflow guidance:
|
|
72
|
-
After skill installation, read the skill's SKILL.md to understand recommended workflows and patterns. Use these patterns to construct your verification flow — do NOT invent your own patterns if the skill provides them.
|
|
73
|
-
|
|
74
|
-
**Step 1 — Start Dev Server**:
|
|
75
|
-
|
|
76
|
-
You know this project's tech stack. Detect and start the dev server yourself:
|
|
77
|
-
|
|
78
|
-
1. Identify the dev server start command from project config (`package.json` scripts, `Makefile`, `docker-compose.yml`, etc.)
|
|
79
|
-
2. **Detect the dev server port** — use the pre-detected port from pipeline if available, otherwise extract from project config. Do NOT hardcode or guess the port:
|
|
80
|
-
```powershell
|
|
81
|
-
$DEV_PORT = "{{DEV_PORT}}"
|
|
82
|
-
if ($DEV_PORT -eq "{{DEV_PORT}}" -or [string]::IsNullOrWhiteSpace($DEV_PORT)) {
|
|
83
|
-
$detectedPort = ""
|
|
84
|
-
if (Test-Path -LiteralPath "package.json") {
|
|
85
|
-
$detectedPort = node -e "const p=require('./package.json'); const s=(p.scripts?.dev) || ''; const m=s.match(/-p\s+(\d+)/); console.log(m?m[1]:'')"
|
|
86
|
-
}
|
|
87
|
-
if (-not $detectedPort -and $env:NEXT_PUBLIC_SITE_URL -match ':([0-9]+)') {
|
|
88
|
-
$detectedPort = $Matches[1]
|
|
89
|
-
}
|
|
90
|
-
if ($detectedPort) { $DEV_PORT = $detectedPort } else { $DEV_PORT = "3000" }
|
|
91
|
-
}
|
|
92
|
-
"Detected DEV_PORT=$DEV_PORT"
|
|
93
|
-
```
|
|
94
|
-
3. Verify the port is available and start the dev server in the background, capturing its process id:
|
|
95
|
-
```powershell
|
|
96
|
-
$portBusy = Get-NetTCPConnection -LocalPort ([int]$DEV_PORT) -ErrorAction SilentlyContinue
|
|
97
|
-
if ($portBusy) { "PORT_IN_USE" } else { "PORT_FREE" }
|
|
98
|
-
$devServerCommand = "<start-command>"
|
|
99
|
-
$server = Start-Process -FilePath "powershell" -ArgumentList @("-NoProfile", "-Command", $devServerCommand) -PassThru
|
|
100
|
-
$DEV_SERVER_PID = $server.Id
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
Wait for server to be ready: poll `http://localhost:$DEV_PORT` until it returns 200 or 302 (max 30 seconds, 2s interval):
|
|
104
|
-
```powershell
|
|
105
|
-
$ready = $false
|
|
106
|
-
for ($i = 0; $i -lt 15; $i++) {
|
|
107
|
-
try {
|
|
108
|
-
$response = Invoke-WebRequest -Uri "http://localhost:$DEV_PORT" -UseBasicParsing -TimeoutSec 2
|
|
109
|
-
if ($response.StatusCode -in @(200, 302)) { $ready = $true; break }
|
|
110
|
-
} catch {
|
|
111
|
-
Start-Sleep -Seconds 2
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (-not $ready) { "DEV_SERVER_NOT_READY" }
|
|
115
|
-
```
|
|
116
|
-
4. Open the app in playwright-cli: `playwright-cli open "http://localhost:$DEV_PORT"`
|
|
117
|
-
5. If the page requires authentication, use playwright-cli to register a test user and log in first
|
|
118
|
-
|
|
119
|
-
**Step 2 — Verification**:
|
|
120
|
-
|
|
121
|
-
Use `playwright-cli snapshot` on the running app to discover actual element refs, then verify these goals:
|
|
122
|
-
{{BROWSER_VERIFY_STEPS}}
|
|
123
|
-
|
|
124
|
-
Construct your verification workflow based on:
|
|
125
|
-
1. The playwright-cli skill documentation (read in Step 0d)
|
|
126
|
-
2. The `playwright-cli --help` output (captured in Step 0b)
|
|
127
|
-
3. The current task's Verification Gates and implemented features
|
|
128
|
-
|
|
129
|
-
Decide the concrete playwright-cli actions (click, fill, snapshot, screenshot, etc.) yourself based on the snapshot output and your knowledge of the implemented code. The goals above describe WHAT to verify — you determine HOW using playwright-cli commands.
|
|
130
|
-
|
|
131
|
-
Take a final screenshot for evidence: `playwright-cli screenshot`
|
|
132
|
-
|
|
133
|
-
**Step 3 — Cleanup (REQUIRED — you started it, you stop it)**:
|
|
134
|
-
|
|
135
|
-
1. Close the playwright-cli browser: `playwright-cli close`
|
|
136
|
-
2. Stop the dev server process and any remaining process bound to the dev server port:
|
|
137
|
-
```powershell
|
|
138
|
-
if ($DEV_SERVER_PID) { Stop-Process -Id $DEV_SERVER_PID -Force -ErrorAction SilentlyContinue }
|
|
139
|
-
Get-NetTCPConnection -LocalPort ([int]$DEV_PORT) -ErrorAction SilentlyContinue |
|
|
140
|
-
Select-Object -ExpandProperty OwningProcess -Unique |
|
|
141
|
-
ForEach-Object { Stop-Process -Id $_ -Force -ErrorAction SilentlyContinue }
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
**Step 4 — Reporting**:
|
|
145
|
-
|
|
146
|
-
Append results to `context-snapshot.md`:
|
|
147
|
-
```
|
|
148
|
-
## Browser Verification
|
|
149
|
-
Tool: <playwright-cli or opencli>
|
|
150
|
-
URL: http://localhost:$DEV_PORT
|
|
151
|
-
Dev Server Command: <actual command used>
|
|
152
|
-
Tool version: <version>
|
|
153
|
-
Steps executed: [list of commands used]
|
|
154
|
-
Screenshot: [path]
|
|
155
|
-
Result: PASS / FAIL (reason)
|
|
156
|
-
Server cleanup: confirmed
|
|
157
|
-
Browser cleanup: confirmed
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
If verification fails, log the failure details but continue to commit. Failures do NOT block the commit, but you MUST attempt verification and MUST clean up the dev server.
|
|
161
|
-
|
|
162
|
-
**Checkpoint update**: Run the update script to set step `browser-verification` to `"completed"`:
|
|
163
|
-
```powershell
|
|
164
|
-
Invoke-PrizmPython {{PIPELINE_DIR}}\scripts\update-checkpoint.py `
|
|
165
|
-
--checkpoint-path {{CHECKPOINT_PATH}} `
|
|
166
|
-
--step browser-verification `
|
|
167
|
-
--status completed
|
|
168
|
-
```
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
### Architecture Sync & Commit (SINGLE COMMIT) — DO NOT SKIP
|
|
2
|
-
|
|
3
|
-
**a.** Check if feature already committed:
|
|
4
|
-
```powershell
|
|
5
|
-
git log --oneline | Select-String -Pattern "{{FEATURE_ID}}" | Select-Object -First 3
|
|
6
|
-
```
|
|
7
|
-
- If a commit for `{{FEATURE_ID}}` already exists → **skip d** (do NOT run /prizmkit-committer, do NOT run git reset, do NOT stage or unstage anything). Proceed directly to e Final verification.
|
|
8
|
-
- If no existing commit → proceed normally with b–d.
|
|
9
|
-
|
|
10
|
-
**b.** Run `/prizmkit-retrospective` (**before commit**, maintains `.prizmkit/prizm-docs/` architecture index):
|
|
11
|
-
1. **Structural sync**: update KEY_FILES/INTERFACES/DEPENDENCIES/file counts for changed modules
|
|
12
|
-
2. **Architecture knowledge**: extract TRAPS, RULES, DECISIONS from completed work into `.prizmkit/prizm-docs/`
|
|
13
|
-
3. **L2 coverage check**: For any module/sub-module with source files created or significantly modified in this session but no L2 `.prizm` doc — evaluate whether L2 is warranted and create if so. The current session has the best context for accurate KEY_FILES, TRAPS, and DECISIONS.
|
|
14
|
-
4. Stage doc changes: `git add .prizmkit/prizm-docs/`
|
|
15
|
-
⚠️ Do NOT commit here. Only stage.
|
|
16
|
-
|
|
17
|
-
**c.** Stage all feature code explicitly (NEVER use `git add -A` or `git add .`):
|
|
18
|
-
```powershell
|
|
19
|
-
git add <specific-files-created-or-modified>
|
|
20
|
-
git add .prizmkit/prizm-docs/
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**d.** Run `/prizmkit-committer` → THE ONLY commit for this feature:
|
|
24
|
-
`feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`
|
|
25
|
-
This single commit includes: feature code + tests + .prizmkit/prizm-docs/ updates. Do NOT push.
|
|
26
|
-
- MANDATORY: commit must be done via `/prizmkit-committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
|
|
27
|
-
- Do NOT run `update-feature-status.py` here — the pipeline runner handles feature-list.json updates automatically after session exit.
|
|
28
|
-
|
|
29
|
-
**e.** Final verification:
|
|
30
|
-
```powershell
|
|
31
|
-
git status --short
|
|
32
|
-
```
|
|
33
|
-
Working tree MUST be clean after this step. If any feature-related files remain, stage them into the SAME commit via `git add <file>; if ($LASTEXITCODE -eq 0) { git commit --amend --no-edit }`, do NOT create a separate commit.
|
|
34
|
-
|
|
35
|
-
**f.** Write completion summary for downstream dependency context:
|
|
36
|
-
|
|
37
|
-
Write `.prizmkit/specs/{{FEATURE_SLUG}}/completion-summary.json` with the key changes from this session. This file is NOT committed to git — the pipeline runner reads it to propagate context to dependent features.
|
|
38
|
-
|
|
39
|
-
```json
|
|
40
|
-
{
|
|
41
|
-
"completion_notes": [
|
|
42
|
-
"<each item: one key change, API, model, or integration point that downstream features may need>",
|
|
43
|
-
"Example: Added User model (id, email, password_hash, display_name) in prisma/schema.prisma",
|
|
44
|
-
"Example: POST /api/auth/register and POST /api/auth/login endpoints in src/api/auth.ts",
|
|
45
|
-
"Example: Auth middleware in src/middleware/auth.ts — validates JWT on protected routes"
|
|
46
|
-
]
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Rules for writing completion notes:
|
|
51
|
-
- Focus on **what downstream features need to know**: new APIs, models, exported functions, key file paths
|
|
52
|
-
- Each note should be self-contained and concise (one line, under 120 characters preferred)
|
|
53
|
-
- Include 3-8 notes covering the most important changes
|
|
54
|
-
- Do NOT include test files, config changes, or internal implementation details unless they affect other features
|
|
55
|
-
- If this feature has no downstream dependents, still write the summary (it serves as documentation)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
**Checkpoint update**: After `/prizmkit-retrospective` completes, run the update script to set step `prizmkit-retrospective` to `"completed"`:
|
|
59
|
-
```powershell
|
|
60
|
-
Invoke-PrizmPython {{PIPELINE_DIR}}\scripts\update-checkpoint.py `
|
|
61
|
-
--checkpoint-path {{CHECKPOINT_PATH}} `
|
|
62
|
-
--step prizmkit-retrospective `
|
|
63
|
-
--status completed
|
|
64
|
-
```
|
|
65
|
-
After `/prizmkit-committer` completes, set step `prizmkit-committer` to `"completed"`:
|
|
66
|
-
```powershell
|
|
67
|
-
Invoke-PrizmPython {{PIPELINE_DIR}}\scripts\update-checkpoint.py `
|
|
68
|
-
--checkpoint-path {{CHECKPOINT_PATH}} `
|
|
69
|
-
--step prizmkit-committer `
|
|
70
|
-
--status completed
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### TERMINAL STOP — Commit Completed
|
|
74
|
-
|
|
75
|
-
After all of the following are true, the session is **TERMINAL**:
|
|
76
|
-
|
|
77
|
-
- `/prizmkit-committer` has completed
|
|
78
|
-
- `git status --short` is clean (except ignored/local-only pipeline artifacts)
|
|
79
|
-
- `.prizmkit/specs/{{FEATURE_SLUG}}/completion-summary.json` is written
|
|
80
|
-
- the `prizmkit-committer` checkpoint is marked `completed`
|
|
81
|
-
|
|
82
|
-
At that point, stop immediately. Do **not** process delayed teammate/reviewer findings, do **not** edit files, do **not** amend the commit, and do **not** start any new tool calls. Any findings that arrive after S09 is completed are follow-up work for a later session, not part of this feature commit.
|