claude-code-plugin-ref…
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops; use night-market-operations.
Audits shell scripts for correctness, portability, and common pitfalls. Use when reviewing shell scripts or before committing shell changes.
$ npx -y skills add athola/claude-night-market --skill shell-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/shell-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Audits shell scripts for correctness, portability, and common pitfalls. Use when reviewing shell scripts or before committing shell changes.
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
Audit shell scripts for correctness, safety, and portability.
After review, run `shellcheck <script>` to verify fixes address identified issues.
Run `pytest plugins/pensive/tests/skills/test_shell_review.py -v` to validate review patterns.
/shell-review path/to/script.sh
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`
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:
@include modules/exit-codes.md
@include modules/portability.md
@include modules/safety-patterns.md
@include modules/structure-patterns.md
Use `imbue:proof-of-work` to record findings with file:line references.
Summarize:
## 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
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.
capture-and-check)
subshells, no basename/dirname)
preamble, depcheck, shfmt formatting)
confirmed by `citation_verifier.py` (exit `0`), or unverified findings were dropped or labeled `UNVERIFIED`
A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops; use night-market-operations.
States load-bearing decisions, invariants, and weak points. Use when judging a design change. Do not use for gating; use night-market-change-control.
Rebuild the dev environment: uv, Python tiers, pins, traps. Use when onboarding or toolchain breaks. Do not use for daily commands; use night-market-operations.
Classify, gate, and review changes. Use when landing a PR, releasing, or amending rules. Do not use for failure triage; use night-market-debugging-playbook.
Search and record project memory (Discussions, journal, ADRs). Use before re-investigating anything. Do not use for settled battles; see failure-archaeology.
Bind loop 'done' to unfakeable gates. Use to harden egregore/herald loops or promote completion_integrity. Not for QA gates; use night-market-validation-and-qa.