mcpField
B
bash-script-generator

bash-script-generator

github.com/akin-ozer開発329675 回インストール16 週間前に更新
リポジトリ

bash-script-generator について

bash-script-generatorは、要件や手作業のCLI手順からBashスクリプトを作成するスキルです。要件を記録し、テンプレート方式またはカスタム生成を選び、要件と実装の対応を追跡しながら検証を繰り返します。

主な機能

  1. 01入力、出力、安全性の要件整理
  2. 02テンプレート方式とカスタム生成の選択
  3. 03標準CLIスクリプトのひな型
  4. 04スクリプト要件に応じた資料選択
  5. 05スクリプトの検証と反復修正

活用シーン

  1. 01手作業のCLI手順の自動化
  2. 02テキスト処理や運用スクリプトの作成
  3. 03cronまたはCI用ユーティリティの作成
  4. 04要件に基づくBashスクリプト生成と検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/akin-ozer/cc-devops-skills --skill bash-script-generator

インストール後、Claude Code で/bash-script-generatorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/templates/
standard-template.sh
docs/
bash-scripting-guide.md
generation-best-practices.md
script-patterns.md
text-processing-guide.md
examples/
log-analyzer.sh
scripts/
generate_script_template.sh
run_ci_checks.sh
test_generator.sh

詳細

Bash スクリプトジェネレーター

概要

要件を明確に収集し、決定論的な生成フローに従って、検証を優先しながら反復することで、本番環境で使える Bash スクリプトを生成します。

トリガーフレーズ

ユーザーから次の依頼があった場合に、このスキルを使用します。

  • Bash/シェルスクリプトを作成、生成、記述、または構築する
  • 手動の CLI 手順を自動化スクリプトに変換する
  • grep、awk、または sed を使用するテキスト処理スクリプトを構築する
  • 運用支援スクリプト、cron スクリプト、または CI ユーティリティスクリプトを作成する

既存スクリプトの検証だけを行う場合は、このスキルを使用しないでください。検証のみの依頼には devops-skills:bash-script-validator を使用してください。

実行モデル

各ステージを順番に実行してください。ステージを省略せず、行き詰まった場合は記載されている代替手段を使用してください。

ステージ 0:事前確認
  1. 対象範囲と出力先のパスを確認します。
  2. 対象シェルを確認します。
  • デフォルト:bash
  • 移植性が求められる場合:POSIX sh
  1. 利用可能な機能を確認し、代替手段を選択します。
機能デフォルトの方法代替方法
要件の確認AskUserQuestion ツール通常のチャットで同じ質問をし、未解決の項目は前提として明記する
スクリプトのひな形bash scripts/generate_script_template.sh ...assets/templates/standard-template.sh を手動でコピーするか、最小限のひな形を手作業で作成する
検証devops-skills:bash-script-validatorローカルでの確認:bash -n、利用可能であれば shellcheck、POSIX モードでは sh -n

代替方法を使用した場合は、最終的な概要で明記してください。

ステージ 1:要件の収集

スクリプトを正しく生成するために必要な項目だけを収集します。

  • 入力元と形式
  • 出力先と形式
  • エラー処理の動作(即時終了/再試行/続行)
  • セキュリティ上の制約(機密データ、権限レベル)
  • パフォーマンス上の制約(大容量ファイル、並列処理)
  • 移植性の要件(Bash 専用か POSIX か)

次に、安定した ID を付与した Captured Requirements テーブルを作成します。

## Captured Requirements

| Requirement ID | Description | Source | Implementation Plan |
|---|---|---|---|
| REQ-001 | Parse nginx logs from file input | User | `parse_args()` + `validate_file()` + `awk` parser |
| REQ-002 | Output top 10 errors | User | `analyze_errors()` + `sort | uniq -c | head -10` |
| REQ-003 | Handle large files efficiently | Assumption | Single-pass `awk`; avoid multi-pass loops |

ルール:

  • すべての主要な設計判断を、少なくとも 1 つの REQ-* に対応付けます。
  • 前提は明示し、最小限にとどめます。
ステージ 2:生成方法の選択

次の決定木に従ってください。

Need multi-command architecture, unusual control flow, or strict non-template conventions?
├─ Yes -> Custom generation
└─ No
   Need standard CLI skeleton (usage/logging/arg parsing/cleanup)?
   ├─ Yes -> Template-first generation
   └─ No -> Custom generation

