
Skill Tester
Smoke-test another skill’s text-processing behavior using bundled sample text and CSV fixtures plus expected word-count stats.
Overview
Skill Tester is an agent skill for the Ship phase that provides sample text and CSV assets to verify text-processing skill behavior.
Install
npx skills add https://github.com/alirezarezvani/claude-skills --skill skill-testerWhat is this skill?
- Sample plain-text file with mixed punctuation, cases, and lorem content for processor checks
- Companion CSV rows with headers for structured-data parsing tests
- Embedded expected stats snapshot (e.g., total_words 116, unique_words 87) for regression comparison
- Documents five test dimensions: word count, character analysis, lines, transforms, statistics
- Reference snapshot cites 116 total words and 87 unique words on the sample text file
- Sample text file size noted as 855 bytes in the embedded JSON fragment
Adoption & trust: 531 installs on skills.sh; 17.5k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You built or tweaked a text processor skill but lack stable sample files and expected counts to confirm it still works.
Who is it for?
Skill authors who need quick, offline-friendly sample inputs while iterating on a text analysis or stats skill.
Skip if: Teams needing a full test framework, CI integration, or production document pipelines without bringing their own runner.
When should I use this skill?
You are shipping or revising a text-processing skill and need fixed sample TXT/CSV inputs with known statistics.
What do I get? / Deliverables
You have reusable fixtures and reference word statistics to run repeatable smoke tests against your text processor skill.
- sample_text.txt and CSV fixture files
- Expected word and uniqueness counts for manual or scripted comparison
Recommended Skills
Journey fit
How it compares
Fixture assets for skill QA, not an end-user productivity workflow or MCP integration.
Common Questions / FAQ
Who is skill-tester for?
Solo skill authors in the Claude skills ecosystem who want canned text and CSV files to exercise a processor skill.
When should I use skill-tester?
Use it in Ship → testing when you are validating word counts, line stats, or CSV handling right after editing a text-related skill.
Is skill-tester safe to install?
It is local sample content only; still review the Security Audits panel on this page before pulling from unfamiliar repos.
SKILL.md
READMESKILL.md - Skill Tester
This is a sample text file for testing the text processor skill. It contains multiple lines of text with various words and punctuation. The quick brown fox jumps over the lazy dog. This sentence contains all 26 letters of the English alphabet. Some additional content: - Numbers: 123, 456, 789 - Special characters: !@#$%^&*() - Mixed case: CamelCase, snake_case, PascalCase Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco. This file serves as a basic test case for: 1. Word counting functionality 2. Character analysis 3. Line counting 4. Text transformations 5. Statistical analysis The text processor should handle this content correctly and produce meaningful statistics and transformations for testing purposes. name,age,city,country John Doe,25,New York,USA Jane Smith,30,London,UK Bob Johnson,22,Toronto,Canada Alice Brown,28,Sydney,Australia Charlie Wilson,35,Berlin,Germany This CSV file contains sample data with headers and multiple rows. It can be used to test the text processor's ability to handle structured data formats and count words across different content types. The file includes: - Header row with column names - Data rows with mixed text and numbers - Various city and country names - Different age values for statistical analysis { "file": "assets/sample_text.txt", "file_size": 855, "total_words": 116, "unique_words": 87, "total_characters": 855, "lines": 19, "average_word_length": 4.7, "most_frequent": { "word": "the", "count": 5 } } # Sample Text Processor A basic text processing skill that demonstrates BASIC tier requirements for the claude-skills ecosystem. ## Quick Start ```bash # Analyze a text file python scripts/text_processor.py analyze sample.txt # Get JSON output python scripts/text_processor.py analyze sample.txt --format json # Transform text to uppercase python scripts/text_processor.py transform sample.txt --mode upper # Process multiple files python scripts/text_processor.py batch text_files/ --verbose ``` ## Features - Word count and text statistics - Text transformations (upper, lower, title, reverse) - Batch file processing - JSON and human-readable output formats - Comprehensive error handling ## Requirements - Python 3.7 or later - No external dependencies (standard library only) ## Usage See [SKILL.md](SKILL.md) for comprehensive documentation and examples. ## Testing Sample data files are provided in the `assets/` directory for testing the functionality. # Text Processor API Reference ## Classes ### TextProcessor Main class for text processing operations. #### `__init__(self, encoding: str = 'utf-8')` Initialize the text processor with specified encoding. **Parameters:** - `encoding` (str): Character encoding for file operations. Default: 'utf-8' #### `analyze_text(self, text: str) -> Dict[str, Any]` Analyze text and return comprehensive statistics. **Parameters:** - `text` (str): Text content to analyze **Returns:** - `dict`: Statistics including word count, character count, lines, most frequent word **Example:** ```python processor = TextProcessor() stats = processor.analyze_text("Hello world") # Returns: {'total_words': 2, 'unique_words': 2, ...} ``` #### `transform_text(self, text: str, mode: str) -> str` Transform text according to specified mode. **Parameters:** - `text` (str): Text to transform - `mode` (str): Transformation mode ('upper', 'lower', 'title', 'reverse') **Returns:** - `str`: Transformed text **Raises:** - `ValueError`: If mode is not supported ### OutputFormatter Static methods for output formatting. #### `format_json(data: Dict[str, Any]) -> str` Format data as JSON string. #### `format_human_readable(data: Dict[str, Any]) -> str` Format data as human-readable text. ### FileManager Handles file operations and batch processing. #### `find_text_files(self, directory: str