メインコンテンツへスキップ

Skills とは何ですか?

Skills は、リポジトリにコミットする SKILL.md ファイルで、Devin にあなたのアプリケーションをエンドツーエンドでテストする方法——サービスの起動方法、ローカルでのアプリの実行方法、ブラウザーでの変更内容の確認方法、そして PR を作成する前にすべてが正しく動作していることを検証する方法——を教えるものです。オープンな Agent Skills standard に準拠しているため、同じ skill ファイルを複数の AI コーディングツール間で共通して利用できます。 リポジトリ内の .agents/skills/<skill-name>/SKILL.md に skill ファイルを配置してください。Devin は、接続されているすべてのリポジトリからそれらを自動的に検出します。ファイル形式の詳細については、Agent Skills specification を参照してください。

スキルが重要な理由

スキルがない場合、Devin はセッションのたびに、あなたのアプリをどう実行・テストするかを一から把握する必要があります。スキルがあれば、Devin は次のことを正確に把握できます:
  • ローカル開発環境を起動する — どのサービスを動かすか、どのポートを使うか、テストデータをどう投入するか
  • ブラウザで変更を検証する — どのページを確認するか、何が「正しい」状態か、どのような不具合を検知すべきか
  • 適切なテストスイートを実行する — どのコマンドを実行するか、成功時の出力がどう見えるか

Devin はスキルを自動提案します

Devin はスキルを自動で提案します。Devin がアプリケーションをテストしたり、セッション中にセットアップについて新しいことを学習したりすると、その知識を取り込むためのスキルを作成または更新することを提案します。セッションのタイムラインには、次の内容を含む提案が表示されます:
  • 学習内容の要約(例: 「Docker でバックエンドを起動する方法」)
  • 提案された SKILL.md ファイルの内容
  • スキルをリポジトリにコミットするための “Create PR” ボタン
時間の経過とともに、Devin はリポジトリ内に、アプリケーションの実行方法やテスト方法に関するスキルのライブラリを蓄積していきます。

簡単な例

Next.js アプリのテスト方法を Devin に指示するスキル:
---
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

スキルの検出

Devin は、各セッションの開始時に 2 つのソースからスキルを取得し、統合します。
  1. インデックス済みリポジトリ — Devin のバックエンドは、組織に接続されているすべてのリポジトリにある SKILL.md ファイルをインデックス化します。これらは、どのリポジトリもクローンされる前の、セッション開始時点からすぐに利用できます。
  2. クローンされたリポジトリ — リポジトリがセッションのマシンにクローンされると、Devin はディスク上の SKILL.md ファイルをスキャンします。ディスクから検出されたスキルは、同じリポジトリ内の該当するインデックス済みスキルを更新または上書きし、作業中のブランチで常に最新バージョンが使われるようにします。
リポジトリのクローンがセッション途中で完了した場合でも、Devin はそのリポジトリを自動的に再スキャンし、新しく追加または変更されたスキルを、セッションを再起動することなく取り込みます。

サポートされているスキルファイルの配置場所

Devin は、次のすべてのディレクトリで SKILL.md ファイルを検索します:
  • .agents/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
すべてのリポジトリで、これら 6 つのパスがスキャンされます。

スキルファイルから Devin が読み込むもの

スキルが検出されると、Devin は YAML の frontmatter(フロントマター)(先頭の --- ブロック)をパースして、次の項目を抽出します。
FieldPurpose
nameスキルを識別します。省略された場合は親ディレクトリ名が代わりに使われます。
descriptionスキル一覧に表示される短い要約で、Devin(とあなた)がそのスキルの内容を理解できるようにします。
allowed-toolsスキルがアクティブな間に Devin が使用できるツールを制限します。
Devin は、標準仕様に加えて、次の追加の frontmatter フィールドもサポートします。
FieldPurpose
argument-hint期待される引数を説明するヒントテキストで、スキル名と一緒に表示されます。
triggers誰がスキルを呼び出せるかを制御します — デフォルトは ["user", "model"] です。Devin による自動的な起動を防ぐには ["user"] に設定します。
frontmatter の後に続くすべての内容がスキル本体です。これは、スキルが呼び出されたときに Devin が従うようプロンプトされる手順書です。 完全なファイル形式のリファレンスについては、Agent Skills specification を参照してください。 標準仕様に加えて、Devin はスキル本体内で、呼び出し時に処理される 2 種類の動的コンテンツをサポートします。
  • $ARGUMENTS — スキル呼び出し時に渡された引数文字列全体(例: @skills:deploy staging prod)に置き換えられます。個々の引数にはインデックスでアクセスできます:1 番目は $ARGUMENTS[0] または $0、2 番目は $ARGUMENTS[1] または $1 など。引数は空白で分割されます。
  • !`command` — コマンドはリポジトリのルートで実行され、その標準出力に置き換えられます。これにより、ブランチ名やポート番号などの動的な値をスキルに含めることができます。
たとえば、デプロイスキルは次のように引数を使うことができます。
---
name: deploy
description: Deploy the app to a target environment.
argument-hint: <environment>
---

1. Check out the `$ARGUMENTS` branch
2. Run `./scripts/deploy.sh $0`
3. Verify the deployment at `https://$0.example.com`
@skills:deploy staging を実行すると、staging$ARGUMENTS および $0 に置き換えられます。

Devin がスキルをどのように利用するか

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

自動呼び出し

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

プロンプトでスキルを指定する

メッセージ内に @skills:skill-name を含めることで、Devinに特定のスキルを使うよう指示できます。
Fix the login bug on the /auth page @skills:test-before-pr
引数を指定することもできます。
@skills:deploy staging
引数は、スキル本体内で $ARGUMENTS$ARGUMENTS[0]$1 などが現れる箇所に置き換えられます。

一度にアクティブにできるスキルは 1 つ

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

検索と一覧表示

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

制限事項

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

さらに詳しく

  • Agent Skills specificationSKILL.md ファイル形式、フロントマターのフィールド、ディレクトリ構造に関するオープン標準
  • Knowledge — 手順ではなく、文脈に応じたヒントや事実のための機能
  • Playbooks — セッションに紐づけて再利用できるプロンプトテンプレート向け