| name | shell-review |
| description | Audits shell scripts for correctness, portability, and common pitfalls. Use when reviewing shell scripts or before committing shell changes. |
| globs | **/*.sh |
| alwaysApply | false Use when reviewing shell scripts, CI scripts, hook scripts, wrapper scripts. Do not use when creating new scripts - use attune:workflow-setup. |
| category | build |
| tags | ["shell","bash","posix","scripting","ci","hooks"] |
| tools | [] |
| complexity | intermediate |
| model_hint | standard |
| estimated_tokens | 200 |
| progressive_loading | true |
| dependencies | ["imbue:proof-of-work","imbue:review-core","imbue:structured-output"] |
| modules | ["modules/exit-codes.md","modules/portability.md","modules/safety-patterns.md","modules/structure-patterns.md"] |
| role | entrypoint |
Table of Contents
Shell Script Review
Audit shell scripts for correctness, safety, and portability.
Verification
After review, run shellcheck <script> to verify fixes address identified issues.
Testing
Run pytest plugins/pensive/tests/skills/test_shell_review.py -v to validate review patterns.
Quick Start
/shell-review path/to/script.sh
When To Use
- CI/CD pipeline scripts
- Git hook scripts
- Wrapper scripts (run-*.sh)
- Build automation scripts
- Pre-commit hook implementations
When NOT To Use
- Non-shell scripts (Python, JS, etc.)
- One-liner commands that don't need review
Required TodoWrite Items
shell-review:context-mapped
shell-review:exit-codes-checked
shell-review:portability-checked
shell-review:safety-patterns-verified
shell-review:structure-checked
shell-review:evidence-logged
shell-review:findings-verified
Workflow
Step 1: Map Context (shell-review:context-mapped)
Identify shell scripts:
find . -not -path "*/.venv/*" -not -path "*/__pycache__/*" \
-not -path "*/node_modules/*" -not -path "*/.git/*" \
-name "*.sh" -type f | head -20
rg -l "^#!/" scripts/ hooks/ 2>/dev/null | head -10