Our review
This skill counts features marked as @failing in Gherkin feature files and writes the count to a JSON file.
Strengths
- Automates termination decision in autonomous coding loops
- Integrates with Gherkin feature files
- Simple tag-based status detection
Limitations
- Only handles @failing and @passing tags
- Requires files to follow a specific format
- Does not support multiple tags per feature
Use this skill to check if all features in a BDD project have been implemented successfully.
Avoid this skill if you are using a non-Gherkin test format or need more detailed reporting.
Security analysis
SafeThe skill only uses Glob, Read, and Write to scan text files and output a local JSON file. It performs no destructive operations, network calls, code execution, or data exfiltration.
No concerns found
Examples
Run the feature-status skill to count all @failing features in the current directory.Use feature-status to determine if the coding loop should continue by reading feature-status.json.name: feature-status description: Count features marked as @failing and write to status JSON file. Used to determine when the autonomous coding loop should end. allowed-tools: Glob, Read, Write
Feature Status Skill
Purpose
This skill counts the number of features marked as @failing and writes the count to a JSON file. This is used by the autonomous coding harness to determine when the implementation loop should end (when failing_count reaches 0).
Output File
File: feature-status.json
Format:
{
"failing_count": 3
}
Loop Termination Logic:
- If
failing_count > 0→ Continue coding sessions - If
failing_count == 0→ All features implemented, end loop
How It Works
Step 1: Find Feature Files
Use Glob to find all Gherkin feature files:
Pattern: gherkin.feature_*.feature
Step 2: Count @failing Tags
For each feature file:
- Read the first few lines
- Look for
@failingtag - If found, increment the failing counter
Tag Detection:
@failing
Feature: Some Feature Name
...
Read lines until you find either:
@failing→ Count this feature as failing@passing→ Skip (not failing)Feature:line → Stop searching (assume no tag = passing)
Step 3: Write JSON
Write feature-status.json with just the failing count:
{
"failing_count": <count>
}
Usage
Simply invoke the skill:
/feature-status
This will:
- Scan all
gherkin.feature_*.featurefiles in the current directory - Count how many have
@failingtags - Write the count to
feature-status.json
Example Implementation
# Pseudocode for reference
def count_failing_features(directory):
failing_count = 0
# Find all feature files
feature_files = glob("gherkin.feature_*.feature")
for file in feature_files:
with open(file) as f:
for line in f:
line = line.strip()
if line.startswith("@failing"):
failing_count += 1
break
elif line.startswith("@passing"):
break
elif line.startswith("Feature:"):
# No tag found, assume passing
break
return failing_count
Integration with Autonomous Coding Harness
The harness can check the status file to decide whether to continue:
import json
def should_continue_loop():
with open("feature-status.json") as f:
status = json.load(f)
return status["failing_count"] > 0
Best Practices
- Run after each coding session to update the failing count
- Commit the status file to track progress over time
- Check before starting a new session to avoid unnecessary runs
- Use as a termination condition in automation scripts
TDD Red-Green-Refactor
Testing
Skill that guides Claude through the complete TDD cycle.
Web Accessibility Audit
Testing
Performs a comprehensive web accessibility audit following WCAG standards.
UAT Test Case Generator
Testing
Generates structured and comprehensive user acceptance test cases.