shellcheck-fix について
指定されたシェルスクリプトを ShellCheck に準拠させ、macOS の bash 3.2 との互換性を保つためのスキルです。修正と検証の手順を示し、インストーラー変更時にはスモークテストも行います。
主な機能
- 01指定スクリプトで ShellCheck を実行
- 02bash 3.2 との互換性を維持
- 03shebang と厳格モード設定を確認
- 04インストーラー変更をスモークテスト
活用シーン
- 01シェルスクリプトの編集後
- 02CI で ShellCheck の指摘が出たとき
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dailybothq/ deepworkplan-skill --skill shellcheck-fixインストール後、Claude Code で/shellcheck-fixを入力して読み込まれたか確認します。
詳細
Shellcheck の修正
目標
setup.sh、skills/deepworkplan/shared/context.sh、scripts/*.sh を
shellcheck に準拠させ、macOS のデフォルトの bash 3.2 で実行できる状態に保ちます。
使用するタイミング
シェルスクリプトを編集した後、または CI の shellcheck ステップが失敗したときに使用します。
手順
shellcheck setup.sh skills/deepworkplan/shared/context.sh scripts/*.shを実行します。- 各指摘を修正します。修正時は、スクリプトが bash 3.2 で安全に動作する 状態を保ちます。
mapfile/readarrayをwhile IFS= read -r line; do …; done < <(cmd)に置き換えます。declare -Aを、構成を見直した方法に置き換えます。${var^^}/${var,,}をtr '[:lower:]' '[:upper:]'に置き換えます。
- 各スクリプトの先頭が
#!/usr/bin/env bashに続いてset -euo pipefailとなっていることを確認します。 - 指摘がなくなるまで shellcheck を再実行します。
setup.shを変更した場合は、スモークテストを実行します。HOME="$(mktemp -d)" ./setup.sh --host claude
検証
shellcheck setup.sh skills/deepworkplan/shared/context.sh scripts/*.sh が終了コード 0 で終了し、
インストーラーのスモークテストで想定されるシンボリックリンクが引き続き作成されることを確認します。
注意事項
MAJOR のバンプを明示せずに、setup.sh の公開フラグ(--host、--help)やシンボリックリンク名を変更しないでください。CI は Ubuntu と macOS でスモークテストを実行します。
コメント
Markdown 対応