単一目的の CLI ユーティリティでは、ひな形優先をデフォルトとします。

ステージ 3:関連するリファレンスのみを読み込む

必要に応じて段階的に開示し、現在の依頼に必要なドキュメントのみを読みます。

必要な内容リファレンス
ツールの選択(grep と awk と sed)docs/text-processing-guide.md
スクリプトの構成と引数のパターンdocs/script-patterns.md
厳格モード、シェルの違い、安全性docs/bash-scripting-guide.md
命名、構成、品質の基準docs/generation-best-practices.md

引用形式(必須):

  • [Ref: docs/<file>.md -> <section>]
ステージ 4:スクリプトの生成
パス A:ひな形優先(デフォルト)
  1. ひな形を生成します。
bash scripts/generate_script_template.sh standard output-script.sh
  1. プレースホルダーを置き換え、業務ロジックを追加します。
  2. 要件で別途指定されていない限り、ログは標準エラー出力に、データ出力は標準出力に送ります。
  3. ロジックが自明でない箇所にのみコメントを追加します。
パス B:カスタム生成

少なくとも次の要素を含むスクリプトを構築します。

  • シバンと厳格モード
  • usage()
  • parse_args()
  • 入力の検証と依存関係の確認
  • メインワークフロー関数
  • 予測可能な終了コード
ステージ 5:検証と反復

デフォルトの検証方法:

  1. devops-skills:bash-script-validator を実行する
  2. 修正を適用する
  3. 検証を再実行する
  4. チェックに合格するか、阻害要因が特定されるまで繰り返す

代替の検証方法(バリデータースキルが利用できない場合):

# Deterministic local gate for this skill:
bash scripts/run_ci_checks.sh --skip-shellcheck

# CI gate (shellcheck required):
bash scripts/run_ci_checks.sh --require-shellcheck

チェックを省略した場合は、出力に Skipped check、Reason、Risk を含めてください。

ステージ 6:最終応答の要件

必ず次の内容を返してください。

  1. 生成したスクリプトのパス
  2. 要件のトレーサビリティ(REQ-* → 実装)
  3. 再実行状況を含む検証結果
  4. 標準形式の引用
  5. 使用した前提および代替手段

基準となるフロー例

例 A:全フロー(テンプレート優先)
  1. 不足しているデータ形式と出力の期待値を確認します。
  2. REQ-* の表を作成します。
  3. テンプレート優先の方法を選択します。
  4. scripts/generate_script_template.sh でひな形を生成します。
  5. ロジックを実装し、関数を REQ-* に対応付けます。
  6. devops-skills:bash-script-validator で検証し、問題がなくなるまで再実行します。
  7. 引用を添えて最終的な概要を提示します。
例 B:制約のある環境でのフロー

AskUserQuestion、validator スキル、または shellcheck が利用できない場合に使用します:

  1. チャットで確認の質問をします。
  2. 未解決の項目を Captured Requirements に前提条件として記載します。
  3. テンプレートスクリプトから生成するか、テンプレートファイルをコピーする代替方法を使用します。
  4. bash -n(該当する場合は sh -n も)を実行します。
  5. shellcheck が見つからない場合は、スキップしたこととリスク、軽減策を報告します。

完了基準

以下のすべてを満たした場合にのみ、タスクは完了です:

  • トリガーに合致し、対象範囲が確認されている
  • REQ-* ID を含む Captured Requirements の表がある
  • テンプレート優先かカスタムかの判断が記録されている
  • 決定論的な構造でスクリプトが生成されている
  • 検証を実施し、再実行の方針が適用されている
  • スキップしたチェックには明確な理由とリスクが記載されている
  • 最終回答にトレーサビリティ、引用、前提条件が含まれている

ヘルパースクリプトとアセット

  • スクリプトジェネレーター:scripts/generate_script_template.sh
  • 決定論的な CI ゲート:scripts/run_ci_checks.sh
  • 回帰テストスイート:scripts/test_generator.sh
  • 標準ひな形:assets/templates/standard-template.sh
  • 出力スタイルの例:examples/log-analyzer.sh

参考ドキュメント

  • docs/bash-scripting-guide.md
  • docs/script-patterns.md
  • docs/generation-best-practices.md
  • docs/text-processing-guide.md

外部参考資料

コメント