Devflow tdd enforcer
Skill bg-szy/TOP-SKILLS/skills/marketplace/devflow-tdd-enforcer
全球最大的 Claude Code 技能聚合库 · 收录 3900+ 来自 12+ 来源的技能,提供在线搜索与趋势分析看板 / The world's largest Claude Code skill aggregation hub — 3900+ skills from 12+ sources with online search and trend dashboard
npx -y skills add bg-szy/TOP-SKILLS --skill devflow-tdd-enforcerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Enforces TDD order in TASKS.md - Tests MUST be marked complete before Implementation tasks. Blocks violations in real-time.
SKILL.md
6.2 KB, as published. Nobody here has run it
DevFlow TDD Enforcer
Purpose
Enforce Test-First Development (TDD) order by preventing users from marking implementation tasks complete before their corresponding test tasks.
Trigger: PreToolUse hook when editing devflow/requirements/**/TASKS.md
Enforcement Rule
Source: Extracted from planner agent's TDD mandate + Constitution Article VI
❌ BLOCKED Pattern (Violation)
- [x] **T010** [US1] Implement user registration endpoint
- [ ] **T011** [US1] Test user registration with valid data
Problem: Implementation marked done BEFORE test
Regex Pattern: \[x\].*Implementation.*\n.*\[ \].*Test
✅ CORRECT Pattern (TDD Sequence)
- [ ] **T010** [US1] Test user registration with valid data (write FAILING test)
- [ ] **T011** [US1] Implement user registration endpoint (make test PASS)
Or after completion:
- [x] **T010** [US1] Test user registration with valid data
- [x] **T011** [US1] Implement user registration endpoint
Blocking Message
When violation detected, PreToolUse hook returns exit code 2 (blocks file save):
⚠️ BLOCKED - TDD Violation Detected
📋 REQUIRED ACTION:
1. Re-order TASKS.md to follow TDD sequence
2. Mark test tasks [x] BEFORE implementation tasks
3. Review Constitution Article VI - Test-First Development
Reason: CC-DevFlow enforces TDD (Tests First → Implementation)
Source: planner agent mandate + Constitution Article VI
File: {file_path}
Current Issue:
Line {N}: Implementation task marked complete
Line {N+1}: Test task NOT marked complete
💡 SKIP: Add `@skip-tdd-check` comment or set SKIP_TDD_ENFORCER=1
Constitutional Basis
Article VI: Test-First Development
TDD MANDATE:
- Write test FIRST (must fail)
- Implement code SECOND (make test pass)
- No implementation without corresponding test
- Test coverage ≥80%
planner agent enforces
- Generates TASKS.md with correct TDD order
- Phase 2: All tests listed first
- Phase 3+: Each user story has Test task before Implementation task
- Inserts "⚠️ TEST VERIFICATION CHECKPOINT" between Phase 2 and Phase 3
devflow-tdd-enforcer guardrail prevents
- Users from manually reversing that order
- Implementation tasks marked complete before test tasks
- Real-time detection during file editing
Additional Violation Patterns
Pattern 2: Phase 3+ User Story TDD Order
# ❌ BLOCKED
- [x] **T020** [US2] Implement login endpoint
- [ ] **T021** [US2] Test login with valid credentials
# ✅ CORRECT
- [x] **T020** [US2] Test login with valid credentials
- [x] **T021** **T021** [US2] Implement login endpoint
Regex Pattern: \[x\].*\[US\d+\].*Implement.*\n.*\[ \].*\[US\d+\].*Test
Pattern 3: Implementation without Test
# ❌ BLOCKED (if no corresponding test found)
- [ ] **T030** [US3] Implement password reset endpoint
# (No T029 or T031 test task found)
# ✅ CORRECT
- [ ] **T029** [US3] Test password reset with valid email
- [ ] **T030** [US3] Implement password reset endpoint
Skip Conditions
Users can bypass TDD enforcer in specific scenarios:
1. Session Skip (One-time per session)
- Mechanism:
sessionSkillUsed: truein skill-rules.json - Behavior: Guardrail only triggers once per Claude session
- Use case: User acknowledged TDD violation, wants to continue
2. File Marker (Permanent skip for specific file)
- Marker: Add
@skip-tdd-checkcomment anywhere in TASKS.md - Example:
<!-- @skip-tdd-check: Hotfix deployment, will add tests in follow-up --> - Use case: Emergency hotfix, tests to be added later
3. Environment Variable (Temporary global skip)
- Variable:
SKIP_TDD_ENFORCER=1 - Scope: Current terminal session
- Use case: Batch operations, automated scripts
Relationship with Other Components
mark-task-complete.sh (Script)
- Purpose: Marks tasks complete in正常 workflow (via /flow-dev)
- Validation: Batch validation at phase completion
- Timing: After task execution
devflow-tdd-enforcer (Guardrail)
- Purpose: Real-time prevention of manual TDD violations
- Validation: Per-edit, blocks save if violation detected
- Timing: During file editing (PreToolUse hook)
Relationship: Complementary (双重保险)
- Script ensures正常流程 follows TDD
- Guardrail prevents手动编辑 from breaking TDD
Constitution Article VI
- Defines: TDD philosophy and mandates
- Enforcement: planner agent (generation time) + devflow-tdd-enforcer (edit time)
Configuration
In .claude/skills/skill-rules.json:
{
"devflow-tdd-enforcer": {
"type": "guardrail",
"enforcement": "block",
"priority": "critical",
"description": "Enforces TDD order, extracted from planner agent rules",
"fileTriggers": {
"pathPatterns": ["devflow/requirements/**/TASKS.md"],
"contentPatterns": [
"\\[x\\].*Implementation.*\\n.*\\[ \\].*Test",
"\\[x\\].*\\[US\\d+\\].*Implement.*\\n.*\\[ \\].*\\[US\\d+\\].*Test"
]
},
"blockMessage": "⚠️ BLOCKED - TDD Violation\n\nTasks must follow TDD order:\n1. [ ] Test (write failing test)\n2. [ ] Implementation (make test pass)\n\n📋 ACTION: Re-order TASKS.md\nSource: planner agent mandate + Constitution Article VI\n\n💡 SKIP: @skip-tdd-check or SKIP_TDD_ENFORCER=1",
"skipConditions": {
"sessionSkillUsed": true,
"fileMarkers": ["@skip-tdd-check"],
"envOverride": "SKIP_TDD_ENFORCER"
}
}
}
Design Principle
This guardrail does NOT contain:
- ❌ Complete TDD methodology (that's in planner agent)
- ❌ Task generation logic (that's in planner agent)
- ❌ Full Constitution Article VI (that's in project-constitution.md)
This guardrail ONLY contains:
- ✅ Prohibition rule extraction (from planner agent)
- ✅ Real-time violation detection (content pattern matching)
- ✅ Blocking mechanism (PreToolUse hook, exit code 2)
- ✅ Links to source documentation
Rationale: Avoid duplication ("不重不漏" principle). planner agent owns TDD generation logic, guardrail owns real-time enforcement.