
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.

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.

Interview the user relentlessly about a plan, spec, or design until reaching shared understanding, resolving each branch of the decision tree. Ask up to five direct questions per turn; ask fewer only when one answer blocks the next useful question. Use when user wants to stress-test a plan, get grilled on their design, or mentions "drill the spec" or "drill the plan".

Query EVM JSON-RPC methods for transaction debugging and endpoint triage, including eth_getTransactionReceipt and debug_traceTransaction. Use when the user asks to inspect tx status, retrieve receipts, run tracers, compare EVM vs Cosmos outcomes, or choose between EVM RPC and Comet RPC endpoints.

Validate GitHub Actions workflow YAML with actionlint when editing files under `.github/workflows/`, checking CI workflow syntax, diagnosing GitHub Actions expression or schema errors, or when the user asks to lint/check Actions workflows. Prefer `bunx github-actionlint` when `bun` is available and fall back to `npx --yes github-actionlint`; use this proactively after modifying GitHub Actions workflows.

Watch GitHub PR checks with gh, poll until green/failure/timeout, fetch failed GitHub Actions logs, save logs locally, summarize actionable CI failures, and apply trivial local fixes when safe. Use when the user asks to watch PR checks, wait for CI, inspect failed actions, fix obvious CI failures, or summarize gh pr checks results.

Reference for what GitHub issue/PR labels mean in this workspace (S-triage, S-needs-scope, S-impl, prio-p0-critical, A-ext-dev-tools, A-perf, A-ux, and others under My Labels). Use when the user asks what a label means, which label to apply, or how to add missing labels to a repo. Secondary: bootstrap labels on a new repo that does not have them yet.