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

# Skills（スキル）

> リポジトリに SKILL.md ファイルをコミットして、再利用可能な手順を Devin に教えます

<div id="what-are-skills">
  ## スキルとは何ですか？
</div>

スキルは、リポジトリにコミットする `SKILL.md` ファイルで、Devin に**再利用可能な手順**——つまり、Devin に一貫して従わせたい、繰り返し可能なあらゆるワークフロー——を教えるものです。PR を作成する前のアプリのテスト、環境へのデプロイ、コードベースの調査、新しいサービスのひな形作成など、ステップごとの手順として書けるものであれば、スキルにできます。

オープンな [Agent Skills standard](https://agentskills.io/specification) に準拠しているため、同じスキルファイルを複数の AI コーディングツール間で共通して利用できます。

リポジトリ内の `.agents/skills/<skill-name>/SKILL.md` にスキルファイルを配置してください。Devin は、接続されているすべてのリポジトリからそれらを自動的に検出します。完全なファイル形式のリファレンスについては、[Agent Skills specification](https://agentskills.io/specification) を参照してください。

<div id="why-skills-matter">
  ## スキルが重要な理由
</div>

スキルがないと、Devin は毎回のセッションごとにワークフローをゼロから把握しなければなりません。スキルがあれば、手順を一度定義するだけで、Devin は毎回確実にその手順に従います。スキルは、次のようなワークフローで特に役立ちます。

* **毎回同じやり方で実行する必要がある** — テストのチェックリスト、デプロイ手順、レビュー手順
* **リポジトリ固有の知識が必要である** — 起動するサービス、使用するポート、実行するコマンド
* **動的なコンテキストを活用すると効果的である** — 呼び出し時に git diff、ブランチ名、環境情報を取り込む

<div id="devin-suggests-skills-automatically">
  ## Devin はスキルを自動提案します
</div>

Devin はスキルを自動で提案します。Devin がアプリケーションをテストしたり、セッション中にセットアップについて新しいことを学習したりすると、その知識を取り込むためのスキルを作成または更新することを提案します。セッションのタイムラインには、次の内容を含む提案が表示されます:

* 学習内容の要約 (例: 「Docker でバックエンドを起動する方法」)
* 提案された `SKILL.md` ファイルの内容
* スキルをリポジトリにコミットするための **"Create PR"** ボタン

時間の経過とともに、Devin はリポジトリ内に、アプリケーションの実行方法、テスト方法、デプロイ方法に関するスキルのライブラリを蓄積していきます。

<div id="examples">
  ## 例
</div>

<div id="testing-before-opening-a-pr">
  ### PR を作成する前のテスト
</div>

PR を作成する前に Next.js アプリを検証する方法を Devin に指示するスキル:

```markdown theme={null}
---
name: test-before-pr
description: Run the local dev server and verify pages before opening any PR that touches frontend code.
---

## Setup

1. Install dependencies: `npm install`
2. Start the database: `docker-compose up -d postgres`
3. Run migrations: `npx prisma migrate dev`
4. Start the dev server: `npm run dev`
5. Wait for "Ready on http://localhost:3000"

## Verify

1. Read the git diff to identify which pages changed
2. Open each affected page in the browser
3. Check for: console errors, layout issues, broken links
4. Screenshot each page at desktop (1280px) and mobile (375px) widths

## Before Opening the PR

1. Run `npm run lint` and fix any issues
2. Run `npm test` and confirm all tests pass
3. Include screenshots in the PR description
```

<div id="deploying-to-an-environment">
  ### 環境へのデプロイ
</div>

動的な内容の挿入を行いながら、対象環境向けの引数を利用してアプリをデプロイするスキル:

```markdown theme={null}
---
name: deploy
description: Deploy the app to a target environment and run smoke tests.
argument-hint: <environment>
triggers: ["user"]
---

## Deploy

1. Make sure you are on the correct branch for this deploy
2. Run `./scripts/deploy.sh $0`
3. Wait for the deploy script to complete successfully

## Verify

1. Curl `https://$0.example.com/health` and confirm a 200 response
2. Run the smoke test suite: `npm run test:smoke -- --env=$0`
3. Report the deployment URL and test results

## Current context

- Branch: !`git branch --show-current`
- Last commit: !`git log --oneline -1`
```

`@skills:deploy staging` で呼び出すと、`staging` が `$ARGUMENTS` と `$0` に置き換えられ、`` !`command` `` ブロックによってその時点の Git 情報が挿入されます。`triggers: ["user"]` フィールドにより、Devin は明示的に依頼した場合にのみこのスキルを実行し、自動では有効になりません。

<div id="investigating-a-part-of-the-codebase">
  ### コードベースの一部を調査する
</div>

Devin が読み取り専用ツールのみに制限された状態で、ガイド付きのコード探索を行うためのスキル:

```markdown theme={null}
---
name: investigate
description: Research a part of the codebase and produce a written summary with file references.
allowed-tools: Read, Grep, ListDir
argument-hint: <topic or area to investigate>
---

## Research

1. Search the codebase for files related to: $ARGUMENTS
2. Read the most relevant files thoroughly
3. Trace the call chain and data flow

## Summarize

1. Write a summary of how $ARGUMENTS works
2. Include specific file paths and line numbers for every claim
3. Note any concerns, edge cases, or areas that need attention
```

`allowed-tools` フィールドは、スキルが有効な間に Devin が利用するツールを読み取り専用の操作に制限します — 編集やシェルコマンドの実行はできません。これは、副作用を伴わずに分析したい探索タスクで役立ちます。

<div id="skill-discovery">
  ## スキルの検出
</div>

Devin は、各セッションの開始時に **2 つのソース**からスキルを取得し、統合します。

1. **インデックス済みリポジトリ** — Devin のバックエンドは、組織に接続されているすべてのリポジトリにある `SKILL.md` ファイルをインデックス化します。これらは、どのリポジトリもクローンされる前の、セッション開始時点からすぐに利用できます。
2. **クローンされたリポジトリ** — リポジトリがセッションのマシンにクローンされると、Devin はディスク上の `SKILL.md` ファイルをスキャンします。ディスクから検出されたスキルは、同じリポジトリ内の該当するインデックス済みスキルを更新または上書きし、作業中のブランチで常に最新バージョンが使われるようにします。

リポジトリのクローンがセッション途中で完了した場合でも、Devin はそのリポジトリを自動的に再スキャンし、新しく追加または変更されたスキルを、セッションを再起動することなく取り込みます。

<div id="supported-skill-file-locations">
  ### サポートされているスキルファイルの配置場所
</div>

Devin は、次のすべてのディレクトリで `SKILL.md` ファイルを検索します：

* `.agents/skills/<skill-name>/SKILL.md` ** (推奨) **
* `.devin/skills/<skill-name>/SKILL.md`
* `.github/skills/<skill-name>/SKILL.md`
* `.claude/skills/<skill-name>/SKILL.md`
* `.cursor/skills/<skill-name>/SKILL.md`
* `.codex/skills/<skill-name>/SKILL.md`
* `.cognition/skills/<skill-name>/SKILL.md`
* `.windsurf/skills/<skill-name>/SKILL.md`

すべてのリポジトリで、これら 8 つのパスがスキャンされます。

<div id="what-devin-loads-from-a-skill-file">
  ### スキルファイルから Devin が読み込むもの
</div>

スキルが検出されると、Devin は YAML の **frontmatter** (先頭の `---` ブロック) をパースして、次の項目を抽出します。

| Field           | Purpose                                              |
| --------------- | ---------------------------------------------------- |
| `name`          | スキルを識別します。省略された場合は親ディレクトリ名が代わりに使われます。                |
| `description`   | スキル一覧に表示される短い要約で、Devin (とあなた) がそのスキルの内容を理解できるようにします。 |
| `allowed-tools` | スキルがアクティブな間に Devin が利用できるツールを制限します。                  |

Devin は、標準仕様に加えて、次の追加の frontmatter フィールドもサポートします。

| Field           | Purpose                                                                                      |
| --------------- | -------------------------------------------------------------------------------------------- |
| `argument-hint` | 期待される引数を説明するヒントテキストで、スキル名と一緒に表示されます。                                                         |
| `triggers`      | 誰がスキルを呼び出せるかを制御します — デフォルトは `["user", "model"]` です。Devin が自動的に有効化するのを防ぐには `["user"]` に設定します。 |

frontmatter の**後に続く**すべての内容がスキル本体です。これは、スキルが呼び出されたときに Devin が従うようプロンプトされるステップごとの手順です。

完全なファイル形式のリファレンスについては、[Agent Skills specification](https://agentskills.io/specification) を参照してください。

<div id="how-devin-uses-skills">
  ## Devin がスキルをどのように利用するか
</div>

各セッションの開始時に、Devin は利用可能なすべてのスキルのリスト (名前＋説明) を確認します。スキルが**呼び出される**と、Devin は対応する `SKILL.md` ファイル全体を読み、その内容を現在のコンテキストにシステムレベルの指示として取り込みます。これは、Devin がタスクの残りの間、そのスキルで定義された手順に積極的に従うことを意味します — 単なる参照ではなく、Devin の振る舞いを直接ガイドします。

Devin は複数の方法でスキルを使用できます：

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

Devin が現在のタスクに対してスキルが関連していると判断した場合、そのスキルは自動的に呼び出されます。たとえば、Devin にフロントエンドコードのバグ修正を依頼していて、`test-before-pr` というスキルが存在する場合、Devin は PR を作成する前にそのスキルを有効化します。明示的にのみ呼び出したいスキルで自動呼び出しを無効化するには、frontmatter で `triggers: ["user"]` を設定してください。

<div id="mention-a-skill-in-your-prompt">
  ### プロンプトでスキルを指定する
</div>

メッセージ内に `@skills:skill-name` を含めることで、Devinに特定のスキルを使うよう指示できます。

```
Fix the login bug on the /auth page @skills:test-before-pr
```

引数を指定することもできます。

```
@skills:deploy staging
```

引数は、スキル本体内で `$ARGUMENTS`、`$ARGUMENTS[0]`、`$1` などが現れる箇所に置き換えられます。

<div id="one-active-skill-at-a-time">
  ### 一度にアクティブにできるスキルは 1 つ
</div>

Devin が同時にアクティブにできるスキルは 1 つだけです。新しいスキルを起動すると、それまでのスキルは置き換えられます。スキルがアクティブな間、Devin はそのスキルの手順に従って順番に処理し、次に進む前に各ステップを完了するよう求められます。

<div id="searching-and-listing">
  ### 検索と一覧表示
</div>

Devin は、セッションの途中でも適切なスキルを見つける必要がある場合、キーワードやディレクトリを指定してスキルを検索できます。利用可能なスキルの一覧を Devin に表示させたり、スキルファイルに変更をプッシュした後で再読み込みさせたりすることもできます。

<div id="limitations">
  ## 制限事項
</div>

* **グローバル / 組織レベルのスキル** — 現時点では、スキルはリポジトリ内に存在します。組織全体で使うスキルについては、回避策として専用の「skills」リポジトリを作成できます。すべてのリポジトリに適用される組織レベルのスキルを、ファーストクラスでサポートすることを検討中です。
* **複数スキルの組み合わせ** — 現在は一度に有効にできるスキルは 1 つだけです。スキルの連結やワークフローの合成をサポートする機能を開発中です。

<div id="skills-vs-playbooks">
  ## スキルとプレイブックの違い
</div>

スキルと[プレイブック](/ja/product-guides/creating-playbooks)はどちらも Devin に再利用可能な指示を与えるための仕組みですが、動作は異なります。

|             | Skills                                                | Playbooks                                         |
| ----------- | ----------------------------------------------------- | ------------------------------------------------- |
| **保存場所**    | リポジトリ内の `SKILL.md` ファイル — コードと一緒にバージョン管理される           | Devin の Web アプリ内 — UI を通じて管理される                   |
| **トリガー方法**  | Devin が自動的に検出して実行するか、任意のプロンプトで `@skills:name` として参照する | セッション開始時に手動で紐づける                                  |
| **スコープ**    | リポジトリ単位 — Devin はタスクに関連するリポジトリに基づいて適切なスキルを選択する        | 組織全体 — どのチームメンバーでも任意のプレイブックを任意のセッションに紐づけられる       |
| **自動提案**    | Devin がアプリをテストしたり新しいことを学習した後に、新しいスキルを提案する             | チームメンバーが手動で作成する                                   |
| **適している用途** | テスト手順、ローカル開発環境のセットアップ、デプロイチェックリスト、リポジトリ固有のワークフロー      | 再利用可能なプロンプトテンプレート、複数リポジトリにまたがるタスクパターン、オンボーディングガイド |

**どちらを使うべきですか？** 手順が特定のリポジトリに紐づいている (実行方法、テスト方法、デプロイ方法など) 場合は、スキルを使ってください。手順がリポジトリやチームをまたいで適用できる汎用的なプロンプトであれば、プレイブックを使ってください。

<div id="learn-more">
  ## 詳細情報
</div>

* [Agent Skills specification](https://agentskills.io/specification) — `SKILL.md` ファイル形式、frontmatter フィールド、ディレクトリ構造に関するオープンスタンダード
* [Knowledge](/ja/product-guides/knowledge) — コンテキスト付きのヒントや事実 (手順ではない情報) を管理・参照するための機能
* [Playbooks](/ja/product-guides/creating-playbooks) — セッションに紐づけて再利用できるプロンプトテンプレート向け
