claude-skills/engineering/skills/skill-tester/assets/sample-skill
Ben Fairless fa686a0835
fix(skill-tester): recalibrate validator to the real skill schema
skill_validator.py required frontmatter fields ["Name", "Tier", "Category",
"Dependencies", "Author", "Version"] and sections ["Name", "Description",
"Features", "Usage", "Examples"]. That is the bold key/value convention used
by its own assets/sample-skill fixture, not YAML frontmatter and not a schema
any real skill has followed. All 362 skills failed both checks identically, so
skill-quality-review.yml has been printing the same two errors on every run
and nobody has acted on them.

  - frontmatter now requires name + description, what Claude Code actually
    reads, and lists the current optional fields for reference
  - the fixed section list becomes a scored recommendation drawn from measured
    usage. No heading appears in even 30% of the 361 real SKILL.md files, so a
    required list cannot be justified; a miss is now a warning, not an error
  - _check_external_imports uses sys.stdlib_module_names instead of a
    hand-maintained set. The old set omitted __future__, so every script using
    `from __future__ import annotations` was reported as carrying an external
    dependency. Real third-party imports are still caught
  - the sample-skill fixture gets valid YAML frontmatter, so the reference
    implementation stops teaching the schema that caused this

cfo-advisor goes from 86.4 with 2 bogus errors to 95.5 with none. The one
remaining error class, "SKILL.md too short: minimum 100 lines", is left alone:
it contradicts skill_review_checklist_runner.py's under-100-lines check and
SKILL-AUTHORING-STANDARD.md's 10KB cap, and picking a winner belongs with the
wider CONVENTIONS.md reconciliation.

Assisted-by: Claude Code:claude-opus-5
2026-08-03 08:55:36 +08:00
..
assets fix(plugins): restructure 9 multi-skill domain plugins into ./skills/ layout 2026-05-02 22:51:20 +02:00
expected_outputs fix(plugins): restructure 9 multi-skill domain plugins into ./skills/ layout 2026-05-02 22:51:20 +02:00
references fix(plugins): restructure 9 multi-skill domain plugins into ./skills/ layout 2026-05-02 22:51:20 +02:00
scripts fix(plugins): restructure 9 multi-skill domain plugins into ./skills/ layout 2026-05-02 22:51:20 +02:00
README.md fix(plugins): restructure 9 multi-skill domain plugins into ./skills/ layout 2026-05-02 22:51:20 +02:00
SKILL.md fix(skill-tester): recalibrate validator to the real skill schema 2026-08-03 08:55:36 +08:00

Sample Text Processor

A basic text processing skill that demonstrates BASIC tier requirements for the claude-skills ecosystem.

Quick Start

# 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 for comprehensive documentation and examples.

Testing

Sample data files are provided in the assets/ directory for testing the functionality.