wizard について
wizardは、手間のかかる手作業を段階的に案内し、値を設定ファイルやGitHub secretsに書き込むBashスクリプトの形式です。プロジェクトのセットアップや一度限りの移行向けで、再利用できる段階別の操作と確認手順を備えています。
主な機能
- 01段階ごとの進捗と確認
- 02クロスプラットフォームのURL起動
- 03シークレットの非表示入力
- 04.envの冪等な更新
- 05GitHubシークレットと変数の書き込み
- 06終了時の手順サマリー
活用シーン
- 01プロジェクト設定用の認証情報収集
- 02設定値の.envとGitHubへの保存
- 03一度限りの移行の案内
- 04繰り返し使えるセットアップスクリプトの作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ 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 に尋ねずにスクリプトを実行できるようにしてください。