Goal
A language-bash skill encodes shell scripting idioms and safety patterns that shellcheck does not enforce, so agents give principled guidance when reviewing or writing bash scripts.
Motivation
scripts/release.sh (10.9 KB, must remain idempotent and resumable) demonstrates that non-trivial bash is a first-class concern in this repo. Shellcheck catches syntax errors but not semantic patterns: array vs $IFS splitting, idempotency patterns, or trap usage for cleanup. No language skill currently covers bash.
Surface
Sketch (optional)
File: skills/language-bash/SKILL.md
Key topics:
set -euo pipefail — semantics and gotchas (-u with arrays, -e in subshells)
- Arrays vs
$IFS word splitting — when to use each
- Quoting discipline: when
"$var" vs 'literal' vs unquoted is correct
trap for cleanup on EXIT/ERR
- Idempotency patterns: check-before-act, sentinel files,
mkdir -p
- Script resumability: detect and continue over fail-fast
- Heredoc usage and indentation (
<<-EOF)
- Portability: bash vs POSIX sh distinctions
Acceptance (optional)
Goal
A
language-bashskill encodes shell scripting idioms and safety patterns that shellcheck does not enforce, so agents give principled guidance when reviewing or writing bash scripts.Motivation
scripts/release.sh(10.9 KB, must remain idempotent and resumable) demonstrates that non-trivial bash is a first-class concern in this repo. Shellcheck catches syntax errors but not semantic patterns: array vs$IFSsplitting, idempotency patterns, ortrapusage for cleanup. No language skill currently covers bash.Surface
language-*Sketch (optional)
File:
skills/language-bash/SKILL.mdKey topics:
set -euo pipefail— semantics and gotchas (-uwith arrays,-ein subshells)$IFSword splitting — when to use each"$var"vs'literal'vs unquoted is correcttrapfor cleanup on EXIT/ERRmkdir -p<<-EOF)Acceptance (optional)
skills/language-bash/SKILL.mdexists with valid frontmatterscripts/validate.pypasses