upfront-design について
upfront-designは、ソフトウェア設計を整理して記録するスキルです。要件からレビュー可能なマイルストーンへ進めるチーム向けに、各段階で承認を得ながら設計を進行します。
主な機能
- 01段階に沿った設計文書の作成
- 02承認後の段階内容の保存
- 03設計状態と承認記録の管理
- 04成功基準とシンボル・結果の対応付け
- 05承認済みマイルストーンの確認
活用シーン
- 01複雑な要件を段階的な設計に整理
- 02承認後に次の設計段階へ進行
- 03承認済み設計の最初の未完了マイルストーンを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ prathamdby/ skills --skill upfront-designインストール後、Claude Code で/upfront-designを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/check.mddecisions.mddesign.md詳細
事前設計
ルートと永続化
設計にはリクエスト/ステータスのフロントマターと、# Design: というタイトルがあります。
新規リクエスト → 設計、ドラフト → 最初の未完了セクション、承認済み → 次の未完了マイルストーンを確認します。
それ以外のステータス → BLOCKED。名前付きの改訂フェーズでは、ユーザーがその改訂を承認した後にのみ、後続のセクションを削除します。
このスキルの絶対パスのアンカーを解決します。新規設計はリポジトリ外の
<anchor>/designs/<basename>-<slug>-<YYYY-MM-DD-HHmmss>.md に保存します。
<basename> は最初のリポジトリのルートディレクトリ名です。
パスが確定したら、承認済みフェーズと台帳は、兄弟の一時ファイルを使ったアトミックなリネームによって、次のフェーズに進む前に永続化します。次の項目を記録します。
request | size | design | phase | approvals | ADR offers | terminal
台帳は AWAITING_USER の間は <design>.ledger に保持し、それ以外の終端状態では削除します。
小規模とは、1つのモジュールで、コントラクト/データ/公開シグネチャに変更がなく、成果を1文で表せるものです。該当する場合は、ファイルや台帳を作成せず、その文と DIRECT を返します。
ADR ツリー(docs/adr/、adr/、doc/adr/、docs/decisions/)を探します。見つからなくても通知しません。
references/design.md を使ってドキュメントを作成します。
ルート、規模、パス/フロントマター、関連する ADR が確定したら完了です。
設計フェーズ
各フェーズは AWAITING_USER で一時停止し、承認済みの内容を書き込んでから次のフェーズを開始します。最初の未完了フェーズ、または明示的に改訂されたフェーズから再開します。
- プロダクト: 具体的な課題、測定可能な成功指標、太字の1行ソリューション、ユーザー向け作業の場合は提供されたモックアップまたはドラフトのテキストワイヤーフレーム/状態テーブル、提供内容の段落を記載します。質問の全体像を1回の番号付きラウンドで尋ね、各質問への回答を推奨します。承認済みの内容を永続化したら完了です。
- システム: 太字で構成を示し、引用したパターン、NEW/CHANGED のレイヤーの役割、コスト上の理由を添えた情報源と制約、フェーズごとに区分したシーケンスを記載します。ADR との競合を明記し、上書きはしません。承認済みの内容を永続化したら完了です。
- プログラム: 変更される境界のコントラクト、制約、実際のシグネチャ、使用方法、役割を記載し、実装本体は記載しません。パターンまたは前提を引用します。不確かなレイアウトが2つある場合は比較して一方を選び、もう一方を採用しなかった理由を記録します。
複数の境界、変更されるディスパッチ、または不明確な非同期処理の順序がある場合は、
references/design.mdの Wiring ビューを適用します。 各成功指標がシンボル/結果に対応し、承認が永続化されたら完了です。 - スライス: 先にプリファクタリングを行い、薄いエンドツーエンドのコントラクト/チェックから始めます。各マイルストーンはレビュー可能な垂直 PR 1件とします。シンボル、期待される成功と関連する失敗、アサーション/手動での証明、リポジトリの順序、未チェックのチェックボックスを1つ明記します。延期/スキップを選べるのはユーザーだけです。大規模なリファクタリングは段階的に拡張してから縮小します。 すべてのシンボルが割り当てられ、承認済みマイルストーンが永続化されたら完了です。
- 最終化: 承認済みに設定します。元に戻しにくく、コンテキストなしでは意外で、実際の代替案より選ばれた決定に限り、ADR を提案します。承認されたら
references/decisions.mdを使います。ドキュメントの5つのセクションがすべて揃い、各 ADR の提案が記載されるか辞退されたら、DESIGNEDで完了です。設計/ADR のパス、ピアレビュー、マイルストーンの確認ルートを報告します。
チェック
承認済みの設計では、最初の未完了かつ延期/スキップされていないマイルストーンについて、references/check.md に従います。実行するコマンドを正確に提示し、実行前に承認を得ます。成功した終了コードだけではなく、結果の証拠と一致するシンボルがある場合にのみチェックを付けます。手動チェック項目が未完了の場合や、レガシーの結果が曖昧な場合は一時停止します。チェックを通すためにプロダクトのファイルを編集してはいけません。チェックに印が付いた場合、またはすべて完了している場合は CHECKED で完了し、それ以外は AWAITING_USER です。
終端状態:DIRECT(ルーターが何もせず正常終了)、AWAITING_USER、DESIGNED、CHECKED、BLOCKED。ドラフトのステータスと名前付きフェーズを使って改訂します。