Skill 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
scripts/ directory
- 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:
bash
# 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
Use this standard format for test cases:
IDScriptTypeDescriptionInputExpected OutputCommandTC001process.pyNormalProcess valid JSON{"key": "value"}Success, output file createdpython scripts/process.py input.jsonTC002process.pyEdgeProcess empty fileEmpty fileGraceful handling, empty outputpython scripts/process.py empty.jsonTC003process.pyErrorMissing input fileN/AError message, exit code 1python scripts/process.py missing.json
Resources#
scripts/#
test_template.py - Template generator for creating test case documentation
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