Skills
Skills の作成
Skills は、ツールをいつ、どのように使用するかをエージェントに教えます。各 Skill は、YAML フロントマターと Markdown の手順を記述した
SKILL.md ファイルを含むディレクトリです。
OpenClaw は、定義された優先順位に従って複数のルートから Skills を読み込みます。
最初の Skill を作成する
Skill ディレクトリを作成する
Skills はワークスペースの skills/ フォルダーに配置します。
mkdir -p ~/.openclaw/workspace/skills/hello-world整理のために Skills をサブフォルダーにまとめることもできます。Skill の名前はフォルダーパスではなく、
SKILL.md フロントマターによって決まります。
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# Skill 名は引き続き「hello-world」で、/hello-world として呼び出すSKILL.md を記述する
フロントマターでメタデータを定義し、本文でエージェントへの手順を示します。
---name: hello-worlddescription: 挨拶を出力するシンプルな Skill。--- # Hello World ユーザーが挨拶を求めたら、`exec` ツールを使用して次を実行します。 ```bashecho "カスタム Skill からこんにちは!" 命名規則:- `name` には小文字、数字、ハイフンを使用します。- ディレクトリ名とフロントマターの `name` を一致させます。- `description` はエージェントとスラッシュコマンドの検出結果に表示されます。 1 行かつ 160 文字未満にします。 OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJTa2lsbCDjgYzoqq3jgb_ovrzjgb7jgozjgZ_jgZPjgajjgpLnorroqo3jgZnjgosi ```bashopenclaw skills listOpenClaw はデフォルトで、Skills ルート配下の SKILL.md ファイルを監視します。監視機能が無効になっている場合や、
既存のセッションを継続している場合は、エージェントが更新後の一覧を受け取れるように
新しいセッションを開始します。
# チャットから — 現在のセッションをアーカイブして新しく開始/new # または Gateway を再起動openclaw gateway restartテストする
openclaw agent --message "挨拶して"または、チャットを開いてエージェントに直接依頼します。名前を明示して呼び出すには
/skill hello-world を使用します。
SKILL.md リファレンス
必須フィールド
| フィールド | 説明 |
|---|---|
name |
小文字、数字、ハイフンを使用した一意のスラッグ |
description |
エージェントと検出結果に表示される 1 行の説明 |
任意のフロントマターキー
| フィールド | デフォルト | 説明 |
|---|---|---|
user-invocable |
true |
Skill をユーザー用スラッシュコマンドとして公開する |
disable-model-invocation |
false |
Skill をエージェントのシステムプロンプトに含めない(/skill を介した実行は可能) |
command-dispatch |
— | tool に設定すると、モデルを経由せずにスラッシュコマンドをツールへ直接ルーティングする |
command-tool |
— | command-dispatch: tool が設定されている場合に呼び出すツール名 |
command-arg-mode |
raw |
ツールへのディスパッチ時に、生の引数文字列をツールへ転送する |
homepage |
— | macOS の Skills UI で「Website」として表示される URL |
ゲーティングフィールド(requires.bins、requires.env など)については、
Skills — ゲーティングを参照してください。
{baseDir} の使用
パスをハードコードせずに Skill ディレクトリ内のファイルを参照できます。エージェントは
{baseDir} を Skill 自身のディレクトリを基準に解決します。
`{baseDir}/scripts/run.sh` にあるヘルパースクリプトを実行します。条件付き有効化を追加する
依存関係が利用できる場合にのみ読み込まれるよう、Skill にゲートを設定します。
---name: gemini-searchdescription: Gemini CLI を使用して検索する。metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---ゲーティングオプション
| キー | 説明 |
|---|---|
requires.bins |
すべてのバイナリが PATH に存在する必要がある |
requires.anyBins |
少なくとも 1 つのバイナリが PATH に存在する必要がある |
requires.env |
各環境変数がプロセスまたは設定に存在する必要がある |
requires.config |
各 openclaw.json パスが truthy である必要がある |
os |
プラットフォームフィルター: ["darwin"]、["linux"]、["win32"] |
always |
true に設定すると、すべてのゲートをスキップして常に Skill を含める |
完全なリファレンス: Skills — ゲーティング。
環境変数と API キー
openclaw.json の Skill エントリに API キーを関連付けます。
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}キーは、そのエージェントターンの間だけホストプロセスに注入されます。 サンドボックスには渡されません。詳しくは サンドボックス化された環境変数を参照してください。
Skill Workshop を介して提案する
エージェントが作成した Skills や、Skill を稼働させる前にオペレーターによるレビューが必要な場合は、
SKILL.md を直接記述する代わりに、Skill Workshop の提案を使用します。
# 新しい Skill を提案openclaw skills workshop propose-create \ --name "hello-world" \ --description "挨拶を出力するシンプルな Skill。" \ --proposal ./PROPOSAL.md # 既存の Skill の更新を提案openclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "更新された挨拶 Skill"提案にサポートファイルが含まれる場合は、--proposal-dir を使用します。
openclaw skills workshop propose-create \ --name "hello-world" \ --description "挨拶を出力するシンプルな Skill。" \ --proposal-dir ./hello-world-proposal/ディレクトリのルートには PROPOSAL.md が必要です。サポートファイルは
assets/、examples/、references/、scripts/、または templates/ の下に配置します。
レビュー後:
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>提案のライフサイクル全体については、Skill Workshopを参照してください。
ClawHub に公開する
SKILL.md が完成していることを確認する
name、description、および metadata.openclaw のゲーティングフィールドが
設定されていることを確認します。プロジェクトページがある場合は、homepage URL を追加します。
スタンドアロンの ClawHub CLI をインストールしてログインする
npm i -g clawhubclawhub login公開する
clawhub skill publish ./path/to/hello-world推測されたバージョンを上書きするか、特定の所有者として公開するには、
--version <version> または --owner <owner> を追加します。完全な手順、所有者スコープ、その他の
メンテナンスコマンド(clawhub sync、clawhub skill rename など)については、
ClawHub — 公開および
ClawHub CLIを参照してください。