developing-bash-scripts
developing-bash-scripts skill
This skill covers any task involving writing, reviewing, or refactoring a Bash script.
Step 1 — Classify the Script
Audit flags before classifying. Ask for each proposed flag: would a real caller ever pass a different value, or can it be a readonly constant? Beyond that, apply common sense — not everything that could vary should be a flag. Internal paths, fixed timeouts, log levels for non-CLI tools, and similar values are typically hardcoded in practice even if they could theoretically differ. When reviewing an existing script, re-classify from scratch; the current number of flags is not evidence of correct classification.
Simple — all of: < 50 lines of logic, 0–2 genuine flags, no structured logging, no --help, no resource cleanup, not shared across systems/environments.
Complex — any of: ≥ 50 lines, 3+ genuine flags, structured logging, --help, resource cleanup, shared across systems/environments.
When in doubt, prefer Simple.
If the result is Simple and the script uses no Bash-specific features ([[ ]], arrays, process substitution, here-strings, etc.), use #!/bin/sh and follow the developing-posix-shell-scripts skill instead.
Step 2 — Follow the Reference Document
Always load common.md first, then load the matching document:
- developing-simple-bash-scripts.md — Load when classified as Simple.
- developing-complex-bash-scripts.md — Load when classified as Complex. Also load reference-code-blocks.md to compose only the blocks the script actually needs.
More from ak1ra-komj/agents-skills
developing-posix-shell-scripts
Use when writing, reviewing, or refactoring a POSIX shell script (/bin/sh), or when targeting Alpine, BusyBox, or any environment where Bash cannot be assumed.
13init-agents-md
Generate or overwrite AGENTS.md in the project root. Use when the user asks to "create AGENTS.md", "write an agent guide", "document the project for AI agents", or wants to orient AI coding tools to a new repository.
7