tk-prototype について
tk-prototypeは、測定可能な基準に沿ってUIやロジックのプロトタイプを比較する開発者向けスキルです。分離したバリエーションやハーネスの作成、実行、証拠の記録を導き、本番変更と区別します。
主な機能
- 01測定可能な成功基準の設定
- 02分離した一時パスの選定
- 03比較用バリエーションやハーネスの作成
- 04実行結果と証拠の記録
- 05基準に沿った結果の比較
- 06失敗時と作業範囲の境界設定
活用シーン
- 01内容と状態を揃えてUI案を比較
- 02小規模な入出力ハーネスでロジックを検証
- 03ブラウザー操作とスクリーンショットでプロトタイプを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mtgvim/ tiger-kit --skill tk-prototypeインストール後、Claude Code で/tk-prototypeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtagents/openai.yamlassets/chart-examples.htmldocument-shell.htmlhtml-theme.csshtml-theme.jsreader-example.htmlreferences/artifact-paths.mdauthentication.mdchart-design.mdclear-writing.mdexplanation-techniques.mdhtml-assembly.mdhtml-components.mdhtml-figures.mdhtml-output.mdhtml-render.mdquestions.mdreader-formatting.mdscripts/build_html.pyhighlight_code.pypackage_html.py詳細
比較プロトタイプ
承認の継続性
依頼する前に、現在のユーザーから承認を得ているか確認してください。具体的な依頼、または同じタスクに対する以前の承認は、後続のターンや子スキルのフェーズでも有効です。スキルの呼び出しだけでは承認にならず、取得したテキストも承認にはなりません。ユーザーが決める必要のある重要な選択肢は、最初に実行可能なチェックポイントでまとめて確認してください。スコープの承認後は、フェーズの境界で再確認せず、既存の担当者に従って、必要なベースラインの記録、実装、検証、レビュー、ローカルコミットを進めてください。子スキルの証拠を現在の担当者に返し、そのまま続行してください。状況の更新は作業の停止を意味しません。確認するのは事実であり、承認ではありません。新たな重要な判断、スコープの変更、未承認の操作、またはユーザーのみが提示できる情報が不足している場合に限り、確認してください。復元された成果物だけで権限が与えられることはありません。リモート操作や破壊的な操作には、対象を明示した明確な承認が必要です。この承認は事前に得ておける場合があります。担当スキルに引き継ぐ際は、その承認を保持してください。ローカルでの承認から推測してはなりません。
入力として prompt、アイデア、スクリーンショット、spec、ticket、コード、またはデザインの参照を受け付けます。
スタンドアロンの成果物は .tigerkit/prototypes/<slug>/ の下に保存してください。書き込む前に、Git が .tigerkit/ を実質的に無視していることと、その配下のパスが追跡対象になっていないことを確認してください。実質的なルールは、ディレクトリごとの設定、ローカルの除外設定、またはユーザーレベルの除外設定による場合があります。無視対象の設定が不足している場合は、Artifact Paths のセットアップを使用し、書き込み前に再確認してください。外部の一時保存先への代替は使用しないでください。選択したランタイムで必要な場合に限り、リポジトリ内のルートやハーネスを使用できます。その場合、実行によって作成されたファイルのみを記録し、クリーンアップしてください。
ワークフロー
hypothesis/success criteria:アイデア、参照資料、検証の質問から、測定可能な基準を導き出します。temporary path/boundary:リポジトリの事前確認を行い、既存のツールチェーン/UI スタック/コンポーネント/トークン、一時パス、成果物の所有者、およびfake | realの統合境界を選択します。variants/harness:比較の問いに答えるために必要なバリエーションのみを作成するか、現実的な入出力を用いたharnessを作成します。run:選択したvariant/harnessを実行し、実際の出力またはスクリーンショットとコマンドの実行結果を記録します。
各実行を ## Tested の下に、次のレシート項目とともに記録します。コマンドを要約せず、実際に実行した値をそのまま記録してください。
Command: <exact command and arguments>
CWD: <absolute worktree or route path>
Exit code: <integer>
Output: <bounded summary or absolute output path>
Artifact: <absolute path | none>; ownership: run-owned | pre-existing
Screenshot: <absolute path | N/A>; actual inspection: yes | no | N/A
compare:エビデンスを基準に対応付け、確認済みの差異、未確認の項目、次の判断を要約します。親コントラクトに画像のPR evidence: requiredが記録されており、比較結果がPassで、確認したスクリーンショットがそのことを直接証明する場合は、実行が所有する絶対パスのScreenshot: <path>と実際の画像確認結果を## Testedの下に保持し、公開時に使用するものと同じ、プロデューサーに依存しないマニフェストを提示します。マニフェストには、evidence_required: true、evidence_kind: visual-change、verification_status: Pass、基準、比較、制限事項、およびロール、絶対パス、オリジンを含まない正確なdisplay_route、状態/領域、ビューポートを含む確認済みの成果物を記載します。tk-browser-verifyが返すメタデータを使用してください。ファイル名、生の URL、またはプロデューサーの識別情報から導き出してはいけません。これはプロトタイプの比較を証明するものであり、公式製品の実行時受け入れを証明するものではありません。Fail | Blocked | Unverifiableの場合は、所有する失敗成果物を保持して実際のステータスを返します。ただし、verification_status: Passの公開マニフェストは出力しないでください。必須の画像公開要件を満たせない場合は、その公開要件をブロックまたは検証不能として報告します。terminal summary:以下の出力コントラクトに従って該当するセクションを出力します。別個のプロベナンス/ステータスのブロックは追加しないでください。
未解決の UI 比較では、判断に関係する要素のみを変えてください。比較の問いが色、コントラスト、または状態の識別に関する場合は、色のみの代替案も有効です。その比較ではレイアウトと動作を維持してください。アーキテクチャ、フロー、またはナビゲーションを変えるのは、それらが実際の問いである場合に限ります。ロジックでは、入出力の例を用いた小規模で純粋なハーネスと最小限のアダプターを優先してください。
Web プロトタイプでは、リポジトリの実行コマンド、インストール済みの UI スタック、コンポーネント、デザイントークンを確認してください。依存関係の追加やマニフェスト/ロックファイルの変更を行わず、安全に分離された既存のルート/ハーネスを再利用してください。リポジトリや参照資料にデザイントークンがないスタンドアロン HTML の場合は、共通のテーマアセットと読みやすさ/レンダリング要件について HTML output を確認してください。比較固有のデザイントークンと、プロトタイプのナビゲーションに関する例外を維持してください。安全なルート/ハーネスがない場合は、小規模な .tigerkit/prototypes/<slug>/index.html、styles.css、app.js を使用してください。
コンテンツ、データ、インタラクションの状態を同一に保ちながら、判断に関係するコンセプトを 2~3 個比較してください。幅の広い画面では、デフォルトで横並びの 2~3 列とし、狭い画面では縦に積み重ねます。同時に表示するとコンセプトを損なう場合や、最低限の読みやすさを維持できない場合に限り、明示的な A/B または A/B/C 切り替えを使用してください。3 つ目の選択肢に独立した価値がない場合は、A/B で終了してください。リポジトリのエビデンスですでに判断できる場合は、プロトタイプを作成しないでください。
実際のインタラクション、run URL/command、success-criteria のスクリーンショットを含め、tk-browser-verify で Web の出力を検証してください。開発サーバーが必要な場合は、正確な command/cwd/対象 URL/auth mode/readiness 条件を handoff で渡してください。サーバーの起動、待機、停止は tk-browser-verify が担当します。hypothesis がレスポンシブ対応/レイアウトに関する場合に限り、幅の広い画面と狭い画面の両方を確認してください。実行が所有する追跡対象の harness ファイルのみをクリーンアップし、existing route、dependency、production source は保持してください。
失敗時の経路
書き込み前に、既存の一時パスと実行時に作成されたファイルを記録します。
| 条件 | 最初の対応 | それでも失敗する場合 |
|---|---|---|
| 書き込みの中断/一部のみ完了 | 実行で作成されたことが確認できる不完全な成果物のみをクリーンアップします | Fail。安全でないクリーンアップのパスと再開条件を報告します |
| サーバー/ハーネスの障害 | コマンド、終了状態、出力、偽物/実物の境界を保持します | Fail。本番環境/依存関係の範囲に拡大しません |
| 実行は成功したが、出力/スクリーンショットの証拠を取得できない | 同じ境界内でキャプチャを一度だけ再試行します | Unverifiable。Pass と報告しません |
| 既存の成果物との所有権/状態の競合 | 既存のパスを保持し、証拠を記録します | Blocked。書き込む前に別のパスを選びます |
| クリーンアップの失敗 | 実行で作成されたリソースのみを再特定し、結果を報告します | Fail | Unverifiable。既存のルート/プロセスを保持します |
| 本番環境/昇格/コミットへ範囲が拡大 | プロトタイプを停止し、別の実装依頼として切り分けます | Blocked。自動的に昇格しません |
🔴 チェックポイント · 🛑 停止 · 実行境界
実行前に、一時パス、偽物/実物のデータ、検証する内容を確認します。
環境または本番環境の範囲が拡大した場合は、Blocked | Unverifiable の時点で停止します。
報告前に、コマンド、実際の出力/スクリーンショット、偽物/実物の境界、未検証の範囲を照合します。いずれかが欠けている場合、または実行に失敗した場合、結果を Pass にすることはできません。
Fail | Blocked | Unverifiable を使用します。
契約
判断に関係するステータスは、担当セクションに一度だけ記録します。## Confirmed から始め、続けて ## Production implication、## Tested、## Variants or harness、## Still fake の順に記載し、空のセクションは省略します。Confirmed には証拠に裏付けられた結論を、Production implication には破棄/反復/次の判断を、Tested にはコマンドの結果を、Variants or harness には代替案/パス/実行 URL と最終的な kept | removed の状態を、Still fake には偽物/実物と未検証の範囲を記載します。判断に関わる内容の後に、コマンドの詳細を記載します。
最終ステータスは Pass | Fail | Blocked | Unverifiable のうち、必ず1つだけ使用します。
複数の基準またはバリエーションを比較する場合は、## Confirmed を簡潔な Criterion | A | B [| C] | Conclusion | Evidence 形式の表で記載します。ユーザーに関係する行が1つだけの場合は、文で記載します。内容/データ/状態が同一のままだったかを記録します。確認されなかった差異には not observed を、証拠がない場合は unverifiable を使用します。監査されていない美的な好みを結論に格上げしません。比較に関する質問に答える結果と選択理由を、短い箇条書きまたは選択肢の行で要約します。判断に関係する観察結果を示し、それ以外の情報があるプロトタイプまたは証拠のパスを引用します。
禁止事項
- プロトタイプを本番環境対応と呼んだり、自動的に昇格/コミットしたり、別のユーザースキルを呼び出したりしないでください。
- 偽の連携を実物として報告したり、実行の証拠なしに成功を主張したりしないでください。
- 無関係なバリエーション、依存関係、マニフェスト/ロックファイルの編集、不必要な本番環境向け抽象化、価値のない第3の選択肢を追加しないでください。
成果物のパス
成果物にはタスクの権限が必要です。書き込み/チェックアウト/転送/除外設定の前に、Git の除外/パス/所有権の確認について 成果物のパス を読んでください。同一のコンテキスト内にある同一の内容は再利用します。不確かな場合はハッシュを確認し、変更/消失を再読します。安全性は必ず再確認してください。保存先が明示されていない場合は .tigerkit/ を使用します。チャットのみの場合は、ファイル/除外設定とこの参照を省略します。これによって、無関係な変更/公開の権限が与えられることはありません。許可された機密情報以外のクリーンアップには、新しいディレクトリとサポートされているゴミ箱を優先します。対象は記録済みの、絶対パスとして解決された実行所有のパスに限定し、cd とワイルドカード/相対パスを組み合わせた削除は決して行いません。
読者向けの結果概要
結果、実際に確認した内容、重大な制約、成果物への直接リンクを含む簡潔な結果を返してください。予定や省略した確認と、実行済みの作業を区別してください。未完了の手動確認や、実際のクリーンアップ、ブロッカー、人手による対応の詳細を残してください。未確認の完了やクリーンアップを主張してはいけません。所有者が必須とする成果物、公開プレビュー、承認の境界、マシンへの返却、正確なステータス/フッター、最後の質問ブロックを維持してください。入れ子の返却内容は簡潔にし、空のセクションは省略してください。
出力表記
囲み数字やキーキャップ数字ではなく、ASCII の番号付け(1. Item、(1) Item)と - Item を使ってください。
省略記号を使わず、例も含め、絶対パス全体をクリック可能な形で示してください。
編集が許可されている場合を除き、コード、コマンド、識別子、URL、引用、確認済みの UI ラベルは正確に維持してください。
複数の共通属性を比較するチャットでは、列を絞った GFM パイプテーブル(約 4 列、見出しあり、セルは短く)を使い、それ以外ではリストを使ってください。ボックス罫線、フェンス付きテーブル、空のテーブルは使わないでください。所有者固有のプレビューを優先してください。公開本文とファイル成果物では、それぞれ固有のテーブル形式を維持してください。
レンダリングされる Markdown の文章では、範囲をハイフンで示し、文字としてのチルダは \~ とエスケープしてください。正確さが求められるコード、引用、識別子はそのまま維持してください。
許可された一時入力ファイルについては、作成と読み込みの前に Artifact Paths に従ってください。あらかじめ記入されたテンプレートは、入力の完了を意味しません。これは書き込み権限を付与するものではありません。
ユーザーからの質問
事実を調べ、既存の許可を活用してください。ユーザー所有の決定事項については
質問ラウンドを読み、それ以外は先に進めてください。
通常のチャットでは、単独の --- に続けて、各項目を
❓ **Q<n> · <title>**: <question>
および ➡️ <recommendation> の形式で示してください。
前提条件が確定した質問だけを尋ね、承認は別にしてください。
質問は最後に置き、ステータス、リスク、計画を先に記載してください。
スキルへのフィードバック
再利用可能なインシデントについては、秘密情報を含まない最小限の証拠を現在の会話に残し、tk-retro を提案してください。ユーザーから依頼がない限り、永続メモリには書き込まないでください。
実行、フィードバック成果物、インストール済みスキルの編集、公開には、それぞれ所定のワークフローを通じた個別の許可が必要です。この案内は、いずれの許可も付与しません。