OpenClawカスタムスキルを作成する方法

Ashley Innocent

Ashley Innocent

26 2月 2026

OpenClawカスタムスキルを作成する方法

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

TL;DR

OpenClawの真の力は、スキルによる拡張性にあります。ClawHubを通じて利用できる700以上のコミュニティ構築スキルと、SKILL.mdファイルまたはTypeScriptを使用してカスタムスキルを作成する機能により、OpenClawアシスタントを事実上あらゆるタスクに特化したツールに変えることができます。このガイドでは、既存スキルのインストールから、独自のスキルの構築と公開まで、すべてを網羅しています。

はじめに

OpenClawは、すぐに使える強力な機能を提供していますが、その真の可能性はスキルによって解き放たれます。特殊なコーディング支援、DevOpsの自動化、調査ツール、業界固有の機能が必要な場合でも、それに対応するスキルがある可能性が高く、もしなければ自分で構築することができます。

💡
外部APIと連携するカスタムスキルを構築する場合、それらの統合をテストするための適切なツールが重要です。Apidogは、スキルが依存するAPIエンドポイントをテストおよびデバッグし、信頼性の高い統合を保証します。
ボタン

700を超えるコミュニティ構築スキルがClawHubから利用でき、カスタムスキルを作成する機能により、OpenClawは必要なAIアシスタントになります。

この包括的なガイドでは、以下をカバーします。

OpenClawスキルを理解する

スキルとは?

スキルは、OpenClawに特定の機能を追加するモジュラー拡張機能です。AIアシスタントに新しい能力を与えるプラグインと考えてください。特定の種類のメールを送信したり、特定のAPIと対話したりするなど、多岐にわたります。

スキルの種類

1. 自然言語スキル (SKILL.md)
最もシンプルな形式で、YAMLフロントマターを持つMarkdownで記述されます。これらは、特定の条件が満たされたときにOpenClawが実行する操作手順を定義します。

2. TypeScriptスキル
APIにアクセスし、複雑なロジックを実行し、外部サービスと深く統合できる、TypeScriptで構築されたフル機能のスキルです。

3. CLIベースのスキル
コマンドラインツールをラップするスキルで、OpenClawがシステムで利用可能なあらゆるツールを使用できるようにします。

スキルの仕組み

スキルは必要に応じて動的にロードされるため(ジャストインタイムロード)、メモリ使用量を管理しやすくなります。ユーザーのリクエストがスキルのトリガーに一致すると、OpenClawはスキルで定義されたアクションを実行します。

スキルカテゴリ

ClawHubには、以下の多数のカテゴリにわたるスキルがホストされています。

ClawHub公式サイト

ClawHubからスキルをインストールする

スキルを探す

clawhub.aiでClawHubマーケットプレイスを閲覧するか、OpenClawから直接検索してください。

# Search for skills
openclaw skills search "github"

# List popular skills
openclaw skills popular

# Browse a category
openclaw skills browse devops

スキルをインストールする

目的のスキルを見つけたら、インストールは簡単です。

# Install a specific skill
openclaw skills install github-actions

# Install with a specific version
openclaw skills install github-actions@1.2.0

# Install from a specific publisher
openclaw skills install @username/skill-name

推奨スキルをすべてインストールする

# Install popular starter skills
openclaw skills install-recommended

インストールを確認する

# List all installed skills
openclaw skills list

# Check skill details
openclaw skills info github-actions

インストール済みのスキルを管理する

スキルを有効化・無効化する

# Disable a skill (keeps it installed but unused)
openclaw skills disable github-actions

# Enable a disabled skill
openclaw skills enable github-actions

スキルを更新する

# Update a specific skill
openclaw skills update github-actions

# Update all skills
openclaw skills update-all

スキルを削除する

# Uninstall a skill
openclaw skills uninstall github-actions

スキルの設定

多くのスキルはカスタム設定をサポートしています。

# Configure a skill
openclaw skills config github-actions --set token=your-github-token

または、スキルの設定ファイルを直接編集します。

# ~/.openclaw/skills/github-actions/config.yaml
token: your-github-token
default-branch: main
auto-merge: false

カスタムスキルを構築する

いつカスタムスキルを構築すべきか

以下が必要な場合にカスタムスキルを構築します。

スキルの構造

基本的なスキルは以下で構成されます。

my-custom-skill/
├── SKILL.md          # スキル定義(自然言語スキル用)
├── config.yaml       # 設定スキーマ
└── icon.svg          # スキルアイコン(任意)

TypeScriptスキルの場合:

my-typescript-skill/
├── src/
│   └── index.ts      # メインスキルコード
├── package.json
├── tsconfig.json
├── config.schema.json
└── skill.yaml        # スキルマニフェスト

SKILL.mdスキルを作成する

基本的なSKILL.mdの構造

最小限のSKILL.mdファイルは次のとおりです。

