# Bash

> Use when: write or review robust shell scripts that fail fast and handle paths and input safely.

- Skill: `kimtth/bash` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kimtth/bash`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kimtth/bash/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kimtth (https://skillmd.com/u/kimtth)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kimtth/bash

---


Goal: shell scripts that are safe, portable, and fail loudly.

Use for:
- automation, CI steps, and glue scripts
- reviewing fragile or unsafe shell code
- hardening scripts against edge cases

Workflow:
1. Start with set -euo pipefail for strict failure.
2. Quote every variable expansion: "$var", "${arr[@]}".
3. Check for required commands and inputs up front.
4. Use functions and local variables for structure.
5. Prefer printf over echo for predictable output.
6. Verify with shellcheck and a dry run.

Idioms:
- "${var:-default}" for fallbacks
- [[ ... ]] over [ ... ] for tests
- trap for cleanup on exit
- mktemp for temporary files

Rules:
- always quote expansions to survive spaces and globs
- set -euo pipefail unless you have a reason not to
- validate inputs before destructive actions
- run shellcheck; treat its findings as real bugs

