---
title: Skill 概要
description: CowAgent の Skill システム紹介
---

Skill は Agent に無限の拡張性を提供します。各 Skill は説明ファイル（`SKILL.md`）、実行スクリプト（任意）、リソース（任意）で構成され、特定のタスクをどのように遂行するかを記述します。

Skill と Tool の違い：Tool はコードで実装された原子的な操作（例：ファイルの読み書き、コマンドの実行）であるのに対し、Skill は説明ファイルに基づく高レベルなワークフローであり、複数の Tool を組み合わせて複雑なタスクを完遂できます。

## 組み込み Skill

プロジェクトの `skills/` ディレクトリに配置されており、依存条件に基づいて自動的に有効化されます：

| Skill | 説明 | 依存関係 |
| --- | --- | --- |
| [`skill-creator`](/ja/skills/skill-creator) | 会話を通じてカスタム Skill を作成 | なし |
| [`openai-image-vision`](/ja/skills/image-vision) | OpenAI の Vision モデルを使用して画像を認識 | `OPENAI_API_KEY` |
| [`linkai-agent`](/ja/skills/linkai-agent) | LinkAI プラットフォームの Agent を統合 | `LINKAI_API_KEY` |
| [`web-fetch`](/ja/skills/web-fetch) | Web ページのテキストコンテンツを取得 | `curl`（デフォルトで有効） |

## カスタム Skill

ユーザーが会話を通じて作成し、ワークスペース（`~/cow/skills/`）に保存されます。任意の複雑なビジネスプロセスやサードパーティシステムとの連携を実装できます。

## Skill の読み込み優先順位

1. **ワークスペースの Skill**（最高優先）：`~/cow/skills/`
2. **プロジェクト組み込み Skill**（最低優先）：`skills/`

同名の Skill は優先順位に従って上書きされます。

## Skill のファイル構成

```
skills/
├── my-skill/
│   ├── SKILL.md          # Skill の説明（frontmatter + 手順）
│   ├── scripts/          # 実行スクリプト（任意）
│   └── resources/        # 追加リソース（任意）
```

### SKILL.md のフォーマット

```markdown
---
name: my-skill
description: Brief description of the skill
metadata:
  emoji: 🔧
  requires:
    bins: ["curl"]
    env: ["MY_API_KEY"]
  primaryEnv: "MY_API_KEY"
---

# My Skill

Detailed instructions...
```

| フィールド | 説明 |
| --- | --- |
| `name` | Skill 名。ディレクトリ名と一致する必要があります |
| `description` | Skill の説明。Agent はこれに基づいて呼び出すかどうかを判断します |
| `metadata.requires.bins` | 必要なシステムコマンド |
| `metadata.requires.env` | 必要な環境変数 |
| `metadata.always` | 常に読み込む（デフォルトは false） |