---
name: weather-alert
description: お住まいの地域の気象警報を取得
triggers:
  - "weather"
  - "weather alert"
  - "forecast"
requires:
  - location
actions:
  - name: get_weather
    api: https://api.weather.com/v3
    params:
      location: "{location}"
---

# 気象警報スキル

このスキルは、お住まいの地域の気象警報と予報を提供します。

## 設定

スキルの設定でお住まいの地域を設定してください。
- city: 市区町村名
- units: metric または imperial

完全な例:メール要約スキル

---
name: daily-email-summary
description: 重要なメールの毎日の要約を受け取る
triggers:
  - "email summary"
  - "daily emails"
  - "summarize my emails"
requires:
  - email_access
  - api_key
actions:
  - name: fetch_emails
    method: gmail.users.messages.list
    params:
      q: "is:unread"
      maxResults: 10
  - name: summarize
    model: gpt-4
    prompt: "これらのメールを箇条書きで要約する"
---

# 毎日のメール要約スキル

自動化された毎日の要約で、受信トレイを常に把握しましょう。

## 機能

- Gmailから未読メールを取得する
- AIを使用して要点を要約する
- 好みのチャネルに要約を送信する

## セットアップ

1. OpenClawの設定でGmail APIアクセスを設定します
2. 希望の要約時間を設定します
3. 配信チャネル(Telegram、Discordなど)を選択します

## 使用例

あなたは:メールの要約を送って
OpenClaw:未読メール8件の要約です:


### 高度なトリガー

より高度なトリガーを使用します。

