Skills
Skills の作成
Skills は、エージェントがツールをいつどのように使うかを教えます。各Skillは、YAMLフロントマターとMarkdownの手順を含むSKILL.mdファイルを持つディレクトリです。
OpenClaw は、定義済みの優先順位に従って複数のルートからSkillsを読み込みます。
最初のSkillを作成する
Create the skill directory
Skills はワークスペースのskills/フォルダーに置きます。新しいSkill用のディレクトリを作成します。
mkdir -p ~/.openclaw/workspace/skills/hello-world整理のためにSkillsをサブフォルダーにまとめることもできます。Skillの名前はフォルダーパスではなく、SKILL.mdのフロントマターで決まります。
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldWrite SKILL.md
ディレクトリ内にSKILL.mdを作成します。フロントマターはメタデータを定義し、本文はエージェントへの手順を示します。
---name: hello-worlddescription: A simple skill that prints a greeting.--- # Hello World When the user asks for a greeting, use the `exec` tool to run: ```bashecho "Hello from your custom skill!" 命名規則:- `name`には小文字、数字、ハイフンを使用します。- ディレクトリ名とフロントマターの`name`を一致させます。- `description`はエージェントとスラッシュコマンド検出に表示されます。1行に収め、160文字未満にしてください。 OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZnkgdGhlIHNraWxsIGxvYWRlZCI ```bashopenclaw skills listOpenClaw はデフォルトでSkillsルート配下のSKILL.mdファイルを監視します。監視が無効になっている場合、または既存のセッションを継続している場合は、エージェントが更新済みリストを受け取れるように新しいセッションを開始します。
# From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restartTest it
Skillをトリガーするはずのメッセージを送信します。
openclaw agent --message "give me a greeting"またはチャットを開き、エージェントに直接依頼します。名前で明示的に呼び出すには/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ディレクトリ内のファイルを参照できます。
Run the helper script at `{baseDir}/scripts/run.sh`.条件付き有効化を追加する
依存関係が利用可能な場合にのみ読み込まれるように、Skillにゲートを設定します。
---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---Gating options
| キー | 説明 |
|---|---|
requires.bins |
すべてのバイナリがPATH上に存在する必要がある |
requires.anyBins |
少なくとも1つのバイナリがPATH上に存在する必要がある |
requires.env |
各環境変数がプロセスまたは設定内に存在する必要がある |
requires.config |
各openclaw.jsonパスが真値である必要がある |
os |
プラットフォームフィルター: ["darwin"]、["linux"]、["win32"] |
always |
trueに設定するとすべてのゲートをスキップし、常にSkillを含める |
完全なリファレンス: Skills — ゲーティング。
Environment and API keys
APIキーをopenclaw.json内のSkillエントリに接続します。
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}キーは、そのエージェントターンの間だけホストプロセスに注入されます。 サンドボックスには届きません。詳細は サンドボックス化された環境変数を参照してください。
Skill Workshop経由で提案する
エージェントが下書きしたSkillsや、Skillを有効化する前にオペレーターのレビューを受けたい場合は、SKILL.mdを直接書く代わりにSkill Workshopの提案を使用します。
# Propose a brand-new skillopenclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal ./PROPOSAL.md # Propose an update to an existing skillopenclaw 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へ公開する
Ensure your SKILL.md is complete
name、description、およびmetadata.openclawのゲート用フィールドが設定されていることを確認します。プロジェクトページがある場合はhomepage URLを追加します。
Install the ClawHub skill
ClawHub Skillには、現在の公開コマンド形式と必要なメタデータが記載されています。
openclaw skills install @openclaw/clawhub-publishPublish
clawhub publishフロー全体についてはClawHub — 公開を参照してください。