メインコンテンツへスキップ
Skills は、エージェントにツールをいつ、どのように使うかを教えます。各スキルは、 YAML フロントマターと Markdown の手順を含む SKILL.md ファイルを持つディレクトリです。 OpenClaw は、定義済みの優先順位に従って複数のルートから Skills を読み込みます。

最初のスキルを作成する

1

Create the skill directory

Skills はワークスペースの skills/ フォルダーに配置します。
mkdir -p ~/.openclaw/workspace/skills/hello-world
整理のためにスキルをサブフォルダーでグループ化できます。スキル名はフォルダーパスではなく、 SKILL.md のフロントマターで決まります。
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world
# skill name is still "hello-world", invoked as /hello-world
2

Write SKILL.md

フロントマターはメタデータを定義し、本文はエージェントへの手順を示します。
---
name: hello-world
description: A simple skill that prints a greeting.
---

# Hello World

When the user asks for a greeting, use the `exec` tool to run:

```bash
echo "Hello from your custom skill!"

命名規則:
- `name` には小文字、数字、ハイフンを使用します。
- ディレクトリ名とフロントマターの `name` を一致させます。
- `description` はエージェントとスラッシュコマンドの探索に表示されます。
  1 行にし、160 文字未満にしてください。

</Step>

<Step title="Verify the skill loaded">
```bash
openclaw skills list
OpenClaw はデフォルトで、Skills ルート配下の SKILL.md ファイルを監視します。 ウォッチャーが無効になっている場合、または既存のセッションを続けている場合は、 エージェントが更新済みリストを受け取れるように新しいセッションを開始します。
# From chat — archive current session and start fresh
/new

# Or restart the gateway
openclaw gateway restart
3

Test it

openclaw agent --message "give me a greeting"
またはチャットを開き、エージェントに直接依頼します。名前で明示的に呼び出すには /skill hello-world を使用します。

SKILL.md リファレンス

必須フィールド

フィールド説明
name小文字、数字、ハイフンを使用する一意のスラッグ
descriptionエージェントと探索出力に表示される 1 行の説明

任意のフロントマターキー

フィールドデフォルト説明
user-invocabletrueスキルをユーザー向けスラッシュコマンドとして公開します
disable-model-invocationfalseスキルをエージェントのシステムプロンプトから除外します(/skill 経由では引き続き実行されます)
command-dispatchtool に設定すると、モデルを迂回してスラッシュコマンドをツールへ直接ルーティングします
command-toolcommand-dispatch: tool が設定されているときに呼び出すツール名
command-arg-moderawツールディスパッチ時に、生の引数文字列をツールへ転送します
homepagemacOS の Skills UI で「Website」として表示される URL
ゲート用フィールド(requires.binsrequires.env など)については Skills — ゲートを参照してください。

{baseDir} の使用

パスをハードコードせずに、スキルディレクトリ内のファイルを参照します。 エージェントは、スキル自身のディレクトリを基準に {baseDir} を解決します。
Run the helper script at `{baseDir}/scripts/run.sh`.

条件付き有効化を追加する

依存関係が利用可能な場合にのみ読み込まれるように、スキルにゲートを設定します。
---
name: gemini-search
description: Search using Gemini CLI.
metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }
---
キー説明
requires.binsすべてのバイナリが PATH 上に存在する必要があります
requires.anyBins少なくとも 1 つのバイナリが PATH 上に存在する必要があります
requires.env各環境変数がプロセスまたは設定内に存在する必要があります
requires.configopenclaw.json パスが truthy である必要があります
osプラットフォームフィルター: ["darwin"]["linux"]["win32"]
alwaystrue に設定すると、すべてのゲートをスキップし、常にスキルを含めます
完全なリファレンス: Skills — ゲート
openclaw.json のスキルエントリに API キーを接続します。
{
  skills: {
    entries: {
      "gemini-search": {
        enabled: true,
        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },
      },
    },
  },
}
キーは、そのエージェントターンに限ってホストプロセスへ注入されます。 サンドボックスには到達しません。詳しくは サンドボックス化された環境変数を参照してください。

Skill Workshop 経由で提案する

エージェントが下書きしたスキル、またはスキルを有効化する前にオペレーターのレビューを行いたい場合は、 SKILL.md を直接書く代わりに Skill Workshop の提案を使用します。
# Propose a brand-new skill
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --proposal ./PROPOSAL.md

# Propose an update to an existing skill
openclaw skills workshop propose-update hello-world \
  --proposal ./PROPOSAL.md \
  --description "Updated greeting skill"
提案にサポートファイルが含まれる場合は --proposal-dir を使用します。
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --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 へ公開する

1

Ensure your SKILL.md is complete

namedescription、および任意の metadata.openclaw ゲートフィールドが設定されていることを確認します。 プロジェクトページがある場合は homepage URL を追加します。
2

Install the standalone ClawHub CLI and log in

npm i -g clawhub
clawhub login
3

Publish

clawhub skill publish ./path/to/hello-world
推定されたバージョンを上書きするには --version <version> を追加し、 特定の所有者の下で公開するには --owner <owner> を追加します。完全なフロー、所有者スコープ、 その他のメンテナンスコマンド(clawhub syncclawhub skill rename など)については、 ClawHub — 公開ClawHub CLI を参照してください。

ベストプラクティス

  • 簡潔にする — AI としてどう振る舞うかではなく、モデルに何をするかを指示します。
  • 安全を最優先にする — スキルが exec を使用する場合、信頼できない入力から任意のコマンドインジェクションが発生しないようにプロンプトを設計します。
  • ローカルでテストする — 共有する前に openclaw agent --message "..." を使用します。
  • ClawHub を使用する — ゼロから構築する前に、clawhub.ai でコミュニティの Skills を確認します。

関連

Skills reference

読み込み順序、ゲート、許可リスト、および SKILL.md 形式。

Skill Workshop

エージェントが下書きした Skills の提案キュー。

Skills config

完全な skills.* 設定スキーマ。

ClawHub

公開レジストリで Skills を閲覧および公開します。

Building plugins

Plugins は、ドキュメント化するツールと一緒に Skills を同梱できます。