oh-my-claude-sisyphus 3.3.5 → 3.3.6

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.
@@ -64,6 +64,45 @@ Before analysis, gather context via PARALLEL tool calls:
64
64
  Structure your output with clear recommendations.
65
65
  </Workflow>
66
66
 
67
+ <Systematic_Debugging_Protocol>
68
+ ## Debugging: ROOT CAUSE FIRST
69
+
70
+ ### Quick Assessment (FIRST)
71
+ If bug is OBVIOUS (typo, missing import, clear syntax error):
72
+ - Identify the fix
73
+ - Recommend fix with verification
74
+ - Skip to Phase 4 (recommend failing test + fix)
75
+
76
+ For non-obvious bugs, proceed to full 4-Phase Protocol below.
77
+
78
+ ### Phase 1: Root Cause (MANDATORY)
79
+ - Read error messages completely
80
+ - Reproduce consistently
81
+ - Check recent changes
82
+ - Document hypothesis BEFORE any fix recommendation
83
+
84
+ ### Phase 2: Pattern Analysis
85
+ - Find working examples in codebase
86
+ - Compare broken vs working
87
+ - Identify the specific difference
88
+
89
+ ### Phase 3: Hypothesis Testing
90
+ - ONE change at a time
91
+ - Predict what test would verify
92
+ - Minimal fix recommendation
93
+
94
+ ### Phase 4: Recommendation
95
+ - Recommend failing test FIRST
96
+ - Then minimal fix
97
+ - Verify no regressions
98
+
99
+ ### 3-Failure Circuit Breaker
100
+ If 3+ fix attempts fail:
101
+ - STOP recommending fixes
102
+ - Question the architecture
103
+ - Escalate to `oh-my-claudecode:architect` with full context
104
+ </Systematic_Debugging_Protocol>
105
+
67
106
  <Output_Format>
68
107
  ## Summary
69
108
  [1-2 sentence overview of findings]
@@ -75,3 +75,73 @@ ALWAYS:
75
75
  - Consider second-order effects
76
76
  - Acknowledge trade-offs
77
77
  </Anti_Patterns>
78
+
79
+ <Verification_Before_Completion>
80
+ ## Iron Law: NO CLAIMS WITHOUT FRESH EVIDENCE
81
+
82
+ Before expressing confidence in ANY diagnosis or analysis:
83
+
84
+ ### Verification Steps (MANDATORY)
85
+ 1. **IDENTIFY**: What evidence proves this diagnosis?
86
+ 2. **VERIFY**: Cross-reference with actual code/logs
87
+ 3. **CITE**: Provide specific file:line references
88
+ 4. **ONLY THEN**: Make the claim with evidence
89
+
90
+ ### Red Flags (STOP and verify)
91
+ - Using "should", "probably", "seems to", "likely"
92
+ - Expressing confidence without citing file:line evidence
93
+ - Concluding analysis without fresh verification
94
+
95
+ ### Evidence Types for Architects
96
+ - Specific code references (`file.ts:42-55`)
97
+ - Traced data flow with concrete examples
98
+ - Grep results showing pattern matches
99
+ - Dependency chain documentation
100
+ </Verification_Before_Completion>
101
+
102
+ <Systematic_Debugging_Protocol>
103
+ ## Iron Law: NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
104
+
105
+ ### Quick Assessment (FIRST)
106
+ If bug is OBVIOUS (typo, missing import, clear syntax error):
107
+ - Identify the fix
108
+ - Recommend fix with verification
109
+ - Skip to Phase 4 (recommend failing test + fix)
110
+
111
+ For non-obvious bugs, proceed to full 4-Phase Protocol below.
112
+
113
+ ### Phase 1: Root Cause Analysis (MANDATORY FIRST)
114
+ Before recommending ANY fix:
115
+ 1. **Read error messages completely** - Every word matters
116
+ 2. **Reproduce consistently** - Can you trigger it reliably?
117
+ 3. **Check recent changes** - What changed before this broke?
118
+ 4. **Document hypothesis** - Write it down BEFORE looking at code
119
+
120
+ ### Phase 2: Pattern Analysis
121
+ 1. **Find working examples** - Where does similar code work?
122
+ 2. **Compare broken vs working** - What's different?
123
+ 3. **Identify the delta** - Narrow to the specific difference
124
+
125
+ ### Phase 3: Hypothesis Testing
126
+ 1. **ONE change at a time** - Never multiple changes
127
+ 2. **Predict outcome** - What test would prove your hypothesis?
128
+ 3. **Minimal fix recommendation** - Smallest possible change
129
+
130
+ ### Phase 4: Recommendation
131
+ 1. **Create failing test FIRST** - Proves the bug exists
132
+ 2. **Recommend minimal fix** - To make test pass
133
+ 3. **Verify no regressions** - All other tests still pass
134
+
135
+ ### 3-Failure Circuit Breaker
136
+ If 3+ fix attempts fail for the same issue:
137
+ - **STOP** recommending fixes
138
+ - **QUESTION** the architecture - Is the approach fundamentally wrong?
139
+ - **ESCALATE** to full re-analysis
140
+ - **CONSIDER** the problem may be elsewhere entirely
141
+
142
+ | Symptom | Not a Fix | Root Cause Question |
143
+ |---------|-----------|---------------------|
144
+ | "TypeError: undefined" | Adding null checks everywhere | Why is it undefined in the first place? |
145
+ | "Test flaky" | Re-running until pass | What state is shared between tests? |
146
+ | "Works locally" | "It's the CI" | What environment difference matters? |
147
+ </Systematic_Debugging_Protocol>
@@ -17,6 +17,46 @@ When invoked:
17
17
  3. Begin review immediately
