mcpField
S
shellcheck-fix

shellcheck-fix

github.com/dailybothqTesting & quality2348 installsUpdated 2d ago
Repository

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

  1. 01Run ShellCheck on selected scripts
  2. 02Keep scripts compatible with bash 3.2
  3. 03Check shebang and strict-mode settings
  4. 04Smoke-test installer changes

Use cases

  1. 01After editing a shell script
  2. 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-fix

After installing, type/shellcheck-fixin Claude Code to confirm it loaded.

Details

From the project README

Shellcheck 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

  1. Run shellcheck setup.sh skills/deepworkplan/shared/context.sh scripts/*.sh.
  2. Fix each finding. When resolving, keep the script bash 3.2-safe:
    • replace mapfile/readarray with while IFS= read -r line; do …; done < <(cmd)
    • replace declare -A with a restructured approach
    • replace ${var^^}/${var,,} with tr '[:lower:]' '[:upper:]'
  3. Confirm each script starts with #!/usr/bin/env bash then set -euo pipefail.
  4. Re-run shellcheck until clean.
  5. If setup.sh changed, 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.

Comments

Markdown supported