```markdown
---
name: smart-reminder
triggers:
  # 正確なフレーズ
  - "remind me to {action}"
  # パターン
  - "remind me in {duration}"
  # 文脈に応じた
  context:
    - channel: work
      patterns: ["meeting", "deadline", "project"]
---

# スマートリマインダースキル

インテリジェントな解析で、すべてのリマインダーリクエストを処理します。

TypeScriptスキルを構築する

より複雑な統合には、TypeScriptスキルが完全な制御を提供します。

開発環境をセットアップする

# Create a new skill project
openclaw skills create my-awesome-skill

# Navigate to the skill directory
cd my-awesome-skill

# Install dependencies
npm install

# Start development server
npm run dev

TypeScriptスキルの構造

// src/index.ts
import { Skill, SkillContext, SkillResult } from '@openclaw/skill-sdk';

export default class MyAwesomeSkill implements Skill {
  name = 'my-awesome-skill';
  description = '何か素晴らしいことをするスキル';

  // スキルがロードされたときに呼び出される
  async onLoad(context: SkillContext): Promise<void> {
    console.log('スキルがロードされました!');
  }

  // スキルがトリガーに一致したときに呼び出される
  async execute(context: SkillContext): Promise<SkillResult> {
    const { userMessage, config } = context;

    // ここにスキルのロジックを記述
    const result = await this.doSomethingAwesome(userMessage.content);

    return {
      message: result,
      actions: []
    };
  }

  private async doSomethingAwesome(input: string): Promise<string> {
    // スキルのロジックを実装
    return `あなたに言われました: ${input}`;
  }
}

スキルマニフェスト (skill.yaml)

name: my-awesome-skill
version: 1.0.0
description: 何か素晴らしいことをするスキル
author:
  name: あなたの名前
  email: you@example.com

triggers:
  - pattern: "do something awesome"
    type: exact

config:
  apiKey:
    type: string
    required: true
    description: サービスのAPIキー

permissions:
  - network
  - filesystem

runtime: nodejs18

設定スキーマ (config.schema.json)

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "apiKey": {
      "type": "string",
      "description": "サービスのAPIキー"
    },
    "enabled": {
      "type": "boolean",
      "default": true
    }
  },
  "required": ["apiKey"]
}

ビルドとテスト

# Build the skill
npm run build

# Run tests
npm test

# Package for distribution
npm run package

例:GitHub連携スキル

ここに、API統合を示すより完全な例を示します。

import { Skill, SkillContext, SkillResult } from '@openclaw/skill-sdk';
import axios from 'axios';

export default class GitHubSkill implements Skill {
  name = 'github';
  description = 'GitHubリポジトリと対話する';

  async execute(context: SkillContext): Promise<SkillResult> {
    const { userMessage, config } = context;
    const message = userMessage.content.toLowerCase();

    if (message.includes('list repos')) {
      return this.listRepositories(config);
    } else if (message.includes('create issue')) {
      return this.createIssue(context);
    }

    return {
      message: 'リポジトリのリスト表示、イシューの作成などをお手伝いできます。',
      actions: []
    };
  }

  private async listRepositories(config: any): Promise<SkillResult> {
    const response = await axios.get('https://api.github.com/user/repos', {
      headers: {
        Authorization: `token ${config.githubToken}`
      }
    });

    const repos = response.data.slice(0, 5).map((r: any) => r.name).join('\n');

    return {
      message: `あなたの最近のリポジトリ:\n${repos}`,
      actions: []
    };
  }

  private async createIssue(context: SkillContext): Promise<SkillResult> {
    // ユーザーメッセージからイシューの詳細を抽出
    return {
      message: 'イシューを作成するには詳細情報が必要です。リポジトリ、タイトル、説明を指定してください。',
      actions: [
        {
          type: 'request_input',
          fields: ['repo', 'title', 'description']
        }
      ]
    };
  }
}

ClawHubにスキルを公開する

スキルを公開する準備

  1. 徹底的にテストする:様々なシナリオでスキルが機能することを確認します。
  2. ドキュメントを追加する:例を含む明確なSKILL.md
  3. 適切なパーミッションを設定する:必要なアクセス権のみを要求します。
  4. アイコンを追加する:シンプルなSVGアイコンを作成します。
  5. バージョン管理:セマンティックバージョニング(1.0.0、1.1.0など)を使用します。

公開プロセス

# Login to ClawHub
openclaw skills login

# Check your skill is ready
openclaw skills validate

# Publish your skill
openclaw skills publish

公開要件

バージョン管理

# Bump version
openclaw skills version patch  # 1.0.0 -> 1.0.1
openclaw skills version minor  # 1.0.0 -> 1.1.0
openclaw skills version major  # 1.0.0 -> 2.0.0

# Publish new version
openclaw skills publish

セキュリティのベストプラクティス

サードパーティ製スキルをインストールする

重要なセキュリティに関する注意:2026年初頭のClawHavoc事件では、ClawHub上の悪意のあるスキルが明らかになりました。常に以下の予防策に従ってください。

  1. 公開元を確認する:信頼できる、検証済みの公開元からのスキルのみをインストールします。
  2. パーミッションを確認する:スキルが要求するパーミッションを確認します。
  3. コードを監査する:TypeScriptスキルの場合は、ソースコードを確認します。
  4. 分離して開始する:まず、別の環境でスキルをテストします。
# インストールする前にスキルのパーミッションを確認する
openclaw skills inspect github-actions

安全なスキルを構築する

独自のスキルを構築する際:

# 常に最小限の必須パーミッションを指定する
permissions:
  - network  # 必要な場合のみ
  - filesystem  # 必要な場合のみ

# シークレットをハードコードしない
# BAD:
const apiKey = "sk-1234567890";

# GOOD:
const apiKey = process.env.API_KEY;

推奨されるセキュリティ設定

# ~/.openclaw/security.yaml
skill_security:
  require_virustotal: true
  require_verified_publisher: false  # 本番環境ではtrueに設定
  audit_permissions: true
  sandbox_mode: true

高度なスキル開発

スキルの依存関係

スキルは他のスキルに依存することができます。

# skill.yaml
dependencies:
  - name: github
    version: ">=1.0.0"
  - name: slack
    version: ">=2.0.0"

イベント駆動型スキル

OpenClawイベントに反応します。

export default class EventSkill implements Skill {
  async onMessage(context: SkillContext): Promise<SkillResult> {
    // すべてのメッセージで呼び出される
  }

  async onTimer(context: SkillContext): Promise<SkillResult> {
    // スケジュールに基づいて呼び出される
  }

  async onStartup(context: SkillContext): Promise<void> {
    // OpenClawが起動したときに呼び出される
  }

  async onShutdown(context: SkillContext): Promise<void> {
    // OpenClawが停止したときに呼び出される
  }
}

スキルでMCPを使用する

スキルをMCPサーバーと組み合わせます。

# skill.yaml
mcpServers:
  - name: filesystem
    command: npx @modelcontextprotocol/server-filesystem ./data
  - name: github
    command: npx @modelcontextprotocol/server-github

トラブルシューティング

スキルがロードされない

# Check skill status
openclaw skills status my-skill

# View skill logs
openclaw logs --skill my-skill

一般的な原因:

トリガーが一致しない

# Test trigger matching
openclaw skills test-trigger "your trigger phrase"

パフォーマンスの問題

# Check skill resource usage
openclaw skills monitor

# Disable resource-heavy skills temporarily
openclaw skills disable heavy-skill

結論

OpenClawのスキルシステムは、シンプルなAIアシスタントを強力で拡張性の高いプラットフォームに変えます。ClawHubからコミュニティ構築スキルをインストールする場合でも、独自のカスタムソリューションを構築する場合でも、その可能性は事実上無限です。

OpenClawエコシステムは、新しいスキルが追加されるたびに強化されていきます。今日から構築を始めましょう!

💡
プロフェッショナルなAIアプリケーションを構築する準備はできましたか? 開発者向けに設計された視覚的なインターフェースで、AIサービス統合をテストおよび管理するためにApidogを無料でダウンロードしてください。
ボタン
Apidogデザイン仕様イラスト

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる