Master Bash Automated Testing System (Bats) for comprehensive shell script testing. Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities.
51
56%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/bats-testing-patterns/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a solid description with clear 'what' and 'when' clauses, good trigger terms covering the Bats ecosystem, and strong distinctiveness. Its main weakness is that it could be more specific about the concrete actions it enables (e.g., writing assertions, mocking, setup/teardown patterns) rather than staying at a higher level of abstraction.
Suggestions
Add specific concrete actions like 'write @test blocks, use assertions (assert_success, assert_output), mock commands, configure setup/teardown' to improve specificity.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Bats/shell script testing) and implies actions like 'writing tests' and 'test-driven development', but doesn't list specific concrete actions like 'create test files', 'write assertions', 'mock commands', or 'generate test reports'. | 2 / 3 |
Completeness | Clearly answers both 'what' (Master Bash Automated Testing System for shell script testing) and 'when' (explicit 'Use when' clause covering writing tests for shell scripts, CI/CD pipelines, or TDD of shell utilities). | 3 / 3 |
Trigger Term Quality | Includes strong natural trigger terms: 'Bats', 'shell script testing', 'CI/CD pipelines', 'test-driven development', 'shell utilities'. These cover the main ways users would naturally refer to this domain, including the tool name and common use cases. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — Bats is a specific testing framework for shell scripts, which is a clear niche. The mention of 'Bats', 'Bash Automated Testing System', and 'shell script testing' makes it very unlikely to conflict with general testing skills or other language-specific test frameworks. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
22%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is essentially a table of contents with no actionable content. It contains no code examples, no Bats syntax, no concrete commands, and no specific patterns—everything meaningful is deferred to a resource file that doesn't exist in the bundle. The instructions read as high-level project management steps rather than executable guidance for writing Bats tests.
Suggestions
Add at least one complete, executable Bats test example (e.g., a @test block with `run`, status check, and output assertion) directly in the SKILL.md as a quick-start reference.
Replace the abstract instruction bullets with concrete steps including actual commands (e.g., `bats test/`, directory structure layout, `setup()` and `teardown()` function templates).
Include the `resources/implementation-playbook.md` bundle file or inline the most critical patterns so the skill is usable standalone.
Add a minimal project structure example showing where test files, helpers, and fixtures should live (e.g., `test/`, `test/test_helper.bash`, `test/fixtures/`).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The 'Use this skill when' and 'Do not use this skill when' sections add moderate bloat—Claude doesn't need to be told when shell scripts aren't involved. The instructions section is brief but the overall file has unnecessary framing text like the subtitle restating the title. | 2 / 3 |
Actionability | The instructions are entirely abstract ('Set up a test structure with helpers and fixtures', 'Write tests for exit codes, output, and side effects') with zero concrete code, commands, or examples. There is no executable Bats test, no file structure, no specific syntax—everything is deferred to a resource file that isn't provided. | 1 / 3 |
Workflow Clarity | The five bullet points in Instructions gesture at a sequence but lack any specificity, validation checkpoints, or feedback loops. Steps like 'Confirm shell dialects' and 'Add setup/teardown and run tests in CI' are vague directives with no concrete guidance on how to accomplish them. | 1 / 3 |
Progressive Disclosure | The skill references `resources/implementation-playbook.md` for detailed patterns, which is a reasonable one-level-deep reference. However, no bundle files are provided, so the reference is unverifiable, and the SKILL.md itself contains almost no substantive content—it over-delegates without providing a useful quick-start overview. | 2 / 3 |
Total | 6 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
f5dc9e3
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.