What problem does it solve?
Running skill quality evals previously required remembering the exact argv structure of evals/runner.js, with no timeout protection, no input validation, and no persisted record of results. This Skill wraps the runner with validation, safe subprocess spawning, and structured result persistence.
Core Features & Use Cases
- Validated Eval Execution: Runs
node evals/runner.js --skill <skill> with strict skill-name regex validation, argv-array spawning (no shell), and a 30s default / 120s max timeout.
- Fail-Closed Result Parsing: Captures stdout/stderr, parses the trailing JSON block, and never treats exit code 0 alone as success.
- Result Persistence & Discovery: Saves structured results to
.bkit/runtime/evals-{skill}-{timestamp}.json and lists all skills with eval.yaml definitions grouped by classification.
- Use Case: After modifying the gap-detector skill, run its eval suite to confirm quality, then review the persisted JSON result to see pass/fail counts and diagnose failures.
Quick Start
Run the eval suite for the gap-detector skill and show me the persisted result summary.