指令用途
/wizard 產生一個互動式 bash 腳本,帶人類走過手動程序 —— 第三方設定、一次性遷移、A→B 狀態轉換 —— 開啟每個 URL、說明要點什麼、捕獲輸入值,並寫進 .env 檔與 GitHub Actions secrets。
它專為只有人類能做的步驟設計:點擊、審批、儀表板導航 —— 那些你不會交給代理的工作。代理能做的,代理就該做;wizard 是給那些點擊、審批、儀表板之旅。
因為它是模型觸發的,代理能在它撞到「這一步只有人類能做」時自動伸手呼叫它,而不是把編號步驟倒進聊天視窗、然後指望你照著做。打 /wizard 當然也行 —— 模型觸發只是讓代理隨時可達。
四個觸發分支
wizard 的 description 寫成觸發器,決定模型何时啟動它:
- 佈建基礎設施:開帳號、開資源、設定網路。
- 設定憑證或 CI secrets:申請 API key、設定 OAuth、把 secret 寫進 CI。
- 走過陌生的第三方儀表板:第一次用某服務、不熟介面。
- 一次性遷移或切換:A→B 狀態轉換,例如換資料庫、換 auth provider。
明確的非觸發:代理自己能做的步驟,不要用 wizard。代理能做,代理就該做。
運作流程
- 界定程序:讀取
.env*、docker-compose*、framework config,與.github/workflows/內所有secrets.*/vars.*參考,來劃定這個程序的範圍。 - 提議階段:列出 stages,與使用者確認後才寫任何一行。stage 清單確認也兼作模型觸發時的提案。
- 產生精靈:產出一個互動式 bash 腳本,使用內建的
template.sh。 - 驗證輸出:用
bash -n(語法檢查)與shellcheck驗證產出的腳本。
內建 template.sh 已解決的 UX
精靈的愉悅 UX 已被內建的 template.sh 預先解決 —— 你不必手寫這些,skill 的工作只是劃定程序範圍、並撰寫它的 stages:
- 以 stage 名稱與已完成數量呈現進度,不提供剩餘時間預估。
- 確認閘道:每個關鍵步驟前先確認。
- 跨平台 URL 開啟(含 WSL)。
- 隱藏式 secret 輸入:密鑰輸入不回顯。
- 冪等的
.envupsert:重複執行不會重複寫。 gh secret/gh variable寫入,帶優雅降級(沒裝 gh 就跳過並說明)。- 結尾的跳過摘要:列出哪些 stage 被跳過。
template.sh 內 STAGES 標記之上是一個固定的 library,永不手改 —— skill 的工作只有劃定程序、撰寫它的 stages。
實戰對話範例
範例一:自動觸發(模型觸發)
- You:
我要把這個專案接上 Stripe。
- AI:
接 Stripe 有幾步只有你能做(申請帳號、拿 API key、設定 webhook)。我啟動
/wizard。我讀過你的
.env.example和.github/workflows/deploy.yml,需要這些 secrets:STRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETSTRIPE_PUBLISHABLE_KEY
提議的 stages:
- 開 Stripe 帳號(開啟 URL)
- 取得 API keys(說明在 dashboard 哪裡)
- 設定 webhook(開啟 URL、填 endpoint)
- 寫入
.env與gh secret
確認 stage 清單嗎?確認後我產精靈。
範例二:顯式呼叫
- You:
/wizard 帶我設定 SendGrid。
- AI:
SendGrid 設定範圍:
- 開帳號(URL)
- 建立 API key(dashboard 路徑說明)
- 驗證發信網域(DNS 設定步驟)
- 寫入
.env的SENDGRID_API_KEY與FROM_EMAIL
確認後我產精靈,用
template.sh包進進度條、確認閘道、隱藏 secret 輸入。產完跑bash -n+shellcheck驗證。
Engineering 而非 Productivity 的理由
wizard 被歸在 Engineering 而非 Productivity,因為它的範圍界定是工程性的:
- 讀
.env*、docker-compose*、framework config。 - 讀遍
.github/workflows/內每個secrets.*/vars.*參考。 - 寫 CI secrets。
- 用
bash -n和shellcheck驗證產出。
何時應該使用
- 步驟只有人類能做:點擊、審批、儀表板導航。
- 佈建基礎設施:開帳號、開資源。
- 設定憑證 / CI secrets:申請 key、設 OAuth、寫 CI secret。
- 走過陌生的第三方儀表板:第一次用某服務。
- 一次性遷移或切換:A→B 狀態轉換。
何時不應該使用
- 代理自己能做的步驟:代理能做,代理就該做 —— 別把編號步驟倒給人類。
- 重複性的日常操作:那是腳本或自動化的事,不是 wizard。
- 純粹的程式碼變更:用
/implement。
與其他技能的關係
/wizard 是 engineering 流程中步驟只有人類能做時的 on-ramp —— 代理撞到這種步驟時自動伸手呼叫它。在 /ask-matt 中是一條 Standalone 路由,專為「只有人類能做的步驟」。不確定該用哪個 skill 時,用 /ask-matt 來路由。