CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

69

1.09x
Quality

63%

Does it follow best practices?

Impact

96%

1.09x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/bash-defensive-patterns/SKILL.md

The canonical home for this skill is bash-defensive-patterns in rmyndharis/antigravity-skills

SKILL.md
Quality
Evals
Security

Quality

Content

46%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 token-efficient but substantively hollow: guidance stays at the level of high-level hints with zero concrete code or commands, and the single deferred reference (the implementation playbook containing the actual patterns) does not exist in the bundle. Either inline the concrete material (strict-mode snippet, trap pattern, validation examples) or ship the referenced playbook file.

Suggestions

Add executable content to the Instructions: e.g. a strict-mode snippet (set -euo pipefail; IFS=$'\n\t'), an error-trap example (trap 'echo "Error on line $LINENO" >&2; exit 1' ERR), and a concrete quoting/safe-file-handling pattern.

Fix the broken bundle reference: either create resources/implementation-playbook.md with the promised patterns, checklists, and templates, or remove the reference and inline the essential material in SKILL.md.

Add validation checkpoints to the workflow (e.g. 'run bash -n script.sh to syntax-check', 'test with shellcheck', 'dry-run destructive operations before executing') so the sequence has explicit verification steps.

Deduplicate: the playbook reference appears both before the Resources section and inside it; keep one, and consider trimming the intro paragraph that restates the frontmatter description.

DimensionReasoningScore

Conciseness

The body is lean with no explanation of concepts Claude already knows, and clear sectioning. It falls short of anchor 5 due to minor trimmable redundancy: the intro paragraph restates the frontmatter description almost verbatim, and the playbook reference appears twice (once before the Resources heading and once inside it). It is above anchor 3 because padding is minor, not pervasive.

4 / 5

Actionability

All guidance is high-level hints — "Enable strict mode and safe defaults", "Validate inputs, quote variables", "Add logging, error traps, and basic tests" — with no concrete code or commands (no set -euo pipefail snippet, no trap example, no concrete validation technique). This matches anchor 2 ('high-level hints but missing the specific steps to execute'). It is not 1 because the Instructions do name specific practice areas rather than being purely abstract, and it is not 3 because there is no executable or pseudo-executable code anywhere in the body.

2 / 5

Workflow Clarity

The four numbered Instructions form a coherent sequence (confirm environment → strict mode → validation → logging/traps/tests), but steps are generic and there are no validation checkpoints or feedback loops, matching anchor 3 ('steps listed but validation gaps'). It is not 4 because no checkpoint is explicit anywhere; it is not 2 because the sequence is defined and each step has a clear purpose rather than being poorly defined.

3 / 5

Progressive Disclosure

The body defers all substantive material to "resources/implementation-playbook.md" for 'detailed patterns, checklists, and templates', but no bundle files exist and that referenced file is missing — navigation leads nowhere, and the skill is an empty shell with the detail layer absent. This matches anchor 2 ('references are buried'/minimal structure delivering content). It is not 1 because sectioning is clear and the reference is one level deep and clearly signaled rather than nested; it is not 3 because a clearly signaled reference that points to a nonexistent file is worse than 'references present but not clearly signaled' — the content layer itself is absent.

2 / 5

Total

11

/

20

Passed

Description

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

The description has a strong, explicit trigger clause with natural keywords and a distinct niche, but the capability statement is domain-level rather than action-level — it never says what the skill concretely provides. Tightening 'Master defensive Bash programming techniques' into 2–3 concrete actions would lift specificity and completeness.

Suggestions

Replace the generic 'Master defensive Bash programming techniques' with concrete actions, e.g. 'Add strict-mode settings (set -euo pipefail), error traps, input validation, and safe file-handling patterns to Bash scripts'.

Include natural synonyms and extensions in the trigger clause, such as 'shell scripting', 'bash scripting', '.sh files', or 'automation scripts'.

State what the skill actually delivers (e.g. 'provides patterns, checklists, and templates') so the 'what' half of completeness is explicit.

DimensionReasoningScore

Specificity

The description names the domain ("defensive Bash programming techniques for production-grade scripts") but offers no concrete actions — "Master... techniques" is generic capability language, matching the anchor 'Names the domain but actions are minimal or generic'. It is not a 3 because there is no concrete action verb+object pair comparable to 'extracts content'; it is not a 1 because the domain is clearly and specifically named.

2 / 5

Completeness

Both parts are present: an explicit "Use when..." clause with concrete triggers, and a what-statement ("Master defensive Bash programming techniques for production-grade scripts"). It is not 5 because the 'what' remains abstract — no concrete actions or deliverables are stated — matching anchor 4 ('what' or 'when' could be more explicit); it is above 3 because 'when' is explicit, not weakly implied.

4 / 5

Trigger Term Quality

"writing robust shell scripts, CI/CD pipelines, or system utilities" supplies natural phrases users would say, plus "fault tolerance and safety". It falls short of anchor 5 because common synonyms and extensions like 'shell scripting', 'bash scripting', '.sh', or 'automation scripts' are missing; it exceeds anchor 3 because coverage goes beyond one or two generic keywords.

4 / 5

Distinctiveness Conflict Risk

"defensive Bash programming" with "fault tolerance and safety" carves a recognizable niche with distinct trigger contexts (robust scripts, CI/CD pipelines, system utilities). It is not 5 because the broad trigger 'system utilities' and general shell-scripting scope create minor overlap with generic bash or shell-scripting skills, matching anchor 4 ('mostly distinct; minor overlap risk').

4 / 5

Total

14

/

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

skills/bash-defensive-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.