name と description のみです。SKILL.md の完全な内容とサポートファイルが読み込まれるのは、Cascade がそのスキルを呼び出すと判断したとき (または @mention したとき) だけです。これにより、多数のスキルを定義していてもコンテキストウィンドウをスリムに保てます。
Skills の仕様の詳細については、agentskills.io を参照してください。
スキルの作成方法
UI を使う方法(最も簡単)
- Cascade パネルを開きます
- パネル右上の三点アイコンをクリックして、Customizations メニューを開きます
Skillsセクションをクリックします+ Workspaceをクリックしてプロジェクト固有のワークスペーススキルを作成するか、+ Globalをクリックしてグローバルスキルを作成します- スキルに名前を付けます(小文字のアルファベット、数字、ハイフンのみ使用可能)
手動作成
- ディレクトリを作成します:
.windsurf/skills/<skill-name>/ - YAML フロントマターを含む
SKILL.mdファイルを追加します
- ディレクトリを作成します:
~/.codeium/windsurf/skills/<skill-name>/ - YAML フロントマターを含む
SKILL.mdファイルを追加します
SKILL.md ファイル形式
SKILL.md ファイルが必要です。
サンプルスキル
必須の Frontmatter フィールド
- name: Skill の一意な識別子(UI に表示され、@メンションにも使用されます)
- description: Skill をいつ呼び出すべきかを判断できるように、AI モデルに渡される簡潔な説明
deploy-to-staging, code-review, setup-dev-environment
サポートリソースの追加
SKILL.md と同じスキル用フォルダ内に配置します。これらのファイルは、スキルが呼び出されたときに Cascade から利用できるようになります。
スキルの呼び出し
自動呼び出し
description フィールドが重要です。これは、その Skill をいつ呼び出すべきかを Cascade が理解する助けになります。Skill が何を行い、いつ使うべきかを明確に説明するように記述してください。
手動呼び出し
@skill-name と入力することで、いつでもスキルを明示的に起動できます。これは、特定のスキルを必ず使用させたい場合や、リクエストだけでは自動的にトリガーされない可能性のあるスキルを明示的に呼び出したい場合に便利です。
スキルのスコープ
エージェント間の互換性のため、Windsurf は
.agents/skills/ と ~/.agents/skills/ 内のスキルも検出します。Claude Code の設定の読み取りを有効にしている場合は、.claude/skills/ と ~/.claude/skills/ もスキャンされます。システムレベルのスキル (Enterprise)
各スキルは、ワークスペーススキルと同様、
SKILL.md ファイルを含むサブディレクトリです。
利用例
デプロイワークフロー
コードレビューガイドライン
テスト手順
ベストプラクティス
- 明確な説明を書く: 説明文は、Cascade がそのスキルをいつ呼び出すべきか判断する助けになります。スキルが「何をするのか」「いつ使うべきか」を具体的に書いてください。
- 関連するリソースを含める: テンプレート、チェックリスト、サンプルなどがあると、スキルはさらに有用になります。そのタスクを完了するうえで、どのファイルが役立つかを考えてみてください。
-
わかりやすい名前を使う:
deploy-to-stagingはdeploy1よりも適切です。名前から、そのスキルが何をするのかが明確に伝わるようにしてください。
Skills vs Rules vs Workflows
Rule of thumb: Cascade に自動的に拾ってほしく、なおかつ サポートファイルが必要ならスキルを使います。短い振る舞い上の制約なら Rule を使います。常に自分でトリガーしたいなら Workflow を使います。
Skills がお探しの機能と異なる場合は、他の Cascade 機能もご確認ください:
- Workflows - スラッシュコマンドで呼び出せる再利用可能な Markdown ワークフローを使って、繰り返し作業を自動化します
- AGENTS.md - ファイルの場所に基づいて自動的に適用される、ディレクトリ単位の指示を提供します
- Memories & Rules - 自動生成されるメモリとユーザー定義ルールにより、会話間のコンテキストを保持します