cc-devflow 4.2.0 → 4.4.1
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/.claude/skills/cc-act/CHANGELOG.md +64 -0
- package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
- package/.claude/skills/cc-act/SKILL.md +322 -0
- package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +64 -0
- package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +25 -0
- package/.claude/skills/cc-act/references/closure-contract.md +49 -0
- package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
- package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
- package/.claude/skills/cc-act/scripts/cc-act-common.sh +240 -0
- package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
- package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
- package/.claude/skills/cc-act/scripts/render-pr-brief.sh +195 -0
- package/.claude/skills/cc-act/scripts/sync-act-docs.sh +315 -0
- package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
- package/.claude/skills/cc-check/CHANGELOG.md +73 -0
- package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
- package/.claude/skills/cc-check/SKILL.md +345 -0
- package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +50 -0
- package/.claude/skills/cc-check/references/gate-contract.md +29 -0
- package/.claude/skills/cc-check/references/review-contract.md +45 -0
- package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
- package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
- package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
- package/.claude/skills/cc-do/CHANGELOG.md +49 -0
- package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
- package/.claude/skills/cc-do/SKILL.md +216 -0
- package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
- package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
- package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
- package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
- package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
- package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
- package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
- package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
- package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
- package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
- package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
- package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
- package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
- package/.claude/skills/cc-investigate/CHANGELOG.md +26 -0
- package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
- package/.claude/skills/cc-investigate/SKILL.md +221 -0
- package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +55 -0
- package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +52 -0
- package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +103 -0
- package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
- package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
- package/.claude/skills/cc-plan/CHANGELOG.md +99 -0
- package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
- package/.claude/skills/cc-plan/SKILL.md +325 -0
- package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +155 -0
- package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +98 -0
- package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +108 -0
- package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +79 -0
- package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
- package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
- package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
- package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
- package/.claude/skills/cc-roadmap/CHANGELOG.md +114 -0
- package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
- package/.claude/skills/cc-roadmap/SKILL.md +259 -0
- package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +45 -0
- package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +153 -0
- package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +48 -0
- package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
- package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
- package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
- package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
- package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
- package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
- package/.claude/skills/cc-simplify/SKILL.md +55 -0
- package/.claude/skills/cc-spec-init/CHANGELOG.md +7 -0
- package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
- package/.claude/skills/cc-spec-init/SKILL.md +127 -0
- package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +63 -0
- package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +25 -0
- package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +34 -0
- package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
- package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
- package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
- package/CHANGELOG.md +101 -4
- package/README.md +120 -755
- package/README.zh-CN.md +119 -755
- package/bin/adapt.js +2 -6
- package/bin/cc-devflow-cli.js +72 -177
- package/config/distributable-skills.json +24 -0
- package/docs/CLAUDE.md +10 -6
- package/docs/commands/README.md +19 -46
- package/docs/commands/README.zh-CN.md +25 -48
- package/docs/examples/BY-ARTIFACT.md +7 -0
- package/docs/examples/README.md +38 -0
- package/docs/examples/START-HERE.md +149 -0
- package/docs/examples/example-bindings.json +38 -0
- package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
- package/docs/examples/full-design-blocked/README.md +55 -0
- package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
- package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
- package/docs/examples/local-handoff/BACKLOG.md +45 -0
- package/docs/examples/local-handoff/README.md +56 -0
- package/docs/examples/local-handoff/ROADMAP.md +45 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
- package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
- package/docs/examples/pdca-loop/BACKLOG.md +46 -0
- package/docs/examples/pdca-loop/README.md +58 -0
- package/docs/examples/pdca-loop/ROADMAP.md +133 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
- package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
- package/docs/examples/scripts/check-example-bindings.sh +116 -0
- package/docs/guides/getting-started.md +94 -129
- package/docs/guides/getting-started.zh-CN.md +103 -84
- package/docs/skill-runtime-migration.md +46 -0
- package/docs/v4.3.0-migration-guide.md +111 -0
- package/lib/compiler/CLAUDE.md +55 -84
- package/lib/compiler/__tests__/drift.test.js +1 -1
- package/lib/compiler/__tests__/errors.test.js +0 -1
- package/lib/compiler/__tests__/integration.test.js +49 -3
- package/lib/compiler/__tests__/manifest.test.js +0 -156
- package/lib/compiler/__tests__/parser.test.js +33 -104
- package/lib/compiler/__tests__/schemas.test.js +30 -34
- package/lib/compiler/__tests__/skills-registry.test.js +114 -0
- package/lib/compiler/__tests__/transformer.test.js +5 -9
- package/lib/compiler/emitters/antigravity-emitter.js +5 -213
- package/lib/compiler/emitters/base-emitter.js +3 -298
- package/lib/compiler/emitters/codex-emitter.js +4 -202
- package/lib/compiler/emitters/cursor-emitter.js +3 -287
- package/lib/compiler/emitters/qwen-emitter.js +4 -176
- package/lib/compiler/index.js +65 -345
- package/lib/compiler/manifest.js +6 -68
- package/lib/compiler/parser.js +31 -63
- package/lib/compiler/platforms.js +32 -277
- package/lib/compiler/resource-copier.js +176 -6
- package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
- package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
- package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
- package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
- package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
- package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
- package/lib/compiler/rules-emitters/index.js +6 -3
- package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
- package/lib/compiler/schemas.js +8 -4
- package/lib/compiler/skills-registry.js +213 -15
- package/lib/compiler/transformer.js +1 -1
- package/lib/skill-runtime/CLAUDE.md +19 -0
- package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
- package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +181 -0
- package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
- package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
- package/lib/skill-runtime/__tests__/intent.test.js +219 -0
- package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
- package/lib/skill-runtime/__tests__/paths.test.js +42 -0
- package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
- package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
- package/lib/skill-runtime/__tests__/query.test.js +284 -0
- package/lib/skill-runtime/__tests__/runtime.integration.test.js +279 -0
- package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
- package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
- package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
- package/lib/skill-runtime/__tests__/worker.test.js +56 -0
- package/lib/skill-runtime/artifacts.js +93 -0
- package/lib/skill-runtime/delegation.js +533 -0
- package/lib/skill-runtime/index.js +34 -0
- package/lib/skill-runtime/intent.js +333 -0
- package/lib/skill-runtime/lifecycle.js +294 -0
- package/lib/skill-runtime/operations/CLAUDE.md +19 -0
- package/lib/skill-runtime/operations/approve.js +66 -0
- package/lib/skill-runtime/operations/autopilot-core.js +337 -0
- package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
- package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
- package/lib/skill-runtime/operations/autopilot.js +163 -0
- package/lib/skill-runtime/operations/dispatch.js +454 -0
- package/lib/skill-runtime/operations/init.js +64 -0
- package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
- package/lib/skill-runtime/operations/plan.js +59 -0
- package/lib/skill-runtime/operations/prepare-pr.js +25 -0
- package/lib/{harness → skill-runtime}/operations/release.js +18 -5
- package/lib/skill-runtime/operations/resume.js +143 -0
- package/lib/skill-runtime/operations/snapshot.js +45 -0
- package/lib/skill-runtime/operations/verify.js +170 -0
- package/lib/skill-runtime/operations/worker-run.js +529 -0
- package/lib/skill-runtime/operations/worker.js +33 -0
- package/lib/skill-runtime/paths.js +213 -0
- package/lib/skill-runtime/planner.js +519 -0
- package/lib/skill-runtime/query.js +157 -0
- package/lib/skill-runtime/review.js +557 -0
- package/lib/skill-runtime/schemas.js +400 -0
- package/lib/{harness → skill-runtime}/store.js +45 -30
- package/lib/skill-runtime/team-state.js +122 -0
- package/package.json +13 -11
- package/.claude/CLAUDE.md +0 -125
- package/.claude/agents/architecture-designer.md +0 -443
- package/.claude/agents/bug-analyzer.md +0 -381
- package/.claude/agents/checklist-agent.md +0 -175
- package/.claude/agents/clarify-analyst.md +0 -50
- package/.claude/agents/code-quality-reviewer.md +0 -205
- package/.claude/agents/code-reviewer.md +0 -71
- package/.claude/agents/codex-analyzer.md +0 -39
- package/.claude/agents/compatibility-checker.md +0 -579
- package/.claude/agents/consistency-checker.md +0 -532
- package/.claude/agents/dev-implementer.md +0 -195
- package/.claude/agents/flow-researcher.md +0 -132
- package/.claude/agents/impact-analyzer.md +0 -440
- package/.claude/agents/planner.md +0 -230
- package/.claude/agents/prd-writer.md +0 -320
- package/.claude/agents/project-guidelines-generator.md +0 -1329
- package/.claude/agents/qa-tester.md +0 -313
- package/.claude/agents/release-manager.md +0 -295
- package/.claude/agents/security-reviewer.md +0 -314
- package/.claude/agents/spec-reviewer.md +0 -221
- package/.claude/agents/style-guide-generator.md +0 -458
- package/.claude/agents/tech-architect.md +0 -516
- package/.claude/agents/ui-designer.md +0 -485
- package/.claude/commands/core/architecture.md +0 -459
- package/.claude/commands/core/guidelines.md +0 -511
- package/.claude/commands/core/roadmap.md +0 -468
- package/.claude/commands/core/style.md +0 -83
- package/.claude/commands/flow/CLAUDE.md +0 -28
- package/.claude/commands/flow/archive.md +0 -280
- package/.claude/commands/flow/checklist.md +0 -18
- package/.claude/commands/flow/clarify.md +0 -18
- package/.claude/commands/flow/constitution.md +0 -82
- package/.claude/commands/flow/context.md +0 -150
- package/.claude/commands/flow/delta.md +0 -245
- package/.claude/commands/flow/dev.md +0 -40
- package/.claude/commands/flow/fix.md +0 -217
- package/.claude/commands/flow/ideate.md +0 -214
- package/.claude/commands/flow/init.md +0 -38
- package/.claude/commands/flow/new.md +0 -23
- package/.claude/commands/flow/quality.md +0 -21
- package/.claude/commands/flow/release.md +0 -36
- package/.claude/commands/flow/restart.md +0 -97
- package/.claude/commands/flow/spec.md +0 -36
- package/.claude/commands/flow/status.md +0 -64
- package/.claude/commands/flow/update.md +0 -111
- package/.claude/commands/flow/upgrade.md +0 -115
- package/.claude/commands/flow/verify.md +0 -37
- package/.claude/commands/flow/workspace.md +0 -155
- package/.claude/commands/util/cancel-ralph.md +0 -60
- package/.claude/commands/util/code-review.md +0 -58
- package/.claude/commands/util/git-commit.md +0 -422
- package/.claude/commands/util/problem-analyzer.md +0 -60
- package/.claude/config/quality-gates.yml +0 -305
- package/.claude/config/quality-rules.yml +0 -161
- package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
- package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
- package/.claude/docs/design/intent-driven-input-design.md +0 -380
- package/.claude/docs/design/prd-version-management-design.md +0 -437
- package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
- package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
- package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
- package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
- package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
- package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -633
- package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
- package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
- package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
- package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
- package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
- package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
- package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
- package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
- package/.claude/docs/templates/EPIC_TEMPLATE.md +0 -805
- package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
- package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
- package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
- package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
- package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
- package/.claude/docs/templates/PRD_TEMPLATE.md +0 -562
- package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
- package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
- package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
- package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
- package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -1266
- package/.claude/docs/templates/TASKS_TEMPLATE.md +0 -523
- package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +0 -1019
- package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -1435
- package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
- package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
- package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
- package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
- package/.claude/docs/templates/context/dev.jsonl.template +0 -6
- package/.claude/docs/templates/context/epic.jsonl.template +0 -5
- package/.claude/docs/templates/context/prd.jsonl.template +0 -4
- package/.claude/docs/templates/context/research.jsonl.template +0 -4
- package/.claude/docs/templates/context/review.jsonl.template +0 -5
- package/.claude/docs/templates/context/tech.jsonl.template +0 -5
- package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
- package/.claude/guides/project-guidelines-system.md +0 -463
- package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
- package/.claude/guides/technical-guides/git-github-guide.md +0 -642
- package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
- package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
- package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
- package/.claude/hooks/CLAUDE.md +0 -342
- package/.claude/hooks/checklist-gate.js +0 -397
- package/.claude/hooks/error-handling-reminder.sh +0 -12
- package/.claude/hooks/error-handling-reminder.ts +0 -459
- package/.claude/hooks/hooks.json +0 -15
- package/.claude/hooks/inject-agent-context.ts +0 -480
- package/.claude/hooks/inject-skill-context.ts +0 -359
- package/.claude/hooks/post-tool-use-tracker.sh +0 -280
- package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
- package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
- package/.claude/hooks/ralph-loop.ts +0 -931
- package/.claude/hooks/ralph-stop-hook.sh +0 -190
- package/.claude/hooks/skill-activation-prompt.sh +0 -36
- package/.claude/hooks/skill-activation-prompt.ts +0 -214
- package/.claude/hooks/state/skills-used-test-guard.json +0 -3
- package/.claude/hooks/task-completed-hook.ts +0 -593
- package/.claude/hooks/teammate-idle-hook.ts +0 -690
- package/.claude/hooks/types/team-types.d.ts +0 -238
- package/.claude/rules/devflow-conventions.md +0 -286
- package/.claude/rules/project-constitution.md +0 -1002
- package/.claude/rules/rationalization-library.md +0 -282
- package/.claude/schemas/constitution.schema.json +0 -43
- package/.claude/scripts/CLAUDE.md +0 -76
- package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
- package/.claude/scripts/archive-requirement.sh +0 -394
- package/.claude/scripts/calculate-checklist-completion.sh +0 -243
- package/.claude/scripts/calculate-quarter.sh +0 -206
- package/.claude/scripts/check-dependencies.sh +0 -409
- package/.claude/scripts/check-prerequisites.sh +0 -232
- package/.claude/scripts/check-task-status.sh +0 -288
- package/.claude/scripts/checklist-errors.sh +0 -131
- package/.claude/scripts/common.sh +0 -1102
- package/.claude/scripts/consolidate-research.sh +0 -182
- package/.claude/scripts/create-requirement.sh +0 -451
- package/.claude/scripts/delta-parser.ts +0 -527
- package/.claude/scripts/detect-file-conflicts.sh +0 -151
- package/.claude/scripts/export-contracts.sh +0 -117
- package/.claude/scripts/extract-data-model.sh +0 -78
- package/.claude/scripts/flow-context-add.sh +0 -134
- package/.claude/scripts/flow-context-init.sh +0 -133
- package/.claude/scripts/flow-context-validate.sh +0 -144
- package/.claude/scripts/flow-delta-apply.sh +0 -297
- package/.claude/scripts/flow-delta-archive.sh +0 -71
- package/.claude/scripts/flow-delta-create.sh +0 -202
- package/.claude/scripts/flow-delta-list.sh +0 -142
- package/.claude/scripts/flow-delta-status.sh +0 -235
- package/.claude/scripts/flow-quality-full.sh +0 -215
- package/.claude/scripts/flow-quality-quick.sh +0 -119
- package/.claude/scripts/flow-workspace-init.sh +0 -117
- package/.claude/scripts/flow-workspace-record.sh +0 -164
- package/.claude/scripts/generate-clarification-questions.sh +0 -377
- package/.claude/scripts/generate-clarification-report.sh +0 -463
- package/.claude/scripts/generate-quickstart.sh +0 -146
- package/.claude/scripts/generate-research-tasks.sh +0 -157
- package/.claude/scripts/generate-status-report.sh +0 -523
- package/.claude/scripts/generate-tech-analysis.sh +0 -46
- package/.claude/scripts/get-workflow-status.sh +0 -415
- package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
- package/.claude/scripts/manage-constitution.sh +0 -602
- package/.claude/scripts/mark-task-complete.sh +0 -198
- package/.claude/scripts/parse-task-dependencies.js +0 -334
- package/.claude/scripts/populate-research-tasks.sh +0 -284
- package/.claude/scripts/record-quality-error.sh +0 -165
- package/.claude/scripts/recover-workflow.sh +0 -463
- package/.claude/scripts/run-clarify-scan.sh +0 -601
- package/.claude/scripts/run-high-review.sh +0 -62
- package/.claude/scripts/run-problem-analysis.sh +0 -68
- package/.claude/scripts/run-quality-gates.sh +0 -242
- package/.claude/scripts/setup-epic.sh +0 -173
- package/.claude/scripts/setup-ralph-loop.sh +0 -155
- package/.claude/scripts/sync-roadmap-progress.sh +0 -300
- package/.claude/scripts/sync-task-marks.sh +0 -199
- package/.claude/scripts/team-dev-init.sh +0 -319
- package/.claude/scripts/team-state-recovery.sh +0 -229
- package/.claude/scripts/test-clarify-scan.sh +0 -515
- package/.claude/scripts/update-agent-context.sh +0 -806
- package/.claude/scripts/validate-constitution.sh +0 -567
- package/.claude/scripts/validate-hooks.sh +0 -487
- package/.claude/scripts/validate-research.sh +0 -332
- package/.claude/scripts/validate-scope-boundary.sh +0 -493
- package/.claude/scripts/verify-gate.sh +0 -269
- package/.claude/scripts/verify-setup.sh +0 -37
- package/.claude/scripts/workflow-status.ts +0 -433
- package/.claude/settings.json +0 -95
- package/.claude/skills/_reference-implementations/README.md +0 -96
- package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
- package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
- package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
- package/.claude/skills/domain/attention-refresh/SKILL.md +0 -170
- package/.claude/skills/domain/brainstorming/SKILL.md +0 -161
- package/.claude/skills/domain/debugging/SKILL.md +0 -221
- package/.claude/skills/domain/finishing-branch/SKILL.md +0 -189
- package/.claude/skills/domain/receiving-review/SKILL.md +0 -153
- package/.claude/skills/domain/tdd/SKILL.md +0 -218
- package/.claude/skills/domain/verification/SKILL.md +0 -158
- package/.claude/skills/guardrail/constitution-guardian/SKILL.md +0 -306
- package/.claude/skills/guardrail/tdd-enforcer/SKILL.md +0 -192
- package/.claude/skills/skill-rules.json +0 -359
- package/.claude/skills/utility/constitution-quick-ref/SKILL.md +0 -374
- package/.claude/skills/utility/file-standards/SKILL.md +0 -353
- package/.claude/skills/utility/fractal-docs/SKILL.md +0 -45
- package/.claude/skills/utility/journey-checker/SKILL.md +0 -199
- package/.claude/skills/utility/journey-checker/pressure-scenarios.md +0 -164
- package/.claude/skills/utility/npm-release/SKILL.md +0 -314
- package/.claude/skills/utility/skill-creator/LICENSE.txt +0 -202
- package/.claude/skills/utility/skill-creator/SKILL.md +0 -356
- package/.claude/skills/utility/skill-creator/references/output-patterns.md +0 -82
- package/.claude/skills/utility/skill-creator/references/workflows.md +0 -28
- package/.claude/skills/utility/skill-creator/scripts/init_skill.py +0 -303
- package/.claude/skills/utility/skill-creator/scripts/package_skill.py +0 -110
- package/.claude/skills/utility/skill-creator/scripts/quick_validate.py +0 -95
- package/.claude/skills/workflow/CLAUDE.md +0 -24
- package/.claude/skills/workflow/flow-dev/CLAUDE.md +0 -16
- package/.claude/skills/workflow/flow-dev/SKILL.md +0 -94
- package/.claude/skills/workflow/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
- package/.claude/skills/workflow/flow-dev/context.jsonl +0 -4
- package/.claude/skills/workflow/flow-dev/dev-implementer.jsonl +0 -8
- package/.claude/skills/workflow/flow-dev/scripts/entry-gate.sh +0 -116
- package/.claude/skills/workflow/flow-dev/scripts/exit-gate.sh +0 -101
- package/.claude/skills/workflow/flow-dev/scripts/task-orchestrator.sh +0 -106
- package/.claude/skills/workflow/flow-fix/SKILL.md +0 -105
- package/.claude/skills/workflow/flow-fix/context.jsonl +0 -6
- package/.claude/skills/workflow/flow-fix/references/bug-analyzer.md +0 -381
- package/.claude/skills/workflow/flow-init/SKILL.md +0 -84
- package/.claude/skills/workflow/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
- package/.claude/skills/workflow/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
- package/.claude/skills/workflow/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
- package/.claude/skills/workflow/flow-init/context.jsonl +0 -5
- package/.claude/skills/workflow/flow-init/references/flow-researcher.md +0 -132
- package/.claude/skills/workflow/flow-init/scripts/check-prerequisites.sh +0 -240
- package/.claude/skills/workflow/flow-init/scripts/consolidate-research.sh +0 -182
- package/.claude/skills/workflow/flow-init/scripts/create-requirement.sh +0 -404
- package/.claude/skills/workflow/flow-init/scripts/generate-research-tasks.sh +0 -157
- package/.claude/skills/workflow/flow-init/scripts/populate-research-tasks.sh +0 -284
- package/.claude/skills/workflow/flow-init/scripts/validate-research.sh +0 -340
- package/.claude/skills/workflow/flow-quality/SKILL.md +0 -98
- package/.claude/skills/workflow/flow-quality/context.jsonl +0 -6
- package/.claude/skills/workflow/flow-quality/references/code-quality-reviewer.md +0 -205
- package/.claude/skills/workflow/flow-quality/references/qa-tester.md +0 -313
- package/.claude/skills/workflow/flow-quality/references/security-reviewer.md +0 -314
- package/.claude/skills/workflow/flow-quality/references/spec-reviewer.md +0 -221
- package/.claude/skills/workflow/flow-release/SKILL.md +0 -49
- package/.claude/skills/workflow/flow-release/context.jsonl +0 -5
- package/.claude/skills/workflow/flow-release/references/release-manager.md +0 -295
- package/.claude/skills/workflow/flow-spec/CLAUDE.md +0 -17
- package/.claude/skills/workflow/flow-spec/SKILL.md +0 -74
- package/.claude/skills/workflow/flow-spec/context.jsonl +0 -5
- package/.claude/skills/workflow/flow-spec/scripts/entry-gate.sh +0 -194
- package/.claude/skills/workflow/flow-spec/scripts/exit-gate.sh +0 -244
- package/.claude/skills/workflow/flow-spec/scripts/parallel-orchestrator.sh +0 -205
- package/.claude/skills/workflow/flow-spec/scripts/team-communication.sh +0 -353
- package/.claude/skills/workflow/flow-spec/scripts/team-init.sh +0 -195
- package/.claude/skills/workflow/flow-spec/scripts/test-team-mode.sh +0 -496
- package/.claude/skills/workflow/flow-spec/team-config.json +0 -165
- package/.claude/skills/workflow/flow-verify/CLAUDE.md +0 -10
- package/.claude/skills/workflow/flow-verify/SKILL.md +0 -53
- package/.claude/skills/workflow/flow-verify/context.jsonl +0 -5
- package/.claude/skills/workflow.yaml +0 -219
- package/.claude/tests/README.md +0 -300
- package/.claude/tests/TODO.md +0 -69
- package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
- package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
- package/.claude/tests/constitution/test_article_coverage.sh +0 -201
- package/.claude/tests/constitution/test_template_completeness.sh +0 -150
- package/.claude/tests/constitution/test_version_consistency.sh +0 -120
- package/.claude/tests/fixtures/spec_delta_full.md +0 -16
- package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
- package/.claude/tests/run-all-tests.sh +0 -229
- package/.claude/tests/scripts/run.sh +0 -30
- package/.claude/tests/scripts/test-framework.sh +0 -128
- package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
- package/.claude/tests/scripts/test_check_task_status.sh +0 -499
- package/.claude/tests/scripts/test_common.sh +0 -244
- package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
- package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
- package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
- package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
- package/.claude/tests/scripts/test_setup_epic.sh +0 -437
- package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
- package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
- package/.claude/tests/scripts/test_validate_research.sh +0 -462
- package/.claude/tests/slugify.bats +0 -82
- package/.claude/tests/test-framework.sh +0 -732
- package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
- package/.claude/tests/test_consolidate_research.py +0 -48
- package/.claude/tests/test_export_contracts.py +0 -43
- package/.claude/tests/test_extract_data_model.py +0 -33
- package/.claude/tests/test_generate_quickstart.py +0 -50
- package/.claude/tests/test_generate_research_tasks.py +0 -52
- package/bin/harness.js +0 -22
- package/docs/commands/core-roadmap.md +0 -106
- package/docs/commands/core-roadmap.zh-CN.md +0 -102
- package/docs/commands/core-style.md +0 -53
- package/docs/commands/core-style.zh-CN.md +0 -53
- package/docs/commands/flow-init.md +0 -140
- package/docs/commands/flow-init.zh-CN.md +0 -169
- package/docs/commands/flow-new.md +0 -39
- package/docs/commands/flow-new.zh-CN.md +0 -39
- package/lib/compiler/__tests__/compile-regression.test.js +0 -103
- package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
- package/lib/compiler/__tests__/resource-copier.test.js +0 -26
- package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
- package/lib/compiler/context-expander.js +0 -179
- package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
- package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
- package/lib/compiler/skill-discovery.js +0 -68
- package/lib/harness/CLAUDE.md +0 -21
- package/lib/harness/cli.js +0 -208
- package/lib/harness/index.js +0 -16
- package/lib/harness/operations/dispatch.js +0 -285
- package/lib/harness/operations/init.js +0 -48
- package/lib/harness/operations/pack.js +0 -100
- package/lib/harness/operations/plan.js +0 -29
- package/lib/harness/operations/resume.js +0 -44
- package/lib/harness/operations/verify.js +0 -163
- package/lib/harness/planner.js +0 -141
- package/lib/harness/schemas.js +0 -108
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow-finishing-branch
|
|
3
|
-
description: "Decide how to complete a development branch: merge, PR, squash, or cleanup."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Flow Finishing Branch - 分支完成决策
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
When development work is complete, you need to decide how to integrate it. This skill guides that decision.
|
|
11
|
-
|
|
12
|
-
## Decision Options
|
|
13
|
-
|
|
14
|
-
### A) Fast-forward Merge
|
|
15
|
-
|
|
16
|
-
```yaml
|
|
17
|
-
When to use:
|
|
18
|
-
- Small changes (< 5 files)
|
|
19
|
-
- Single developer
|
|
20
|
-
- No review needed
|
|
21
|
-
- Clean commit history
|
|
22
|
-
|
|
23
|
-
Command:
|
|
24
|
-
git checkout main
|
|
25
|
-
git merge --ff-only feature/xxx
|
|
26
|
-
git branch -d feature/xxx
|
|
27
|
-
|
|
28
|
-
Pros:
|
|
29
|
-
- Fast
|
|
30
|
-
- Clean history
|
|
31
|
-
- No merge commit
|
|
32
|
-
|
|
33
|
-
Cons:
|
|
34
|
-
- No review record
|
|
35
|
-
- No CI verification
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### B) Create PR (Recommended)
|
|
39
|
-
|
|
40
|
-
```yaml
|
|
41
|
-
When to use:
|
|
42
|
-
- Team projects
|
|
43
|
-
- Need review record
|
|
44
|
-
- CI verification required
|
|
45
|
-
- Production code
|
|
46
|
-
|
|
47
|
-
Command:
|
|
48
|
-
git push -u origin feature/xxx
|
|
49
|
-
gh pr create --title "..." --body "..."
|
|
50
|
-
|
|
51
|
-
Pros:
|
|
52
|
-
- Review record
|
|
53
|
-
- CI verification
|
|
54
|
-
- Discussion thread
|
|
55
|
-
- Audit trail
|
|
56
|
-
|
|
57
|
-
Cons:
|
|
58
|
-
- Takes longer
|
|
59
|
-
- Requires reviewer
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### C) Squash and Merge
|
|
63
|
-
|
|
64
|
-
```yaml
|
|
65
|
-
When to use:
|
|
66
|
-
- Many small commits
|
|
67
|
-
- Messy commit history
|
|
68
|
-
- Want single commit in main
|
|
69
|
-
|
|
70
|
-
Command:
|
|
71
|
-
gh pr merge --squash
|
|
72
|
-
|
|
73
|
-
Pros:
|
|
74
|
-
- Clean main history
|
|
75
|
-
- Single logical commit
|
|
76
|
-
- Hides WIP commits
|
|
77
|
-
|
|
78
|
-
Cons:
|
|
79
|
-
- Loses detailed history
|
|
80
|
-
- Harder to bisect
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### D) Cleanup Only
|
|
84
|
-
|
|
85
|
-
```yaml
|
|
86
|
-
When to use:
|
|
87
|
-
- Work was abandoned
|
|
88
|
-
- Experiment failed
|
|
89
|
-
- Requirements changed
|
|
90
|
-
|
|
91
|
-
Command:
|
|
92
|
-
git checkout main
|
|
93
|
-
git branch -D feature/xxx
|
|
94
|
-
git push origin --delete feature/xxx # if pushed
|
|
95
|
-
|
|
96
|
-
Pros:
|
|
97
|
-
- Clean slate
|
|
98
|
-
- No dead branches
|
|
99
|
-
|
|
100
|
-
Cons:
|
|
101
|
-
- Work is lost (unless needed later)
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## Decision Matrix
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
108
|
-
│ Decision Matrix │
|
|
109
|
-
├─────────────────────────────────────────────────────────────┤
|
|
110
|
-
│ │
|
|
111
|
-
│ Files Changed Review Needed History Clean Action │
|
|
112
|
-
│ ───────────── ───────────── ───────────── ────── │
|
|
113
|
-
│ < 5 No Yes A) FF │
|
|
114
|
-
│ < 5 No No C) Sq │
|
|
115
|
-
│ Any Yes Yes B) PR │
|
|
116
|
-
│ Any Yes No C) Sq │
|
|
117
|
-
│ N/A N/A N/A (abandoned) D) Del │
|
|
118
|
-
│ │
|
|
119
|
-
└─────────────────────────────────────────────────────────────┘
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Pre-Completion Checklist
|
|
123
|
-
|
|
124
|
-
Before choosing any option, verify:
|
|
125
|
-
|
|
126
|
-
```yaml
|
|
127
|
-
□ All tests pass
|
|
128
|
-
□ Build succeeds
|
|
129
|
-
□ No lint errors
|
|
130
|
-
□ Documentation updated (if needed)
|
|
131
|
-
□ EXECUTION_LOG.md updated
|
|
132
|
-
□ No uncommitted changes
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## The Process
|
|
136
|
-
|
|
137
|
-
```yaml
|
|
138
|
-
1. Verify completion
|
|
139
|
-
→ Run tests, build, lint
|
|
140
|
-
→ Check all tasks done
|
|
141
|
-
|
|
142
|
-
2. Assess the work
|
|
143
|
-
→ How many files changed?
|
|
144
|
-
→ Is review needed?
|
|
145
|
-
→ Is commit history clean?
|
|
146
|
-
|
|
147
|
-
3. Choose option
|
|
148
|
-
→ Use decision matrix
|
|
149
|
-
→ Default to PR if unsure
|
|
150
|
-
|
|
151
|
-
4. Execute
|
|
152
|
-
→ Run appropriate commands
|
|
153
|
-
→ Verify success
|
|
154
|
-
|
|
155
|
-
5. Cleanup
|
|
156
|
-
→ Delete local branch
|
|
157
|
-
→ Delete remote branch (if not PR)
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
## Rationalization Prevention
|
|
161
|
-
|
|
162
|
-
| Excuse | Reality |
|
|
163
|
-
|--------|---------|
|
|
164
|
-
| "PR is overkill" | PR provides audit trail. Use it. |
|
|
165
|
-
| "I'll review my own code" | Self-review misses issues. Get another pair of eyes. |
|
|
166
|
-
| "History doesn't matter" | History helps debugging. Keep it clean. |
|
|
167
|
-
| "Just merge it" | Verify first. Merge second. |
|
|
168
|
-
|
|
169
|
-
## Integration with flow-release
|
|
170
|
-
|
|
171
|
-
This skill is used in `/flow-release` to decide branch handling:
|
|
172
|
-
|
|
173
|
-
```yaml
|
|
174
|
-
/flow-release execution:
|
|
175
|
-
1. Verify all gates pass
|
|
176
|
-
2. Load this skill
|
|
177
|
-
3. Present options to user
|
|
178
|
-
4. Execute chosen option
|
|
179
|
-
5. Update status
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
## Cross-Reference
|
|
183
|
-
|
|
184
|
-
- [flow-release.md](../../commands/flow-release.md) - Release command
|
|
185
|
-
- [verification-before-completion](../verification-before-completion/SKILL.md) - Verification skill
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
**[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow-receiving-review
|
|
3
|
-
description: "Handle code review feedback with technical rigor. Don't blindly agree - verify before implementing."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Flow Receiving Review - 处理代码审查反馈
|
|
7
|
-
|
|
8
|
-
## The Iron Law
|
|
9
|
-
|
|
10
|
-
```
|
|
11
|
-
VERIFY FEEDBACK BEFORE IMPLEMENTING - DON'T BLINDLY AGREE
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Overview
|
|
15
|
-
|
|
16
|
-
When receiving code review feedback, maintain technical rigor. Reviewers can be wrong. Your job is to:
|
|
17
|
-
1. Understand the feedback
|
|
18
|
-
2. Verify it's correct
|
|
19
|
-
3. Then implement (or push back)
|
|
20
|
-
|
|
21
|
-
## The Process
|
|
22
|
-
|
|
23
|
-
### Step 1: Understand the Feedback
|
|
24
|
-
|
|
25
|
-
```yaml
|
|
26
|
-
For each comment:
|
|
27
|
-
1. Read completely - don't skim
|
|
28
|
-
2. Identify the concern:
|
|
29
|
-
- Is it a bug?
|
|
30
|
-
- Is it a style preference?
|
|
31
|
-
- Is it a performance issue?
|
|
32
|
-
- Is it a security concern?
|
|
33
|
-
3. If unclear → ASK for clarification
|
|
34
|
-
- "Could you elaborate on why X is problematic?"
|
|
35
|
-
- "What specific scenario does this address?"
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Step 2: Verify the Feedback
|
|
39
|
-
|
|
40
|
-
```yaml
|
|
41
|
-
Before implementing ANY change:
|
|
42
|
-
1. Is the feedback technically correct?
|
|
43
|
-
- Does the suggested change actually fix the issue?
|
|
44
|
-
- Could it introduce new problems?
|
|
45
|
-
|
|
46
|
-
2. Does it align with project standards?
|
|
47
|
-
- Check Constitution
|
|
48
|
-
- Check existing patterns
|
|
49
|
-
|
|
50
|
-
3. Is there evidence?
|
|
51
|
-
- Can you reproduce the issue?
|
|
52
|
-
- Does the suggested fix work?
|
|
53
|
-
|
|
54
|
-
If feedback seems wrong:
|
|
55
|
-
→ Don't silently disagree
|
|
56
|
-
→ Don't blindly implement
|
|
57
|
-
→ Respond with your analysis
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Step 3: Respond Appropriately
|
|
61
|
-
|
|
62
|
-
```yaml
|
|
63
|
-
If feedback is correct:
|
|
64
|
-
→ Acknowledge: "Good catch, fixing now"
|
|
65
|
-
→ Implement the fix
|
|
66
|
-
→ Verify the fix works
|
|
67
|
-
|
|
68
|
-
If feedback is unclear:
|
|
69
|
-
→ Ask: "Could you clarify what you mean by X?"
|
|
70
|
-
→ Don't guess the intent
|
|
71
|
-
|
|
72
|
-
If feedback seems incorrect:
|
|
73
|
-
→ Explain your reasoning
|
|
74
|
-
→ Provide evidence
|
|
75
|
-
→ "I considered X, but Y because Z. What do you think?"
|
|
76
|
-
|
|
77
|
-
If feedback is a preference (not a bug):
|
|
78
|
-
→ Discuss trade-offs
|
|
79
|
-
→ Defer to project standards if they exist
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Rationalization Prevention
|
|
83
|
-
|
|
84
|
-
| Excuse | Reality |
|
|
85
|
-
|--------|---------|
|
|
86
|
-
| "Reviewer knows better" | Reviewers make mistakes. Verify. |
|
|
87
|
-
| "Just do what they say" | Blind compliance = poor code. |
|
|
88
|
-
| "Don't want to argue" | Technical discussion ≠ argument. |
|
|
89
|
-
| "It's faster to just change it" | Wrong changes waste more time. |
|
|
90
|
-
| "They'll reject if I push back" | Good reviewers appreciate rigor. |
|
|
91
|
-
|
|
92
|
-
## Red Flags - STOP
|
|
93
|
-
|
|
94
|
-
If you find yourself:
|
|
95
|
-
- Implementing changes you don't understand
|
|
96
|
-
- Agreeing with feedback you think is wrong
|
|
97
|
-
- Not asking clarifying questions
|
|
98
|
-
- Making changes without verifying they work
|
|
99
|
-
|
|
100
|
-
**STOP. Understand first. Verify second. Implement third.**
|
|
101
|
-
|
|
102
|
-
## Response Templates
|
|
103
|
-
|
|
104
|
-
### Agreeing with Feedback
|
|
105
|
-
```
|
|
106
|
-
Good catch! You're right that [issue]. I've updated [file] to [fix].
|
|
107
|
-
Verified by running [test/command].
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### Asking for Clarification
|
|
111
|
-
```
|
|
112
|
-
I want to make sure I understand correctly. Are you suggesting [interpretation]?
|
|
113
|
-
If so, I'm wondering about [concern]. Could you elaborate?
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### Respectfully Disagreeing
|
|
117
|
-
```
|
|
118
|
-
I considered [suggestion], but I went with [current approach] because:
|
|
119
|
-
1. [Reason 1]
|
|
120
|
-
2. [Reason 2]
|
|
121
|
-
|
|
122
|
-
The trade-off is [X]. What do you think about [alternative]?
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### Requesting Evidence
|
|
126
|
-
```
|
|
127
|
-
I'm having trouble reproducing [issue]. Could you share:
|
|
128
|
-
- Steps to reproduce
|
|
129
|
-
- Expected vs actual behavior
|
|
130
|
-
- Environment details
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## Integration with flow-review
|
|
134
|
-
|
|
135
|
-
This skill is used in `/flow-review` when processing reviewer feedback:
|
|
136
|
-
|
|
137
|
-
```yaml
|
|
138
|
-
After receiving review:
|
|
139
|
-
1. Load this skill
|
|
140
|
-
2. Process each comment using the 3-step process
|
|
141
|
-
3. Respond appropriately
|
|
142
|
-
4. Track changes in EXECUTION_LOG.md
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## Cross-Reference
|
|
146
|
-
|
|
147
|
-
- [flow-review.md](../../commands/flow-review.md) - Two-stage review command
|
|
148
|
-
- [spec-reviewer.md](../../agents/spec-reviewer.md) - Spec compliance agent
|
|
149
|
-
- [code-quality-reviewer.md](../../agents/code-quality-reviewer.md) - Quality review agent
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
**[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow-tdd
|
|
3
|
-
description: "Enforces TDD Iron Law in flow-dev. NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Flow TDD - Test-Driven Development Enforcement
|
|
7
|
-
|
|
8
|
-
## The Iron Law
|
|
9
|
-
|
|
10
|
-
```
|
|
11
|
-
NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
This is NON-NEGOTIABLE. No exceptions. No "just this once."
|
|
15
|
-
|
|
16
|
-
## The TDD Cycle
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
RED: Write a failing test
|
|
20
|
-
→ Run it
|
|
21
|
-
→ Confirm it FAILS
|
|
22
|
-
→ If it passes immediately → ERROR (invalid test)
|
|
23
|
-
|
|
24
|
-
GREEN: Write minimal code to pass
|
|
25
|
-
→ Only enough to make the test pass
|
|
26
|
-
→ No extra features
|
|
27
|
-
→ No "while I'm here" additions
|
|
28
|
-
|
|
29
|
-
REFACTOR: Clean up
|
|
30
|
-
→ Keep tests green
|
|
31
|
-
→ Improve structure
|
|
32
|
-
→ Remove duplication
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Enforcement in flow-dev
|
|
36
|
-
|
|
37
|
-
### Phase 2: Tests First
|
|
38
|
-
|
|
39
|
-
```yaml
|
|
40
|
-
TASKS.md Phase 2 (Tests):
|
|
41
|
-
- Write contract tests
|
|
42
|
-
- Write integration tests
|
|
43
|
-
- Write unit tests
|
|
44
|
-
- Run all tests → ALL MUST FAIL
|
|
45
|
-
|
|
46
|
-
⚠️ TEST VERIFICATION CHECKPOINT:
|
|
47
|
-
→ Run: npm test (or equivalent)
|
|
48
|
-
→ Expected: All new tests FAIL
|
|
49
|
-
→ If any test passes immediately → STOP
|
|
50
|
-
→ Passing test = invalid test or code already exists
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Phase 3: Implementation
|
|
54
|
-
|
|
55
|
-
```yaml
|
|
56
|
-
TASKS.md Phase 3 (Implementation):
|
|
57
|
-
- Implement to make tests pass
|
|
58
|
-
- One test at a time
|
|
59
|
-
- Minimal code only
|
|
60
|
-
|
|
61
|
-
After each implementation:
|
|
62
|
-
→ Run tests
|
|
63
|
-
→ Verify previously failing test now passes
|
|
64
|
-
→ Verify no regressions
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## What If Code Already Exists?
|
|
68
|
-
|
|
69
|
-
If you've written code before tests:
|
|
70
|
-
|
|
71
|
-
```yaml
|
|
72
|
-
Option A: DELETE AND RESTART (Recommended)
|
|
73
|
-
1. Delete the implementation code
|
|
74
|
-
2. Keep only the interface/contract
|
|
75
|
-
3. Write failing tests
|
|
76
|
-
4. Re-implement with TDD
|
|
77
|
-
|
|
78
|
-
Option B: WRITE TESTS THAT FAIL FIRST
|
|
79
|
-
1. Comment out the implementation
|
|
80
|
-
2. Write tests
|
|
81
|
-
3. Run tests → verify they fail
|
|
82
|
-
4. Uncomment implementation
|
|
83
|
-
5. Run tests → verify they pass
|
|
84
|
-
|
|
85
|
-
NEVER: Keep code and write passing tests
|
|
86
|
-
→ This is "testing after" disguised as TDD
|
|
87
|
-
→ Tests that pass immediately prove nothing
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Rationalization Prevention
|
|
91
|
-
|
|
92
|
-
| Excuse | Reality |
|
|
93
|
-
|--------|---------|
|
|
94
|
-
| "Too simple to test" | Simple code breaks. Test takes 30 seconds. |
|
|
95
|
-
| "I'll test after" | Tests passing immediately prove nothing. |
|
|
96
|
-
| "Tests after achieve same goals" | Tests-after = "what does this do?" Tests-first = "what should this do?" |
|
|
97
|
-
| "Already manually tested" | Ad-hoc ≠ systematic. No record, can't re-run. |
|
|
98
|
-
| "Deleting X hours is wasteful" | Sunk cost fallacy. Keeping unverified code is technical debt. |
|
|
99
|
-
| "Keep as reference, write tests first" | You'll adapt it. That's testing after. Delete means delete. |
|
|
100
|
-
| "Need to explore first" | Fine. Throw away exploration, start with TDD. |
|
|
101
|
-
| "Test hard = design unclear" | Listen to test. Hard to test = hard to use. |
|
|
102
|
-
| "TDD slows me down" | TDD faster than debugging. Pragmatic = test-first. |
|
|
103
|
-
| "This is different because..." | No. This is rationalization. Follow the law. |
|
|
104
|
-
| "Spirit not letter" | Violating letter IS violating spirit. No loopholes. |
|
|
105
|
-
| "I'm being pragmatic, not dogmatic" | TDD IS pragmatic. Shortcuts = debugging in production = slower. |
|
|
106
|
-
| "Just this once" | No exceptions. Rules exist for this exact moment. |
|
|
107
|
-
|
|
108
|
-
## Red Flags - STOP
|
|
109
|
-
|
|
110
|
-
If you find yourself:
|
|
111
|
-
- Writing code before tests
|
|
112
|
-
- Tests passing immediately
|
|
113
|
-
- Saying "just this once"
|
|
114
|
-
- Keeping "exploration" code
|
|
115
|
-
- Writing tests that describe existing code
|
|
116
|
-
|
|
117
|
-
**STOP. Delete the code. Write the test first.**
|
|
118
|
-
|
|
119
|
-
## Test Quality Requirements
|
|
120
|
-
|
|
121
|
-
```yaml
|
|
122
|
-
Good Tests:
|
|
123
|
-
✅ Test behavior, not implementation
|
|
124
|
-
✅ Use realistic data
|
|
125
|
-
✅ Cover edge cases
|
|
126
|
-
✅ Independent (no shared state)
|
|
127
|
-
✅ Fast (< 1 second each)
|
|
128
|
-
✅ Descriptive names
|
|
129
|
-
|
|
130
|
-
Bad Tests (Cheater Tests):
|
|
131
|
-
❌ assert True
|
|
132
|
-
❌ assert result is not None
|
|
133
|
-
❌ Mock everything, test nothing
|
|
134
|
-
❌ Test implementation details
|
|
135
|
-
❌ Depend on execution order
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## Error Recording Protocol
|
|
139
|
-
|
|
140
|
-
当测试失败或构建错误发生时,必须立即记录到 ERROR_LOG.md:
|
|
141
|
-
|
|
142
|
-
```yaml
|
|
143
|
-
Error Recording Workflow:
|
|
144
|
-
1. Capture Error Context:
|
|
145
|
-
- Phase (flow-dev / T###)
|
|
146
|
-
- Error Type (Test Failure | Build Error | Runtime Error)
|
|
147
|
-
- Full error message
|
|
148
|
-
- Timestamp
|
|
149
|
-
|
|
150
|
-
2. Create ERROR_LOG.md if not exists:
|
|
151
|
-
→ Use .claude/docs/templates/ERROR_LOG_TEMPLATE.md
|
|
152
|
-
→ Location: devflow/requirements/${REQ_ID}/ERROR_LOG.md
|
|
153
|
-
|
|
154
|
-
3. Append Error Record:
|
|
155
|
-
## [TIMESTAMP] E###: TITLE
|
|
156
|
-
**Phase**: flow-dev / T###
|
|
157
|
-
**Error Type**: Test Failure
|
|
158
|
-
**Error Message**:
|
|
159
|
-
```
|
|
160
|
-
[完整错误信息]
|
|
161
|
-
```
|
|
162
|
-
**Root Cause**: [分析后填写]
|
|
163
|
-
**Resolution**: [解决后填写]
|
|
164
|
-
**Prevention**: [可选]
|
|
165
|
-
|
|
166
|
-
4. Debug with Error Context:
|
|
167
|
-
→ Read ERROR_LOG.md for similar past errors
|
|
168
|
-
→ Apply attention refresh (Protocol 4)
|
|
169
|
-
→ Fix the root cause, not symptoms
|
|
170
|
-
|
|
171
|
-
5. Update Record After Fix:
|
|
172
|
-
→ Fill Root Cause
|
|
173
|
-
→ Fill Resolution
|
|
174
|
-
→ Add Prevention if applicable
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Error Recording Example
|
|
178
|
-
|
|
179
|
-
```markdown
|
|
180
|
-
## [2026-01-08T14:30:00] E001: Test Failure - User Login Validation
|
|
181
|
-
|
|
182
|
-
**Phase**: flow-dev / T005
|
|
183
|
-
**Error Type**: Test Failure
|
|
184
|
-
**Error Message**:
|
|
185
|
-
\`\`\`
|
|
186
|
-
FAIL src/auth/login.test.ts
|
|
187
|
-
× should reject invalid email format
|
|
188
|
-
Expected: false
|
|
189
|
-
Received: true
|
|
190
|
-
\`\`\`
|
|
191
|
-
|
|
192
|
-
**Root Cause**: 正则表达式 `/^.+@.+$/` 过于宽松,接受了 `user@` 这样的无效邮箱
|
|
193
|
-
**Resolution**: 更新正则为 `/^[^\s@]+@[^\s@]+\.[^\s@]+$/` 要求至少有域名和顶级域
|
|
194
|
-
**Prevention**: 扩充测试用例,添加边界情况(无域名、无顶级域、特殊字符等)
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
## Integration with Constitution
|
|
198
|
-
|
|
199
|
-
- **Article I**: Complete implementation includes tests
|
|
200
|
-
- **Article VI**: TDD Mandate (this skill)
|
|
201
|
-
- **Article IX**: Integration-first testing
|
|
202
|
-
|
|
203
|
-
## Integration with Attention Refresh
|
|
204
|
-
|
|
205
|
-
- **Protocol 4**: Error Recovery 时读取 ERROR_LOG.md
|
|
206
|
-
- 避免重复犯相同错误
|
|
207
|
-
- 从历史错误中学习
|
|
208
|
-
|
|
209
|
-
## Cross-Reference
|
|
210
|
-
|
|
211
|
-
- [flow-attention-refresh](../flow-attention-refresh/SKILL.md) - Protocol 4
|
|
212
|
-
- [ERROR_LOG_TEMPLATE.md](../../docs/templates/ERROR_LOG_TEMPLATE.md)
|
|
213
|
-
- [rationalization-library.md](../../rules/rationalization-library.md#article-vi-test-first-development---rationalization-table)
|
|
214
|
-
- [project-constitution.md](../../rules/project-constitution.md#article-vi-test-first-development-测试优先开发)
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
**[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: verification-before-completion
|
|
3
|
-
description: "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Verification Before Completion
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
This skill enforces a critical discipline: **never claim completion without fresh verification evidence**.
|
|
11
|
-
|
|
12
|
-
The most common failure mode for AI agents is claiming success without actually verifying. This skill prevents that by requiring explicit verification steps before any completion claim.
|
|
13
|
-
|
|
14
|
-
## The Iron Law
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## The Process
|
|
21
|
-
|
|
22
|
-
### Before ANY Completion Claim
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
1. IDENTIFY: What command proves this claim?
|
|
26
|
-
→ "Tests pass" requires: npm test / pytest / go test
|
|
27
|
-
→ "Build succeeds" requires: npm run build / make
|
|
28
|
-
→ "Lint clean" requires: npm run lint / eslint
|
|
29
|
-
→ "Type check passes" requires: tsc --noEmit / mypy
|
|
30
|
-
|
|
31
|
-
2. RUN: Execute the FULL command (fresh, complete)
|
|
32
|
-
→ Not cached results
|
|
33
|
-
→ Not partial output
|
|
34
|
-
→ Not "I ran it earlier"
|
|
35
|
-
|
|
36
|
-
3. READ: Full output, check exit code, count failures
|
|
37
|
-
→ Exit code 0 = success
|
|
38
|
-
→ Exit code non-zero = failure
|
|
39
|
-
→ Count actual pass/fail numbers
|
|
40
|
-
|
|
41
|
-
4. VERIFY: Does output confirm the claim?
|
|
42
|
-
→ "All tests pass" = 0 failures in output
|
|
43
|
-
→ "Build succeeds" = no errors, artifacts created
|
|
44
|
-
→ "No lint errors" = 0 problems found
|
|
45
|
-
|
|
46
|
-
5. ONLY THEN: Make the claim with evidence
|
|
47
|
-
→ Quote the relevant output
|
|
48
|
-
→ Include exit code
|
|
49
|
-
→ Show pass/fail counts
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Verification Commands by Context
|
|
53
|
-
|
|
54
|
-
### Flow Exit Gates
|
|
55
|
-
|
|
56
|
-
| Flow | Verification Command | Success Criteria |
|
|
57
|
-
|------|---------------------|------------------|
|
|
58
|
-
| /flow-prd | `validate-constitution --type prd` | Exit 0, no violations |
|
|
59
|
-
| /flow-epic | `validate-constitution --type epic` | Exit 0, no violations |
|
|
60
|
-
| /flow-dev | `npm test && npm run build` | All tests pass, build succeeds |
|
|
61
|
-
| /flow-qa | `npm test && npm run lint` | All pass, no blockers |
|
|
62
|
-
| /flow-release | `gh pr checks` | All checks pass |
|
|
63
|
-
|
|
64
|
-
### Common Development Tasks
|
|
65
|
-
|
|
66
|
-
| Claim | Required Verification |
|
|
67
|
-
|-------|----------------------|
|
|
68
|
-
| "Tests pass" | Run full test suite, show output |
|
|
69
|
-
| "Build succeeds" | Run build command, show output |
|
|
70
|
-
| "Lint clean" | Run linter, show 0 errors |
|
|
71
|
-
| "Type check passes" | Run type checker, show output |
|
|
72
|
-
| "No regressions" | Run affected tests, compare before/after |
|
|
73
|
-
| "Bug fixed" | Show failing test → fix → passing test |
|
|
74
|
-
|
|
75
|
-
## Rationalization Prevention
|
|
76
|
-
|
|
77
|
-
| Excuse | Reality |
|
|
78
|
-
|--------|---------|
|
|
79
|
-
| "I just ran it" | Run it again. Fresh evidence required. |
|
|
80
|
-
| "It was passing before" | Before ≠ now. Verify current state. |
|
|
81
|
-
| "The change is trivial" | Trivial changes break things. Verify. |
|
|
82
|
-
| "I'm confident it works" | Confidence ≠ evidence. Run the command. |
|
|
83
|
-
| "Tests are slow" | Slow tests > broken production. Run them. |
|
|
84
|
-
| "I'll verify after commit" | Verify BEFORE commit. Always. |
|
|
85
|
-
| "The CI will catch it" | You catch it first. Don't waste CI cycles. |
|
|
86
|
-
| "It's just documentation" | Doc changes can break builds. Verify. |
|
|
87
|
-
|
|
88
|
-
## Red Flags - STOP
|
|
89
|
-
|
|
90
|
-
If you find yourself:
|
|
91
|
-
- Saying "should work" without running verification
|
|
92
|
-
- Claiming "tests pass" without showing output
|
|
93
|
-
- Saying "I believe" instead of "I verified"
|
|
94
|
-
- Skipping verification "just this once"
|
|
95
|
-
- Trusting cached or stale results
|
|
96
|
-
|
|
97
|
-
**STOP. Run the verification command. Show the evidence.**
|
|
98
|
-
|
|
99
|
-
## Evidence Format
|
|
100
|
-
|
|
101
|
-
When claiming completion, always include:
|
|
102
|
-
|
|
103
|
-
```markdown
|
|
104
|
-
## Verification Evidence
|
|
105
|
-
|
|
106
|
-
**Command**: `npm test`
|
|
107
|
-
**Exit Code**: 0
|
|
108
|
-
**Output Summary**:
|
|
109
|
-
- Tests: 42 passed, 0 failed
|
|
110
|
-
- Coverage: 85%
|
|
111
|
-
- Duration: 12.3s
|
|
112
|
-
|
|
113
|
-
**Conclusion**: All tests pass. Ready for commit.
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## Integration with CC-DevFlow
|
|
117
|
-
|
|
118
|
-
### Every Flow Exit Gate
|
|
119
|
-
|
|
120
|
-
```yaml
|
|
121
|
-
Exit Gate Verification:
|
|
122
|
-
1. Identify required verification commands
|
|
123
|
-
2. Run each command fresh
|
|
124
|
-
3. Capture full output
|
|
125
|
-
4. Verify success criteria met
|
|
126
|
-
5. Document evidence in EXECUTION_LOG.md
|
|
127
|
-
6. Only then proceed to next stage
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Task Completion
|
|
131
|
-
|
|
132
|
-
```yaml
|
|
133
|
-
Task Completion Verification:
|
|
134
|
-
1. Run task-specific tests
|
|
135
|
-
2. Verify acceptance criteria met
|
|
136
|
-
3. Show evidence in task completion message
|
|
137
|
-
4. Mark task complete only with evidence
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## The Discipline
|
|
141
|
-
|
|
142
|
-
This skill is about **intellectual honesty**. It's easy to believe something works. It's harder to prove it.
|
|
143
|
-
|
|
144
|
-
The discipline is:
|
|
145
|
-
1. **Assume nothing** - Don't trust memory or intuition
|
|
146
|
-
2. **Verify everything** - Run the actual commands
|
|
147
|
-
3. **Show evidence** - Quote output, not beliefs
|
|
148
|
-
4. **Fresh results only** - No stale or cached data
|
|
149
|
-
|
|
150
|
-
## Cross-Reference
|
|
151
|
-
|
|
152
|
-
- Constitution Article I: Quality First (complete implementation)
|
|
153
|
-
- Constitution Article VI: Test-First Development (TDD)
|
|
154
|
-
- rationalization-library.md: Cross-Article rationalizations
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
**[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
|