~/.openclaw/openclaw.json 内の
skills にあります。エージェント固有の可視性は
agents.defaults.skills と agents.entries.*.skills にあります。
組み込みの画像生成には、
skills.entries ではなく agents.defaults.mediaModels.image
とコアの image_generate ツールを使用してください。Skill
エントリは、カスタムまたはサードパーティの Skill ワークフロー専用です。読み込み(skills.load)
string[]
スキャン対象に追加する Skill ディレクトリです。優先順位は最も低く(バンドルおよび
Plugin の Skills より下)、パスは
~ をサポートして展開されます。string[]
シンボリックリンクされた Skill フォルダーの解決先として許可する、信頼済みの実体ディレクトリです。
シンボリックリンクが設定済みルートの外部にある場合でも使用できます。
<workspace>/skills/manager -> ~/Projects/manager/skills のような意図的な兄弟リポジトリ構成に使用してください。
このリストは限定的に保ち、~ や ~/Projects のような
広範なルートを指定しないでください。boolean
デフォルト:"true"
Skill フォルダーを監視し、
SKILL.md ファイルが変更されたときに
Skills のスナップショットを更新します。グループ化された Skill ルート配下のネストされたファイルも対象です。インストール(skills.install)
boolean
デフォルト:"true"
brew が利用可能な場合は、Homebrew インストーラーを優先します。"npm" | "pnpm" | "yarn" | "bun"
デフォルト:"\"npm\""
Skill のインストールに使用する Node パッケージマネージャーの優先設定です。これは Skill の
インストールのみに影響します。正規の状態ストアが
node:sqlite を使用するため、
OpenClaw CLI と Gateway ランタイムには Node が必要です。openclaw setup --node-manager と
openclaw onboard --node-manager は npm、pnpm、bun を受け付けます。
Yarn を使用する Skill のインストールでは、設定内で "yarn" を直接指定してください。boolean
デフォルト:"false"
信頼済みの
operator.admin Gateway クライアントが、skills.upload.* を通じて
ステージングされた非公開 zip アーカイブをインストールできるようにします。
通常の ClawHub インストールでは、この設定は不要です。オペレーターのインストールポリシー(security.installPolicy)
ホスト固有のポリシーに基づいて Skill と Plugin のインストールを承認またはブロックする、
信頼済みのローカルコマンドがオペレーターに必要な場合は、security.installPolicy を使用します。
このポリシーは、OpenClaw がソース素材をステージングした後、インストールまたは更新を続行する前に実行されます。
ClawHub の Skills、アップロードされた Skills、Git/ローカルの Skills、Skill の依存関係インストーラー、
および Plugin のインストール/更新ソースに適用されます。
boolean
デフォルト:"false"
オペレーターが管理するインストールポリシーを有効にします。有効な
exec
コマンドがない状態で有効にすると、インストールはフェイルクローズします。("skill" | "plugin")[]
省略可能な対象フィルターです。省略した場合は、すべてのサポート対象にポリシーが適用されるため、
新しいインストールが予期せずフェイルオープンすることはありません。
string
信頼済みポリシー実行ファイルへの絶対パスです。OpenClaw はシェルを介さずに実行し、
使用前にパスを検証します。
string[]
command の後に渡す固定引数です。number
デフォルト:"10000"
1 回のポリシー判定に許可する最大実時間です。
number
デフォルト:"timeoutMs"
stdout または stderr からの出力がない状態で許可する最大時間です。
超過するとポリシーはフェイルクローズします。
number
デフォルト:"1048576"
ポリシープロセスから受け付ける stdout と stderr の合計最大バイト数です。
Record<string, string>
ポリシープロセスに渡すリテラル環境変数です。
string[]
OpenClaw プロセスからポリシープロセスへコピーする環境変数名です。
指定された変数のみが渡されます。
string[]
ポリシー実行ファイルの配置を許可するディレクトリの省略可能な許可リストです。
boolean
デフォルト:"false"
コマンドパスの所有権および権限チェックを回避します。
パスが別の仕組みによって保護されている場合にのみ使用してください。
boolean
デフォルト:"false"
設定されたコマンドパスがシンボリックリンクであることを許可します。解決後の対象は、
引き続き他のパスチェックを満たす必要があります。インタープリターのスクリプト引数は、
シンボリックリンクではなく、直接の通常ファイルでなければなりません。
protocolVersion: 1、openclawVersion、targetType、
targetName、sourcePath、sourcePathKind、省略可能な構造化
source、構造化 origin、および request を含む
1 つの JSON オブジェクトを受け取ります。stdout には、{ "protocolVersion": 1, "decision": "allow" }
または { "protocolVersion": 1, "decision": "block", "reason": "..." } の 1 つの JSON オブジェクトを書き込む必要があります。
ゼロ以外の終了コード、タイムアウト、不正な JSON、フィールド不足、または未対応のプロトコルバージョンでは
フェイルクローズします。
OpenClaw は通常の Gateway 起動時にはインストールポリシーを実行しません。
ポリシーが有効であるにもかかわらず利用できない場合、インストールと更新はフェイルクローズします。
openclaw doctor は静的検証を実行し、openclaw doctor --deep は
設定されたコマンドに対して合成インストールプローブを実行します。
一括更新では対象ごとにポリシーが適用されます。ブロックされた Skill または Plugin の更新は、
ポリシーを無効化したり、バッチ内の後続対象をスキップしたりすることなく、その対象のみ失敗します。
stdin の例:
バンドルされた Skill の許可リスト
string[]
バンドルされた Skills のみに適用される省略可能な許可リストです。設定すると、
リスト内のバンドルされた Skills のみが使用可能になります。管理対象、エージェントレベル、
およびワークスペースの Skills には影響しません。
Skill ごとのエントリ(skills.entries)
entries 配下のキーは、デフォルトでは Skill の name と一致します。
Skill が metadata.openclaw.skillKey を定義している場合は、代わりにそのキーを使用します。
ハイフンを含む名前は引用符で囲んでください(JSON5 では引用符付きキーを使用できます)。
boolean
false にすると、バンドル済みまたはインストール済みであっても Skill を無効にします。
バンドルされた coding-agent Skill はオプトインです。true に設定し、
claude、codex、opencode、または別のサポート対象 CLI のいずれかが
インストールおよび認証済みであることを確認してください。string | { source, provider, id }
metadata.openclaw.primaryEnv を宣言する Skills 向けの便利なフィールドです。
平文文字列または SecretRef({ source: "env", provider: "default", id: "VAR_NAME" })をサポートします。Record<string, string>
エージェント実行時に注入する環境変数です。プロセス内でその変数がまだ設定されていない場合にのみ注入されます。
object
Skill ごとのカスタム設定フィールドを格納する省略可能なオブジェクトです。
エージェントの許可リスト(agents)
同じマシン/ワークスペースの Skill ルートを使用しながら、エージェントごとに表示する Skill セットを
変えたい場合は、エージェント設定を使用します。
string[]
agents.entries.*.skills を省略したエージェントが継承する共有ベースライン許可リストです。
デフォルトで Skills を制限しない場合は、設定自体を省略してください。string[]
そのエージェントに対する明示的な最終 Skill セットです。明示的なリストは継承したデフォルトを
置き換え、マージしません。そのエージェントに Skills を一切公開しない場合は、
[] に設定します。Workshop(skills.workshop)
boolean
デフォルト:"false"
true の場合、OpenClaw は永続的な修正から保留中の提案を作成し、
システムがアイドル状態になった後、正常に完了した実質的な作業をレビューできます。
これにより、対象となるターンの後にバックグラウンドでモデルが実行される場合があります。
この設定が false の場合でも、ユーザーが指示した
skill の作成と /learn は引き続き機能します。"pending" | "auto"
デフォルト:"\"auto\""
auto では、追加の承認プロンプトなしで、エージェントが適用、却下、
または隔離を開始できます。pending ではオペレーターの承認が必要です。boolean
デフォルト:"false"
Skill Workshop の適用時に、実体のターゲットが
skills.load.allowSymlinkTargets によって
すでに信頼されているワークスペース skill のシンボリックリンクを介した書き込みを許可します。
生成された提案の適用によって、その共有 skill ルートを変更する必要がある場合を除き、
この設定は無効のままにしてください。number
デフォルト:"50"
ワークスペースごとに保持する保留中および隔離済みの提案の最大数
(許容範囲: 1-200)。
number
デフォルト:"40000"
提案本文の最大サイズ(バイト単位、許容範囲: 1024-200000)。
提案の説明は検出結果と一覧出力に表示されるため、これとは別に
160 バイトにハード制限されます。
シンボリックリンクされた skill ルート
デフォルトでは、ワークスペース、プロジェクトエージェント、追加ディレクトリ、 およびバンドル済みの skill ルートが包含境界になります。<workspace>/skills 配下にある
シンボリックリンクされた skill フォルダーがルート外に解決される場合は、
ログメッセージを出力してスキップされます。
意図的なシンボリックリンク構成を許可するには、信頼するターゲットを宣言します。
<workspace>/skills/manager -> ~/Projects/manager/skills が許可されます。
extraDirs は隣接するリポジトリを直接スキャンし、
allowSymlinkTargets は既存の構成のためにシンボリックリンクされたパスを維持します。
デフォルトでは、Skill Workshop の適用処理はこれらのシンボリックリンクを介して
書き込みません。すでに信頼されているシンボリックリンクのターゲット配下にある
skill を Workshop の適用処理で変更できるようにするには、別途オプトインします。
~/.openclaw/skills ディレクトリと個人用の ~/.agents/skills
ディレクトリでは、skill ディレクトリのシンボリックリンクがすでに無条件で許可されています
(skill ごとの SKILL.md 包含は引き続き適用されます)。
allowSymlinkTargets が必要なのは、ワークスペース、追加ディレクトリ、
およびプロジェクトエージェント(<workspace>/.agents/skills)のルートだけです。
サンドボックス化された skill と環境変数
Docker サンドボックスにシークレットを渡すには、次のようにします。Docker デーモンへのアクセス権を持つユーザーは、Docker メタデータを通じて
sandbox.docker.env の値を確認できます。そのような露出を許容できない場合は、
マウントしたシークレットファイル、カスタムイメージ、または別の受け渡し方法を使用してください。読み込み順序の再確認
関連項目
Skills リファレンス
skill の概要、読み込み順序、ゲーティング、および SKILL.md の形式。
skill の作成
カスタムワークスペース skill の作成。
Skill Workshop
エージェントが下書きした skill の提案キュー。
自己学習
完了した作業から生成される、保守的なオプトイン方式の提案。
スラッシュコマンド
ネイティブのスラッシュコマンドカタログとチャットディレクティブ。