bash-scripting について
自動化やシステム管理向けの Bash スクリプト作成ワークフローです。設計から実装、エラー処理、ログ、テスト、文書化までを必要な段階ごとに進めます。
主な機能
- 01段階別のスクリプト開発手順
- 02防御的プログラミングの指針
- 03エラー処理とログの手順
- 04Bats テストと ShellCheck の確認
- 05スクリプト文書化のチェックリスト
活用シーン
- 01自動化・デプロイスクリプトの作成
- 02システム管理ツールの構築
- 03バックアップや CI/CD スクリプトの開発
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill bash-scriptingインストール後、Claude Code で/bash-scriptingを入力して読み込まれたか確認します。
詳細
Bash スクリプティングのワークフロー
概要
防御的プログラミングのパターン、包括的なエラー処理、自動テストを用いて、堅牢で本番環境に対応できる Bash スクリプトを作成するための専門的なワークフローです。
このワークフローを使用する場面
次の場合にこのワークフローを使用します。
- 自動化スクリプトを作成する
- システム管理ツールを作成する
- デプロイスクリプトを構築する
- バックアップソリューションを開発する
- CI/CD スクリプトを作成する
範囲と実行
ユーザーのタスクに適したフェーズを選択してください。このドキュメントは索引であり、記載されたスキルをすべて実行する指示ではありません。選択したスキルを使用する前に、その内容を確認してください。リポジトリとユーザーの制約を遵守してください。クラウドへの呼び出し、ホストの設定、公開、破壊的な操作、費用の発生には、それぞれ適用される承認が必要です。ワークフローのチェックリストは、そのような操作を許可するものではありません。
テンプレートは出発点であり、完成したスクリプトではありません。引数解析やロールバックは実装されていません。パスを検証し、展開を引用符で囲み、使い捨てのディレクトリでテストしてください。また、リトライは回数に上限を設け、対象のコマンドに応じて安全に行ってください。認証情報をログに記録したり、厳格モードですべての失敗を検出できると示唆したりしないでください。
ワークフローのフェーズ
フェーズ 1:スクリプトの設計
使用するスキル
bash-pro- プロフェッショナルなスクリプティングbash-defensive-patterns- 防御的なパターン
アクション
- スクリプトの目的を定義する
- 入力と出力を特定する
- エラー処理を計画する
- ロギング戦略を設計する
- 要件を文書化する
コピー&ペースト用プロンプト
Use @bash-pro to design production-ready bash script
フェーズ 2:スクリプトの構造
使用するスキル
bash-pro- スクリプトの構造bash-defensive-patterns- 安全性のパターン
アクション
- シバンと厳格モードを追加する
- 使用方法を表示する関数を作成する
- 引数解析を実装する
- ロギングを設定する
- クリーンアップ用のハンドラーを追加する
コピー&ペースト用プロンプト
Use @bash-defensive-patterns to implement strict mode and error handling
フェーズ 3:コア機能の実装
使用するスキル
bash-linux- Linux コマンドlinux-shell-scripting- シェルスクリプティング
アクション
- メイン関数を実装する
- 入力検証を追加する
- ヘルパー関数を作成する
- エッジケースを処理する
- 進行状況を示すインジケーターを追加する
コピー&ペースト用プロンプト
Use @bash-linux to implement system commands
フェーズ 4:エラー処理
使用するスキル
bash-defensive-patterns- エラー処理error-handling-patterns- エラーパターン
アクション
- トラップハンドラーを追加する
- リトライロジックを実装する
- エラーメッセージを作成する
- 終了コードを設定する
- ロールバック機能を追加する
コピー&ペースト用プロンプト
Use @bash-defensive-patterns to add comprehensive error handling
フェーズ 5:ロギング
使用するスキル
bash-pro- ロギングのパターン
アクション
- ロギング関数を作成する
- ログレベルを追加する
- タイムスタンプを実装する
- ログローテーションを設定する
- デバッグモードを追加する
コピー&ペースト用プロンプト
Use @bash-pro to implement structured logging
フェーズ 6:テスト
使用するスキル
bats-testing-patterns- Bats テストshellcheck-configuration- ShellCheck
アクション
- Bats テストを作成する
- ShellCheck を実行する
- エッジケースをテストする
- エラー処理を検証する
- さまざまな入力でテストする
コピー&ペースト用プロンプト
Use @bats-testing-patterns to write script tests
Use @shellcheck-configuration to lint bash script
フェーズ 7:ドキュメント
使用するスキル
documentation-templates- ドキュメント
アクション
- スクリプトのヘッダーを追加する
- 関数を文書化する
- 使用例を作成する
- 依存関係を列挙する
- トラブルシューティングのセクションを追加する
コピー&ペースト用プロンプト
Use @documentation-templates to document bash script
スクリプトのテンプレート
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_NAME=$(basename -- "$0")
readonly SCRIPT_NAME
SCRIPT_DIR=$(cd -- "$(dirname -- "$0")" && pwd)
readonly SCRIPT_DIR
log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"; }
error() { log "ERROR: $*" >&2; exit 1; }
usage() { cat <<EOF
Usage: $SCRIPT_NAME [OPTIONS]
Options:
-h, --help Show help
-v, --verbose Verbose output
EOF
}
main() {
log "Script started"
# Implementation
log "Script completed"
}
main "$@"
品質ゲート
- ShellCheck に合格する
- Bats テストに合格する
- エラー処理が機能する
- ロギングが機能する
- ドキュメントが完成している
関連するワークフローバンドル
os-scripting- OS スクリプティングlinux-troubleshooting- Linux のトラブルシューティングcloud-devops- DevOps の自動化
制限事項
- タスクが上記の範囲に明確に当てはまる場合にのみ、このスキルを使用してください。
- 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、成功条件が不足している場合は、作業を中断して確認を求めてください。
コメント
Markdown 対応