OpenClawの設定 - ツールとスキル

提供: MochiuWiki : SUSE, EC, PCB

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

概要

OpenClawのワークスペースには、エージェントの能力を拡張する2つの設定ファイルとして、TOOLS.mdSKILL.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の特徴比較
項目 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 の主なセクション構成を以下に示す。

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) を示す。

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件以上のユーザ報告が集まったスキルは自動的に非表示化される。


関連項目