mcpField
W
wizard

wizard

github.com/leandrocfeクラウド・DevOps4174 回インストール11 週間前に更新
リポジトリ

wizard について

サービス設定や一度限りの移行など、手間のかかる手作業を案内する bash スクリプトを作るスキルです。共通テンプレートで進捗表示、確認、シークレット入力を行い、取得した値を設定ファイルや GitHub に保存します。

主な機能

  1. 01順序に沿った手順ステージ
  2. 02進捗表示と確認プロンプト
  3. 03クロスプラットフォームの URL 起動
  4. 04シークレットの非表示入力
  5. 05.env と GitHub 設定への書き込み

活用シーン

  1. 01サービス設定の手順案内
  2. 02認証情報の .env への保存
  3. 03CI 用の値を GitHub secrets や変数に保存
  4. 04一度限りの移行手順の案内

インストール

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

$npx skills add https://github.com/leandrocfe/skills --skill wizard

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

同梱ファイルagents/openai.yamltemplate.sh

詳細

ウィザード

ウィザードは、人間を手動で行うと面倒で、その都度 AI に説明し直すのも面倒な手順へと、一つずつ案内する Bash スクリプトです。URL を開き、何をクリックして何をコピーすればよいかを正確に伝え、値を取得して所定の場所(.env、GitHub シークレット)に書き込み、各ステップで確認し、残りのステージ数を表示します。サードパーティーサービスの設定、単発のマイグレーションの実行、プロジェクトをある状態から別の状態への移行などに使えます。

洗練された UX は template.sh ですでに用意されています。ステージごとの進捗表示、確認ゲート、クロスプラットフォームでの URL のオープン(WSL を含む)、シークレットの非表示入力、.env の冪等なアップサート、gh secret/gh variable による書き込み、最終的な概要表示を備えています。あなたの仕事は、手順の範囲を決め、ステージを記述するだけです。 STAGES マーカーより上にあるライブラリは、すべてのウィザードで同一です。この一貫性が重要なので、手作業で編集しないでください。

ウィザードは、デフォルトでは一時的なものです。1 回限りの実行を目的としてスクラッチ用のパスまたは scripts/ に置き、作業が完了したら削除します。リポジトリに残すべき、繰り返し利用できるセットアップ手順をユーザーが希望する場合に限り、コミットしてください。

プロセス

1. 手順の範囲を決める

人間が手動で行う必要のあるすべてのステップと、手順の中で取得するすべての値を洗い出します。まずリポジトリを確認し、何も調べずに質問することは避けてください。

  • セットアップの場合:.env、.env.example、.env.*、README、docker-compose*、フレームワークの設定、.github/workflows/*(各 secrets.*/vars.* の参照は、ウィザードで用意する必要がある値です)。
  • マイグレーションまたは移行の場合:現在の状態、目標の状態、その間にある取り消し不能な操作。

次に、順序付けしたステージの一覧と、各ステージで生成する値をユーザーに提示して確認します。ユーザーは項目の追加、削除、並べ替えができます。

完了条件: すべてのステージに順番どおり名前が付いており、取得する値ごとに、(a)人間がその値をどこで取得するか、(b)どこに書き込むか(.env、GitHub シークレット、両方、または書き込み先なし――操作のみを行うステージもあります)、(c)シークレットか公開情報か(シークレットの場合は非表示入力)が分かっています。

2. 各ステージの手順を整理する

各ステージについて、人間がたどる手順を正確に記述します。開く URL、その場で行う操作、値が表示される場所、値を設定する変数を示してください。例:「ダッシュボード → Developers → API keys → Reveal test key → コピー」。現在の UI や正確なコマンドが本当に分からない場合は、その旨を伝えてユーザーに尋ねるか、ドキュメントを確認してください。存在しない可能性のある手順を決して捏造しないでください。

完了条件: どのステージも、初めて見る人が実行できる具体的な手順になっています。

3. ウィザードを作成する

template.sh をコピーして目的のパスに配置します。サンプルのステージを、依存関係の順に各手順に対応する stage に置き換えます。ライブラリのヘルパーである stage、say/step、open_url、ask/ask_secret、write_env、set_secret/set_var、pause/confirm を使い、作成したステージ数に合わせて TOTAL_STAGES を設定します。

テンプレートで定められた水準を維持してください。値を求める前にその値を取得する URL を開き、シークレットには必ず ask_secret を使い、保存する値はすべて write_env で書き込み、CI が実際に必要とする値にのみ set_secret を使い、取り消し不能な操作の前には必ず confirm を使います。各 stage は画面をクリアし、現在のステップだけが見える状態にします。人間が必要とする情報が画面外にスクロールしないよう、1 つのステージには目的を絞ったタスクを 1 つだけ含めてください。マーカーより上にあるライブラリには手を加えないでください。

4. 確認して引き渡す
  • bash -n <script> を実行し、利用可能であれば shellcheck も実行します。
  • chmod +x <script> を実行します。
  • スクリプトを最初から最後まで自分で実行しないでください。ブラウザーが開き、人間の入力を待ってブロックされます。代わりに静的に追跡してください。ステップ1のすべての値が取得され、ステップ1で指定された場所に渡されること、そして set_secret のすべての名前が CI 内の secrets.* 参照と完全に一致することを確認します。
  • ユーザーにスクリプトの実行方法を伝えます。繰り返し実行するセットアップ手順であれば、コミットして README からリンクし、次の人が AI に尋ねる代わりにスクリプトを実行できるようにします。

コメント