OpenClawのSkillシステムとは
Skill は、OpenClaw で AI アシスタントの能力を拡張するための中核的な仕組みです。各 Skill の実体は SKILL.md というファイルで、Markdown 形式で一連の指示を定義し、特定の場面で AI がどう振る舞うべきかを記述します。
具体的な例をいくつか挙げましょう。
- 「日報生成」Skill:今日の会話記録をもとに AI が自動的に業務日報を整理する
- 「翻訳アシスタント」Skill:外国語のメッセージを受信したら AI が自動的に翻訳し、特定の翻訳スタイルを維持する
- 「コードレビュー」Skill:チームのコーディング規約に沿って AI がコード片をレビューする
Skill システムの設計思想は「自然言語でプログラミングする」ことです。コードを書く必要はなく、AI にやってほしいことを明確な文章で記述するだけで済みます。
Skillファイルの保存場所
すべてのカスタム Skill ファイルは以下のディレクトリに保存します。
~/.openclaw/skills/
各 Skill は独立したフォルダで、その中に SKILL.md ファイルが含まれます。
~/.openclaw/skills/
├── daily-report/
│ └── SKILL.md
├── translator/
│ └── SKILL.md
└── code-review/
└── SKILL.md
OpenClaw は起動時にこのディレクトリを自動スキャンし、利用可能なすべての Skill を読み込みます。
SKILL.mdのファイル構造
SKILL.md ファイルは、YAML フロントマターと Markdown の指示本文の 2 つのパートで構成されます。
以下は「インテリジェント翻訳アシスタント」Skill の完全な例です。
---
name: translator
description: "インテリジェント翻訳アシスタント。日英・英日翻訳に対応し、専門用語の正確さを保つ"
trigger: "翻訳"
version: "1.0.0"
tags: ["翻訳", "言語"]
author: "your-name"
enabled: true
---
## 役割の定義
あなたはプロの翻訳アシスタントです。ユーザーが翻訳対象のコンテンツを送ってきたら、以下のルールに従って作業してください。
## 翻訳ルール
1. ソース言語を自動検出し、ターゲット言語に翻訳する
2. ソース言語が日本語の場合、英語に翻訳する
3. ソース言語が英語の場合、日本語に翻訳する
4. ユーザーがターゲット言語を指定した場合は、それに従う
## 翻訳スタイル
- 技術文書:用語の正確さを保ち、簡潔な表現を使う
- 日常会話:自然で流暢な表現を使う
- ビジネスメール:フォーマルで丁寧な表現を使う
## 出力形式
翻訳結果をそのまま出力し、余計な説明は不要です。曖昧な内容がある場合は、翻訳後に括弧で簡潔に補足してください。
## 例
ユーザー入力:翻訳 "この API の rate limit はいくつですか?"
出力:What is the rate limit of this API?
YAMLフロントマターの詳細
| フィールド | 必須 | 説明 |
|---|---|---|
name |
はい | Skill の一意な識別子。英字とハイフンを使用 |
description |
はい | Skill の機能を簡潔に説明する |
trigger |
いいえ | トリガーキーワード。ユーザーのメッセージにこのキーワードが含まれると発動 |
version |
いいえ | バージョン番号。管理や更新に便利 |
tags |
いいえ | タグの配列。分類用 |
author |
いいえ | 作者情報 |
enabled |
いいえ | 有効かどうか。デフォルトは true |
Markdown指示本文
本文は AI に対する指示であり、標準的な Markdown 形式で記述します。指示を書く際のポイントをいくつかご紹介します。
- 見出しレベル2(##)で指示モジュールを分ける:構造が明確になり、AI が理解しやすくなります
- 具体的な例を示す:抽象的な説明よりも例のほうが効果的です
- 境界条件を明確にする:どのような状況でどう対応するかを AI に伝えましょう
- 指示は簡潔に保つ:冗長な説明は避けてください
実践:日報生成Skillを作る
実際に手を動かして、実用的な Skill を作ってみましょう。
mkdir -p ~/.openclaw/skills/daily-report
~/.openclaw/skills/daily-report/SKILL.md を作成します。
---
name: daily-report
description: "今日の会話記録をもとに業務日報を生成する"
trigger: "日報"
version: "1.0.0"
tags: ["効率化", "業務"]
enabled: true
---
## 役割の定義
あなたは業務日報整理アシスタントです。ユーザーから日報の作成を求められたら、今日の会話記録とユーザーが提供した情報をもとに、構造化された業務日報を生成してください。
## 日報フォーマット
以下の形式で出力してください。
### 今日の完了事項
- [今日完了した作業項目を列挙]
### 進行中
- [進行中で未完了の作業を列挙]
### 明日の予定
- [明日予定している作業を列挙]
### 備考
- [その他記録すべき情報]
## 注意事項
1. 会話記録から業務に関連する情報を抽出し、雑談は除外する
2. 簡潔な文で、各項目は2文以内にまとめる
3. 情報が不足している場合は、ユーザーに追加情報を尋ねる
4. 日付の形式は YYYY-MM-DD を使用する
Skillをテストする
Skill ファイルを作成したら、OpenClaw を再起動して反映させます。
openclaw restart
Dashboard または接続済みのチャットチャンネルからテストできます。トリガーキーワードを含むメッセージを送りましょう。例えば:
今日の日報を作成してください
Skill が正常にロードされていれば、AI は定義したフォーマットとルールに従って応答します。
現在ロードされているすべての Skill を確認するには以下を実行します。
openclaw skill list
すべての Skill の名前、状態、トリガーワードが一覧表示されます。
デバッグのコツ
Skill が期待どおりに動作しない場合は、以下の手順で問題を切り分けてください。
1. ファイル形式の確認:
YAML フロントマターが正しく --- で囲まれていること、YAML の構文が正しいことを確認してください。よくあるミスはインデントの不一致や引用符の対応漏れです。
2. ロードログの確認:
openclaw logs | grep -i skill
ログに Skill のロード状態やエラー情報が表示されます。
3. トリガーワードの確認:
送信したメッセージに trigger フィールドで定義したキーワードが含まれていることを確認してください。キーワードのマッチングは大文字・小文字を区別しません。
4. 段階的にシンプルにしてテストする:
Skill が複雑な場合は、まず指示を最もシンプルな状態にして基本機能の動作を確認してから、徐々に複雑なルールを追加していきましょう。
MCP Serverとの連携
Skill は OpenClaw の MCP Server と連携させることで、AI が指示を理解するだけでなく、外部ツールを呼び出してアクションを実行することも可能になります。たとえば、日報 Skill がカレンダー MCP Server を呼び出して今日の会議スケジュールを取得し、自動的に日報に組み込むといったことが実現できます。これは上級者向けの使い方で、詳しくはOpenClaw公式ドキュメントの MCP セクションを参照してください。
まとめ
Skill システムは OpenClaw で最も拡張性の高い機能の一つです。シンプルな Markdown ファイルだけで、AI アシスタントに新しい能力を持たせることができます。簡単な翻訳アシスタントから複雑なワークフロー自動化まで、Skill の可能性はあなたの想像力次第です。便利な Skill を開発されたら、ぜひ OpenClaw GitHub リポジトリでコミュニティと共有してください。詳しくは OpenClaw をご覧ください。