OpenClaw
ユースケース上級20 min

OpenClaw Skills の作成とレビュー方法

OpenClaw のカスタム Skill を作成する方法、コミュニティ Skill の品質・セキュリティレビュー、複雑なタスクを再利用可能な Skill チェーンに分解する方法を解説します。

最終更新: 2026-03-31

構築するもの

Skill の開発とレビューのワークフローを構築します:

  1. カスタム Skill の作成 — 特定のニーズに合わせた新しい OpenClaw Skill を作成
  2. コミュニティ Skill のレビュー — ClawHub の Skill を品質、セキュリティ、信頼性の観点から検証
  3. 複雑なタスクの分解 — マルチステップのワークフローを再利用可能な Skill チェーンに分割
  4. 反復的な改善 — AI アシストのフィードバックで Skill をテスト、デバッグ、改善

このガイドを完了すれば、本番品質の Skill を作成し、インストール前にあらゆる Skill を自信を持って評価できるようになります。

カスタム Skill を作成する理由

ClawHub には数百のコミュニティ Skill がありますが、特定のニーズには対応できない場合があります:

  • 社内ツール — 自社の API、ダッシュボード、ワークフローは公開 Skill ではカバーされない
  • カスタム連携 — ニッチなツールやプロプライエタリなシステムにはカスタムコネクターが必要
  • ワークフロー最適化 — 複数の Skill を 1 つにまとめることで時間を節約
  • 品質管理 — 自作の Skill なら何をしているか正確に把握できる
  • 競争優位 — 競合が持っていない独自の自動化ワークフロー

Skill をインストール前にレビューすべき理由

ClawHub のすべての Skill が本番対応とは限りません。コミュニティ Skill をインストールする前に:

  • セキュリティ — Skill がファイルシステム、ネットワーク、認証情報に予期しないアクセスをする可能性
  • 品質 — プロトタイプや概念実証であり、本番グレードではない Skill もある
  • メンテナンス — 放置された Skill は新しい OpenClaw バージョンで動作しない場合がある
  • 依存関係 — 外部サービスや API キーが必要な Skill がある
  • 権限 — Skill がリクエストするアクセス権限を付与する前に正確に理解する

