リモートの Mac mini M4 Pro 上で OpenClaw Gateway が常駐し、チャンネルも通る段階を超えると、次に詰まるのは多くの場合「もう 1 本の Plugin」ではありません。詰まるのは Skills です。Skills は Agent が会話中に呼び出すツール面を担い、ファイル操作、ブラウザ自動化、シェル実行、社内 Runbook などを提供します。2026.5.x 系では Skills は 組み込みパック、ClawHub コミュニティカタログ、skills.install.allowUploadedArchives で制御される 私有 zip アップロード の 3 経路に整理されました。Skills を Plugins と同じ手順で扱ったり、ディスク設計を後回しにしたチームは、Gateway の再起動ループや zip が誤ったワークスペースツリーに展開される事象に気付くのが遅れがちです。
本記事は、ベースインストールとデーモン導入を済ませた運用者向けです。Skills と Plugins の境界表、2026.5.x プリフライト、組み込み有効化マトリクス、ClawHub 導入と pin コマンド、私有 zip アップロードのセキュリティ境界、M4 と M4 Pro のディスク目安、症状マトリクス、小規模チームの段階事例、12 ステップ手順書を提示します。料金は NOVAKVM 価格ページ、注文は 注文ページ、SSH とバックアップ方針は ヘルプセンター をご確認ください。併読として マルチワークスペース分離編、2026.5.x 外部 Plugin npm 編、初回起動クロージャ編、install.sh とディスク編 も参照してください。コマンドは上流ドキュメントを正とし、リリース後に再確認してください。
[ SECTION_01 ] // BOUNDARY_MAP Skills と Plugins:本番チームで最初に崩れる境界
インストール直後に最も多い誤りは、Skill を Plugin CLI で入れること、または Agent が Skill を必要としているのにチャンネル Plugin だけ有効化することです。同一 Gateway 上で共存しますが、役割は異なります。
- Plugins は入口とサイドカーを拡張します:Telegram、Discord、WeChat ClawBot、メールブリッジ、npm 製チャンネルアダプタは Plugin として Gateway に接続します。メッセージの入出力を担い、会話中に Agent が呼ぶツール定義そのものではありません。
- Skills は Agent 能力を拡張します:ファイル読み書き、ブラウザ制御、構造化 API ラッパー、社内 Runbook を呼び出し可能なツールとして提供します。Agent ランタイムに読み込まれ、会話中のツール一覧に現れます。
- インストールルートが異なります:Plugin は 2026.5.x 外部 Plugin 記事で述べたキャッシュパス配下に置かれます。Skills は
~/.openclaw/skills/配下に built-in、ClawHub、uploaded のサブツリーとして展開されます。 - アップグレードの影響範囲が異なります:Plugin 更新はチャンネル停止につながります。Skill 更新はツールスキーマを変え、旧引数形状を前提とした Agent プロンプトを壊すことがあります。
- セキュリティ姿勢も異なります:Plugin はメッセージング面の OAuth トークンを保持しがちです。Skills はシェル実行やローカルファイル読み取りを伴うため、uploaded アーカイブには明示的な許可フラグとワークスペーススコープが必要です。
目安は次のとおりです。「Telegram を受信できない」なら Plugins を直します。「社内チェックリストツールを Agent が呼べない」なら Skills を直します。CLI 面を混同すると半日を失い、共有キャッシュディレクトリを壊すこともあります。
| 観点 | Skills | Plugins |
|---|---|---|
| 主目的 | Agent 呼び出し可能ツールとワークフロー | チャンネル、ブリッジ、入口アダプタ |
| 典型 CLI | openclaw skill list|install|enable|pin |
openclaw plugin list|install|pin |
| カタログ源 | 組み込み、ClawHub Skills、私有 zip | 組み込みチャンネル、ClawHub Plugins、外部 npm |
| 私有アップロード | allowUploadedArchives が true のとき zip 可 |
通常は npm または ClawHub パッケージ |
| マルチワークスペース | ワークスペース別 enable リストと upload 先 | ワークスペース別 pin(マルチ PJ 記事参照) |
| ロールバック手段 | openclaw skill pin と enable リストからの除外 |
openclaw plugin pin と Gateway 再起動 |
[ SECTION_02 ] // PREFLIGHT 2026.5.x Skills モデル変更とプリフライト確認
Skill パックを 1 つ入れる前に、リモート Mac 上で 4 つのベースラインを確認してください。省略すると zip 破損に見えるエラーが、実際はバージョン不一致や権限問題であることが多いです。
- OpenClaw メジャー:Skills インストール意味論は 2026.5.x 設定スキーマに紐づきます。
openclaw --versionを実行し、該当タグの README Skills 節と突合してください。 - Gateway ヘルス:インストール変更前に
curl -fsS http://127.0.0.1:18789/healthが ok を返す必要があります。半死状態の Gateway 中に install すると skill ツリーが中途半端に残ります。 - doctor 合格:
openclaw doctorは Node パス、書き込み可能な~/.openclaw、launchd コンテキストを報告します。Skills install は Gateway と同一ユーザーで動くため、PATH ドリフトは post-install フック失敗につながります。 - ワークスペース文脈:複数ワークスペース運用では、どのワークスペースが enable リストを所有するかを先に決めてください。
--workspaceなしのクロスワークスペース install は「入れたのに Agent が見えない」問い合わせの最多パターンです。
novakvm@m4pro-sg-01:~$ openclaw --version
openclaw 2026.5.2 (stable)
novakvm@m4pro-sg-01:~$ curl -fsS http://127.0.0.1:18789/health
{"status":"ok","gateway":"18789","skills":{"builtin":12,"clawhub":0,"uploaded":0}}
novakvm@m4pro-sg-01:~$ openclaw doctor --json | jq '.checks[] | select(.name|test("skills|disk|launchd"))'
[OK] skills.root writable (~/.openclaw/skills)
[OK] launchd PATH includes node and openclaw
[OK] disk free 412 GB (warn below 80 GB)
novakvm@m4pro-sg-01:~$ openclaw skill list --json | jq '.[] | {name,source,enabled,version}'
{"name":"file-tools","source":"builtin","enabled":true,"version":"2026.5.0"}
{"name":"browser-lite","source":"builtin","enabled":false,"version":"2026.5.0"}
2026.5.x では 2026.4 初期ビルドと比べ 3 点が重要です。Skills 設定は専用 skills.* 名前空間へ移行しました。ClawHub の Skill パッケージは同名 Plugin から独立してバージョン管理されます。uploaded アーカイブは skills.install.allowUploadedArchives が既定 false のため明示 opt-in が必要です。false は安全側の既定値として扱い、アップロード ACL を管理できるホストでのみ true にしてください。
[ SECTION_03 ] // BUILTIN_MATRIX 組み込み Skills:有効化と無効化の判断
組み込み Skills は OpenClaw に同梱され、ClawHub fetch は不要です。判断は「入れるか否か」ではなく、ワークスペース単位で enable するか disable するか です。ディスクとセキュリティのトレードオフを意識してください。
| Skill ファミリ | enable する場面 | off のままにする場面 | ディスク / リスク |
|---|---|---|---|
| file-tools | Agent がワークスペースファイルを読み書きする | ファイルアクセス不要の公開デモ | 低;設定でパススコープを監査 |
| shell-exec | 開発自動化、Runbook Agent | サンドボックスなしの顧客向け Bot | 高;信頼ワークスペースに限定 |
| browser-lite | 調査 Agent、フォーム入力ワークフロー | GUI セッションなしのヘッドレス Gateway | 中;skills/browser キャッシュが増える |
| http-fetch | カスタム Plugin なしの API 接続 | egress 許可リスト未整備 | 低;外向き URL をログ化 |
| calendar-bridge | 社内オペレーションの予定連携 | ワークスペース別 OAuth 未分離のマルチテナント | トークンは secrets ツリーに保持 |
novakvm@m4pro-sg-01:~$ openclaw skill enable file-tools --workspace acme
novakvm@m4pro-sg-01:~$ openclaw skill disable shell-exec --workspace acme
novakvm@m4pro-sg-01:~$ openclaw skill enable browser-lite --workspace internal
novakvm@m4pro-sg-01:~$ openclaw skill list --workspace acme --json | jq '.[] | select(.enabled==true) | .name'
"file-tools"
"http-fetch"
[WARN] shell-exec remains disabled on acme; internal workspace may differ.
本番運用では、ワークフローを満たす最小のツール面だけ enable してください。FAQ だけ答えるサポート Bot に day-one で shell-exec は不要です。Skills 追加はメンテナンス窓で行い、前後で openclaw skill list --json をスナップショットし、差分を変更チケットに添付する習慣を Plugin pin と同様に取ってください。
[ SECTION_04 ] // CLAWHUB_SKILLS ClawHub コミュニティ Skills:導入、pin、ロールバック
ClawHub は Plugin エントリとは別のコミュニティ Skill パックをホストします。名称衝突があるため、pin 前に JSON で source: clawhub を必ず確認してください。インストールは Plugin と似ていますが、書き込み先は ~/.openclaw/skills/clawhub/ です。
novakvm@m4pro-sg-01:~$ openclaw skill search notion-export --source clawhub
notion-export 1.3.1 (stable) — export pages to markdown
notion-export 1.4.0-beta.2 (beta) — block API v2
novakvm@m4pro-sg-01:~$ openclaw skill install notion-export@1.3.1 --workspace acme --channel stable
[OK] installed notion-export@1.3.1 → ~/.openclaw/skills/clawhub/notion-export/1.3.1
novakvm@m4pro-sg-01:~$ openclaw skill pin notion-export@1.3.1 --workspace acme
novakvm@m4pro-sg-01:~$ openclaw skill enable notion-export --workspace acme
novakvm@m4pro-sg-01:~$ launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway
novakvm@m4pro-sg-01:~$ curl -fsS http://127.0.0.1:18789/health | jq '.skills'
{"builtin":12,"clawhub":1,"uploaded":0}
ClawHub Skill がプロンプトやディスクを壊したときのロールバック手順は次のとおりです。
openclaw skill disable <name> --workspace <ws>で新規セッションへのバインドを止めます。openclaw skill pin <name>@<old> --workspace <ws>で旧バージョンを固定します。launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway後に/healthを再確認します。- スキーマ移行で状態が壊れた場合は
clawhub/<name>/配下のバージョンフォルダのみアーカイブ後に削除し、skills/ルート全体は消さないでください。
カナリア運用では beta Skill を internal または canary ワークスペースだけに入れ、24 時間の回帰プロンプト後に本番ワークスペースへ pin を昇格させます。マルチテナントホストで openclaw skill update --all を無人実行しないでください。
[ SECTION_05 ] // PRIVATE_UPLOAD 私有 Skill アーカイブ:アップロード経路、allowUploadedArchives、境界
社内 Runbook を ClawHub に公開せず zip で配布するチーム向けに、OpenClaw 2026.5.x は skills.install.allowUploadedArchives=true のときアップロード install を許可します。既定 false は意図的です。uploaded アーカイブにはシェルフックを含められます。
- 設定ゲート:
openclaw.jsonまたはopenclaw config set skills.install.allowUploadedArchives=trueで許可します。承認者を記録し、可能ならワークスペース allowlist と組み合わせてください。 - 展開先:
~/.openclaw/skills/uploaded/<workspace>/<skill-name>/<version>/。ロールバックしやすいよう 1 アップロード 1 バージョンディレクトリを維持します。 - マニフェスト:zip には
skill.manifest.jsonが必要です。name、version、ツール定義、任意の permission 宣言を含めます。doctor が enable 前に検証します。 - 転送:Gateway ホストで
openclaw skill uploadを使うか、SCP で staging 後openclaw skill install --from-archiveします。任意パスへ手動 unzip するとハッシュ不一致で enable できません。 - シークレット:API キーを zip に埋め込まないでください。
~/.openclaw/secrets/<workspace>/.env.localへ注入し、マニフェストでは環境変数名を参照します。 - ACL:
uploaded/は chmod 700、アップロード権限は運用者アカウントに限定し、zip の sha256 を変更チケットに記録します。
novakvm@m4pro-sg-01:~$ openclaw config set skills.install.allowUploadedArchives=true
novakvm@m4pro-sg-01:~$ shasum -a 256 /tmp/acme-runbook-skill-2.1.0.zip
a4f8c2... /tmp/acme-runbook-skill-2.1.0.zip
novakvm@m4pro-sg-01:~$ openclaw skill upload /tmp/acme-runbook-skill-2.1.0.zip \
--workspace acme --name acme-runbook --version 2.1.0
[OK] extracted → ~/.openclaw/skills/uploaded/acme/acme-runbook/2.1.0
[OK] manifest validated (tools=4, permissions=file-read,shell-exec)
novakvm@m4pro-sg-01:~$ openclaw skill enable acme-runbook --workspace acme
novakvm@m4pro-sg-01:~$ openclaw skill list --workspace acme --json | jq '.[] | select(.source=="uploaded")'
{"name":"acme-runbook","source":"uploaded","enabled":true,"version":"2.1.0"}
[WARN] 共有デモホストでは試用後に allowUploadedArchives を off に戻してください。
ポリシーで押さえるべき境界は次のとおりです。uploaded Skill は Gateway と同一 OS ユーザー権限で動くため、リモート Mac では admin 以外の専用ユーザーを使ってください。ワークスペースごとに upload ディレクトリを分離し、pilot の試用 zip が acme のツール一覧に混ざらないようにします。CI で zip をスキャンし、ソースレビューなしのバイナリ blob を拒否します。四半期ごとに upload ACL を見直し、古い zip が Agent 探索を混乱させないようにします。
[ SECTION_06 ] // DISK_RUNBOOK_FAQ ディスク層分け、六地域配置、症状マトリクス、12 ステップ、FAQ
Skills はワークスペースデータ、Plugin キャッシュ、ログに加えて 4 つ目のディスク消費源です。リモート Mac ではディレクトリを意図的に層分けし、upload 中のディスク満杯で Gateway が落ちないようにしてください。
| パス区分 | 内容 | 再生成可 | 週次増加(目安) |
|---|---|---|---|
skills/builtin/ |
OpenClaw 同梱 | アップグレードで再配置 | メジャー更新時のみ |
skills/clawhub/ |
コミュニティパック、バージョン別 | pin 以外は再 fetch 可 | 5 パックで 50〜200 MB |
skills/uploaded/ |
私有 zip、ワークスペース別 | 不可、外部アーカイブ必須 | 社内 1 パックで 10〜80 MB |
skills/cache/ |
browser-lite 一時、fetch バッファ | 可 | ブラウザ多用で 100 MB〜2 GB |
M4 と M4 Pro の目安:M4 24GB / 512GB では Skills ツリーとキャッシュ合計でおおよそ 2 GB を週次クリーンアップ前の上限と見てください。M4 Pro 48GB / 1TB では ClawHub と uploaded を混在させた 5 ワークスペースでも、週次 cache ローテーションがあれば Skills 全体 8 GB 未満に収まりやすいです。空き 80 GB を下回った時点で install ブロッキング扱いにし、doctor 警告だけに頼らず df -h / をメトリクスへ流してください。
六地域配置:Skills install は CPU よりディスク拘束です。地域選定はデータレジデンシーと SSH レイテンシが主で、Skill fetch CDN ではありません。APAC 運用者にはシンガポールと東京、米州には US-East と US-West、香港とソウルは越境チームの中継に向きます。モデル往復レイテンシが Agent 体験を支配する点は変わりません。
| 症状 | 想定原因 | 最初の対処 |
|---|---|---|
| install 済みだが Agent にツールなし | アクティブ WS で未 enable | openclaw skill enable と Gateway 再起動 |
| upload が即拒否 | allowUploadedArchives が false |
config を true にし承認を記録、再 upload |
| マニフェスト検証失敗 | skill.manifest.json 欠落または不正 |
ローカル修正、バージョン bump、再 upload |
| enable 後 Gateway 再起動ループ | ツールスキーマ衝突、不良 shell フック | skill disable、~/.openclaw/logs/ 確認、旧 pin |
| ClawHub install 404 | 対象が Plugin、または channel 不一致 | openclaw skill search --source clawhub で stable 確認 |
| install 途中でディスク満杯 | cache と旧バージョン未整理 | skills/cache/ 削除、unpin 旧版削除、ディスク tier 拡張 |
事例(匿名化した小規模オペレーションチーム、NOVAKVM M4 Pro):
- 第 1 週:Gateway のみ、1 WS で file-tools と http-fetch を enable。Skills ディスク 400 MB 未満。
- 第 4 週:ClawHub 2 本(notion-export、github-issue-triage)を pin 導入。週次増加は主に cache で約 120 MB。
- 第 6 週:allowUploadedArchives 承認後に acme-runbook zip を upload。manifest が shell-exec を要求したため顧客 WS では off、internal のみ enable。
- 第 8 週障害:beta ClawHub 更新でスキーマ破壊。pin と disable のロールバックで 12 分復旧、フル state リストアは不要でした。
12 ステップ Skills 手順書:
- 変更チケットに OpenClaw バージョンと WS 一覧を記録します。
- doctor と
/healthを実行し、失敗なら中止します。 openclaw skill list --jsonをbefore-skills.jsonへ保存します。- Section 3 マトリクスで WS ごとの組み込み enable を決めます。
- ClawHub は search、stable install、pin、enable を 1 Skill ずつ行います。
- 私有 zip は sha256 確認、allowUploadedArchives 承認、upload、manifest 出力を検証します。
- manifest と permission レビュー後にのみ enable します。
- launchctl kickstart 後、
/healthの skills カウントが期待値と一致するまで待ちます。 - 新ツール面ごとに 3 本の回帰プロンプトを実行します。
after-skills.jsonを保存し before と diff します。du -sh ~/.openclaw/skills/*でディスク使用量を記録します。- exit チェック:バージョン、skill list、health、空きディスクが watermark 以上なら窓を閉じます。
監査可能な事実:
- 既定 Gateway は 127.0.0.1:18789。2026.5.x の readiness 有効時、
/healthはソース別 skill 数を返します。 - 新規 2026.5.x install では組み込み Skill ファミリがおおよそ 12。正確数は
skill listJSON を信頼してください。 - 私有 upload は
skills.install.allowUploadedArchives=falseが既定で、opt-in まで無効です。 - ClawHub と uploaded を 1 本ずつ混在させた 3 WS ホストでは 60 日後 1〜3 GB 程度が典型です(browser cache 多用を除く)。
FAQ:
- Skill 風 npm パッケージを Plugin install で入れてよいですか? いいえ。まずカタログ種別を確認し、
skill searchとplugin searchを使い分けてください。 - uploaded zip をリモート Mac 間でコピーできますか? はい。
skills/uploaded/を tar し、同一 OpenClaw メジャーで config フラグを再現してください。 - allowUploadedArchives は ClawHub にも効きますか? いいえ。ローカル archive upload 経路のみをゲートします。
- M4 512GB で ClawHub は何本まで? 目安は pin 済み 8〜10 パック。それを超えたら cache クリーンアップまたは 1TB へ。
- Gateway は healthy だがチャットにツールが出ない? WS 不一致です。セッション WS と enable 先 WS を突合してください。再起動だけでは直りません。
Skills は OpenClaw をメッセージ中継から運用者向け Agent 基盤へ押し上げる層です。その分、pin、upload ポリシー、SSH で点検できるディスク層が必要です。スリープで半分のツリーが消えるノート PCではなく、組み込み・ClawHub・私有 Skills を 24/7 載せるなら、NOVAKVM ベアメタル Mac mini レンタル の六地域ノードが再現可能なパスと cache 余裕、リハーサル可能なメンテ窓を提供します。顧客 WS で shell-exec を enable する前に 12 ステップ手順書を変更チケットへ貼り、ACL 署名なしに allowUploadedArchives を on にしないでください。