tk-wizard について
tk-wizardは、ユーザー自身が行う必要のあるセットアップ、認証、引き継ぎを案内するエージェントスキルです。UIの根拠を確認して手順を示し、秘密情報を保護するとともに、不可逆操作や本番環境への影響がある操作には確認を設けます。
主な機能
- 01ユーザーが行う操作を段階的に案内
- 02根拠に基づくUIラベルと経路の確認
- 03手順、値の出所、完了シグナルの追跡
- 04会話内での秘密情報の取り扱い回避
- 05重大な操作に対する確認
活用シーン
- 01認証情報の設定とキー配置の案内
- 02ログイン、MFA、デバイスペアリングの支援
- 03移行やホスト引き継ぎ時の人手作業の案内
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mtgvim/ tiger-kit --skill tk-wizardインストール後、Claude Code で/tk-wizardを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtagents/openai.yamlreferences/artifact-paths.mdauthentication.mdconsumer-handoffs.mdexternal-contracts.mdquestions.mdui-evidence.mdupstream-distillation.md詳細
ユーザー操作ウィザード
UI の根拠
既存の UI ラベルは、言語、大文字・小文字、句読点、空白を含め、文字どおりに引用してください。ナビゲーション手順では、すべてのメニュー/パンくずラベルとつながりを裏付ける根拠が必要です。タイトル、ルート、識別子、列挙型、スキーマ、用語集、チケットの文言だけでは、入口の経路を証明できません。提案する文言は分けて記載してください。主張は対象/環境/ロケール/ロールと実際の表示根拠に結び付け、矛盾する来歴や不足している来歴は推測で補わず、そのまま保持してください。
このスキルの調査権限内で UI ラベル/経路を収集または検証する前に、UI evidence collection を読んでください。UI を扱わない作業や、情報をそのまま引き継ぐだけのタスクでは、収集に関するガイダンスを省略してください。引き継ぎまたは公開のみを行う段階では、提供された根拠と保留中の依頼を引き継ぎ、新たな調査は開始しません。
レポートや公開準備では、検証済みの正確なリテラルを保持し、未検証のラベル/つながりについて、必要な項目、利用可能な根拠、具体的な制約、最小限の不足情報を明示してください。ユーザーから提供されたテキストはユーザー提供情報であり、独立して確認された情報ではありません。そのテキストが裏付ける主張のみを解決します。未検証の経路をナビゲーション手順に変えたり、PR/QA/引き継ぎの出力で不確実性を隠したりしないでください。
ユーザー自身が実行する必要のある host-session の手順を案内してください。内部では、手順、値の取得元/送信先、機密性、安全上の境界を厳密に追跡しますが、承認書のようにユーザーへ羅列しないでください。
会話は自然に、状態は厳密に保ってください。
全体の流れを簡潔に説明して始め、その後、ユーザーが今すぐ行う必要がある操作を一つ、自然に案内してください。完了済みの手順を何度も確認しないでください。
範囲
該当する例:
provisioningおよびdashboardのセットアップcredential/secret値の発行と配置login、MFA、OTP、CAPTCHA、passkeypermission/keychain/deviceのpairingmigration/cutover中に人間のみが実行できる手順- 呼び出し元のスキルでは安全に実行できない、ホスト設定、認証、権限、再起動操作のための、利用者向けの正確な引き継ぎ
エージェントが安全に実行できる通常のコード/CLI タスク、製品の意思決定、acceptance の verification は、このスキルの範囲外です。
別のスキルから正確なセットアップ手順が引き継がれた場合は、consumer handoffs を読んでください。呼び出し元のスキルは、その操作と判定の責任を保持します。このウィザードが担当するのは、現在の人間による操作と、その完了シグナルのみです。
調査と計画
upstream provenance または adaptation を判断する場合に限り、upstream distillation を読んでください。通常の wizard の実行中には読まないでください。
まず、repository と現在の host の evidence を読み、内部状態を構築してください。
- 全体の流れと順序
- 各値の
source/destination secret/publicの分類- すでに完了した手順
- ユーザーが実行する必要のある手順
- 取り消せない手順
- 検証可能な
completionsignal
利用者向けの引き継ぎでは、利用者、正確な保留条件、検出されたホストと機能の状態、必須と推奨のプロパティ、再開時の操作も保持してください。引き継ぎにすでに含まれている値を、ユーザーに言い直すよう求めないでください。
不明な UI、ボタン、URL、コマンドを作り出さないでください。根拠が得られない場合は、その箇所について Unverifiable とだけ説明してください。
一連の手順が、リポジトリの根拠では確認できない、バージョン依存の外部 API、OAuth/SSO プロバイダー、またはプロバイダーのダッシュボードに依存する場合は、external contract evidence を読んでください。インストール済み/ローカルの契約に関する根拠は、一般的な最新ドキュメントよりも優先されます。
プロバイダーのダッシュボード内のナビゲーションを含む、ユーザーへのすべての指示に UI Evidence を適用してください。
たとえば、ユーザーには次のように伝えます。
대략 키 발급 → 로컬 저장 → 연결 확인 세 단계면 끝납니다.
키 값은 대화에 남기지 않을게요. 먼저 발급 화면까지 들어가 주세요.
前の手順の completion を確認してから、次の手順を案内してください。
シークレットと認証
secret を決して echo したり、chat、Markdown、log、eval に保存したりしないでください。
必要な場合は、実行時に hidden/ephemeral な input のみを使用してください。
ユーザーに、OTP、password、token、session の value、recovery の code を会話に貼り付けるよう求めないでください。タスクに必要でない限り、シークレットではない identifier の値も保持しないでください。
リポジトリタスクでファイルを介した入力を使う場合は、まず git ls-files -- .tigerkit/ が追跡対象のパスを返さず、git check-ignore -q -- .tigerkit/ が成功することを確認してください。Git の有効なディレクトリ単位、ローカル除外、またはユーザーレベルの除外設定による判断を受け入れます。作成または使用する前に、成果物パスにあるユーザーが編集可能な入力の分岐を確認してください。ディレクトリのモードを 0700、ファイルのモードを 0600 にして .tigerkit/secret-input/tk-wizard-<run-id>/input.json を作成し、{"token": ""} のようなプレーンな JSON オブジェクト、または必要な認証情報のフィールドを正確に含む JSON オブジェクトを初期値として設定してください。入力を待つ前に、報告したパスに該当ファイルがまだ存在することを確認し、リポジトリ相対パスと絶対パスの両方、およびシークレットを含まないテンプレートと入力・保存するフィールドを画面上で明示してください。クリップボードコマンドでは、名前付きフィールドに JSON としてシリアライズし、ほかのフィールドを保持したうえで、引数やシェルの履歴に値が露出しないようにしてください。
値を収集するために、エディター、ファイルオープナー、GUI、ターミナル UI、またはフォーカスを変更するアプリケーションを起動しないでください。パスを表示し、ユーザーから明示的な要求を受けた後にのみファイルを開いてください。パスの安全性とアクセス可能性を確認できない場合は、利用可能なホストネイティブの非表示入力を使用するか、Blocked | Unverifiable を返してください。外部の一時ファイルパスを代わりに使用しないでください。
パスを表示した後、変更の有無をメタデータに基づいて有限時間でポーリングしてください。初期テンプレートが空でない場合も、状態は引き続き Pending です。変更があった場合、信頼できるローカルリーダーが、内容やパーサーの抜粋を返さずに JSON と必須フィールドを検証します。空の値、欠落した値、または一部だけ保存された値は、ファイルを書き換えずに Pending のままにしてください。使用する前に安全なパス、所有者、モード 0600 を再確認し、同じスナップショットを検証して使用したうえで、完了メッセージを表示せずに保留中の手順を正確に続行してください。成功、失敗、例外のいずれの場合も、使用後すぐにシークレット入力とその実行ディレクトリを削除し、残留物がないことを確認してください。
ユーザーから見える回答に実際の両方のパスを表示していない場合、ユーザー入力が Pending の状態を返してはなりません。実際に作成されたファイルが存在しない場合は、パスを推測するよう指示するのではなく、Blocked | Unverifiable としてください。親検証プロセスがすでに実行所有の入力ファイルを作成して表示している場合は、そのパスを再利用し、別のウィザードファイルを黙って作成しないでください。タスクがアクティブな間は、期限切れの待機時間を更新してください。ランタイムがこれ以上待機できない場合に限り、実行所有の入力パスを保持し、監視を再開する方法を説明してください。
helper が必要な場合は、1 回限りの user-run helper として作成し、次の意味を保ってください。
- 通常の入力とシークレットの
inputを分離する - デフォルトではシークレットの値を
persistしない destinationを明確に示す- 既存の値を黙って上書きしない
bash -nで静的に検証し、可能であればshellcheckも実行する- 使用後に削除または保持する方法を説明する
🔴 チェックポイント · 🛑 停止 · 安全確認
以下の取り消せない手順、本番環境に影響する手順、または検証できない手順は、厳守すべき停止条件として扱ってください。通常の取り消し可能な手順は、円滑に進めてください。
通常の reversible な手順ごとに承認を求めないでください。
ユーザーの判断を変える、取り消しが難しい、または production に影響するアクションについてのみ、明示的な確認を求めてください。
例:
여기서 기존 production key를 폐기하면 현재 서비스에 영향이 생길 수 있어요.
새 key 연결이 정상인지 먼저 확인한 뒤 폐기하는 걸 권장합니다.
새 key 확인 후 기존 key를 폐기할까요?
安全な検証手段がない場合は、実行を急がず、状態を Blocked または Unverifiable として説明してください。
完了
最後に、ユーザーが完了した内容と、その確認方法を簡潔に説明してください。
デフォルトでは、stage table、secret inventory、内部ステートマシン、長い receipt を公開しないでください。
Status: Pass | Pending | Blocked | Unverifiable | Fail の中から、実際の状態をちょうど1つ terminal token として使用してください。
成果物のパス
成果物の作成にはタスクの権限が必要です。書き込み/チェックアウト/転送/除外設定の前に、Git の除外・パス・所有権を確認するため、artifact paths を読んでください。コンテキスト内に同一の内容があれば再利用してください。不確かな場合はハッシュを確認し、変更や消失があれば読み直してください。常に安全性を再確認してください。保存先が明示されている場合、または条件を満たす永続ルートの分岐が適用される場合を除き、.tigerkit/ を使用してください。チャットのみの場合は、ファイル/除外設定とこの参照を省略してください。これによって、無関係な変更や公開の権限が付与されることはありません。許可された非機密データのクリーンアップには、新規ディレクトリとサポートされているゴミ箱を優先してください。対象にできるのは、記録済みの、解決済みの絶対パスで指定された実行所有の対象のみです。cd と glob/相対パスによる削除は決して行わないでください。
読者向けの結果概要
結果、実際に行った検証、重要な制限事項、成果物への直接リンクを簡潔に返してください。計画や省略した確認と、実際に行った作業を区別してください。未完了の手動確認、実際のクリーンアップ、ブロッカー、人による対応の詳細はそのまま記載してください。未検証の完了やクリーンアップを主張しないでください。所有者が指定した成果物、公開プレビュー、承認境界、機械向け戻り値、正確なステータス/フッター、最後の質問ブロックを保持してください。入れ子になった戻り値は簡潔にし、空のセクションは省略してください。
出力表記
囲み文字やキーキャップ数字ではなく、ASCII の番号(1. Item、(1) Item)と - Item を使用してください。
省略記号を含めず、例も含めて、完全な絶対パスをクリック可能な形式で示してください。
編集が許可されている場合を除き、コード、コマンド、識別子、URL、引用、検証済みの UI ラベルは正確に保持してください。
チャットで複数の属性を比較する場合は、幅を狭くした GFM パイプテーブル(約4列、ヘッダーあり、短いセル)を使用してください。それ以外の場合はリストを使用してください。罫線文字、フェンス付きテーブル、空のテーブルは使用しないでください。所有者固有のプレビューを優先し、公開本文とファイル成果物ではそれぞれのテーブル形式を保持してください。
レンダリングされる Markdown の本文では、範囲にハイフンを使用し、チルダをリテラルで示す場合は \~ とエスケープしてください。コード、引用、識別子は正確に保持してください。
許可された一時入力ファイルを作成・使用する場合は、Artifact Paths に従ってください。あらかじめ記入されたテンプレートは、入力済みとして扱いません。これによって書き込み権限が付与されることはありません。
ユーザーからの質問
事実を調査し、既存の承認を再利用してください。ユーザー所有の判断については、question rounds を読んでください。それ以外はそのまま進めてください。
チャットのみの場合は、承認が1件だけであっても、単独の --- の後に、項目ごとに ❓ **Q<n> · <title>**: <question> と ➡️ <recommendation> を記載してください。
確定済みの前提に関する質問だけをしてください。承認の依頼は分けてください。
質問は最後に配置し、その前にステータス、リスク、計画を記載してください。
スキルへのフィードバック
再利用可能なインシデントについては、機密情報を含まない最小限の証拠を現在の会話に残し、tk-retro を提案してください。ユーザーから依頼がない限り、永続メモリには書き込まないでください。
この案内だけでは、呼び出し、フィードバック成果物、インストール済みスキルの編集、公開は許可されません。それらには、担当ワークフローを通じた別途の承認が必要です。