CtrlK
BlogDocsLog inGet started
Tessl Logo

bash-defensive-patterns

Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety.

45

Quality

47%

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/antigravity-awesome-skills/skills/bash-defensive-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

20%Scale 1-3

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

This skill is essentially a table of contents with no substantive content. It delegates all real guidance to a referenced playbook that doesn't exist in the bundle, leaving the SKILL.md itself with only vague, abstract instructions and no executable code or concrete patterns. The extensive 'when to use' and 'limitations' sections consume tokens without adding value Claude couldn't infer.

Suggestions

Add concrete, executable code examples directly in SKILL.md: at minimum show `set -euo pipefail`, a trap pattern, proper variable quoting, and input validation—these are the core of defensive Bash and should not require navigating to another file.

Replace the abstract 4-step instructions with a specific workflow including validation checkpoints, e.g., 'After writing the script, run `shellcheck script.sh` to validate; fix all warnings before proceeding.'

Remove or drastically shorten the 'Use this skill when' and 'Limitations' sections—Claude can infer when Bash defensive patterns apply. Use the saved tokens for actual patterns and examples.

Either include the referenced `resources/implementation-playbook.md` in the bundle or inline the most critical patterns directly in SKILL.md so the skill is self-contained.

DimensionReasoningScore

Conciseness

The content is padded with sections Claude doesn't need ('Use this skill when' lists 8 bullet points of obvious contexts, 'Limitations' restates generic advice). The actual instructions are only 4 vague lines buried under boilerplate. Much of this is meta-commentary rather than useful content.

1 / 3

Actionability

The instructions are entirely abstract ('Enable strict mode and safe defaults', 'Validate inputs, quote variables') with zero concrete code, commands, or examples. There's no executable guidance—no `set -euo pipefail`, no trap examples, no quoting patterns, nothing copy-paste ready.

1 / 3

Workflow Clarity

There is a 4-step sequence in the Instructions section, which provides a basic ordering. However, there are no validation checkpoints, no feedback loops for error recovery, and the steps are too vague to guide actual implementation of defensive Bash patterns.

2 / 3

Progressive Disclosure

The skill references `resources/implementation-playbook.md` for detailed content, which is a reasonable one-level-deep reference. However, no bundle files are provided, meaning the reference is broken/unverifiable, and the SKILL.md itself contains almost no substantive content—it's an empty shell pointing to a nonexistent resource.

2 / 3

Total

6

/

12

Passed

Description

75%Scale 1-3

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

The description has a solid structure with an explicit 'Use when' clause and a distinctive niche focus on defensive Bash programming. However, it lacks specific concrete actions (e.g., error trapping, input validation, strict mode) and could benefit from more natural trigger terms that users would actually type when seeking this kind of help.

Suggestions

Add specific concrete actions such as 'set error traps, validate inputs, use strict mode (set -euo pipefail), handle signals' to improve specificity.

Include additional natural trigger terms users might say, such as 'error handling', 'bash best practices', 'script safety', 'shellcheck', or 'bash debugging'.

DimensionReasoningScore

Specificity

Names the domain ('defensive Bash programming') and mentions some contexts ('production-grade scripts', 'CI/CD pipelines', 'system utilities') but does not list specific concrete actions like 'set error traps', 'validate inputs', 'handle signals', or 'use strict mode'.

2 / 3

Completeness

Clearly answers both 'what' (master defensive Bash programming techniques for production-grade scripts) and 'when' (Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety) with an explicit 'Use when' clause.

3 / 3

Trigger Term Quality

Includes some relevant keywords like 'Bash', 'shell scripts', 'CI/CD pipelines', 'fault tolerance', and 'safety', but misses common natural terms users might say such as 'error handling', 'set -e', 'trap', 'shellcheck', 'bash best practices', or 'script debugging'.

2 / 3

Distinctiveness Conflict Risk

The focus on 'defensive Bash programming' with 'fault tolerance and safety' is a clear niche that is unlikely to conflict with general scripting skills, Python skills, or other shell-adjacent skills. The combination of Bash + defensive/production-grade is quite distinctive.

3 / 3

Total

10

/

12

Passed

Validation

90%

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

Validation — 10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
popey/claude-code-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.