wizard について
サービス設定や一度限りの移行など、手間のかかる手作業を案内する bash スクリプトを作るスキルです。共通テンプレートで進捗表示、確認、シークレット入力を行い、取得した値を設定ファイルや GitHub に保存します。
主な機能
- 01順序に沿った手順ステージ
- 02進捗表示と確認プロンプト
- 03クロスプラットフォームの URL 起動
- 04シークレットの非表示入力
- 05.env と GitHub 設定への書き込み
活用シーン
- 01サービス設定の手順案内
- 02認証情報の .env への保存
- 03CI 用の値を GitHub secrets や変数に保存
- 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 に尋ねる代わりにスクリプトを実行できるようにします。