OpenClaw カスタムSkill開発ガイド
ユニークなワークフローをSkillにカプセル化、AIに本当に仕事させる。
なぜ自分でSkillを書く?
OpenClawには多くの通用Skillが組み込まれてますが、各自のワークフローは違う。カスタムSkillで:
- 🎯 ユニークワークフロー封装:社内の承認プロセス、レポート形式、データソース、他者のSkillではカバー不可
- 🔗 社内ツール連携:会社のCRM、ERP、OAシステム接続、AIが直接業務システム操作可能
- ⚡ 実行効率向上:10ステップの手動操作を1つのSkillに圧縮、AI一言で完了
- 🔄 チーム協作標準化:チーム全員が同じSkillセット共有、AI出力フォーマットと品質統一
Skillアーキテクチャ概要
Skillの基本構造は超シンプル、3パート構成:
宣言層(Manifest)
OpenClawにこのSkillを教える:何か、入力が必要か、出力は何か。メタデータに名前、説明、パラメータ定義、権限要件等含む。
実行層(Handler)
Skillのコアロジック。入力パラメータ受け取り、実際の操作実施(API呼び出し、ファイル読み書き、データ処理)、結果返却。同期と非同期の両モード対応。
ライフサイクルフック(Hooks)
オプション拡張ポイント:初期化(設定読み込み、接続確立)、検証(入力妥当性チェック)、クリーンアップ(リソース解放、接続閉じる)。記述不要、システムがデフォルト処理。
実践:「顧客フォローアップリマインダー」Skill構築
実際のシーンで完全な開発フロー体験:
需要確認
シーン:営業チームはAIが毎日CRMの7日以上未接触顧客をチェック、フォローアップリスト生成、企業WeChatに送信。
- 入力:日数閾値(デフォルト7日)、目標グループID
- 出力:フォローアップリスト(顧客名、最後接触時刻、推奨アクション)
- 権限:CRM API アクセス権、企業WeChat送信権必要
Manifest記述
Skillメタデータ定義:名前 customer-followup、説明も明確、2つの入力パラメータと型・デフォルト値宣言。このステップがAI いつ呼ぶかを決める。
Handler実装
コアロジック3ステップ:① CRM APIで超期顧客クエリ → ② 各顧客のフォローアップ提案AI生成 → ③ メッセージ整形して企業WeChatに送信。各ステップがOpenClawの組み込みツール呼び出し可。
ローカルテスト
OpenClawのdev モードでSkill読み込み、AIに「3日未接触顧客をチェック」。AIが意図正確認識、正しいパラメータ渡し、期待結果返すか確認。
デプロイ上線
テスト合格後、本番環境にSkillインストール。チーム内の誰でも自然言語で実行可能。
一般的な開発パターン
ほとんどのカスタムSkillは次のカテゴリに属する:
🌐 API統合型
外部サービスAPI接続、AIが第三者システム操作可能。
- 企業WeChat / Ding Talk / Feishu接続、メッセージと通知送信
- Jira / Notion / Feishuテーブル接続、プロジェクト・タスク管理
- ペイメントゲートウェイ呼び出し、注文ステータス確認
- 社内構築API サービス接続
📄 ファイル処理型
一括ファイル処理、フォーマット変換、情報抽出。
- 一括Word → PDF + ウォーターマーク追加
- 請求書画像から金額と日付抽出(OCR活用)
- 複数Excel統合、汇总レポート生成
- ディレクトリ内ファイルスキャン、ルール整理アーカイブ
🔔 通知・レポート型
スケジュール報告生成、条件発生時に通知。
- 日次スタンドアップ摘要:昨日のGit commitsとJira変更汇总
- 異常アラート:メトリクス超過時に自動通知
- 週報生成:複数データソースからデータ抽出整形
🔄 データ処理型
ETL、データクリーニング、フォーマット変換などデータ集約型タスク。
- DBエクスポート → クリーニング → 別システムに書込
- CSV/JSON フォーマット相互変換、データ検証実施
- 複数ソースデータ統合重複排除
テストとデバッグのコツ
- 🐛 dev モード実行:Skillロード時debugモード有効化、AI渡し完全パラメータと Skill返し完全結果を表示
- 🧪 シミュレーション入力テスト:典型的な複数入力セット用意(正常値、境界値、異常値)、Skillの動作検証
- 📋 Manifest説明チェック:AIがSkill呼ばない場合、Manifest説明が不十分。より自然言語で機能説明。
- 🔍 ログトレース:HandlerにLog出力追加、各ステップの実行状況追跡
- ⏱️ タイムアウト対策:外部API呼び出しは絶対タイムアウト設定、Skillハングアップ防止
- 🛡️ エラーハンドリング:エラー直接クラッシュより、明確なエラー情報返却。AIは次の判断に必要。
公開・シェア
きたSkillはしまわず、社会にシェア:
- 📦 パッケージ化:標準ディレクトリ構造整理、Manifest、Handler、README、例え設定含む
- ✅ レビューOpenClaw Skillリポジトリ提出前に、ハードコード秘密鍵なし、基本エラー処理あり、説明明確か確認
- 🌍 公開:PRで公式 Skillリポジトリ提出、審査合格後、全ユーザーが1クリックインストール可
- 🏢 チーム内分享:プライベートSkillリポジトリ構築、チーム内使用のみ
daily-report-generator の方が tool-v2-finalより何万倍も好い。AIも名前と説明で判断。開発ベストプラクティスチェックリスト
- ✅ 単一責任:1つのSkillは1つのことのみ。「メール送信」と「レポート生成」は別Skill。
- ✅ パラメータはデフォルト値付き:パラメータはデフォルト値付き、AI確認不要
- ✅ 説明はAI向け:Manifest説明はAI向け、AI判定:いつ呼ぶべき
- ✅ べき等設計:同入力で複数実行も結果同じ。重複メール、重複レコード作成を避ける
- ✅ 秘密情報は環境変数:API Key、パスワードはSkillにハードコード厳禁
- ✅ 有意義な結果返却:「成功」のみでなく、具体的に何した(例「3名へメール送信済:太郎、次郎、三郎」)
関連キーワード
OpenClaw Skill開発 · カスタムAI技能 · OpenClawプラグイン開発 · AI Agent拡張開発 · OpenClaw Skill公開 · エンタープライズAIオートメーション