CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

78%

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 ./plugins/shell-scripting/skills/bats-testing-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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 well-organized, code-heavy pattern library with concrete, mostly copy-paste-ready examples and a properly signaled one-level reference. Weaknesses: no explicit end-to-end workflow connecting the patterns, one non-standard function ('skip_if'), duplicated frontmatter material in the body, and a truncated references/details.md that cuts off the advanced patterns it points to.

Suggestions

Add a short getting-started workflow (create test_helper.sh, write a .bats file, run 'bats tests/*.bats', wire into CI) so the patterns hang off an explicit sequence with verification steps.

Replace the non-standard 'skip_if' with the bats-core idiom ('command -v jq &>/dev/null || skip "jq is not installed"').

Complete the truncated references/details.md (dangling '#' under '## Advanced Patterns') and trim the body's duplicated 'When to Use This Skill' list and 'comprehensive...comprehensive' opener.

DimensionReasoningScore

Conciseness

The body is code-dominant and lean, with only minor trimmable redundancy: the opener 'Comprehensive guidance for writing comprehensive tests' duplicates the frontmatter description, and the 'When to Use This Skill' bullet list restates it. This matches 'Efficient; minor instances of over-explanation that could be trimmed' rather than 5 (which would drop the duplicated material) or 3 (there is no padded explanation of concepts Claude already knows).

4 / 5

Actionability

Extensive concrete, mostly executable guidance: full bats test files, a test_helper.sh with real assertion functions, a GitHub Actions workflow, and a Makefile. It is not a 5 because of minor gaps — 'skip_if' is not a standard bats-core function and would fail if copied verbatim, and the 'Parallel Execution' examples test concurrency inside the script under test rather than bats' own '--parallel' flag introduced later in the Makefile.

4 / 5

Workflow Clarity

The body is a catalog of patterns, not a sequenced process — there is no explicit end-to-end workflow (scaffold test_helper.sh, write .bats files, run bats, wire into CI) and no validation checkpoints tying the pieces together; the 'Best Practices' list is guidance, not a sequence. This matches anchor 3 (steps/patterns present but no explicit sequence or checkpoints) rather than 4, which requires a clear sequence with most checkpoints present.

3 / 5

Progressive Disclosure

The single reference (references/details.md) exists, is one level deep, and is clearly signaled ('Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient'), and the SKILL.md/reference split is mostly complementary. It is not a 5 because the body is dense (~230 lines) for an overview with content (CI/CD, Makefile, parallel) that could live in references, and the delegated file is truncated mid-content (ends with a dangling '#' after '## Advanced Patterns'), so navigation dead-ends there.

4 / 5

Total

15

/

20

Passed

Description

78%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 strong description with an explicit 'Use when' clause, natural trigger phrases, and a clearly scoped niche. Its main weakness is that it stays at the level of one broad capability ('comprehensive shell script testing') instead of listing concrete actions the skill actually covers.

Suggestions

Enumerate 2-3 concrete capabilities to raise specificity, e.g. 'Write assertion-based unit tests, mock external commands, manage fixtures, and generate TAP output for CI pipelines.'

Add natural trigger synonyms such as 'unit tests', 'bash scripts', or '.bats files' to broaden keyword coverage.

DimensionReasoningScore

Specificity

The description names the domain ('Master Bash Automated Testing System (Bats) for comprehensive shell script testing') but states only one broad action rather than enumerating concrete capabilities, matching the anchor 'Names domain and 1-2 concrete actions, but not comprehensive'. It is not a 2 because it names the specific technology and purpose, and not a 4 because capabilities like fixtures, mocking, or TAP/CI reporting are never mentioned.

3 / 5

Completeness

It clearly answers both questions: what ('Master Bats for comprehensive shell script testing') and when ('Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities'), with an explicit 'Use when' clause and concrete trigger phrases, matching the anchor-5 example structure.

5 / 5

Trigger Term Quality

Good keyword coverage with natural phrases users would say: 'writing tests for shell scripts', 'CI/CD pipelines', 'test-driven development of shell utilities'. It is not a 5 because common synonyms like 'unit tests', 'bash scripts', or the '.bats' file extension are missing.

4 / 5

Distinctiveness Conflict Risk

Shell-script testing via Bats is a clear niche with distinct triggers, so conflict risk is low. It is not a 5 because the generic triggers 'CI/CD pipelines' and 'test-driven development' could also fire for general (non-shell) testing skills — minor overlap risk with closely related skills.

4 / 5

Total

16

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

wshobson/agents

Path

plugins/shell-scripting/skills/bats-testing-patterns/SKILL.md

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.