Cursorの Rules・Skills・MCP・Hooks をどう使い分ける?エージェント設定の整理術

Cursor・開発ツール のアイキャッチ

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

AIエージェントとツールのイメージ

なぜ「使い分け」が大事なのか

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」があります。

コードが映る画面を見るプログラマー
Photo: qubodup / CC BY 2.0(Openverse経由)

Project Rulesはさらに適用方法で分かれます(解説記事 Cursor Rules Guide より)。

タイプ 使いどころ 設定
Always ほぼ全タスクに関わる短い要件 alwaysApply: true
Auto Attached 特定のファイル種別・パス向け globs
Agent Requested 関連しそうなときだけ読み込ませたい 明確なdescription
Manual 人が呼び出す専用ワークフロー @ルール名で指定

効かないときのチェック

  • Agent Requestedなのに発動しない → descriptionが曖昧
  • Auto Attachedなのに発動しない → globが実際のパスと合っていない
  • 何にでも適用されてしまう → Alwaysを減らし、globを細かく分割する

確認は、無害で見分けやすい指示(特定のテストコマンドや出力形式など)を書いて新しい会話で試すのが安全です。

線引きの考え方

  1. 常に守る制約はRulesに短く書く。
  2. 手順のあるタスクはSkillsにする。複数ステップのワークフローをRulesに詰め込まない。
  3. 外部のライブデータ・操作はMCPに任せる。Skillsに認証情報を埋め込まない。
  4. 必ず実行したい処理(監査ログなど)はHooksにする。公式ドキュメントでも、プロンプトやコードの記録にはHooksの利用が案内されています。

この整理はCursor Skills Setupの記事でも同様に、役割を混ぜないことが推奨されています。

最初の一歩

  • まずはリポジトリ直下にAGENTS.mdか、Alwaysルールを1つだけ置く。
  • 同じ指示を3回以上チャットに書いたら、Skill化を検討する。
  • 学習順は Tab → Inline Edit → Ask → Agent が小さく始められる(daily.dev)。AIの変更は必ず差分を確認してから進める。

主な情報源

各ツールは提供元の規約に従ってご利用ください。情報は各情報源の公開時点のものです。収集・要約はAI、公開判断は人。