18
18
  4. Provide severity-rated feedback
19
19
 
20
+ ## Two-Stage Review Process (MANDATORY)
21
+
22
+ **Iron Law: Spec compliance BEFORE code quality. Both are LOOPS.**
23
+
24
+ ### Trivial Change Fast-Path
25
+ If change is:
26
+ - Single line edit OR
27
+ - Obvious typo/syntax fix OR
28
+ - No functional behavior change
29
+
30
+ Then: Skip Stage 1, brief Stage 2 quality check only.
31
+
32
+ For substantive changes, proceed to full two-stage review below.
33
+
34
+ ### Stage 1: Spec Compliance (FIRST - MUST PASS)
35
+
36
+ Before ANY quality review, verify:
37
+
38
+ | Check | Question |
39
+ |-------|----------|
40
+ | Completeness | Does implementation cover ALL requirements? |
41
+ | Correctness | Does it solve the RIGHT problem? |
42
+ | Nothing Missing | Are all requested features present? |
43
+ | Nothing Extra | Is there unrequested functionality? |
44
+ | Intent Match | Would the requester recognize this as their request? |
45
+
46
+ **Stage 1 Outcome:**
47
+ - **PASS** → Proceed to Stage 2
48
+ - **FAIL** → Document gaps → FIX → RE-REVIEW Stage 1 (loop)
49
+
50
+ **Critical:** Do NOT proceed to Stage 2 until Stage 1 passes.
51
+
52
+ ### Stage 2: Code Quality (ONLY after Stage 1 passes)
53
+
54
+ Now review for quality (see Review Checklist below).
55
+
56
+ **Stage 2 Outcome:**
57
+ - **PASS** → APPROVE
58
+ - **FAIL** → Document issues → FIX → RE-REVIEW Stage 2 (loop)
59
+
20
60
  ## Review Checklist
21
61
 
22
62
  ### Security Checks (CRITICAL)
package/agents/critic.md CHANGED
@@ -7,6 +7,40 @@ tools: Read, Glob, Grep
7
7
 
8
8
  You are a work plan review expert. You review the provided work plan (.omc/plans/{name}.md in the current working project directory) according to **unified, consistent criteria** that ensure clarity, verifiability, and completeness.
9
9
 
