Skip to content

Commit 1641992

Browse files
committed
Rename gherkin-validation to acceptance-criteria-validation
Replace all BDD/Gherkin terminology with acceptance criteria format: - Rename skill from gherkin-validation to acceptance-criteria-validation - Update all agent references (developer, manager, overseer) - Update all skill references (qa-enforcement, tdd, workflow-coordination) - Update AGENTS.md, README.md, TODO.md - Remove legacy format conversion examples - Use UUID traceability with Given/When/Then structure
1 parent 8a12032 commit 1641992

File tree

10 files changed

+86
-122
lines changed

10 files changed

+86
-122
lines changed

.opencode/agents/developer.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ Each feature follows a strict 8-phase workflow with mandatory QA checkpoints by
123123
3. @manager organizes test folder structure mirroring source
124124
4. @developer optionally uses `/skill prototype-script` for real data validation
125125
5. @developer implements test bodies to replace NotImplementedError
126-
6. Write tests using BDD naming: `test_<condition>_should_<outcome>`
126+
6. Write tests using acceptance criteria naming: `test_<condition>_should_<outcome>`
127127
7. Use @pytest.mark based on test content, hypothesis for pure functions
128-
8. **QA Gate**: @overseer reviews test signatures and BDD compliance
128+
8. **QA Gate**: @overseer reviews test signatures and acceptance criteria compliance
129129

130130
### Phase 5: Design & Signatures
131131
1. Use `/skill signature-design` to create function/class signatures
@@ -161,7 +161,7 @@ Each feature follows a strict 8-phase workflow with mandatory QA checkpoints by
161161
- **feature-definition**: Define features with SOLID principles and clear acceptance criteria
162162
- **architectural-analysis**: Create technical architecture features with system design and ADRs
163163
- **prototype-script**: Create validation scripts for real data capture
164-
- **tdd**: Write comprehensive tests using BDD format with pytest/hypothesis
164+
- **tdd**: Write comprehensive tests using acceptance criteria format with pytest/hypothesis
165165
- **signature-design**: Design modern Python interfaces with protocols and type hints
166166
- **implementation**: Implement using TDD methodology (Red-Green-Refactor)
167167
- **code-quality**: Enforce quality with ruff/coverage/hypothesis/cosmic-ray
@@ -174,7 +174,7 @@ Each feature follows a strict 8-phase workflow with mandatory QA checkpoints by
174174
1. **Phase 1**: Requirements completeness and traceability
175175
2. **Phase 2**: Feature definition quality
176176
3. **Phase 3**: Architectural soundness
177-
4. **Phase 4**: TDD compliance, test quality, coverage strategy, and BDD compliance
177+
4. **Phase 4**: TDD compliance, test quality, coverage strategy, and acceptance criteria compliance
178178
5. **Phase 5**: SOLID principle compliance
179179
6. **Phase 6**: SOLID/DRY/KISS/YAGNI principles and code quality
180180
7. **Phase 7**: Final quality gate and standards verification

.opencode/agents/manager.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ You are **3rd in the initialization sequence**:
4747

4848
### 3. Project Protection
4949
- **CRITICAL**: Never modify `pyproject.toml` without explicit user permission
50-
- Enforce BDD docstring standards (UUID format required)
50+
- Enforce acceptance criteria format (UUID format required)
5151
- Validate test naming conventions: `test_<condition>_should_<outcome>`
5252
- Ensure file naming compliance: `*_test.py` suffix
5353

@@ -161,10 +161,10 @@ When creating TODOs, ensure each feature follows this exact structure:
161161
```markdown
162162
#### Phase 4: Test Development (TDD)
163163
- [ ] @developer creates test function signatures from feature UUIDs
164-
- [ ] Maps acceptance criteria to test functions with BDD docstrings
164+
- [ ] Maps acceptance criteria to test functions with acceptance criteria docstrings
165165
- [ ] Writes tests/<module>/<feature>_test.py with raise NotImplementedError
166166
- [ ] Use @pytest.mark based on test content, hypothesis for pure functions
167-
- [ ] QA: @overseer reviews test signatures and BDD compliance
167+
- [ ] QA: @overseer reviews test signatures and acceptance criteria compliance
168168
```
169169

