Cursorには「Rules」「Skills」「MCP」「Hooks」と、エージェントをカスタマイズする仕組みが複数あります。どれに何を書くべきか迷いがちなので、役割の違いと使い分けの目安を整理しました。

なぜ「使い分け」が大事なのか
CursorはVS Codeをベースにしたエージェント型のAIエディタです。更新履歴を見ると、Skillsをチャットに固定する「Custom Modes」や、サブエージェントを別マシンで動かす機能など、エージェントまわりの機能が次々と増えています。機能が増えるほど「とりあえず全部Rulesに書く」運用は破綻しやすくなります。
4つの仕組みの役割
| 仕組み | 役割 | 向いている内容 |
|---|---|---|
| Rules | 常に守らせたい前提・制約 | コーディング規約、使用するテストコマンド、触ってはいけないディレクトリ |
| Skills | 繰り返し使う手順のパッケージ | E2Eテストの追加手順、リリース前チェックなど |
| MCP | 外部システムへの接続口 | 課題管理、DB、ブラウザ操作など、エディタの外にあるもの |
| Hooks | エージェントの動作前後に走る処理 | ログ記録、実行前チェック |
Rulesの種類と選び方
公式ドキュメントによると、Rulesには.cursor/rulesに置く「Project Rules」、Cursor全体に効く「User Rules」、チーム管理の「Team Rules」(Team/Enterpriseプラン)、そしてシンプルな代替である「AGENTS.md」があります。

Project Rulesはさらに適用方法で分かれます(解説記事 Cursor Rules Guide より)。
| タイプ | 使いどころ | 設定 |
|---|---|---|
| Always | ほぼ全タスクに関わる短い要件 | alwaysApply: true |
| Auto Attached | 特定のファイル種別・パス向け | globs |
| Agent Requested | 関連しそうなときだけ読み込ませたい | 明確なdescription |
| Manual | 人が呼び出す専用ワークフロー | @ルール名で指定 |
効かないときのチェック
- Agent Requestedなのに発動しない → descriptionが曖昧
- Auto Attachedなのに発動しない → globが実際のパスと合っていない
- 何にでも適用されてしまう → Alwaysを減らし、globを細かく分割する
確認は、無害で見分けやすい指示(特定のテストコマンドや出力形式など)を書いて新しい会話で試すのが安全です。
線引きの考え方
- 常に守る制約はRulesに短く書く。
- 手順のあるタスクはSkillsにする。複数ステップのワークフローをRulesに詰め込まない。
- 外部のライブデータ・操作はMCPに任せる。Skillsに認証情報を埋め込まない。
- 必ず実行したい処理(監査ログなど)はHooksにする。公式ドキュメントでも、プロンプトやコードの記録にはHooksの利用が案内されています。
この整理はCursor Skills Setupの記事でも同様に、役割を混ぜないことが推奨されています。
最初の一歩
- まずはリポジトリ直下にAGENTS.mdか、Alwaysルールを1つだけ置く。
- 同じ指示を3回以上チャットに書いたら、Skill化を検討する。
- 学習順は Tab → Inline Edit → Ask → Agent が小さく始められる(daily.dev)。AIの変更は必ず差分を確認してから進める。
主な情報源
- Rules | Cursor Docs
- Cursor Changelog
- Cursor Rules Guide
- Cursor Skills Setup
- daily.dev: Where to learn Cursor
各ツールは提供元の規約に従ってご利用ください。情報は各情報源の公開時点のものです。収集・要約はAI、公開判断は人。