CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bats-testing

Use whenever the code under test is a shell script, a CLI binary or anything run from Bash: argument parsing, flags, exit codes and output. Sets up Bats-core with @test blocks, run, status and output assertions, setup/teardown, shared helpers and TAP output for CI.

Quality

86%

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

The canonical home for this skill is testland/bats-testing

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 highly actionable, well-structured skill: executable examples at every step, a clear step sequence with a worked example, and an appropriate one-level reference split for CI details. The main cost is token overhead from duplicated doc quotes and attribution lines that add little for a reader who knows Bash.

Suggestions

Collapse the two verbatim doc quotes in the Overview into a single one-line description of Bats; the "TAP-compliant testing framework for Bash 3.2 or above" sentence appears twice and tells the reader nothing new.

Drop the "Per [bats]: '...'" attribution lines before sections like setup/teardown, load, and skip — the code examples already convey the semantics, and the full citations live in References.

Trim Step 3 and Step 7 to two examples each (one success path, one failure/skip path) to cut tokens without losing assertion-pattern coverage.

DimensionReasoningScore

Conciseness

The steps are code-first and mostly tight, but the Overview quotes the same "TAP-compliant testing framework for Bash 3.2 or above" sentence verbatim from two sources, and repeated "Per [bats]: 'setup and teardown: Pre- and post-test hooks.'"-style attribution lines pad sections whose code is self-explanatory. It is not 4 because this explanatory padding is a consistent pattern rather than a minor instance; it is not 2 because the bulk is concrete, non-redundant, executable content.

3 / 5

Actionability

Every step ships copy-paste-ready material: install commands (npm/brew/submodules), complete .bats files, `run`/`$status`/`$lines[]` assertions, bats-assert usage, skip guards, and `bats test/` invocations, with the worked example showing expected TAP output. It is not 4 because the examples cover the common cases including failure paths and environment-dependent skips.

5 / 5

Workflow Clarity

The numbered "How to use" list maps cleanly onto Steps 1-9, and the worked example ends by running the suite and showing the expected "2 tests, 0 failures" output as a checkpoint. It is not 5 because there is no explicit feedback loop for what to do when a test fails (anti-patterns cover causes but not a fix-and-rerest cycle); it is not 3 because the sequence is explicit and the operations are non-destructive, so the missing loop is a minor gap.

4 / 5

Progressive Disclosure

SKILL.md is a well-sectioned spine and the single bundle file, references/ci-integration.md, exists, is one level deep, links back to SKILL.md, and is clearly signaled with its contents ("output formats, GitHub Actions job, Docker image") at each point of use and in the References section. It is not 4 because there is no content misplaced inline, no buried or nested references, and navigation is trivial.

5 / 5

Total

17

/

20

Passed

Description

88%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: explicit third-person trigger guidance tied to shell scripts, CLIs, and Bash, paired with a comprehensive list of concrete capabilities. The only weaknesses are a few missing natural synonyms (.sh, bash script) and slight breadth in "anything run from Bash".

DimensionReasoningScore

Specificity

"Sets up Bats-core with @test blocks, run, status and output assertions, setup/teardown, shared helpers and TAP output for CI" lists six concrete capabilities spanning authoring, assertions, hooks, reuse, and CI output. It is not 4 because coverage of the core workflow is comprehensive rather than having minor gaps.

5 / 5

Completeness

Both halves are explicit: "Use whenever the code under test is a shell script, a CLI binary or anything run from Bash" answers when with concrete triggers, and the setup sentence answers what. It is not 4 because the when-clause is explicit and specific rather than merely present or vague.

5 / 5

Trigger Term Quality

Natural phrases users would say are present: "shell script", "CLI binary", "Bash", "argument parsing", "flags", "exit codes and output". It is not 5 because common variations like ".sh", "bash script", or "shell" as a bare term are missing, so a few natural triggers are uncovered.

4 / 5

Distinctiveness Conflict Risk

Bats-based shell/CLI testing is a clear niche with distinct triggers. It is not 5 because "anything run from Bash" is broad enough to occasionally overlap with general testing or CLI-behavior skills; it is not 3 because the Bats/shell-CLI framing keeps conflicts minor.

4 / 5

Total

18

/

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

testland/qa

Path

plugins/qa-cli-tools/skills/bats-testing/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.