Skills skill-test-generator
Automatically generate test documentation for existing skills that have scripts but lack testing guidance. Use when a skill has scripts/ directory but no TESTING.md or testing section in SKILL.md. Analyzes scripts to create test cases covering normal and edge cases, generates test command examples, and creates or updates testing documentation.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/834948655/skill-test-generator" ~/.claude/skills/openclaw-skills-skill-test-generator && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/834948655/skill-test-generator" ~/.openclaw/skills/openclaw-skills-skill-test-generator && rm -rf "$T"
skills/834948655/skill-test-generator/SKILL.mdSkill Test Generator
Overview
This skill analyzes existing skill scripts and automatically generates comprehensive test documentation. It identifies scripts in the
scripts/ directory, analyzes their functionality, and produces test cases covering both normal and exceptional scenarios.
When to Use This Skill
Use this skill when:
- A skill has scripts but lacks testing documentation
- You need to create TESTING.md for a skill
- You want to add a testing section to an existing SKILL.md
- You need test case examples for skill scripts
Workflow
Step 1: Analyze Scripts
First, identify and analyze the scripts in the target skill:
- List all files in the skill's
directoryscripts/ - Read each script to understand its purpose and parameters
- Identify entry points, inputs, outputs, and dependencies
Step 2: Generate Test Cases
For each script, generate test cases covering:
Normal Cases:
- Standard usage with valid inputs
- Typical parameter combinations
- Expected successful execution paths
Edge Cases:
- Empty or minimal inputs
- Boundary values (max/min lengths, sizes)
- Special characters and encoding
- Invalid file paths or missing files
- Permission issues
- Malformed arguments
Error Cases:
- Missing required parameters
- Invalid parameter types
- Non-existent input files
- Network failures (if applicable)
- Resource exhaustion scenarios
Step 3: Create Test Documentation
Generate documentation in one of two formats:
Option A: Create TESTING.md Create a standalone testing document with:
- Test case tables (ID, Description, Input, Expected Output, Command)
- Test execution instructions
- Environment setup requirements
Option B: Update SKILL.md Add a "Testing" section to the existing SKILL.md with:
- Overview of test approach
- Test case summaries
- Example commands
Step 4: Provide Test Commands
Include concrete test command examples that can be copied and executed:
# Example test commands for a hypothetical script python scripts/process_data.py --input test_data/valid.json python scripts/process_data.py --input test_data/empty.json # Edge case python scripts/process_data.py --input nonexistent.json # Error case
Test Case Format
Use this standard format for test cases:
| ID | Script | Type | Description | Input | Expected Output | Command |
|---|---|---|---|---|---|---|
| TC001 | process.py | Normal | Process valid JSON | | Success, output file created | |
| TC002 | process.py | Edge | Process empty file | Empty file | Graceful handling, empty output | |
| TC003 | process.py | Error | Missing input file | N/A | Error message, exit code 1 | |
Resources
scripts/
- Template generator for creating test case documentationtest_template.py
Example Output
When run against a skill with scripts, this skill produces:
-
TESTING.md (or updated SKILL.md section) containing:
- Test case inventory
- Test execution commands
- Expected results for each test
-
Test commands ready to copy-paste and execute
Best Practices
- Cover the happy path first - Ensure basic functionality works
- Test boundaries - Check min/max values, empty inputs
- Verify error handling - Scripts should fail gracefully
- Document prerequisites - Note any required test data or environment setup
- Make commands executable - Provide copy-paste ready commands