CtrlK
BlogDocsLog inGet started
Tessl Logo

bats-testing-patterns

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

Quality

56%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/bats-testing-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

42%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, well-sectioned skeleton whose substance is entirely deferred to a playbook file that is missing from the bundle. What remains is abstract guidance with no executable Bats example, no commands, and no validation checkpoints, leaving the skill unable to act on its own instructions.

Suggestions

Fix the bundle: either add resources/implementation-playbook.md or remove the dangling reference and inline the essential patterns — as written, every 'detailed example' is unreachable.

Add at least one complete, copy-paste Bats test to Instructions (e.g., an @test block using `run`, `$status`, and `assert_output`) plus the commands to install and run the suite.

Make the workflow steps concrete with checkpoints: name the setup/teardown hooks (setup(), teardown() with temp dirs) and a verification step such as running the suite locally before wiring CI.

Tighten duplication: drop the intro sentence and the 'Use this skill when' list, both of which restate the frontmatter description.

DimensionReasoningScore

Conciseness

The body is short and assumes Claude knows what Bats is (no concept explainer), but the intro sentence "Comprehensive guidance for writing comprehensive unit tests..." duplicates the description nearly verbatim, the "Use this skill when" section repeats the description's triggers, and the Limitations section is generic boilerplate. Not 4 because there are several trimmable padded sections, not 2 because nothing over-explains known concepts.

3 / 5

Actionability

Every instruction is an abstract directive — "Set up a test structure with helpers and fixtures", "Write tests for exit codes, output, and side effects" — with no concrete code, commands, or a single example Bats test (no @test block, no run/exit assertions, no `bats` invocation). Not 1 because the bullets do direct concrete activities rather than only describing; not 3 because even pseudocode-level specifics of a Bats test are absent, and the only detailed material is deferred to a file that does not exist in the bundle.

2 / 5

Workflow Clarity

The Instructions list a recognizable sequence — "Confirm shell dialects" → "Set up a test structure" → "Write tests..." → "Add setup/teardown and run tests in CI" — but each step is a one-line abstraction with no validation checkpoints (e.g., how to verify the suite runs or that CI wiring works). Not 4 because checkpoints are entirely missing, not 2 because a rough, sensible sequence is present and the operations are not destructive.

3 / 5

Progressive Disclosure

The one reference — "open `resources/implementation-playbook.md`" — is one level deep and clearly signaled in both Instructions and a Resources section, but no bundle files exist at all: there is no resources/ directory, so the reference dangles and every 'detailed example' it promises is unreachable. Not 2 because the structure and signaling are good; not 4/5 because navigation fails at the first hop and the body itself contains no compensating detail.

3 / 5

Total

11

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A solid description with an explicit 'Use when' clause, good natural trigger terms, and a clearly bounded shell-testing niche. Its main weakness is capability specificity — 'Master ... for comprehensive shell script testing' gestures at the domain without listing the concrete actions the skill performs.

Suggestions

Replace the generic "Master ... for comprehensive shell script testing" with 2-4 concrete capabilities, e.g. "Write Bats tests with @test blocks, run/assert_output helpers, setup/teardown fixtures, and CI integration".

Add common trigger variants users naturally say — "bash scripts", ".sh files", "shell unit tests" — to broaden keyword coverage.

DimensionReasoningScore

Specificity

"Master Bash Automated Testing System (Bats) for comprehensive shell script testing" names the domain clearly but the action is a single generic one (testing); it never lists the concrete capabilities a Bats skill offers (fixtures, mocks, setup/teardown hooks, parallel runs, assertions on exit codes/output). Not 4 because several specific actions are required; not 2 because the domain and one concrete action (testing shell scripts) are named.

3 / 5

Completeness

It answers both: what — "Master Bash Automated Testing System (Bats) for comprehensive shell script testing" — and when — an explicit "Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities" clause. Not 5 because the 'what' is a single broad capability statement rather than a concrete capability list; not 3 because the 'when' is explicit, not merely implied.

4 / 5

Trigger Term Quality

"shell scripts", "CI/CD pipelines", "test-driven development", "shell utilities", and "Bats"/"Bash Automated Testing System" are natural phrases users would say. Not 5 because common variants like "bash scripts", ".sh files", or "unit tests" are missing; not 3 because coverage goes beyond one or two generic keywords.

4 / 5

Distinctiveness Conflict Risk

"Bats", "Bash Automated Testing System", and "testing of shell utilities" define a clear niche that would not fire for general testing or general bash-scripting skills. Not 5 because "CI/CD pipelines" and "test-driven development" are broad phrases with minor overlap risk against generic CI and TDD skills; not 3 because the shell-testing focus is unmistakable.

4 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
sickn33/agentic-awesome-skills
Reviewed

Table of Contents

Is this your skill?

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.