prototype について
prototypeは、開発上の問いに答えるための使い捨て実験を作るスキルです。問いに応じてロジックまたはUIを選び、実行と状態の確認を簡潔にし、削除前に結論を記録します。
主な機能
- 01問いに応じてロジックかUIを選択
- 02対象の近くにコードを配置
- 03状態は既定でメモリ内に保持
- 04変更後に全状態を表示
- 05削除前に結論を記録
活用シーン
- 01状態モデルの動作を検証
- 02単一ルートでUI案を比較
- 03本実装前にアイデアを確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sammcj/ agentic-coding --skill prototypeインストール後、Claude Code で/prototypeを入力して読み込まれたか確認します。
同梱ファイルLOGIC.mdUI.md
詳細
プロトタイプ
プロトタイプとは、問いに答えるための使い捨てコードです。問いによって形が決まります。
分岐を選ぶ
ユーザーのプロンプト、周辺のコード、またはユーザーが対応可能なら直接尋ねて、どの問いに答えるのかを特定します。
- 「このロジック/状態モデルは適切でしょうか?」 → LOGIC.md。紙上では推論しにくいケースでステートマシンを動かせる、小さな対話型ターミナルアプリを作成します。
- 「どのような見た目にすべきでしょうか?」 → UI.md。1つのルートで大きく異なるUIのバリエーションを複数生成し、URLの検索パラメーターと画面下部に固定表示されるバーで切り替えられるようにします。
この2つの分岐でできる成果物は大きく異なります。選択を誤ると、プロトタイプ全体が無駄になります。問いが本当に曖昧で、ユーザーに連絡できない場合は、周辺のコードにより合う分岐を選びます(バックエンドモジュールならロジック、ページやコンポーネントならUI)。そして、その前提をプロトタイプの冒頭に明記します。
どちらにも適用されるルール
- 初日から使い捨てとして扱い、そのことを明確に示します。 プロトタイプのコードは、実際に使われる場所の近く(対象のモジュールやページの隣)に配置して、文脈が明らかになるようにします。ただし、カジュアルに読む人にも本番用ではなくプロトタイプだと分かる名前を付けます。使い捨てのUIルートには、プロジェクトで既に使われているルーティング規約に従います。新たなトップレベル構成を作ってはいけません。
- 実行は1つのコマンドで行えるようにします。
pnpm <name>、python <path>、bun <path>など、プロジェクトで既存のタスクランナーがサポートする方法を使います。ユーザーが考えずに起動できるようにします。 - デフォルトでは永続化しません。 状態はメモリ上に保持します。永続化はプロトタイプで_検証する_対象であり、依存させるものではありません。問いにデータベースが明示的に関係する場合は、一時的なデータベース、または明確に「PROTOTYPE - wipe me」と名付けたローカルファイルを使います。
- 仕上げに時間をかけません。 テスト、プロトタイプを_実行可能_にするために必要な範囲を超えたエラー処理、抽象化は不要です。目的は、すばやく学び、その後削除することです。
- 状態を見えるようにします。 ロジックではアクションのたびに、UIではバリエーションを切り替えるたびに、関連する状態全体を出力または表示して、何が変わったのかユーザーが確認できるようにします。
- 完了したら削除するか、取り込みます。 プロトタイプが問いに答えたら、削除するか、検証済みの決定を実際のコードに取り込みます。リポジトリに放置して劣化させてはいけません。
完了したら
プロトタイプから残す価値があるのは、_答え_だけです。答えた問いとともに、永続的に残る場所(コミットメッセージ、ADR、イシュー、またはプロトタイプの隣に置く NOTES.md)に記録します。ユーザーに連絡できる場合は、その記録について手短に相談します。連絡できない場合は、判定を記入するためのプレースホルダーを残しておきます。ユーザー(または次回のあなた自身)が判定を記入してから、プロトタイプを削除できます。
コメント
Markdown 対応