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.

1.04x
Quality

61%

Does it follow best practices?

Impact

90%

1.04x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/bats-testing-patterns/SKILL.md

The canonical home for this skill is bats-testing-patterns in rmyndharis/antigravity-skills

SKILL.md
Quality
Evals
Security

Quality

Content

36%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.

The body is well-organized and lean, but it is a hollow shell: instructions are vague high-level bullets with no executable code, no validation checkpoints, and its only route to concrete detail is a reference to a file that is not present in the bundle. The body also duplicates the frontmatter description in its intro and use/don't-use sections.

Suggestions

Add at least one copy-paste-ready example Bats test to the Instructions (e.g., a @test block using run, "$status", and "$output" assertions for an exit-code and an output case) so the guidance is executable rather than descriptive.

Fix the broken reference: either include resources/implementation-playbook.md in the bundle or inline the essential patterns, since the body currently defers all detail to a file that does not exist.

Strengthen the workflow with concrete commands and a validation checkpoint (e.g., how to install/run Bats, 'run bats and confirm all tests pass; on failure, fix the test or script and re-run') instead of abstract steps like 'Set up a test structure with helpers and fixtures'.

DimensionReasoningScore

Conciseness

The body is short, but the intro sentence duplicates the frontmatter description ("Comprehensive guidance for writing comprehensive unit tests ... including test patterns, fixtures, and best practices") and the 'Use this skill when' / 'Do not use this skill when' sections largely restate the description's triggers. This is mostly efficient with some clear redundancy that could be trimmed — anchor 3, not the tight anchor 4.

3 / 5

Actionability

The instructions are high-level hints only — "Confirm shell dialects and supported environments", "Set up a test structure with helpers and fixtures", "Write tests for exit codes, output, and side effects" — with no code, commands, or even a single example Bats test (@test block, run/assert patterns). This matches anchor 2: minimal concrete guidance with the specific execution steps missing; it is not anchor 1 because the bullets do name concrete testing concerns rather than pure abstraction.

2 / 5

Workflow Clarity

A rough sequence exists (confirm dialects → set up structure → write tests → add setup/teardown and run in CI) but the steps are poorly defined and validation is entirely absent — there is no 'run the tests and check they pass' step, no failure handling, and the final instruction defers to a missing file. Anchor 2 (rough sequence, many gaps, validation absent) fits better than anchor 3, whose example at least lists concrete, executable steps.

2 / 5

Progressive Disclosure

The body is well-sectioned with a clearly signaled, one-level-deep reference ("If detailed examples are required, open resources/implementation-playbook.md"), but that file does not exist in the bundle — the sole pointer to detailed content is broken, so navigation dead-ends. Good structure with a broken reference lands at anchor 3 rather than 4, and the simple-skill exception for a 5 does not apply because the body explicitly defers its detail to a missing external file.

3 / 5

Total

10

/

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, natural trigger terms, and a distinct named-tool niche. Its main weakness is an abstract what-clause ('Master ... for comprehensive testing') that leans on the fluff word 'comprehensive' instead of naming concrete capabilities such as writing unit tests, fixtures, setup/teardown, or assertions.

DimensionReasoningScore

Specificity

The what-clause is generic ("Master Bash Automated Testing System (Bats) for comprehensive shell script testing") and no specific capabilities like fixtures, assertions, or mocking are listed, but two concrete activities ("writing tests", "test-driven development") are explicitly stated in the trigger clause. This places it at anchor 3 rather than anchor 2 (which has no concrete actions at all) and well below anchor 4 (several specific actions with minor gaps).

3 / 5

Completeness

Both parts are present: a what ("Master ... for comprehensive shell script testing") and an explicit when ("Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities"). This matches anchor 4 — both present with the 'when' explicit — but not anchor 5, because the 'what' is abstract ('master ... testing') rather than a set of concrete capabilities.

4 / 5

Trigger Term Quality

Natural trigger terms are present and varied — "shell scripts", "CI/CD pipelines", "test-driven development", "shell utilities", and the tool name "Bats" — matching the good-but-not-complete coverage of anchor 4. It falls short of anchor 5 because common variations users would say are missing, such as "bash scripts", "unit tests", and the ".sh" file extension.

4 / 5

Distinctiveness Conflict Risk

Bats is a specific named tool for a clear niche (shell script testing), giving mostly distinct triggers per anchor 4. Broad phrases like "CI/CD pipelines" and "test-driven development" create minor overlap risk with general testing or TDD skills, keeping it below anchor 5's minimal-conflict bar.

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

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/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.