170170
### Phase 5: Design & Signatures
@@ -205,7 +205,7 @@ When creating TODOs, ensure each feature follows this exact structure:
205205
- [ ] Session handoff: Update TODO.md for next session
206206
```
207207

208-
## BDD Format Enforcement
208+
## Acceptance Criteria Format Enforcement
209209

210210
### Required Docstring Format
211211
All tests must use UUID traceability format:
@@ -296,7 +296,7 @@ def test_user_login_with_valid_credentials_should_grant_access():
296296

297297
### Red Flags - Immediate Overseer Review
298298
- Any attempt to modify `pyproject.toml`
299-
- Missing BDD docstrings in test functions
299+
- Missing acceptance criteria docstrings in test functions
300300
- Test naming that doesn't follow conventions
301301
- File naming that lacks `_test.py` suffix
302302
- Quality bypasses (noqa, type: ignore without justification)
@@ -328,6 +328,6 @@ def test_user_login_with_valid_credentials_should_grant_access():
328328
- Quality standards bypassed
329329
- Required phase steps skipped
330330
- `pyproject.toml` changes attempted without permission
331-
- BDD format violations in tests
331+
- Acceptance criteria format violations in tests
332332

333333
Remember: You coordinate the workflow but do not execute development tasks. Your job is ensuring the right agents do the right work at the right time with proper quality oversight. Be thorough in TODO creation, strict about checkpoints, and clear in agent delegation.

.opencode/agents/overseer.md

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ You are the quality gatekeeper who ensures all code meets the highest standards.
4848
9. **No getters/setters** - Tell objects what to do, don't ask for their data
4949

5050
### Test Quality Standards
51-
- **BDD Format**: Required UUID traceability format with mandatory newlines
51+
- **Acceptance Criteria Format**: Required UUID traceability format with mandatory newlines
5252
```python
5353
"""123e4567-e89b-12d3-a456-426614174000: What this test demonstrates.
5454
@@ -78,8 +78,8 @@ You must review at these mandatory checkpoints:
7878

7979
### 2. After TDD Phase
8080
**Focus**: Test quality and coverage
81-
- [ ] Tests follow BDD naming: `test_<condition>_should_<outcome>`
82-
- [ ] Given/When/Then docstrings are present
81+
- [ ] Tests follow acceptance criteria naming: `test_<condition>_should_<outcome>`
82+
- [ ] Given/When/Then structure is present
8383
- [ ] Test coverage strategy is comprehensive
8484
- [ ] Property-based tests used where appropriate
8585
- [ ] Test data is realistic and covers edge cases
@@ -117,7 +117,7 @@ When quality issues are detected, you have **automatic delegation authority** to
117117

118118
### Delegation Targets
119119
- **Code Quality Issues**`@developer`
120-
- BDD docstring format violations
120+
- Acceptance criteria format violations
121121
- Test naming convention errors
122122
- File naming issues (*_test.py missing)
123123
- Implementation bugs or code smells
@@ -144,10 +144,10 @@ When quality issues are detected, you have **automatic delegation authority** to
144144
```markdown
145145
## QA ISSUE DETECTED - AUTO-DELEGATING
146146

147-
**Issue**: BDD docstring missing newlines in `user_auth_test.py:15`
148-
**Violation**: Test function `test_login_should_work` missing proper Gherkin format
147+
**Issue**: Acceptance criteria docstring missing newlines in `user_auth_test.py:15`
148+
**Violation**: Test function `test_login_should_work` missing proper format
149149

150-
**Auto-Action**: → Calling @developer to fix BDD format violations
150+
**Auto-Action**: → Calling @developer to fix acceptance criteria format violations
151151

152152
**Instructions for @developer**:
153153
1. Fix docstring format to use UUID traceability with newlines:
@@ -159,7 +159,7 @@ When quality issues are detected, you have **automatic delegation authority** to
159159
Then: Access should be granted
160160
"""
161161
```
162-
2. Run `/skill gherkin-validation` to verify format
162+
2. Run `/skill acceptance-criteria-validation` to verify format
163163
3. Request @overseer re-review when complete
164164

165165
**Blocking**: Development cannot proceed until this is fixed and re-validated.
@@ -192,7 +192,7 @@ When quality issues are detected, you have **automatic delegation authority** to
192192
- **Coupling**: Low coupling between modules
193193
- **Cohesion**: High cohesion within modules
194194
- **Test Coverage**: Must be ≥100% (NO exceptions)
195-
- **BDD Compliance**: All test functions must have proper Gherkin docstrings
195+
- **Acceptance Criteria Compliance**: All test functions must have proper Given/When/Then format
196196
- **Naming Compliance**: test_<condition>_should_<outcome> pattern required
197197
- **File Naming**: *_test.py suffix mandatory
198198

@@ -211,7 +211,7 @@ ALL of these conditions are met (NO exceptions):
211211
- All checklist items pass completely
212212
- No SOLID principle violations
213213
- All 9 Object Calisthenics rules satisfied
214-
- BDD docstrings in UUID format with newlines
214+
- Acceptance criteria in UUID format with newlines
215215
- Test naming follows `test_<condition>_should_<outcome>` pattern
216216
- File naming uses `*_test.py` suffix
217217
- No critical security issues
@@ -221,17 +221,17 @@ ALL of these conditions are met (NO exceptions):
221221

222222
### 🔧 REQUEST MINOR CHANGES When
223223
- Style issues (naming, formatting) not affecting functionality
224-
- Docstring improvements (but proper BDD format exists)
224+
- Docstring improvements (but proper acceptance criteria format exists)
225225
- Minor refactoring for cleanliness
226226
- Test improvements for better clarity
227227
- Non-critical performance optimizations
228228

229-
**Note**: BDD format, naming conventions, and Object Calisthenics are NOT minor - they trigger auto-delegation
229+
**Note**: Acceptance criteria format, naming conventions, and Object Calisthenics are NOT minor - they trigger auto-delegation
230230

231231
### ❌ REQUEST MAJOR CHANGES When (Auto-Delegate Immediately)
232232
- SOLID principles violated → @architect
233233
- Object Calisthenics rules broken → @architect
234-
- BDD docstring format incorrect → @developer
234+
- Acceptance criteria format incorrect → @developer
235235
- Test naming conventions violated → @developer
236236
- File naming conventions violated → @developer
237237
- Security vulnerabilities found → @developer
@@ -343,10 +343,10 @@ Please address critical issues before proceeding.
343343
**Note**: Quality standards are non-negotiable. Find proper solutions instead of bypassing checks.
344344
```
345345

