プラグインマーケットプレイスモデルには魅力的な売り文句がある:必要なものをインストールし、不要なものはスキップし、自分のものを貢献する。ブラウザで、VS Codeで、WordPressで機能した。AIエージェントにも同じモデルを適用するのは自然に思えた。そしてClawHubが起きた——公開されたスキルの41.7%に脆弱性が含まれ、数百が完全に悪意のあるもので、誰も監査できないサプライチェーンの重みで信頼モデル全体が崩壊した。
NanoClawはその失敗を見て、別の問いを立てた:拡張性にマーケットプレイスがまったく不要だとしたら?AIアシスタントに新しい機能を追加するのが、Claude Codeに欲しいものを伝え、ソースコードを直接修正させるのと同じくらいシンプルだとしたら?
それがClaude Code skillsモデルだ。そしてこれは、あらゆるプラグインシステムよりもシンプルかつ安全であることが判明した。
スキルの実際の仕組み
Claude Code skillはスラッシュコマンドだ——/add-telegramや/add-discordのような——Claude Codeセッション内で実行する。スキルを呼び出すと、Claude CodeがNanoClawのソースコードを読み、既存のアーキテクチャを理解し、新しい統合をコードベースに直接書き込む。レジストリからパッケージをインストールしているのではない。インターネットからコードをダウンロードしているのではない。あなたの特定のNanoClawインスタンスに合ったコードを生成し、実行前にあなたがレビューする。
例えば/add-telegramスキルは、Telegram npmパッケージをインストールしてプラグインインターフェース経由で接続するのではない。node-telegram-bot-apiライブラリを使って、WhatsAppが既に使っているのと同じコンテナ隔離とセキュリティモデルで、NanoClawのメッセージループにTelegramボットリスナーを追加する。生成されたコードは既存のコードベースのパターンに従う。Claude Codeが既存のコードベースを見てスタイルを合わせられるからだ。
これはプラグインシステムとは根本的に3つの点で異なる。第一に、コードが可視的だ。追加されたすべての行を読み、何をしているか理解し、必要なら修正できる。コンパイル済みバイナリも、ミニファイされたバンドルも、盲目的に信頼する不透明なパッケージもない。第二に、コードがローカルだ。あなたのリポジトリに存在し、あなたのバージョン管理下にあり、あなたのレビュープロセスの対象だ。外部に通信せず、自動更新せず、あなたの知らないうちに動作を変えない。第三に、コードが統合されている。限定的なAPIを持つ別のプラグインサンドボックスで実行されるのではなく、アプリケーションの一部として、コードベースの残りが使うパターンやユーティリティへの完全なアクセスを持つ。
なぜプラグインより安全なのか
セキュリティの議論は明快だが、ほとんどの開発者の予想と逆なので詳しく説明する価値がある。
プラグインシステムでは、セキュリティは信頼に依存する。プラグイン作者を信頼し、マーケットプレイスのレビュープロセスを信頼し、レビュー後にパッケージが侵害されていないことを信頼し、その依存関係も侵害されていないことを信頼する。これらの信頼の前提のそれぞれが潜在的な障害点であり、ClawHubはそのすべてが同時に失敗しうることを実証した。
スキルモデルでは、セキュリティは可視性に依存する。Claude CodeがTelegram統合を生成したとき、実行前に正確に何をするかを確認できる。コードをレビューし、テストし、修正し、完全に拒否することもできる。信頼の境界は「この見知らぬ開発者のnpmパッケージを信頼するか?」ではなく、「読めるこのコードは自分が望むことをしているか?」だ。
攻撃すべきサプライチェーンも存在しない。悪意のある攻撃者がトロイの木馬化されたスキルをマーケットプレイスにアップロードすることはできない。マーケットプレイスがないからだ。人気のパッケージ名をタイポスクワットすることもできない。パッケージがないからだ。数百の悪意あるClawHubスキルを可能にした攻撃対象面は、このモデルには単純に存在しない。
トレードオフは、スキルの生成にClaude Codeが必要なこと、つまりAnthropic APIキーとClaude Codeセッションが必要なことだ。カタログを閲覧して「インストール」をクリックすることはできない。しかし、CLIに慣れた開発者がユーザーであるプロジェクトにとって、このトレードオフはほとんど気にならない——そしてセキュリティ上のメリットは大きい。
現在存在するスキル
NanoClawはWhatsAppを組み込みで出荷する。それ以外はすべてスキルで追加される。現在のスキルセットは最もリクエストの多い統合をカバーしている:Telegramボットサポートの/add-telegram、Discord gateway統合の/add-discord、Slack Events APIの/add-slack、Signalメッセージングの/add-signal。
各スキルはチャンネルAPIの複雑さに応じて約100〜300行のコードを生成する。生成されたコードにはチャンネルリスナー、メッセージフォーマット、コンテナルーティング、設定——統合がエンドツーエンドで動作するために必要なすべてが含まれる。また、環境変数の宣言とセットアップ手順も含まれるため、どのトークンと認証情報を提供する必要があるかが正確にわかる。
チャンネル統合以外にも、スキルはツールや機能を追加できる。/add-web-searchスキルはエージェントがコンテナ内で使えるWeb検索ツールを追加できる。/add-calendarスキルはスケジューリングのためにGoogle Calendarと統合できる。パターンは同じだ:Claude Codeがコードベースを読み、アーキテクチャを理解し、適合するコードを生成する。
フォークフレンドリーの哲学
スキルモデルの背後には、明確にする価値のあるより深い哲学がある。NanoClawはフォークされることを前提に設計されている。「コードを取って競合する」という敵対的な意味ではなく、「コードを取って自分のものにする」という協調的な意味でだ。
/add-telegramを実行するとき、NanoClawのリリースサイクルに縛られる依存関係をインストールしているのではない。完全に所有するコードを自分のフォークに追加しているのだ。NanoClawのアップストリームが気に入らない方向に変わっても、Telegram統合は引き続き動作する。Telegramメッセージのフォーマット方法を変更したければ、コードを直接編集する——プラグインAPIの制限なし、アップストリームが新しいフックを公開するのを待つ必要なし。
これはプラグインマーケットプレイスが生み出すプラットフォームロックインの正反対だ。WordPressプラグインはWordPressに縛る。VS Code拡張機能はVS Codeに縛る。ClawHubスキルはOpenClawに縛った。NanoClawスキルは、NanoClawのアーキテクチャで動作するがプラグインランタイムやマーケットプレイスインフラに依存しないプレーンなTypeScriptを生成する。