Agent Skills
Agent Skills は、AI エージェントに特化した機能を追加するためのオープン標準です。スキルは、エージェントが特定のタスクを実行する際に使用できる、ドメイン固有の知識とワークフローをパッケージ化したものです。
スキルとは?
スキルは、エージェントにドメイン固有のタスクの実行方法を教える、持ち運び可能でバージョン管理されたパッケージです。スキルには、エージェントがツールを使って利用できるスクリプト、テンプレート、リファレンスを含めることができます。
ポータブル
スキルは、Agent Skills 標準をサポートするあらゆるエージェントで使用できます。
バージョン管理
スキルはファイルとして保存され、リポジトリで追跡したり、GitHub リポジトリのリンクからインストールしたりできます。
実行可能
スキルには、エージェントがツールを使って利用できるスクリプト、テンプレート、リファレンスを含めることができます。
段階的
スキルは必要に応じてリソースを読み込むため、コンテキストの利用を効率化できます。
スキルの仕組み
Cursor の起動時に、スキルディレクトリからスキルが自動的に検出され、エージェント で利用できるようになります。エージェントには利用可能なスキルが提示され、コンテキストに応じて必要かどうかを判断します。
エージェント チャットで / を入力し、スキル名を検索して手動で呼び出すこともできます。この方法で呼び出したスキルは、1 つのメッセージに添付されます。セッション全体でスキルを有効にしておくには、Option+EnterAlt+Enter (Mac) または Alt+Enter (Windows) でカスタムモードとして使用します。カスタムモードを参照してください。
Cursor 組み込みスキル
Cursor には、一般的なワークフローを効率化するための組み込みスキルがいくつか用意されています。これらのスキルは Cursor によって管理され、自分で追加したスキルとともに表示されます。
| スキル | 機能 |
|---|---|
/automate | スケジュール、Slack メッセージ、GitHub イベントなどをトリガーとする Cursor 自動化を作成します。 |
/babysit | プルリクエストを監視し、フィードバック、競合、失敗したチェック、追加対応に対処します。 |
/canvas | 会話と並んで表示されるインタラクティブな React アーティファクトを作成します。 |
/create-hook | Cursor フックを作成し、エージェントのライフサイクルイベント用に hooks.json を更新します。 |
/create-rule | 適切なスコープと指示を持つ Cursor ルールを作成します。 |
/create-skill | 構成と SKILL.md ファイルを含む エージェント Skills を作成します。 |
/create-subagent | 特化した役割と委任指示を持つカスタムサブエージェントを作成します。 |
/cursor-blame | AI による変更と、それを生成したプロンプトを調査します。 |
/loop | 指定した間隔でプロンプトまたはスキルを繰り返し実行します。 |
/migrate-to-skills | 対象となる動的ルールとスラッシュコマンドを エージェント Skills に変換します。 |
/review | 適切なコードレビューエージェントを選択して実行します。 |
/review-bugbot | Bugbot でコードをレビューし、発生する可能性が高いバグとリグレッションを検出します。 |
/review-security | Security Review でコードをレビューし、セキュリティ脆弱性を検出します。 |
/sdk | Cursor SDK を使用したアプリケーションや連携の構築を支援します。 |
/shell | 指定されたテキストをそのままシェルコマンドとして実行します。 |
/split-to-prs | 大きな変更を小さなプルリクエストに分割します。 |
/statusline | Cursor CLI のステータスラインを設定します。 |
/update-cli-config | ~/.cursor/cli-config.json の Cursor CLI 設定を更新します。 |
/update-cursor-settings | 適切な Cursor または VS Code の設定を見つけて更新します。 |
Agent チャット で / を入力し、スキル名を選択すると、任意の組み込みスキルを実行できます。リクエストがその目的に明確に合致する場合は、エージェントが一部の組み込みスキルを自動的に使用することもあります。
スキルディレクトリ
スキルは次の場所から自動的に読み込まれます。
| 場所 | スコープ |
|---|---|
.agents/skills/ | プロジェクトレベル |
.cursor/skills/ | プロジェクトレベル |
~/.agents/skills/ | ユーザーレベル (グローバル) |
~/.cursor/skills/ | ユーザーレベル (グローバル) |
互換性のため、Cursor は .claude/skills/、.codex/skills/、~/.claude/skills/、~/.codex/skills/ の Claude および Codex ディレクトリからもスキルを読み込みます。
各スキルは、SKILL.md ファイルを含むフォルダーである必要があります。
.agents/└── skills/ └── my-skill/ └── SKILL.mdスキルには、スクリプト、リファレンス、アセット用の任意のディレクトリを含めることもできます。
.agents/└── skills/ └── deploy-app/ ├── SKILL.md ├── scripts/ │ ├── deploy.sh │ └── validate.py ├── references/ │ └── REFERENCE.md └── assets/ └── config-template.jsonネストされたスキルディレクトリ
スキルディレクトリはサブディレクトリに整理できます。関連するスキルをカテゴリ、チーム、ドメインごとにグループ化するのに役立ちます。Cursor はスキルのルートディレクトリを再帰的に探索し、見つかったすべての SKILL.md を読み込みます:
.cursor/└── skills/ ├── shipping/ │ ├── land-it/ │ │ └── SKILL.md │ └── careful-merge-conflicts/ │ └── SKILL.md ├── debugging/ │ └── using-datadog-mcp/ │ └── SKILL.md └── workflow/ └── tdd/ └── SKILL.mdカテゴリーフォルダーは整理目的にすぎません。スキルのIDは親カテゴリではなく、SKILL.md を含むフォルダー (ここでは land-it、tdd など) で決まります。
Cursor は、ネストされたプロジェクトのサブディレクトリ内にあるスキルも検出します。リポジトリ内のどこにある .cursor/skills/ (または .agents/skills/) フォルダーも検出されるため、モノレポではスキルを適用先のパッケージと同じ場所に配置できます。
my-monorepo/├── .cursor/skills/ # リポジトリ全体で使用するスキル│ └── land-it/SKILL.md└── apps/ └── web/ └── .cursor/skills/ # アプリ固有のスキル └── deploy-web/SKILL.mdネストされたプロジェクトディレクトリ内のスキルは、そのディレクトリ内のファイルに自動的に適用されます。上記の例では、deploy-web はエージェントが apps/web/ 配下のファイルを扱う場合にのみ表示され、リポジトリ全体の .cursor/skills/ 内にあるスキルはどこでも利用できます。これは paths フロントマターフィールドと同様です。ネストされたスキルをそのディレクトリに適用するために、paths を設定する必要はありません。
SKILL.md ファイルの形式
各スキルは、YAML フロントマターを含む SKILL.md ファイルで定義します。
---name: my-skilldescription: Short description of what this skill does and when to use it.---# My SkillDetailed instructions for the agent.## When to Use- Use this skill when...- This skill is helpful for...## Instructions- Step-by-step guidance for the agent- Domain-specific conventions- Best practices and patterns- Use the ask questions tool if you need to clarify requirements with the userフロントマターのフィールド
| フィールド | 必須 | 説明 |
|---|---|---|
name | 対応 | スキルの識別子。小文字、数字、ハイフンのみ使用できます。親フォルダー名と一致する必要があります。 |
description | 対応 | スキルの機能と使用するタイミングを説明します。エージェントが関連性を判断する際に使用します。 |
paths | 非対応 | 一致するファイルにスキルの適用範囲を限定するグロブパターンです。カンマ区切りの文字列またはリストを指定できます。設定した場合、エージェントが一致するファイルを扱うときにのみスキルが表示されます。 |
disable-model-invocation | 非対応 | true の場合、/skill-name で明示的に呼び出したときにのみスキルが含まれます。エージェントがコンテキストに基づいて自動的に適用することはありません。 |
icon | 非対応 | スキルをカスタムモードとして使用する際にバッジに表示されるアイコンです。デフォルトは稲妻アイコンです。 |
color | 非対応 | スキルをカスタムモードとして使用する際のバッジの色です。default、green、cyan、blue、purple、magenta、orange、yellow、red、brand のいずれかです。 |
metadata | 非対応 | 追加のメタデータ用の任意のキーと値のマッピングです。 |
スキルを特定のファイルに適用する
paths フィールドを使用すると、1 つ以上のグロブパターンに一致するファイルにスキルを限定できます。スキルは、エージェントが一致するファイルを読み取りまたは編集している場合にのみ表示されます。これにより、ファイル固有のガイダンスが無関係な作業のコンテキストに含まれるのを防げます。
---name: react-component-patternsdescription: Conventions for writing React components in this codebase.paths: - "**/*.tsx" - "packages/ui/**/*.ts"---# React component patterns...カンマ区切りの単一の文字列を渡すこともできます:
---name: python-styledescription: Style rules for Python files.paths: "**/*.py, scripts/**/*.py"---パターンには標準の glob 構文を使用します。開いているファイルに関係なく利用可能にするスキルでは、paths を設定しないでください。
レガシーの globs フィールドは古いスキル向けのフォールバックとして引き続き使用できますが、新しいスキルでは paths を使用してください。
自動呼び出しを無効にする
デフォルトでは、エージェントが関連すると判断したスキルが自動的に適用されます。disable-model-invocation: true を設定すると、スキルは従来のスラッシュコマンドのように動作し、チャットで /skill-name を明示的に入力した場合にのみコンテキストに含まれます。
スキルをカスタムモードとして使う
有効なフロントマターブロックを持つスキルは、カスタムモードとして使用でき、セッション全体を通してスキルがコンテキストに保持されます。有効なモードは、チャット入力にバッジとして表示されます。任意のiconおよびcolorフロントマターフィールドでスタイルを設定できます。
---name: tdddescription: Test-driven development playbook for this repo.icon: beakercolor: green---アイコンには Cursor のアイコンセットを使用します。名前は code、terminal、bug、git-branch、book-open、beaker、shield、rocket などです。認識されないアイコンや色には、稲妻アイコンのデフォルトバッジが使用されます。
スキルにスクリプトを含める
スキルには、エージェントが実行できるコードを含む scripts/ ディレクトリを含めることができます。SKILL.md では、スキルのルートを基準とした相対パスでスクリプトを参照します。
---name: deploy-appdescription: Deploy the application to staging or production environments. Use when deploying code or when the user mentions deployment, releases, or environments.---# Deploy AppDeploy the application using the provided scripts.## UsageRun the deployment script: `scripts/deploy.sh <environment>`Where `<environment>` is either `staging` or `production`.## Pre-deployment ValidationBefore deploying, run the validation script: `python scripts/validate.py`エージェントはこれらの指示を読み取り、スキルが呼び出されると、参照先のスクリプトを実行します。スクリプトは、Bash、Python、JavaScript のほか、エージェント実装でサポートされる任意の実行可能な形式で記述できます。
スクリプトは自己完結型にし、わかりやすいエラーメッセージを含め、エッジケースを適切に処理してください。
オプションのディレクトリ
スキルでは、以下のオプションのディレクトリをサポートしています。
| ディレクトリ | 目的 |
|---|---|
scripts/ | エージェントが実行できる実行可能なコード |
references/ | 必要に応じて読み込まれる追加ドキュメント |
assets/ | テンプレート、イメージ、データファイルなどの静的リソース |
メインの SKILL.md は要点に絞り、詳細なリファレンス資料は別ファイルに移してください。エージェントは必要なときにのみリソースを段階的に読み込むため、コンテキストを効率的に利用できます。
スキルを表示する
検出されたスキルを確認するには、サイドバーで カスタマイズする を開き、Skills に移動します。プラグインまたはプロジェクトからインストールしたスキルは、Agent Decides セクションにルールとともに表示されます。
GitHub からスキルをインストールする
GitHub リポジトリからスキルをインポートできます。
- サイドバーで カスタマイズする を開く
- ルールに移動し、ルールを追加をクリックする
- **リモートルール (GitHub) **を選択する
- GitHub リポジトリの URL を入力する
ルールとコマンドをスキルに移行する
Cursor 2.4 には、既存の動的ルールとスラッシュコマンドをスキルに変換するための組み込み /migrate-to-skills スキルが用意されています。
移行スキルで変換される項目:
- 動的ルール: 「Apply Intelligently」設定を使用するルール、つまり
alwaysApply: false(または未定義) で、globsパターンが定義されていないルールです。これらは標準スキルに変換されます。 - スラッシュコマンド: ユーザーレベルとワークスペースレベルのコマンドはいずれも、明示的に呼び出す挙動を維持したまま、
disable-model-invocation: trueを設定したスキルに変換されます。
移行するには:
- エージェント チャットで
/migrate-to-skillsと入力します - エージェントが対象となるルールとコマンドを特定し、スキルに変換します
.cursor/skills/で生成されたスキルを確認します
alwaysApply: true または特定の globs パターンを持つルールは、スキルの挙動とは異なる明示的なトリガー条件があるため移行されません。ユーザールールもファイルシステムに保存されないため、移行されません。
詳しく見る
Agent Skillsはオープン標準です。詳しくはagentskills.ioをご覧ください。