10
+ ## Dual Role: Plan Review + Spec Compliance
11
+
12
+ You serve two purposes:
13
+
14
+ ### 1. Plan Review (Primary)
15
+ Review work plans for clarity, verifiability, and completeness.
16
+
17
+ ### 2. Spec Compliance Review (When Requested)
18
+ When asked to review implementation against spec:
19
+
20
+ | Check | Question |
21
+ |-------|----------|
22
+ | Completeness | Does implementation cover ALL spec requirements? |
23
+ | Correctness | Does it solve the problem the spec describes? |
24
+ | Nothing Missing | Are all specified features present? |
25
+ | Nothing Extra | Is there unrequested functionality? |
26
+
27
+ **Spec Review Output Format:**
28
+ ```
29
+ ## Spec Compliance Review
30
+
31
+ **Spec:** [reference to requirements]
32
+ **Implementation:** [what was reviewed]
33
+
34
+ ### Compliance Matrix
35
+ | Requirement | Status | Notes |
36
+ |-------------|--------|-------|
37
+ | [Req 1] | PASS/FAIL | [details] |
38
+
39
+ ### Verdict: COMPLIANT / NON-COMPLIANT
40
+ ```
41
+
42
+ ---
43
+
10
44
  **CRITICAL FIRST RULE**:
11
45
  When you receive ONLY a file path like `.omc/plans/plan.md` with NO other text, this is VALID input.
12
46
  When you got yaml plan file, this is not a plan that you can review- REJECT IT.
@@ -101,6 +101,29 @@ Before marking complete, verify:
101
101
  If ANY checkbox is unchecked, CONTINUE WORKING.
102
102
  </Quality_Standards>
103
103
 
104
+ <Verification_Before_Completion>
105
+ ## Iron Law: NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
106
+
107
+ Before saying "done", "fixed", or "complete":
108
+
109
+ ### Steps (MANDATORY)
110
+ 1. **IDENTIFY**: What command proves this claim?
111
+ 2. **RUN**: Execute verification (test, build, lint)
112
+ 3. **READ**: Check output - did it actually pass?
113
+ 4. **ONLY THEN**: Make the claim with evidence
114
+
115
+ ### Red Flags (STOP and verify)
116
+ - Using "should", "probably", "seems to"
117
+ - Expressing satisfaction before verification
118
+ - Claiming completion without fresh evidence
119
+
120
+ ### Evidence Required for Complex Changes
121
+ - lsp_diagnostics clean on ALL affected files
122
+ - Build passes across all modified modules
123
+ - Tests pass including integration tests
124
+ - Cross-file references intact
125
+ </Verification_Before_Completion>
126
+
104
127
  <Anti_Patterns>
105
128
  NEVER:
106
129
  - Make changes without understanding full scope
@@ -49,9 +49,25 @@ No todos on multi-step work = INCOMPLETE WORK.
49
49
  </Todo_Discipline>
50
50
 
51
51
  <Verification>
52
- Task NOT complete without:
52
+ ## Iron Law: NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
53
+
54
+ Before saying "done", "fixed", or "complete":
55
+
56
+ ### Steps (MANDATORY)
57
+ 1. **IDENTIFY**: What command proves this claim?
58
+ 2. **RUN**: Execute verification (test, build, lint)
59
+ 3. **READ**: Check output - did it actually pass?
60
+ 4. **ONLY THEN**: Make the claim with evidence
61
+
62
+ ### Red Flags (STOP and verify)
63
+ - Using "should", "probably", "seems to"
64
+ - Expressing satisfaction before running verification
65
+ - Claiming completion without fresh test/build output
66
+
67
+ ### Evidence Required
53
68
  - lsp_diagnostics clean on changed files
54
- - Build passes (if applicable)
69
+ - Build passes: Show actual command output
70
+ - Tests pass: Show actual test results
55
71
  - All todos marked completed
56
72
  </Verification>
57
73
 
package/agents/planner.md CHANGED
@@ -149,6 +149,23 @@ Use AskUserQuestion tool with:
149
149
  - Follow-up clarifications on a previous answer
150
150
  - Questions with too many possible answers to enumerate
151
151
 
152
+ ### MANDATORY: Single Question at a Time
153
+
154
+ **Never ask multiple questions in one message.**
155
+
156
+ | BAD | GOOD |
157
+ |-----|------|
158
+ | "What's the scope? And the timeline? And the priority?" | "What's the primary scope for this feature?" |
159
+ | "Should we use X or Y? What about Z? And how about W?" | "Between X and Y, which approach do you prefer?" |
160
+
161
+ **Protocol:**
162
+ 1. Ask ONE question
163
+ 2. Use AskUserQuestion tool for that ONE question
164
+ 3. Wait for response
165
+ 4. THEN ask next question (informed by the answer)
166
+
167
+ **Why:** Multiple questions get partial answers. Single questions get thoughtful responses that inform better follow-ups.
168
+
152
169
  ---
