CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/cli-output-conventions

Use when designing or testing a command-line tool's output: a new flag, command or error message, CLI assertions, or flaky tests caused by unstable output. Sets the contract for exit codes, stdout vs stderr, --json output, ordering, color and --help, based on the Command Line Interface Guidelines.

Quality

89%

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

Overview
Quality
Evals
Security
Files

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 well-structured contract skill: lean, mostly executable guidance with a clean split between the inline core conventions and a verified one-level-deep reference file. The main gaps are minor — clig quotes of common knowledge that could be trimmed, a missing executable test snippet for the determinism convention, and no single-pass checklist sequencing all conventions for a new flag or command.

Suggestions

Trim the clig block quotes that restate common knowledge (zero/non-zero exit codes, stdout vs stderr) to one-line citations like "Per clig: exit codes 0/non-zero", keeping full quotes only for non-obvious guidance such as the --plain recommendation.

Add an executable bats snippet for Convention 4 to match the pattern quality of Conventions 1-3, e.g. a sorted `--plain` golden-file comparison (run mycli list --plain, then diff the sorted output against a golden file).

Add a short 'Adding a new flag or command' checklist that sequences the conventions in one pass (exit code -> stdout/stderr -> --json/--plain -> determinism -> color/TTY -> --help/--version), so the contract can be applied as a workflow rather than looked up convention-by-convention.

DimensionReasoningScore

Conciseness

The body is mostly dense tables, CLI transcripts, and bats test patterns, but the clig block quotes restate knowledge Claude already has ("Return zero exit code on success, non-zero on failure", "Send output to `stdout`", "Send messaging to `stderr`"). Not 5: those quotes could be trimmed to one-line citations; not 3: the over-explanation is minor relative to the lean whole.

4 / 5

Actionability

Copy-paste-ready bats patterns for conventions 1-3 (`run --separate-stderr mycli list`, `echo "$output" | jq -e '.[0] | has("name") and has("status")'`), a concrete exit-code table, and good/bad output transcripts. Not 5: Convention 4's 'Test pattern: golden-file comparison with sorted output' is prose with no executable example, and conventions 5-8's patterns are delegated to the reference file.

4 / 5

Workflow Clarity

Conventions are numbered and consistently structured (rule, example, test pattern), with a clear diagnostic directive ('Fix the output, not the assertion') and an anti-patterns table cross-referenced by convention number. Not 5: there is no consolidated sequence (e.g., a single checklist for adding a new flag that walks conventions 1-8); not 3: each convention's application steps are unambiguous and the skill involves no destructive or batch operations that would require validation checkpoints.

4 / 5

Progressive Disclosure

The body is a clear overview keeping the four core conventions inline and delegates the rest via a clearly signaled, one-level-deep reference ('The remaining four conventions and their bats test patterns are in references/conventions-5-8.md'). The referenced file exists in the bundle, delivers exactly what is promised, and adds no further nesting.

5 / 5

Total

17

/

20

Passed

Description

96%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: it explicitly answers both what (the output contract: exit codes, stdout vs stderr, --json, ordering, color, --help) and when (new flag/command/error message, CLI assertions, flaky tests from unstable output), using natural trigger language in third-person imperative form. The only weakness is minor overlap risk with sibling CLI-testing skills on the testing-oriented triggers.

DimensionReasoningScore

Specificity

Quotes: "designing or testing a command-line tool's output: a new flag, command or error message" and "Sets the contract for exit codes, stdout vs stderr, --json output, ordering, color and --help" — multiple specific concrete capabilities with comprehensive coverage of the CLI-output domain. Not 4: the enumerated contract areas leave no minor gaps in coverage.

5 / 5

Completeness

Explicit 'when' ("Use when designing or testing a command-line tool's output: a new flag, command or error message, CLI assertions, or flaky tests caused by unstable output") and clear 'what' ("Sets the contract for exit codes, stdout vs stderr, --json output, ordering, color and --help"). Both are explicit with concrete trigger phrases. Not 4: the 'when' is specific rather than generic.

5 / 5

Trigger Term Quality

Natural user phrases include "a new flag", "error message", "flaky tests caused by unstable output", "CLI assertions", "exit codes", "--json", and "--help", plus the synonym pair "command-line tool" / "CLI". Not 4: no common natural variation for this domain is missing.

5 / 5

Distinctiveness Conflict Risk

Clear niche ("Sets the contract for... based on the Command Line Interface Guidelines"), but triggers like "testing a command-line tool's output" and "CLI assertions" could also fire for closely related testing skills (e.g. the sister bats-testing skill) with no disambiguation in the description. Not 5: this minor overlap risk; not 3: the output-contract scope is distinctly bounded.

4 / 5

Total

19

/

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.

Reviewed

On this page