前提条件

  • OpenClaw がインストール・設定済み(スタートガイド
  • YAML と基本的なスクリプティングの知識
  • Node.js 18+

ステップ 1:Skill 開発ツールをインストール

bash
# 1. Skill Builder — 構造化された Skill 作成をガイド
npx clawhub@latest install skill-builder

# 2. Skill Reviewer — 品質と構造の分析
npx clawhub@latest install skill-reviewer

# 3. Task Decomposer — 複雑なタスクを Skill チェーンに分解
npx clawhub@latest install task-decomposer

ステップ 2:最初のカスタム Skill を作成

Skill の構造を理解する

OpenClaw の Skill は SKILL.md ファイルを中心に構成されます。これは AI エージェントにタスクの実行方法を指示するコアドキュメントです。Skill Builder Skill がベストプラクティスに従った構造の作成をガイドします。

一般的な Skill の構成:

my-custom-skill/
  ├── SKILL.md             # エージェントへのコア指示
  ├── [topic].md           # オンデマンド詳細ファイル(必要時に読み込み)
  ├── references/          # 詳細なドキュメント、サンプル
  └── scripts/             # オプションの自動化スクリプト

SKILL.md を作成する

SKILL.md は Skill の心臓部です。Skill Builder Skill をインストールした状態で OpenClaw に作成を依頼します:

Help me create a skill that searches a custom API for products.
The API is at https://api.example.com/search and requires an API key.

Skill Builder が以下の点をガイドします:

  • モジュラー構造 — メインの SKILL.md を簡潔に保ち、詳細トピックは別ファイルに分離
  • 段階的な開示 — エージェントが必要な時にのみ詳細ファイルを読み込み
  • トークン効率の高い設計 — コンテキストウィンドウの使用量を最小化
  • 明確な入出力 — Skill が期待するものと返すものを定義

SKILL.md の例

markdown
# Product Search Skill

Search the product catalog API for items matching a query.

## Configuration
- `API_URL`: Base URL of the product API
- `API_KEY`: API key for authentication (set as environment variable)

## Usage
When the user asks to search for products, use the API:

GET {API_URL}/search?q={query}
Authorization: Bearer {API_KEY}

## Response Format
Return results as a structured list with name, price, and URL for each product.

Skill をテストする

Skill をローカルにインストールしてテストします:

bash
clawhub install ./my-custom-skill

その後、OpenClaw で実際に使用して期待通りに動作するか確認します。

ステップ 3:コミュニティ Skill をレビュー

ClawHub の Skill をインストールする前にレビューします:

bash
clawhub run skill-reviewer --skill "clawhub-username/skill-name"

レビューアーが Skill の SKILL.md とサポートファイルを分析し、以下をチェックします:

=== Skill Review: awesome-slack-bot ===

## Structure Assessment
✓ SKILL.md is well-organized with clear sections
✓ Description is specific and actionable
✓ Input/output expectations are documented
✓ Usage examples included
⚠ Missing on-demand detail files — all content is in one large SKILL.md

## Quality Score
✓ Frontmatter is complete (name, description, version)
✓ Instructions are token-efficient — progressive disclosure used
✓ Error handling guidance included
⚠ No rate limiting guidance — may hit API limits under heavy use

## Description Quality: 8.5/10
Recommendation: Well-structured skill, ready for use

確認すべきポイント

危険信号

  • 必要のない権限をリクエストしている(例:検索 Skill がファイル書き込みアクセスをリクエスト)
  • テストやドキュメントがない
  • 最終更新が 6 ヶ月以上前
  • ソースコードにハードコードされた URL や認証情報
  • 難読化・圧縮されたコード

安全信号

  • 実際の使用に合った明確な権限宣言
  • 包括的なテストカバレッジ
  • アクティブなメンテナンスとコミュニティの関与
  • 透明性のあるソースコード
  • 充実した設定ドキュメント

ステップ 4:複雑なタスクを分解

Task Decomposer Skill が複雑なリクエストを実行可能なステップに分解します。OpenClaw に依頼します:

Decompose this task: Monitor competitor pricing pages daily and alert me when prices change

出力例:

=== Task Decomposition ===

Task: Monitor competitor pricing pages daily and alert when prices change

## Skill Chain

1. **browser-use** — Navigate to each competitor's pricing page
   Input: List of competitor URLs
   Output: Page content / screenshots

2. **web-scraper** — Extract pricing data from each page
   Input: Page content
   Output: Structured pricing data (JSON)

3. **file_read** — Load yesterday's pricing data for comparison
   Input: File path to stored data
   Output: Previous pricing data

4. **summarize** — Compare current vs. previous pricing and identify changes
   Input: Current data + previous data
   Output: Change report

5. **telegram** (or email) — Send alert if changes detected
   Input: Change report
   Output: Notification sent

## Required Skills
- browser-use (installed: yes)
- web-scraper (installed: yes)
- summarize (installed: yes)
- telegram (installed: no — install with: npx clawhub@latest install telegram)

## Estimated Setup Time: 20 minutes

分解からワークフローへ

分解結果を再利用可能なワークフローに変換します:

yaml
# .openclaw/price-monitor.yml
name: competitor-price-monitor
schedule: "0 9 * * *"
steps:
  - skill: browser-use
    action: navigate
    urls:
      - "https://competitor1.com/pricing"
      - "https://competitor2.com/pricing"

  - skill: web-scraper
    action: extract
    format: json
    target: "pricing tables"

  - skill: summarize
    action: compare
    current: "{{step_2.output}}"
    previous: "./data/last-pricing.json"

  - skill: telegram
    action: send
    condition: "changes_detected"
    message: "{{step_3.output}}"

  - action: save
    data: "{{step_2.output}}"
    path: "./data/last-pricing.json"

ステップ 5:Skill を公開

Skill が完成したら ClawHub に公開します:

bash
clawhub publish my-custom-skill

公開前の確認事項:

  • SKILL.md が完全で適切に構造化されている
  • 説明が具体的で実行可能
  • ファイルにハードコードされたシークレットがない
  • バージョン番号が semver に従っている

トラブルシューティング

Skill が期待通りに動作しない

  • SKILL.md の指示が明確で具体的か確認
  • 異なるプロンプトでテストし、エージェントが Skill を正しく解釈しているか確認
  • Skill Builder のガイドラインで一般的な指示の落とし穴を確認

Skill 実行中に "Permission denied"

  • Skill がアクセスするものを確認 — ファイル、ネットワーク、認証情報
  • インストール時に必要な権限を付与しているか確認
  • 一部の権限は初回実行時にユーザーの明示的な承認が必要

Skill Reviewer が誤検知を表示する

  • レビューアーは保守的で、懸念の可能性があるものすべてをフラグします
  • 具体的な警告を確認し、自分のユースケースに当てはまるか判断
  • すべての警告が実際の問題とは限りません。ご自身の判断で対応してください

公開した Skill が ClawHub に表示されない

  • 公開の反映には数分かかることがあります
  • ClawHub アカウントが認証済みか確認
  • Skill 名が既存の Skill と競合していないか確認

よくある質問

いいえ。ほとんどの OpenClaw Skills は `SKILL.md` ファイル、つまり AI エージェントにタスクの実行方法を指示する Markdown ドキュメントを中心に構築されています。明確な指示と API ドキュメントがあれば効果的な Skill を作成できます。より複雑な自動化では SKILL.md と一緒にスクリプト(Python、Bash など)を含めることもできますが、これは任意です。

はい。Skill は公開せずにローカルにインストールできます。プロジェクトやプライベートリポジトリに Skill ディレクトリを保管し、ローカルパスでインストールします:`clawhub install ./my-custom-skill`。公開すべきでない社内向け連携でよく使われるパターンです。

Skill のメタデータでバージョンをバンプし、README のチェンジログを更新して、再度 `clawhub publish` を実行します。ClawHub がバージョニングを管理し、古いバージョンのユーザーは `clawhub update` を実行しない限り自動更新されません。

最小権限の原則に従ってください。Skill が実際に必要とする権限のみをリクエストします。一般的な権限の組み合わせ:ネットワークのみ(API 連携用)、ネットワーク + file_read(データ処理用)、ネットワーク + credentials(認証済み API 用)。Skill が出力をディスクに保存する必要がない限り、file_write のリクエストは避けてください。

SKILL.md にレート制限のガイダンスを含めて、API 呼び出し時にエクスポネンシャルバックオフを実装するようエージェントに指示します。レート制限のある API とやり取りする Skill では、README に制限を記載してユーザーに期待値を伝え、含まれるスクリプトにリトライロジックを入れてください。

はい。これは最も強力なパターンの一つです。YAML ワークフロー定義を使って Skill をチェーンするか、Task Decomposer を使ってユースケースに適した Skill チェーンを特定します。作成したワークフローは、内部で他の Skill に処理を委譲する新しい Skill として保存できます。ほとんどの高度な自動化はこの方法で構築されています。

関連ユースケース