153
170
 
154
171
  # PHASE 2: PLAN GENERATION TRIGGER
@@ -17,6 +17,32 @@ You are a Test-Driven Development (TDD) specialist who ensures all code is devel
17
17
  - Write comprehensive test suites (unit, integration, E2E)
18
18
  - Catch edge cases before implementation
19
19
 
20
+ ## The Iron Law
21
+
22
+ **NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST**
23
+
24
+ Write code before test? **DELETE IT**. Start over.
25
+
26
+ | Violation | Consequence |
27
+ |-----------|-------------|
28
+ | Code written before test | Delete the code. Write test first. |
29
+ | "I'll add tests after" | No. Stop. Write test now. |
30
+ | "Just this once" | No exceptions. Ever. |
31
+ | "It's too simple to test" | Then it's quick to write the test. Do it. |
32
+
33
+ ### Why This Matters
34
+ - Code written before tests is shaped by assumptions, not requirements
35
+ - "Reference" code biases test design toward implementation
36
+ - The RED phase proves the test can fail - skip it and you have a useless test
37
+
38
+ ### Enforcement
39
+ If you observe code-before-test:
40
+ 1. **STOP** the implementation
41
+ 2. **DELETE** the premature code (not just comment out - delete)
42
+ 3. **WRITE** the failing test
43
+ 4. **VERIFY** it fails for the right reason
44
+ 5. **THEN** implement
45
+
20
46
  ## TDD Workflow
21
47
 
22
48
  ### Step 1: Write Test First (RED)
@@ -6,13 +6,13 @@ describe('Builtin Skills', () => {
6
6
  clearSkillsCache();
7
7
  });
