Skills

Skillsの作成

Skillsは、いつどのようにツールを使うかをエージェントに教えます。各スキルは、YAMLフロントマターとMarkdown指示を含むSKILL.mdファイルを持つディレクトリです。

Skillsの読み込みと優先順位付けの仕組みについては、Skillsを参照してください。

最初のスキルを作成する

  • スキルディレクトリを作成する

    Skillsはワークスペース内に配置されます。新しいフォルダーを作成します。

    mkdir -p ~/.openclaw/workspace/skills/hello-world
    
  • SKILL.mdを書く

    そのディレクトリ内にSKILL.mdを作成します。フロントマターはメタデータを定義し、 Markdown本文にはエージェントへの指示を記述します。

    ---
    name: hello-world
    description: A simple skill that says hello.
    ---
    
    # Hello World Skill
    
    When the user asks for a greeting, use the `echo` tool to say
    "Hello from your custom skill!".
    

    スキルのnameには、小文字、数字、ハイフンを使ったハイフンケースを使用します。 フォルダー名とフロントマターのnameを一致させてください。

  • ツールを追加する(任意)

    フロントマターでカスタムツールスキーマを定義することも、エージェントに既存のシステムツール (execbrowserなど)を使うよう指示することもできます。Skillsは、説明対象のツールと一緒に plugins内で配布することもできます。

  • スキルを読み込む

    OpenClawがスキルを検出するように、新しいセッションを開始します。

    # From chat
    /new
    
    # Or restart the gateway
    openclaw gateway restart
    

    スキルが読み込まれたことを確認します。

    openclaw skills list
    
  • テストする

    スキルをトリガーするはずのメッセージを送信します。

    openclaw agent --message "give me a greeting"
    

    または、エージェントとチャットして挨拶を依頼します。

  • スキルメタデータリファレンス

    YAMLフロントマターは次のフィールドをサポートします。

    フィールド 必須 説明
    name はい 小文字、数字、ハイフンを使った一意の識別子
    description はい エージェントに表示される1行の説明
    metadata.openclaw.os いいえ OSフィルター(["darwin"]["linux"]など)
    metadata.openclaw.requires.bins いいえ PATH上に必要なバイナリ
    metadata.openclaw.requires.config いいえ 必要な設定キー

    ベストプラクティス

    • 簡潔にする — AIとしてどう振る舞うかではなく、_何を_するかをモデルに指示する
    • 安全第一 — スキルがexecを使う場合、信頼できない入力から任意のコマンドインジェクションができないようにプロンプトを設計する
    • ローカルでテストする — 共有する前にopenclaw agent --message "..."を使ってテストする
    • ClawHubを使うClawHubでSkillsを探して投稿する

    Skillsの配置場所

    場所 優先順位 スコープ
    \<workspace\>/skills/ 最高 エージェント単位
    \<workspace\>/.agents/skills/ ワークスペース内のエージェント単位
    ~/.agents/skills/ 共有エージェントプロファイル
    ~/.openclaw/skills/ 共有(すべてのエージェント)
    バンドル済み(OpenClawに同梱) グローバル
    skills.load.extraDirs 最低 カスタム共有フォルダー

    関連