OpenClaw Skills の作成とレビュー方法
OpenClaw のカスタム Skill を作成する方法、コミュニティ Skill の品質・セキュリティレビュー、複雑なタスクを再利用可能な Skill チェーンに分解する方法を解説します。
最終更新: 2026-03-31
構築するもの
Skill の開発とレビューのワークフローを構築します:
- カスタム Skill の作成 — 特定のニーズに合わせた新しい OpenClaw Skill を作成
- コミュニティ Skill のレビュー — ClawHub の Skill を品質、セキュリティ、信頼性の観点から検証
- 複雑なタスクの分解 — マルチステップのワークフローを再利用可能な Skill チェーンに分割
- 反復的な改善 — 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 開発ツールをインストール
# 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 の例
# 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 をローカルにインストールしてテストします:
clawhub install ./my-custom-skill
その後、OpenClaw で実際に使用して期待通りに動作するか確認します。
ステップ 3:コミュニティ Skill をレビュー
ClawHub の Skill をインストールする前にレビューします:
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
分解からワークフローへ
分解結果を再利用可能なワークフローに変換します:
# .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 に公開します:
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 として保存できます。ほとんどの高度な自動化はこの方法で構築されています。