Hook-Driven Test Framework for Claude - A plugin that provides automated testing capabilities with test state management, validation, and reporting
This bash-based STDIO server has severe definition quality gaps. Tool descriptions are present but minimal (10-50 chars, well below the 50-200 char LLM-optimized baseline). Input schemas exist for most tools but lack depth: many parameters have no type constraints, enums are missing where appropriate (e.g., 'format' in report tool), and descriptions are generic. The 'init' tool accepts 'category' and 'tag' as free-form strings with no enum or validation guidance. Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. Output schemas are undocumented. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. The 'reset' and 'abort' tools are destructive but lack confirmation patterns or dry-run support.
Stop test run and abort execution
Initialize test run with optional category and tag filters, or reset existing state
Get next test action to execute
Generate test report in specified format (markdown, html, or json)
Clear state and results, reset test framework to initial state
Skip current test and move to next
Show current test progress and status
Validate response against test expectations including contains, not_contains, and regex patterns
Destructive tools (reset, abort) lack confirmation or dry-run patterns. No guidance on recovery or undo steps.
No output schemas documented. LLMs cannot predict what fields to expect from tool responses, forcing unstructured parsing.
Tool descriptions are too brief (10-40 chars, below 50-char minimum). Descriptions lack WHEN to use, WHAT it returns, and prerequisites.
No error handling guidance. Tools return raw output with no recovery hints, error categorization, or actionable next steps for LLMs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Show captured variables from test execution
Parameter 'format' in report tool lacks enum constraint. Free-form string invites hallucinated values; should be enum: [md, html, json].