mcpField
W
wizard

wizard

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

wizard について

wizard は、手間のかかる手順を段階的に案内し、値を集めて設定ファイルや GitHub に書き込む Bash スキルです。共通テンプレートが進捗表示や確認を担い、個々のウィザードでは手順を定義します。

主な機能

  1. 01手順を段階順に案内
  2. 02URLを開き操作を説明
  3. 03公開値と秘密値を収集
  4. 04値を .env と GitHub に書き込み
  5. 05進捗と残りの段階を表示

活用シーン

  1. 01サービス設定用の認証情報収集
  2. 02設定値の .env への書き込み
  3. 03GitHub シークレットと変数の準備
  4. 04一度限りの移行手順の案内

インストール

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

$npx skills add https://github.com/paololeonardi/mattpocock-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 を対象のパスにコピーします。サンプルの段階を、依存関係の順に、手順ごとに 1 つの 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 つのタスクに絞ってください。マーカーより上のライブラリには手を加えないでください。

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

コメント