About shellcheck-fix
A shell-maintenance skill for keeping selected scripts compatible with ShellCheck and macOS bash 3.2. It guides contributors through fixes and validation, including a smoke test when the installer changes.
Key features
- 01Run ShellCheck on selected scripts
- 02Keep scripts compatible with bash 3.2
- 03Check shebang and strict-mode settings
- 04Smoke-test installer changes
Use cases
- 01After editing a shell script
- 02When CI reports ShellCheck findings
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ dailybothq/ deepworkplan-skill --skill shellcheck-fixAfter installing, type/shellcheck-fixin Claude Code to confirm it loaded.
Details
From the project READMEShellcheck Fix
Goal
Keep setup.sh, skills/deepworkplan/shared/context.sh, and scripts/*.sh
shellcheck-clean and runnable on macOS's default bash 3.2.
When to use
After editing any shell script, or when CI's shellcheck step fails.
Steps
- Run
shellcheck setup.sh skills/deepworkplan/shared/context.sh scripts/*.sh. - Fix each finding. When resolving, keep the script bash 3.2-safe:
- replace
mapfile/readarraywithwhile IFS= read -r line; do …; done < <(cmd) - replace
declare -Awith a restructured approach - replace
${var^^}/${var,,}withtr '[:lower:]' '[:upper:]'
- replace
- Confirm each script starts with
#!/usr/bin/env bashthenset -euo pipefail. - Re-run shellcheck until clean.
- If
setup.shchanged, smoke-test it:HOME="$(mktemp -d)" ./setup.sh --host claude.
Validation
shellcheck setup.sh skills/deepworkplan/shared/context.sh scripts/*.sh exits 0,
and the installer smoke test still creates the expected symlinks.
Notes
Do not change setup.sh public flags (--host, --help) or symlink names
without flagging a MAJOR bump. CI runs the smoke job on Ubuntu and macOS.