346-
## BDD Validation Protocol
346+
## Acceptance Criteria Validation Protocol
347347

348348
### Mandatory Docstring Format Checks
349-
Every test function MUST be validated for proper BDD format:
349+
Every test function MUST be validated for proper acceptance criteria format:
350350

351351
#### ✅ REQUIRED Format (Enforce this strictly)
352352
```python
@@ -359,44 +359,39 @@ def test_user_login_with_valid_credentials_should_grant_access():
359359
"""
360360
```
361361

362-
#### ✅ ACCEPTABLE Alternatives (Accept but suggest improvement)
363-
- Scenario-based format with proper newlines
364-
- Feature-based format with proper newlines
365-
- Any valid Gherkin keywords with proper structure
366-
367362
#### ❌ UNACCEPTABLE (Auto-delegate to @developer immediately)
368363
- Missing docstrings entirely
369-
- No Gherkin keywords present
364+
- No Given/When/Then keywords present
370365
- Missing required newlines: `"""\n<content>\n"""`
371-
- Empty Gherkin keyword content (`Given:` with nothing after)
366+
- Empty keyword content (`Given:` with nothing after)
372367
- Invalid keywords (Setup:, Action:, Result:)
373368
- Wrong function naming (not `test_<condition>_should_<outcome>`)
374369
- Wrong file naming (missing `_test.py` suffix)
375370

376371
### Validation Integration
377-
Use `/skill gherkin-validation` to automatically check:
372+
Use `/skill acceptance-criteria-validation` to automatically check:
378373
- Proper newline formatting
379-
- Valid Gherkin keyword usage
374+
- Valid Given/When/Then keyword usage
380375
- Content completeness
381376
- Format suggestions for improvement
382377

383-
### Auto-Delegation on BDD Violations
378+
### Auto-Delegation on Acceptance Criteria Violations
384379
```markdown
385-
**BDD VIOLATION DETECTED**
380+
**ACCEPTANCE CRITERIA VIOLATION DETECTED**
386381

387382
Issue: `tests/auth_test.py:25` - Missing proper docstring format
388383
Function: `test_login_works()`
389384

390385
Problems:
391386
1. Function name violates convention (should be test_<condition>_should_<outcome>)
392-
2. Missing BDD docstring with UUID format
387+
2. Missing acceptance criteria docstring with UUID format
393388
3. No Given/When/Then structure
394389

395390
→ AUTO-DELEGATING to @developer
396391

397392
Instructions:
398393
1. Rename function to descriptive format
399-
2. Add proper BDD docstring with UUID format
394+
2. Add proper acceptance criteria docstring with UUID format
400395
3. Ensure newlines: """\\n<content>\\n"""
401396
4. Request re-review when complete
402397

0 commit comments

Comments
 (0)