OpenClawの設定 - ツールとスキル
概要
OpenClawのワークスペースには、エージェントの能力を拡張する2つの設定ファイルとして、TOOLS.md と SKILL.md が存在する。
TOOLS.md は、環境固有のツール設定情報を記録するローカルノートファイルである。
カメラ設備、SSH接続情報、音声合成設定、デバイスニックネーム等のローカル環境に依存する情報をMarkdown形式で管理する。
スキル更新時に設定が失われず、スキル共有時に機密情報を露出させない設計となっている。
TOOLS.mdはワークスペースに留まり続けるため、環境固有の設定を再入力する必要がなく、スキルの可搬性とローカル設定の永続性を両立している。
SKILL.md は、エージェントの能力を拡張するスキルを定義するファイルである。
YAMLフロントマターとMarkdown形式で記述し、スラッシュコマンドによるユーザ呼び出しやモデルの自動呼び出しを制御できる。
スキルは、Workspaceスキル、Managed/Localスキル、Bundledスキルの優先度順で読み込まれ、同一名スキルの場合は優先度の高い方が採用される。
OpenClawはMCP (Model Context Protocol) のネイティブサポートを持ち、openclaw.json ファイルの agents[].mcp.servers セクションでMCPサーバを設定する。
トランスポートは stdio (デフォルト) を使用し、子プロセスでJSON-RPC 2.0通信を行う。
公式スキルレジストリのClawHubには5,700以上のスキルが登録されており、VirusTotalによるセキュリティスキャンが自動で行われる。
コミュニティが作成したスキルを検索・インストール・公開できるプラットフォームとして機能し、急速な成長を続けている。
下表に、TOOLS.mdとSKILL.mdの特徴比較を示す。
| 項目 | TOOLS.md | SKILL.md |
|---|---|---|
| 役割 | 環境固有のツール設定情報の記録 | エージェント能力の拡張定義 |
| 形式 | Markdown | YAMLフロントマター + Markdown |
| 配置場所 | ~/.openclaw/workspace/TOOLS.md | ~/.openclaw/workspace/skills/<スキル名>/SKILL.md |
| 読込タイミング | セッション開始時 | スキル呼び出し時 |
| 共有時のセキュリティ | 機密情報を露出させない設計 | ClawHubを通じた安全な配布 |
公式Webサイトおよびドキュメントへのリンクを以下に示す。
TOOLS.md
TOOLS.md は、OpenClawワークスペースにおいて環境固有のツール関連情報を記録するローカルノートファイルである。
スキルがツールを使用する時に参照する設定情報 (カメラの配置場所、SSH接続情報、音声合成の設定等) を、人間が読みやすいMarkdown形式で管理する。
TOOLS.md の特徴として、スキルの更新時に設定が失われない点がある。
スキルが更新されても TOOLS.md はワークスペースに残り続けるため、環境固有の設定を再入力する必要がない。
また、スキルを他者と共有する際に TOOLS.md はワークスペースに留まるため、SSH接続情報やAPIキー等の機密情報が意図せず公開されるリスクを低減できる。
OpenClawはModel Context Protocol (MCP) のネイティブサポートを統合しており (@modelcontextprotocol/sdk@1.25.3)、
openclaw.json ファイルの agents[].mcp.servers セクションでMCPサーバを設定する。
トランスポートは stdio (デフォルト) で、子プロセスでJSON-RPC 2.0通信を行う。
環境変数は ${VAR_NAME} 構文で参照可能である。
基本構造
TOOLS.md の主なセクション構成を以下に示す。
| セクション | 役割 |
|---|---|
Cameras |
カメラ設備と位置情報を記述する。 |
SSH |
ホストエイリアスと接続情報を記述する。 |
TTS |
音声合成エンジンや声・速度等の設定を記述する。 |
Device Names |
デバイスのニックネームと対応するハードウェア情報を記述する。 |
Environment-Specific Notes |
ローカル環境固有の注記を記述する。 |
MCP設定の基本構文を以下に示す。
{
"name": "server-id",
"command": "npx",
"args": ["@anthropic/mcp-server"],
"env": {"API_KEY": "${ENV_VAR_NAME}"}
}
記述例
TOOLS.md の記述例を以下に示す。
# TOOLS
## Cameras
* 玄関カメラ: リビング正面入り口
* 庭カメラ: 裏庭南側フェンス付近
## SSH
* dev-server: 192.168.1.100 (ポート 22)
* staging: staging.example.com (ポート 2222)
## TTS
* エンジン: OpenAI TTS
* 声: alloy
* 速度: 1.0
## Device Names
* リビングライト: Hue Bridge → "Living Room Main"
* エアコン: SwitchBot → "AC Unit 1"
## Environment Notes
* Node.js v20がインストール済み
* Dockerデーモンはsystemdで管理
SKILL.md
SKILL.md は、OpenClawエージェントの能力を拡張するスキルを定義するファイルである。
YAMLフロントマターとMarkdown本文の組み合わせで記述する。
YAMLフロントマターには、スキルの名前、説明、バージョン、依存関係、呼び出し制御等のメタデータを定義する。
Markdown本文にはスキルのプロンプトや実行指示を記述する。
下表に、ユーザ呼び出し制御に関する主なフィールドを示す。
| フィールド | 説明 |
|---|---|
user-invocable |
スラッシュコマンドでスキルを呼び出し可能かどうかを制御する。 デフォルト: true
|
disable-model-invocation |
モデルによるスキルの自動呼び出しを禁止するかどうかを制御する。 デフォルト: false
|
YAMLフロントマター仕様
下表に、YAMLフロントマターのコアフィールドを示す。
| フィールド | 説明 | 必須 |
|---|---|---|
name |
スキル識別子 (小文字、ハイフン許可) | はい |
description |
スキルの説明文 | はい |
version |
セマンティックバージョン (例: 1.0.0) | はい |
下表に、メタデータフィールド (metadata.openclaw) を示す。
| フィールド | 説明 |
|---|---|
requires.env |
必須環境変数 (配列) |
requires.bins |
必須CLIバイナリ (全て必須) |
requires.oneOf |
複数バイナリ中いずれか1つが必須 |
requires.configs |
必須設定ファイルパス |
primaryEnv |
メイン認証環境変数 |
builtIn |
スキルが常に有効か (true / false) |
emoji |
有効化時のアイコン |
homepage |
スキルのホームページURL |
下表に、呼び出し制御フィールドを示す。
| フィールド | 説明 | デフォルト |
|---|---|---|
user-invocable |
スラッシュコマンドで呼び出し可能か | true |
disable-model-invocation |
モデルの自動呼び出しを禁止するか | false |
command-dispatch |
tool で直接ディスパッチ |
- |
command-tool |
送信先ツール名 | - |
command-arg-mode |
引数モード | raw
|
下表に、呼び出しパターンの比較を示す。
| パターン | user-invocable | disable-model-invocation | 動作 |
|---|---|---|---|
| 標準 | true | false | スラッシュコマンド + モデル自動呼び出し |
| ユーザ専用 | true | true | スラッシュコマンドのみ |
| 自動呼び出しのみ | false | false | モデルからのみ呼び出し |
| ツールディスパッチ | - | - | command-dispatch: tool で直接実行
|
スキルの読込順序
スキルは以下の優先度順で読み込まれる。
同一名スキルが存在する場合、優先度順の最初のものが採用される。
| 優先度 | 種別 | 配置場所 |
|---|---|---|
| 1 (最高) | Workspaceスキル | <workspace>/skills/ ディレクトリ |
| 2 | Managed / Localスキル | ~/.openclaw/skills/ ディレクトリ |
| 3 | Bundledスキル | OpenClaw本体に付属 |
| 4 | Extra Directories | openclaw.json ファイルで追加指定 |
環境変数インジェクションの仕様を以下に示す。
requires.envに列挙した環境変数は、スキル実行時に自動注入される。- 既存の変数は上書きしない。
primaryEnvを設定した場合、apiKeyが自動マッピングされる。
記述例
天気確認スキルの SKILL.md 記述例を以下に示す。
---
name: weather-check
description: Check weather conditions for a given location
version: 1.0.0
metadata:
openclaw:
requires:
env:
- OPENWEATHER_API_KEY
bins:
- curl
primaryEnv: OPENWEATHER_API_KEY
emoji: 🌤️
homepage: https://github.com/example/weather-skill
user-invocable: true
disable-model-invocation: false
---
# Weather Check Skill
指定された場所の天気情報を取得して報告する。
## 手順
1. ユーザが指定した場所をパースする
2. OpenWeather APIに問い合わせる
3. 結果を分かりやすくフォーマットして返す
ツールディスパッチを使用するスキルの記述例を以下に示す。
---
name: file-search
description: Search files in the workspace using a given query
version: 1.0.0
user-invocable: true
disable-model-invocation: false
command-dispatch: tool
command-tool: search_files
command-arg-mode: raw
---
ClawHub
ClawHubは、OpenClawの公式スキルレジストリである。
コミュニティが作成したスキルを検索・インストール・公開できるプラットフォームとして機能する。
ClawHubの統計情報 (2026年2月時点) を以下に示す。
- 総スキル数: 5,700以上
- 成長速度: 1月中旬50件/日 → 2月初旬500件/日以上
セキュリティスキャンの仕様を以下に示す。
- VirusTotalによる自動スキャンが全スキルに対して実施される。
- スキャンは毎日再実行される。
- Code Insightキャパビリティを使用して解析する。
下表に、スキャン結果による分類と処理を示す。
| 結果 | 処理 |
|---|---|
| Benign | 自動承認 |
| Suspicious | 警告フラグ付きで公開 |
| Malicious | ブロック |
コミュニティレポート機能として、3件以上のユーザ報告が集まったスキルは自動的に非表示化される。
関連項目
- OpenClawの設定 - ファイル構成
- OpenClawワークスペースのファイル構成の概要
- OpenClawの設定 - AGENTS.md
- エージェントの動作構造を定義するAGENTS.md
- OpenClawの設定 - SOUL.md
- エージェントのパーソナリティと価値観を定義するSOUL.md
- OpenClawの設定 - IDENTITY.md
- エージェントのアイデンティティを定義するIDENTITY.md
- OpenClawの設定 - USER.md
- ユーザ固有の設定を定義するUSER.md
- OpenClawの設定 - メモリとタスク管理
- メモリ管理システムとタスク管理の詳細
- OpenClawの設定 - 初期化とセキュリティ
- 起動手順とセキュリティポリシーの詳細
- スキルドキュメント (OpenClaw公式)
- ClawHub (公式スキルレジストリ)