> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

> Skills help Cascade handle complex, multi-step tasks.

最も難しいエンジニアリングタスクでは、優れたプロンプトだけでは足りないことがよくあります。参照用スクリプト、テンプレート、チェックリスト、その他のサポートファイルが必要になることもあります。スキルを使うと、これらをすべてフォルダにまとめて、Cascade が呼び出せる (読み取って利用できる) ようにできます。

スキルは、Cascade に複数ステップのワークフローを一貫して実行する方法を教えるための優れた手段です。

Cascade は [**段階的開示**](https://agentskills.io/what-are-skills#how-skills-work) を使用します。デフォルトでは、モデルに表示されるのはスキルの `name` と `description` のみです。`SKILL.md` の完全な内容とサポートファイルが読み込まれるのは、**Cascade がそのスキルを呼び出すと判断したとき** (または `@mention` したとき) だけです。これにより、多数のスキルを定義していてもコンテキストウィンドウをスリムに保てます。

Skills の仕様の詳細については、[agentskills.io](https://agentskills.io/home) を参照してください。

<div id="how-to-create-a-skill">
  ## スキルの作成方法
</div>

<div id="using-the-ui-easiest">
  ### UI を使う方法（最も簡単）
</div>

1. Cascade パネルを開きます
2. パネル右上の三点アイコンをクリックして、Customizations メニューを開きます
3. `Skills` セクションをクリックします
4. `+ Workspace` をクリックしてプロジェクト固有のワークスペーススキルを作成するか、`+ Global` をクリックしてグローバルスキルを作成します
5. スキルに名前を付けます（小文字のアルファベット、数字、ハイフンのみ使用可能）

<div id="manual-creation">
  ### 手動作成
</div>

**ワークスペーススキル（プロジェクト固有）:**

1. ディレクトリを作成します: `.windsurf/skills/<skill-name>/`
2. YAML フロントマターを含む `SKILL.md` ファイルを追加します

**グローバルスキル（すべてのワークスペースで利用可能）:**

1. ディレクトリを作成します: `~/.codeium/windsurf/skills/<skill-name>/`
2. YAML フロントマターを含む `SKILL.md` ファイルを追加します

<div id="skillmd-file-format">
  ## SKILL.md ファイル形式
</div>

各スキルには、そのスキルのメタデータを先頭の YAML フロントマターで定義した `SKILL.md` ファイルが必要です。

<div id="example-skill">
  ### サンプルスキル
</div>

```markdown theme={null}
---
name: deploy-to-production
description: Guides the deployment process to production with safety checks
---

## Pre-deployment Checklist
1. Run all tests
2. Check for uncommitted changes
3. Verify environment variables

## Deployment Steps
Follow these steps to deploy safely...

[Reference supporting files in this directory as needed]
```

<div id="required-frontmatter-fields">
  ### 必須の Frontmatter フィールド
</div>

* **name**: Skill の一意な識別子（UI に表示され、@メンションにも使用されます）
* **description**: Skill をいつ呼び出すべきかを判断できるように、AI モデルに渡される簡潔な説明

有効な name の例: `deploy-to-staging`, `code-review`, `setup-dev-environment`

<div id="adding-supporting-resources">
  ## サポートリソースの追加
</div>

任意のサポートファイルを、`SKILL.md` と同じスキル用フォルダ内に配置します。これらのファイルは、スキルが呼び出されたときに Cascade から利用できるようになります。

```
.windsurf/skills/deploy-to-production/
├── SKILL.md
├── deployment-checklist.md
├── rollback-procedure.md
└── config-template.yaml
```

<div id="invoking-skills">
  ## スキルの呼び出し
</div>

<div id="automatic-invocation">
  ### 自動呼び出し
</div>

リクエストがいずれかの Skill の説明に合致すると、Cascade はその Skill を自動的に呼び出し、その指示とリソースを使ってタスクを完了します。これは Skill の最も一般的な使われ方です。やりたいことを説明するだけで、Cascade がどの Skill が関連するかを判断してくれます。

Skill のフロントマター内の `description` フィールドが重要です。これは、その Skill をいつ呼び出すべきかを Cascade が理解する助けになります。Skill が何を行い、いつ使うべきかを明確に説明するように記述してください。

<div id="manual-invocation">
  ### 手動呼び出し
</div>

Cascade の入力欄で `@skill-name` と入力することで、いつでもスキルを明示的に起動できます。これは、特定のスキルを必ず使用させたい場合や、リクエストだけでは自動的にトリガーされない可能性のあるスキルを明示的に呼び出したい場合に便利です。

<div id="skill-scopes">
  ## スキルのスコープ
</div>

| スコープ              | 場所                            | 適用範囲                                |
| ----------------- | ----------------------------- | ----------------------------------- |
| ワークスペース           | `.windsurf/skills/`           | 現在のワークスペースのみ。リポジトリと一緒にコミットされます。     |
| グローバル             | `~/.codeium/windsurf/skills/` | このマシン上のすべてのワークスペース。コミットされません。       |
| システム (Enterprise) | OS固有 (以下を参照)                  | すべてのワークスペース。IT によって展開されます。読み取り専用です。 |

<Note>
  エージェント間の互換性のため、Windsurf は `.agents/skills/` と `~/.agents/skills/` 内のスキルも検出します。Claude Code の設定の読み取りを有効にしている場合は、`.claude/skills/` と `~/.claude/skills/` もスキャンされます。
</Note>

<div id="system-level-skills-enterprise">
  ### システムレベルのスキル (Enterprise)
</div>

Enterprise 組織では、すべてのワークスペースで利用でき、エンドユーザーは変更できないスキルを展開できます。

| OS        | Path                                            |
| --------- | ----------------------------------------------- |
| macOS     | `/Library/Application Support/Windsurf/skills/` |
| Linux/WSL | `/etc/windsurf/skills/`                         |
| Windows   | `C:\ProgramData\Windsurf\skills\`               |

各スキルは、ワークスペーススキルと同様、`SKILL.md` ファイルを含むサブディレクトリです。

<div id="example-use-cases">
  ## 利用例
</div>

<div id="deployment-workflow">
  ### デプロイワークフロー
</div>

デプロイ用スクリプト、環境設定、ロールバック手順を含むスキルを作成します：

```
.windsurf/skills/deploy-staging/
├── SKILL.md
├── pre-deploy-checks.sh
├── environment-template.env
└── rollback-steps.md
```

<div id="code-review-guidelines">
  ### コードレビューガイドライン
</div>

スタイルガイド、セキュリティチェックリスト、レビュー用テンプレートを含めてください。

```
.windsurf/skills/code-review/
├── SKILL.md
├── style-guide.md
├── security-checklist.md
└── review-template.md
```

<div id="testing-procedures">
  ### テスト手順
</div>

テストテンプレート、カバレッジ要件、CI/CD 設定をひとまとめにする：

```
.windsurf/skills/run-tests/
├── SKILL.md
├── test-template.py
├── coverage-config.json
└── ci-workflow.yaml
```

<div id="best-practices">
  ## ベストプラクティス
</div>

1. **明確な説明を書く**: 説明文は、Cascade がそのスキルをいつ呼び出すべきか判断する助けになります。スキルが「何をするのか」「いつ使うべきか」を具体的に書いてください。

2. **関連するリソースを含める**: テンプレート、チェックリスト、サンプルなどがあると、スキルはさらに有用になります。そのタスクを完了するうえで、どのファイルが役立つかを考えてみてください。

3. **わかりやすい名前を使う**: `deploy-to-staging` は `deploy1` よりも適切です。名前から、そのスキルが何をするのかが明確に伝わるようにしてください。

<div id="skills-vs-rules-vs-workflows">
  ## Skills vs Rules vs Workflows
</div>

これらはすべて Cascade をカスタマイズしますが、**構造**、**呼び出し方法**、**コンテキストコスト** が異なります。

|                       | Skills                             | Rules                                              | Workflows                    |
| --------------------- | ---------------------------------- | -------------------------------------------------- | ---------------------------- |
| **Purpose**           | サポートファイルを伴う複数ステップの手順               | 振る舞いに関するガイドライン ("どう振る舞うか")                         | 繰り返し可能なタスク向けのプロンプトテンプレート     |
| **Structure**         | `SKILL.md` と任意のリソースファイルを含むフォルダ     | フロントマターを含む単一の `.md` ファイル                           | 単一の `.md` ファイル               |
| **Invocation**        | モデルが決定 (段階的開示) または `@mention`      | `always_on` / `glob` / `model_decision` / `manual` | `/slash-command` による**手動のみ** |
| **In system prompt?** | いいえ — 呼び出されるまでは名前と説明のみ             | 有効化モードによる                                          | いいえ — 使用可能なコマンドとして一覧表示される    |
| **Best for**          | スクリプトやテンプレートが必要なデプロイ、コードレビュー、テスト手順 | コーディングスタイル、プロジェクトの規約、制約                            | 明示的にトリガーする単発のランブック           |

**Rule of thumb:** Cascade に自動的に拾ってほしく、*なおかつ* サポートファイルが必要ならスキルを使います。短い振る舞い上の制約なら Rule を使います。常に自分でトリガーしたいなら Workflow を使います。

<div id="related-documentation">
  ## 関連ドキュメント
</div>

Skills がお探しの機能と異なる場合は、他の Cascade 機能もご確認ください:

* **[Workflows](./workflows)** - スラッシュコマンドで呼び出せる再利用可能な Markdown ワークフローを使って、繰り返し作業を自動化します
* **[AGENTS.md](./agents-md)** - ファイルの場所に基づいて自動的に適用される、ディレクトリ単位の指示を提供します
* **[Memories & Rules](./memories)** - 自動生成されるメモリとユーザー定義ルールにより、会話間のコンテキストを保持します
