Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
athola avatar

Shell Review

  • 127 installs
  • 325 repo stars
  • Updated August 2, 2026
  • athola/claude-night-market

Review bash pipelines and CI scripts so failures are not hidden behind the last command’s exit code.

About

shell-review is an exit-code and pipeline pitfall module from the Claude Night Market shell-review family. Solo and indie builders use it when bash CI wrappers, deploy scripts, or agent-generated shell glue pipe compiler output through grep, head, or tail and accidentally treat a filtered stream as success. The skill is procedural reference, not a live linter: it teaches pipefail, separate capture of stdout and exit status, and PIPESTATUS checks, with concrete bad and good examples around make typecheck. It pairs with code review and Ship-phase hardening for anyone shipping from GitHub Actions, local verify scripts, or Codex and Claude Code task runners. Install it when you want your agent to flag pipeline patterns that silently swallow non-zero exits before you trust a green checkmark.

  • Documents why pipelines default to the last command’s exit code and how that masks make or test failures
  • Three fixes: set -o pipefail, capture output with separate exit_code, or Bash PIPESTATUS[0]
  • Includes copy-paste detection greps for pipelines piped to grep, head, and tail
  • Shows anti-pattern: if (make typecheck 2>&1 | grep -v "^make\[") that prints Passed when make failed
  • Parent module exit-codes under pensive:shell-review for error-handling and pipefail tags

Shell Review by the numbers

  • 127 all-time installs (skills.sh)
  • Ranked #405 of 1,352 Code Review & Quality skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/athola/claude-night-market --skill shell-review

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs127
repo stars325
Security audit3 / 3 scanners passed
Last updatedAugust 2, 2026
Repositoryathola/claude-night-market

What it does

Review bash pipelines and CI scripts so failures are not hidden behind the last command’s exit code.

Files

SKILL.mdMarkdownGitHub ↗

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

1. shell-review:context-mapped 2. shell-review:exit-codes-checked 3. shell-review:portability-checked 4. shell-review:safety-patterns-verified 5. shell-review:structure-checked 6. shell-review:evidence-logged 7. shell-review:findings-verified

Workflow

Step 1: Map Context (shell-review:context-mapped)

Identify shell scripts:

# Find shell scripts
find . -not -path "*/.venv/*" -not -path "*/__pycache__/*" \
  -not -path "*/node_modules/*" -not -path "*/.git/*" \
  -name "*.sh" -type f | head -20
# Check shebangs
rg -l "^#!/" scripts/ hooks/ 2>/dev/null | head -10
# fallback: grep -l "^#!/" scripts/ hooks/ 2>/dev/null | head -10

Document:

  • Script purpose and trigger context
  • Integration points (make, pre-commit, CI)
  • Expected inputs and outputs

Step 2: Exit Code Audit (shell-review:exit-codes-checked)

@include modules/exit-codes.md

Step 3: Portability Check (shell-review:portability-checked)

@include modules/portability.md

Step 4: Safety Patterns (shell-review:safety-patterns-verified)

@include modules/safety-patterns.md

Step 5: Structure Patterns (shell-review:structure-checked)

@include modules/structure-patterns.md

Step 6: Evidence Log (shell-review:evidence-logged)

Use imbue:proof-of-work to record findings with file:line references.

Summarize:

  • Critical issues (failures masked, security risks)
  • Major issues (portability, maintainability)
  • Minor issues (style, documentation)

Output Format

## Summary
Shell script review findings

## Scripts Reviewed
- [list with line counts]

## Exit Code Issues
### [E1] Pipeline masks failure
- Location: script.sh:42
- Anchor: `verbatim source text at file:line`
- Pattern: `cmd | grep` loses exit code
- Fix: Use pipefail or capture separately

## Portability Issues
[cross-platform concerns]

## Safety Issues
[unquoted variables, missing set flags]

## Recommendation
Approve / Approve with actions / Block

Verify Findings Are Grounded (shell-review:findings-verified)

Every finding must cite a real location and a verbatim anchor. Write findings to .review/findings.json and confirm each citation resolves:

python plugins/imbue/scripts/citation_verifier.py \
  --findings .review/findings.json --repo-root .

Drop or label UNVERIFIED any finding the verifier fails (exit 1); only verified findings enter the report. See Skill(imbue:review-core) Step 5 and Skill(imbue:structured-output) for the schema.

Exit Criteria

  • [ ] Exit code propagation verified (pipelines checked for pipefail or

capture-and-check)

  • [ ] Portability issues documented (Bash-isms in #!/bin/sh scripts flagged)
  • [ ] Safety patterns verified (no echo, braced vars, :? expansion, cd in

subshells, no basename/dirname)

  • [ ] Structure patterns verified (library/executable distinction, main call,

preamble, depcheck, shfmt formatting)

  • [ ] Evidence logged with file:line references via imbue:proof-of-work
  • [ ] Every reported finding carries a Location + verbatim Anchor

confirmed by citation_verifier.py (exit 0), or unverified findings were dropped or labeled UNVERIFIED

Related skills

FAQ

Is Shell Review safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.