Communitygithub.com

perhapsspy/purpose-first-design

コードを書く前に、設計が正しい問題を解決しているかを確認します。

purpose-first-design とは?

Purpose-First Design は、実装計画の決定に先立って、製品や実装の方針を最小限かつ防御可能な方向性に絞り込むためのスキルです。このスキルは、解決すべき問題の本質を「目的(Purpose)」として明確に定義し、意思決定を「LOCKED(固定)」「EVIDENCE(証拠)」「ASSUMPTION(前提)」「OPEN(未解決)」の4つのカテゴリに分類することで、曖昧さや不必要な複雑さを排除します。主にClaude CodeやCursorなどのAIエージェント上で動作し、開発者が設計の初期段階で誤った方向に進むリスクを軽減します。最終的には、最小限の方向性、決定を変える可能性のあるチェック、あるいはブロックしている質問のいずれかを成果として出力し、次のワークフロー(構造ファースト、ドキュメント強化など)へスムーズに引き継ぎます。このスキルは、セキュリティ、ロールバック、所有権、運用などの境界条件を無視せずに、本質的な複雑さだけを保持するよう設計されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add perhapsspy/purpose-first-design

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Purpose-First Design(目的ファースト設計)

役割と終了条件

解決策の構造が固定される前に、実質的に未確定の製品または実装計画の判断に対して、最小限かつ防御可能な方向性を選択します。「目的」は成功の定義を決定します。ロックされたユーザー決定、権限、必要なセキュリティ、ロールバック、所有権、運用の境界が回答を拘束し、それらは代替案ではありません。

暫定的な方向性、実際に未確定の選択を変えうる最小限のチェック、または1つのブロックしている質問で終了します。実質的な方向性が残っていない場合は、簡潔にその旨を伝え、代替案をでっち上げずにハンドオフします。

決定契約

  • 目的と、選択を区別するために必要な観察可能な成功のみを述べます。
  • 決定に関連する入力を LOCKED(固定)、EVIDENCE(証拠)、ASSUMPTION(前提)、OPEN(未解決)に分離します。固定された決定、明示的な制約、却下されたスコープ、証拠で解決された項目を OPEN に昇格させてはいけません。失敗したチェックは、未解決のメカニズムのみを変更でき、ロックされた製品の意味は変更できません。
  • 既存の実装、前例、デフォルト、緊急性は、明示的に権威がない限り、証拠として扱います。意味、責任、永続状態、ポリシー、ライフサイクル、公開契約、許容リスク、または元に戻すのが難しい結合を実質的に変更する代替案のみを比較します。
  • 最小限の十分な方向性を選択します。ソースまたは選択された方向性が必要としない限り、所有者、プロセス、ロールバック機構、プラットフォーム、将来のプログラム、未解決の決定を追加してはいけません。

ハンドオフ

現在の権限が不明な場合は、最初に source-owner-audit(ソース所有者監査)を使用します。決定済みの実現詳細(コードフロー、状態、順序付け、インターフェース、障害処理、実装順序)は structure-first(構造ファースト)にハンドオフします。決定済みの表現とパッケージングは tighten-docs(ドキュメント強化)にハンドオフします。

簡潔な決定ハンドオフを返します。方向性、決定を変える根拠、固定された境界、実際の前提または未解決の決定、次の決定的なチェックまたは担当ワークフローを含めます。境界は、それが選択された方向性を制約する場合のみ含めます。

最終削減

あなたの回答によって導入されたスコープ、コミットメント、前提、未解決の決定のみをレビューします。目的、固定された境界、権限、証拠、選択された方向性が要求しないものはすべて削除します。製品の意味と必要な境界が同じである場合にのみ、代替案を統合します。

このパスはスコープ、コミットメント、前提、未解決の決定、ハンドオフを削減することはできますが、作成してはいけません。また、LOCKED の意味を再び開くことは決して許されません。欠落している必須の境界が明らかになった場合は、その境界をオプションではなく必須として述べます。セキュリティ、ロールバック、所有権、運用、または実証済みの障害モードに必要な複雑さは保持します。

関連スキル