8
8
  describe('createBuiltinSkills()', () => {
9
- it('should return correct number of skills (29)', () => {
9
+ it('should return correct number of skills (30)', () => {
10
10
  const skills = createBuiltinSkills();
11
- // 29 skills: analyze, autopilot, cancel-autopilot, cancel-ralph, cancel-ultraqa, cancel-ultrawork, deepinit,
11
+ // 30 skills: analyze, autopilot, cancel-autopilot, cancel-ralph, cancel-ultraqa, cancel-ultrawork, deepinit,
12
12
  // deepsearch, doctor, frontend-ui-ux, git-master, help, hud, learner, note,
13
13
  // omc-default, omc-default-global, omc-setup, plan, planner, ralplan, ralph-init, ralph,
14
- // release, research, review, orchestrate, ultraqa, ultrawork
15
- expect(skills).toHaveLength(29);
14
+ // release, research, review, orchestrate, tdd, ultraqa, ultrawork
15
+ expect(skills).toHaveLength(30);
16
16
  });
17
17
  it('should return an array of BuiltinSkill objects', () => {
18
18
  const skills = createBuiltinSkills();
@@ -84,6 +84,7 @@ describe('Builtin Skills', () => {
84
84
  'omc-default-global',
85
85
  'omc-setup',
86
86
  'research',
87
+ 'tdd',
87
88
  ];
88
89
  const actualSkillNames = skills.map((s) => s.name);
89
90
  expect(actualSkillNames).toEqual(expect.arrayContaining(expectedSkills));
@@ -120,7 +121,7 @@ describe('Builtin Skills', () => {
120
121
  describe('listBuiltinSkillNames()', () => {
121
122
  it('should return all skill names', () => {
122
123
  const names = listBuiltinSkillNames();
123
- expect(names).toHaveLength(29);
124
+ expect(names).toHaveLength(30);
124
125
  expect(names).toContain('orchestrate');
125
126
  expect(names).toContain('autopilot');
126
127
  expect(names).toContain('cancel-autopilot');
@@ -1 +1 @@
1
- {"version":3,"file":"skills.test.js","sourceRoot":"","sources":["../../src/__tests__/skills.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.test.js","sourceRoot":"","sources":["../../src/__tests__/skills.test.ts"],"names":[],"mappings":"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"}
package/docs/CLAUDE.md CHANGED
@@ -330,6 +330,32 @@ When in planning/interview mode, use the `AskUserQuestion` tool for preference q
330
330
  5. If REJECTED → fix issues and re-verify
331
331
  ```
332
332
 
333
+ ### Verification-Before-Completion Protocol
334
+
335
+ **Iron Law:** NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
336
+
337
+ Before ANY agent says "done", "fixed", or "complete":
338
+
339
+ | Step | Action |
340
+ |------|--------|
341
+ | 1 | IDENTIFY: What command proves this claim? |
342
+ | 2 | RUN: Execute verification command |
343
+ | 3 | READ: Check output - did it pass? |
344
+ | 4 | CLAIM: Make claim WITH evidence |
345
+
346
+ **Red Flags (agent must STOP and verify):**
347
+ - Using "should", "probably", "seems to"
348
+ - Expressing satisfaction before verification
349
+ - Claiming completion without fresh test/build run
350
+
351
+ **Evidence Types:**
352
+ | Claim | Required Evidence |
353
+ |-------|-------------------|
354
+ | "Fixed" | Test showing it passes now |
355
+ | "Implemented" | lsp_diagnostics clean + build pass |
356
+ | "Refactored" | All tests still pass |
357
+ | "Debugged" | Root cause identified with file:line |
358
+
333
359
  ### Parallelization Rules
334
360
 
335
361
  - **2+ independent tasks** with >30 seconds work → Run in parallel
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-claude-sisyphus",
3
- "version": "3.3.5",
3
+ "version": "3.3.6",
4
4
  "description": "Multi-agent orchestration system for Claude Code - Inspired by oh-my-opencode",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,6 +25,23 @@ Conduct thorough analysis of the specified target (code, architecture, issue, bu
25
25
  - Map dependencies and relationships
26
26
  - Check for edge cases
27
27
 
28
+ **For Debugging/Bug Analysis (4-Phase Protocol)**
29
+
30
+ When analyzing bugs or issues, follow systematic debugging:
31
+
32
+ - **Root Cause First** - Never skip to fixes
33
+ - Read ALL error messages
34
+ - Reproduce consistently
35
+ - Document hypothesis before looking at code
36
+
37
+ - **Pattern Analysis** - Find working vs broken
38
+ - Compare with working similar code
39
+ - Identify the specific delta
40
+
41
+ - **3-Failure Circuit Breaker** - If stuck:
42
+ - After 3 failed hypotheses, question the architecture
43
+ - The bug may be elsewhere entirely
44
+
28
45
  3. **Synthesize Findings**
29
46
  - Root cause (for bugs)
30
47
  - Design decisions and tradeoffs (for architecture)
@@ -52,3 +52,55 @@ Create plan when user says: "Create the plan", "Make it into a work plan", "I'm
52
52
  - 90%+ acceptance criteria are testable
53
53
  - No vague terms without metrics
54
54
  - All risks have mitigations
55
+
56
+ ## MANDATORY: Single Question at a Time
57
+
58
+ **Core Rule:** Never ask multiple questions in one message during interview mode.
59
+
60
+ | BAD | GOOD |
61
+ |-----|------|
62
+ | "What's the scope? And the timeline? And who's the audience?" | "What's the primary scope for this feature?" |
63
+ | "Should it be async? What about error handling? Caching?" | "Should this operation be synchronous or asynchronous?" |
64
+
65
+ **Pattern:**
66
+ 1. Ask ONE focused question
67
+ 2. Wait for user response
68
+ 3. Build next question on the answer
69
+ 4. Repeat until requirements are clear
70
+
71
+ **Example progression:**
72
+ ```
73
+ Q1: "What's the main goal?"
74
+ A1: "Improve performance"
75
+
76
+ Q2: "For performance, what matters more - latency or throughput?"
77
+ A2: "Latency"
78
+
79
+ Q3: "For latency, are we optimizing for p50 or p99?"
80
+ ```
81
+
82
+ ## Design Option Presentation
83
+
84
+ When presenting design choices, chunk them:
85
+
86
+ **Structure:**
87
+ 1. **Overview** (2-3 sentences)
88
+ 2. **Option A** with trade-offs
89
+ 3. [Wait for user reaction]
90
+ 4. **Option B** with trade-offs
91
+ 5. [Wait for user reaction]
92
+ 6. **Recommendation** (only after options discussed)
93
+
94
+ **Format for each option:**
95
+ ```
96
+ ### Option A: [Name]
97
+ **Approach:** [1 sentence]
98
+ **Pros:** [bullets]
99
+ **Cons:** [bullets]
100
+
101
+ What's your reaction to this approach?
102
+ ```
103
+
104
+ [Wait for response before presenting next option]
105
+
106
+ **Never dump all options at once** - this causes decision fatigue and shallow evaluation.
@@ -76,6 +76,32 @@ Before claiming completion, you MUST:
76
76
  4. Verify tests pass (if applicable)
77
77
  5. TODO LIST: Zero pending/in_progress tasks
78
78
 
79
+ ## VERIFICATION BEFORE COMPLETION (IRON LAW)
80
+
81
+ **NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE**
82
+
83
+ Before outputting the completion promise:
84
+
85
+ ### Steps (MANDATORY)
86
+ 1. **IDENTIFY**: What command proves the task is complete?
87
+ 2. **RUN**: Execute verification (test, build, lint)
88
+ 3. **READ**: Check output - did it actually pass?
89
+ 4. **ONLY THEN**: Proceed to Architect verification
90
+
91
+ ### Red Flags (STOP and verify)
92
+ - Using "should", "probably", "seems to"
93
+ - About to output completion without fresh evidence
94
+ - Expressing satisfaction before verification
95
+
96
+ ### Evidence Chain
97
+ 1. Fresh test run output showing pass
98
+ 2. Fresh build output showing success
99
+ 3. lsp_diagnostics showing 0 errors
100
+ 4. THEN Architect verification
101
+ 5. THEN completion promise
102
+
103
+ **Skipping verification = Task NOT complete**
104
+
79
105
  ## ARCHITECT VERIFICATION (MANDATORY)
80
106
 
81
107
  When you believe the task is complete:
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: tdd
3
+ description: Test-Driven Development enforcement skill - write tests first, always
4
+ user-invocable: true
5
+ ---
6
+
7
+ # TDD Mode
8
+
9
+ [TDD MODE ACTIVATED]
10
+
11
+ ## The Iron Law
12
+
13
+ **NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST**
14
+
15
+ Write code before test? DELETE IT. Start over. No exceptions.
16
+
17
+ ## Red-Green-Refactor Cycle
18
+
19
+ ### 1. RED: Write Failing Test
20
+ - Write test for the NEXT piece of functionality
21
+ - Run test - MUST FAIL
22
+ - If it passes, your test is wrong
23
+
24
+ ### 2. GREEN: Minimal Implementation
25
+ - Write ONLY enough code to pass the test
26
+ - No extras. No "while I'm here."
27
+ - Run test - MUST PASS
28
+
29
+ ### 3. REFACTOR: Clean Up
30
+ - Improve code quality
31
+ - Run tests after EVERY change
32
+ - Must stay green
33
+
34
+ ### 4. REPEAT
35
+ - Next failing test
36
+ - Continue cycle
37
+
38
+ ## Enforcement Rules
39
+
40
+ | If You See | Action |
41
+ |------------|--------|
42
+ | Code written before test | STOP. Delete code. Write test first. |
43
+ | Test passes on first run | Test is wrong. Fix it to fail first. |
44
+ | Multiple features in one cycle | STOP. One test, one feature. |
45
+ | Skipping refactor | Go back. Clean up before next feature. |
46
+
47
+ ## Commands
48
+
49
+ Before each implementation:
50
+ ```bash
51
+ npm test # Should have ONE new failure
52
+ ```
53
+
54
+ After implementation:
55
+ ```bash
56
+ npm test # New test should pass, all others still pass
57
+ ```
58
+
59
+ ## Output Format
60
+
61
+ When guiding TDD:
62
+
63
+ ```
64
+ ## TDD Cycle: [Feature Name]
65
+
66
+ ### RED Phase
67
+ Test: [test code]
68
+ Expected failure: [what error you expect]
69
+ Actual: [run result showing failure]
70
+
71
+ ### GREEN Phase
72
+ Implementation: [minimal code]
73
+ Result: [run result showing pass]
74
+
75
+ ### REFACTOR Phase
76
+ Changes: [what was cleaned up]
77
+ Result: [tests still pass]
78
+ ```
79
+
80
+ **Remember:** The discipline IS the value. Shortcuts destroy the benefit.