Communityライティング&編集github.com

アイデアから仕様へ

漠然としたアイデアや中途半端なアイデアを、ラウンドベースのインタビューを通じて仕様(問題、ユーザー、ユーザーストーリー、要件、エッジケース、受け入れ基準)に変換します。仕様の作成、機能の定義、要件の明確化、またはアイデアから実装可能なものへの変換を求められたときに使用します。

アイデアから仕様へ とは?

このスキルは、ユーザーの頭の中にある漠然としたアイデアを、ラウンド形式の対話を通じて実行可能な仕様文書に変換します。各ラウンドでは、問題・期待される成果、ユーザーとアクター、ユーザーストーリー、スコープ、動作とエッジケース、非機能制約、セキュリティ、受け入れ基準といった側面を順に検討します。ユーザーは質問に答えるだけでよく、AIが対話を主導します。仕様文書は `docs/specs/<YYYYMMDD>-<type>-<name>/` 配下に作成され、`spec.md` と `plan.md` にはフロントマターでステータス(draft/approved/obsolete)が付与されます。未解決の疑問点は決して暗黙に仮定せず、選択肢形式で提示してユーザーの判断を仰ぎます。ドキュメントの変更方法、サイズに応じた成果物の選択、対話の終了条件と次のステップも明確に定義されており、要件定義プロセスを効率的かつ確実に進めるためのフレームワークを提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aitormf/agent-skills/tree/HEAD/skills/idea-to-spec

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

ドキュメント

アイデアから仕様へ は何をしますか?

アイデアを計画準備が整った仕様に変換する手助けをします。あなたが会話をリードし、相手は回答を提供します。

成果物とステータス

  • 各作業アイテムは docs/specs/<YYYYMMDD>-<タイプ>-<名前>/ に配置されます。タイプは Conventional Commits(feat、fix、refactor、docs…)に従い、名前はケバブケースとします。そのディレクトリが既に存在する場合は -2 を追加します。
  • spec.md と plan.md には、フロントマターに status: draft | approved | obsolete が含まれます。approved を設定できるのは人のみです。
  • 承認済みの成果物を変更した場合は、ステータスを draft に戻し、その旨を宣言します。
  • 作業管理(優先度、担当者、完了)はこのスキルの役割ではありません。それはトラッカーに記載されます。イシューが存在する場合、そのIDは issue: に記述します。

動作

  • 最初に、アイデアを短い段落で要約します。
  • 適切な仕様を書くために不足しているものを特定し、最小限の有用な質問をブロックするものから先に行います。
  • 「どのように」ではなく「何を」「なぜ」に焦点を当てます。フレームワークやアーキテクチャは、相手から求められた場合以外は扱いません。これらは spec-to-plan に属します。
  • docs/ARCHITECTURE.md が存在する場合は読み込み、用語集の語彙を使用し、原則との矛盾点を特定します。

ラウンドごとの質問

  1. 問題と期待される成果
  2. ユーザーとアクター
  3. ユーザーストーリー(各ユーザーが必要とするものとその理由)
  4. スコープと対象外
  5. 動作とエッジケース:空、無効、または大量のデータ。外部依存関係の障害。同時実行アクション。
  6. 非機能制約
  7. セキュリティ(データ、認証、または外部入力に触れる場合):データの機密性、誰が何をできるか、どの入力が信頼できないか、どのようなネガティブテストが必要か。
  8. 受け入れ基準(「Given…、when…、then…」)

あるラウンドを終えてもまだ曖昧な点がある場合は、その部分についてのみ質問します。

未解決の質問

回答を暗黙に仮定してはいけません。 未解決の質問ごとに:

[質問]

  • A) [あなたのデフォルト提案(ある場合)]
  • B) [明白な代替案]
  • C) 仕様の未解決質問として残す
  • D) その他の回答

相手が回答するか、未解決のままにすることを選択した場合にのみ、解決とみなします。

各返信の形式:理解したこと · 未解決の質問 · 次のステップ

サイズ

変更の深さに合わせます。パスを提案し、相手に決定させます:

変更成果物
一行のバグなし、または tasks.md のみ
複雑なバグspec.md + tasks.md
小さな機能spec.md + plan.md + tasks.md
プロダクション機能またはアーキテクチャリファクタリングすべて。仕様と計画のレビューを含む

終了条件

以下に十分な情報が揃った時点で終了します:目標、問題、ユーザー、ユーザーストーリー、スコープと対象外、機能要件と非機能要件、エッジケース、受け入れ基準。

その後:

  1. ディレクトリ名を提案し、assets/spec-template.md から status: draft で spec.md のドラフトを作成します。該当しないオプションセクションは削除します。
  2. ドラフトを表示し、相手が承認した場合にのみ書き込みます。
  3. 推奨される次のステップ:review-spec でレビューします。小規模で相手が満足している場合は、approved とマークして spec-to-plan に進むことができます。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

関連スキル