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:
More from ak1ra-komj/agents-skills
summarize-current-session
Use when the user asks to summarize this session, write a session log, save what we did today, or similar.
20developing-ansible
Use when writing, reviewing, or refactoring Ansible playbooks, roles, or tasks.
15developing-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.
13keep-a-changelog
Use when the user mentions preparing or publishing a new release, or asks to review or refactor CHANGELOG.md, following Keep a Changelog format and Semantic Versioning.
9init-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.
7update-changelog-md
Maintains CHANGELOG.md following Keep a Changelog format and Semantic Versioning. Covers adding new version entries from git history and restructuring existing content.
6