Claude Code と Cursor による仕様駆動開発
Claude Code は、コードベースを読み、ファイルを編集し、コマンドを実行するエージェント型のコーディングツールです。Cursor は、プロジェクトルールが .cursor/rules に .mdc ファイルとして置かれるエディタです。仕様駆動開発(SDD、spec-driven development)は、コードより前に仕様を書き、仕様を真実の源として扱うやり方です。製品要求文書(PRD、product requirements document)は、作業をタスクに分ける前に、問題と範囲を述べる散文です。SpecScore では、機能仕様は製品の1つの能力のためのファイルであり、要件(REQ、requirement)はその機能の中の名前付きの規則であり、受け入れ基準(AC、acceptance criterion)は、それらの規則の1つ以上を指す任意の抽象的な条件です。継続的インテグレーション(CI、continuous integration)は、提案された変更のたびに走る自動検査です。その検査はコマンドラインインターフェース(CLI、command-line interface)のコマンド specscore spec lint で、その CLI は specscore/specscore-cli にあります。このページでいう Cursor の仕様は、その機能ファイルと、エージェントにそれをリントするよう伝える Cursor のプロジェクトルールとを合わせたものです。
最終更新: 2026年11月6日
機能に入るものと、エージェントのファイルに入るもの
機能ファイルが義務を持ちます。spec/features/ の下の機能 README は、#### REQ: の規則と ### AC: の基準を載せます。記入済みの形、プラン、タスクは、MarkdownのPRDテンプレートです。specscore spec lint はその形を検査します。見出し、必須の節、インデックスの行、参照です。製品の考えが良いものかどうかは決めません。CIで仕様リンターを使って仕様をリントするが、そのコマンドのより長い説明です。
エージェントのファイルは、1つのツールへの指示を持ちます。Anthropic の概要は、CLAUDE.md はプロジェクトのルートにある Markdown ファイルで、Claude Code がセッションの開始のたびに読む、と言います。Cursor のルールの文書は、プロジェクトルールは .mdc ファイルで .cursor/rules にあり、そのディレクトリにある素の .md ファイルは frontmatter がないために無視される、と言います。それらのファイルは、リポジトリの中でどう働くかをエージェントに伝えます。リンターが検査する仕様ではありません。CLAUDE.md にだけ、または .cursor/rules/specscore.mdc にだけ存在する要件は、specscore spec lint からは見えません。
specscore agent setup が書くもの
CLI の README は、specscore agent setup が各エージェントの指示ファイルを書き、そのエージェントにスキルのディレクトリがある場合は SpecScore のスキルバンドルをそこへコピーする、と言います。コマンドは、--force を渡さない限り、既存のファイルをスキップします。契約は agent-setup 機能 で、specscore/specscore-cli にあります。
その契約は、呼び出し元 id claude を CLAUDE.md と .claude/skills/ に、呼び出し元 id cursor を .cursor/rules/specscore.mdc と .cursor/skills/ に対応させます。すでに specscore.yaml があるプロジェクトの中でコマンドを実行します。そのファイルがないと、コマンドは終了コード 6 で終わり、メッセージは specscore init を示します。両方のエージェントを名指す1回の呼び出しは specscore agent setup claude,cursor です。機能は、カンマ区切りの一覧は別々の引数と同じだと言います。親ディレクトリは作られます。すべてのパスは、追加、変更、またはスキップとして報告されます。
生成された CLAUDE.md には、プロジェクトのタイトル、--caller claude を渡す CLI の例、インストール行 /plugin install specscore@specscore が含まれます。Cursor のファイルは、YAML の frontmatter を持つ Markdown です。frontmatter には description と alwaysApply: true が含まれます。Cursor のルールの表は、alwaysApply: true はルールがすべてのチャットに含まれるという意味だと言います。--no-skills は指示ファイルを書き、スキルバンドルはコピーしません。同じ契約の表は、codex、copilot、antigravity.google、pi.dev、opencode、deepseek も名指します。このページが扱うのは、タイトルにある2つのエージェントです。
specscore agent setup claude,cursor
CLAUDE.md
.claude/skills/
.cursor/rules/specscore.mdc
.cursor/skills/
指示ファイルは機能ツリーを指します。それを置き換えません。セットアップの後も、Claude Code は spec/features/ を読まなければならず、Cursor のルールも同じツリーを指していなければなりません。機能仕様は、specscore spec lint が受け入れるか拒否するかの文書であり続けます。
ループの中で specscore spec lint を実行する
まず CLI をインストールします。インストールの方法はインストールページにあります。それから、機能とリンターを、エージェントと同じループに保ちます。
プロンプトの前に機能を書く
PRDテンプレートを使って、機能 README、機能インデックスの行、specscore.yaml を加えます。各義務は ## Behavior の下に #### REQ: {slug} として置きます。受け入れ基準は **Requirements:** でそれらの id を指します。CLAUDE.md と .cursor/rules/ は次の手順に残します。
エージェントがコードを編集する前にリントする
リポジトリで specscore spec lint を実行します。きれいなツリーは 0 violations found を印字して終了コード 0 です。失敗の報告 — ファイル、行、深刻度、規則、メッセージ — は CIで仕様リンターを使って仕様をリントする にあります。そのコマンドがきれいになるまで機能を直します。リンターがすでに拒否している機能から始めるエージェントは、壊れた形を写します。
Claude Code と Cursor をツリーへ向ける
specscore agent setup claude,cursor を実行します。追加された CLAUDE.md と .cursor/rules/specscore.mdc を読み、それらが仕様ツリーと CLI を名指していること、--caller を含むことを確認します。どちらかのファイルがすでに存在していれば、コマンドはそれをスキップします。--force を渡すのは、そのファイルを置き換えるつもりのときだけです。
基準を名指すタスクを頼む
エージェントのセッションでは、作業が満たさなければならない機能と受け入れ基準を名指します。プランのタスクは、**Verifies:** と受け入れ基準の id でそれをします。終わる前にもう一度 specscore spec lint を実行すること、振る舞いが変わったら機能ファイルを変えることを、エージェントに頼みます。指示ファイルは、エージェントにコマンドの実行を伝えます。コマンドが検査するのは機能ファイルです。
lint、feature、task を出すスキル
ラッパープラグインについて、CLI の README のインストール行は /plugin marketplace add specscore/ai-marketplace と /plugin install specscore@specscore です。プラグインのリポジトリは specscore/ai-plugin-specscore で、MIT ライセンス の下にあります。その skills の README は、利用者が /specscore:<skill-name> を呼び出すと言います。出荷されているラッパーには /specscore:spec が含まれ、それは specscore spec lint を包みます。/specscore:feature は specscore feature(list、info、tree、deps、refs、new、change-status)を包みます。/specscore:task は specscore task を包みます。/specscore:change-status は、機能とアイデアの状態変更を扱います。このサイトの CLI Skills ページは、そのラッパーです。specscore agent setup は、それらのスキルバンドルを .claude/skills/ と .cursor/skills/ へコピーします。ただし --no-skills を渡したときはコピーしません。
プラグインの README は、Cursor にはリモートインストールのコマンドがなく、スキルはプロジェクトの .cursor/skills/ からか、~/.cursor/skills/ から読み込む、と言います。そこに示されている手動のコピーは、git clone で ai-plugin-specscore を取り、cp -R で skills/* を .cursor/skills/ へ入れるものです。specscore agent setup cursor は、機能仕様が名指すマーケットプレイスから、そのコピーを代わりに行うコマンドです。
SpecStudio Skills は案内付きのワークフローです。リポジトリは specscore/specstudio-skills で、MIT ライセンス の下にあります。その README の Claude Code のインストール行は /plugin install specstudio@specscore で、Claude Code は specscore プラグインを依存としてインストールする、と言います。ステータスの節はバージョン 0.0.7 を名指しし、ideate、specify、plan、implement、verify、recap のスキルは dogfood できる程度に有効だと言います。同じ README の一覧表は、specstudio:ideate と specstudio:specify を詳しく文書化しています。それらのスキルは SpecScore の成果物を書きます。specscore spec lint を置き換えません。
CI でも同じコマンド
dogfood.yml は specscore/specscore で SPECSCORE_VERSION を v0.39.1 に設定し、プルリクエストと main への push で specscore spec lint を実行します。ワークフローの抜粋とテキストの報告は CIで仕様リンターを使って仕様をリントする にあります。見出しを壊した機能は、ファイルを書いたのが Claude Code でも Cursor でも、そのジョブを失敗させます。エージェントのループと CI は同じコマンドを呼びます。
フォーマットのライセンスは CC BY 4.0 で、specscore/specscore にあります。CLI のライセンスは Apache-2.0 で、specscore/specscore-cli にあります。
ほかの仕様駆動のツールは、別の検査を公開しています。下の文は、それらのプロジェクト自身のページが述べていることだけを使います。ツールまとめ は、同じページを 2026年10月30日に読んだと記録しています。ただし Spec Kit の文書のホームは 2026年9月28日と印字しています。
OpenSpec は openspec validate を、その CLI リファレンス で文書化しています。そのコマンドは OpenSpec の変更と仕様の構造を検査します。SpecScore の ### AC: 見出しは検査しません。
Task Master の README は、task-master parse-prd で PRD をタスクへ解析することを述べています。その PRD のためのリンターは述べていません。
GitHub Spec Kit は、段階が Markdown の成果物を書くエージェントのワークフローを述べています。その文書のホームは、CI で SpecScore の機能 README をリントするコマンドを述べていません。
よくある質問
Claude Code の仕様駆動開発とは何ですか?
Claude Code がコードを書く前に SpecScore の機能を書き、それから CLAUDE.md を、その機能を指す指示ファイルとして保つことです。機能は要件(REQ)と受け入れ基準(AC)を持ちます。specscore spec lint が機能を検査します。specscore agent setup claude は CLAUDE.md を、すでに specscore.yaml があるプロジェクトに書きます。
Cursor の仕様はどこに置きますか?
製品の義務は spec/features/ の下の機能 README に入ります。Cursor のプロジェクトルールは .cursor/rules/specscore.mdc に入ります。スキルのファイルは .cursor/skills/ に入ります。specscore agent setup cursor はルールを書き、--no-skills を渡さない限り、スキルバンドルをコピーします。.mdc のルールがどう適用されるかの源は、Cursor 自身の文書です。
CLAUDE.md は機能仕様を置き換えますか?
いいえ。CLAUDE.md は、Claude Code が指示として読むものです。機能 README は、specscore spec lint が検査するものです。agent-setup 機能 は、生成されたファイルがエージェントに仕様ツリーと CLI コマンドを教える、と言います。指示ファイルが仕様だとは言っていません。
CLAUDE.md または Cursor のルールがすでに存在する場合はどうなりますか?
コマンドは既存のファイルをスキップし、--force に触れるスキップ行を印字します。既存のバイトはそのまま残ります。--force を渡すのは、置き換えが望むものであるときだけです。同じスキップの規則は、すでに存在するスキルファイルにも適用されます。
どのスキルがリンターを実行しますか?
プラグインの skills README では、/specscore:spec が specscore spec lint を包みます。その CLI コマンドは、エージェントのセッションでも CI でも、自分で実行できます。/specscore:feature と /specscore:task は、機能とタスクのコマンドを包みます。それら自体はリントしません。
リンターは散文を採点しますか?
いいえ。specscore spec lint が検査するのは構造です。CIで仕様リンターを使って仕様をリントする が報告を示します。構造の検査がきれいでも、製品のレビューではありません。
出典
agent-setup の挙動は、main 上の specscore-cli spec/features/cli/agent/setup/README.md にある契約で、2026年11月6日に読みました。スキル名は、main 上の ai-plugin-specscore skills/README.md からで、同じ日に読みました。SpecStudio のインストール行とバージョン 0.0.7 のステータス一覧は、main 上の specstudio-skills README.md からで、同じ日に読みました。Claude Code の説明と CLAUDE.md の文は code.claude.com/docs/en/overview からです。Cursor のプロジェクトルールのパスは cursor.com/docs/rules からです。このリポジトリの dogfood.yml は SPECSCORE_VERSION を v0.39.1 にピンしています。競合のページは下にリンクしたものです。ツールまとめは、それらを 2026年10月30日に読んだと記録しています。ただし Spec Kit の文書のホームは 2026年9月28日と印字しています。
- Claude Code — 概要(CLAUDE.md)
- Cursor — ルール(プロジェクトルールは .mdc ファイル)
- specscore-cli — agent-setup 機能
- specscore-cli — README(agent setup とプラグインのインストール)
- specscore/specscore-cli
- specscore-cli — Apache-2.0 ライセンス
- specscore/specscore
- specscore/specscore — CC BY 4.0 ライセンス
- specscore/specscore — dogfood.yml(CLI v0.39.1)
- specscore/ai-plugin-specscore
- ai-plugin-specscore — MIT ライセンス
- ai-plugin-specscore — skills の README
- ai-plugin-specscore — README(Cursor へのコピー)
- specscore/specstudio-skills
- specstudio-skills — MIT ライセンス
- specstudio-skills — README(バージョン 0.0.7)
- CLI Skills
- SpecStudio Skills
- AIコーディング向けMarkdownのPRDテンプレート
- CIで仕様リンターを使って仕様をリントする
- 機能仕様
- 受け入れ基準の仕様
- OpenSpec の CLI リファレンス — openspec validate
- Fission-AI/OpenSpec
- eyaltoledano/claude-task-master
- GitHub Spec Kit の文書(ページの日付 2026年9月28日)
- 仕様駆動開発ツール