ClaudeのChatとローカルのClaude Codeに同じAI手順を届けたい開発者、あるいは配布ZIPを選んで導入する人向けの話です。どちらも「Claudeで使うファイル」ですが、アカウントのSkillsへアップロードするZIPと、ローカルのCodeに入れるプラグインでは、配置先も実行する仕組みも異なります。
私はOpenSocratesを開発しています。ここではv1.5.2の公開資料を例に、使う画面からパッケージを選び、ZIP内のコードを起動せずに確認する方法を整理します。構成確認には、保存済みのv1.5.2リリースZIPを使いました。公開されたSHA-256値との一致と、ファイル構成を確認した範囲を示します。Claudeへのインストールやアップロード、実際の課題への適用は、この構成確認に含めていません。
1. 製品名より先に、使う場所を確認する
最初に決めるのは、普通のChat、Cowork、ローカルのCodeのどこで使うかです。同じDesktopアプリの中でも、ChatとCodeは分けて確認します。
| 確認する点 | Claudeアカウント用スキル | ローカルClaude Code用プラグイン |
|---|---|---|
| 利用する場所 | Web Chat、通常のDesktop Chat、Cowork | ターミナルのClaude Code、DesktopのローカルCode |
| v1.5.2の配布ファイル名 | opensocrates-1.5.2-claude-chat-skills.zip |
opensocrates-1.5.2-claude-plugin.zip |
| このパッケージの役割 | 実行コードを含まない指示・参照内容をアカウントへ届ける | ネイティブ入口と完全なローカル参照をホストへ届ける |
| 導入先で確認する状態 | 正しいアカウントへのアップロード、必要な機能、スキルの有効状態 | ローカルプラグインの登録・整合性・有効状態、ホスト側の権限 |
| 対応環境の境界 | MacまたはWindowsでエクスポートし、利用するアカウントへ別途アップロード | このリリースのネイティブ対応はApple Silicon Mac |
アカウント用ZIPをアップロードしても、ローカルCodeのプラグインは入りません。逆に、Codeへの導入が済んでも、別のChatアカウントにスキルをアップロードしたことにはなりません。WindowsのネイティブClaude Codeは、このバージョンの対象外です。
この区別は、他のAIツールを配布するときにも使えます。パッケージごとに「読む内容」「実行されるもの」「登録先」「導入後の確認」を分けて書くと、読者がファイル名だけで判断する場面を減らせます。
2. ZIPを実行せず、一覧と必要な内容を見る
v1.5.2のリリースページで、目的に合うZIPと対応するSHA-256ファイルを選びます。リポジトリのソースZIPは、導入用のホスト別パッケージとは別です。
保存済みのリリースZIPで確認した構成
確認対象の2つのZIPは、公開リリース画面に表示されたそれぞれのSHA-256値と一致しています。保存済みのファイルの照合と構成確認であり、新たなダウンロードの完了を示すものではありません。
| 構成として確認した点 | アカウント用スキルZIP | ローカルCode用ZIP |
|---|---|---|
| ファイル数 | 516 | 708 |
| スキルの入口 | opensocrates/SKILL.md |
skills/opensocrates/SKILL.md |
| リリース情報 | opensocrates/release-manifest.json |
release-manifest.json |
マニフェストのhost
|
claude-chat |
claude |
マニフェストのlaunchers
|
[] |
["bin/launch.sh"] |
マニフェストのruntime_targets
|
[] |
["darwin-arm64"] |
| ローカル連携の構成 | ランタイムファイルは0 |
.claude-plugin/plugin.json、hooks/hooks.json、bin/launch.sh、runtime/darwin-arm64/を含む |
アカウント用ZIPの516ファイルは、通常のUTF-8テキストファイルとして確認されました。実行権限付きファイルとシンボリックリンクは、それぞれ0です。これはこのZIPの構成確認であり、任意のスキルZIPの安全性を保証する判断ではありません。
この差を見ると、同じ手順を含むパッケージでも、ホストが読む入口とローカルで動く入口を分けて配布していることが分かります。ネイティブ側にランタイムが入っていることを確認しても、そのMacで起動したことや、プラグインが有効なことまでは確認できません。
自分の手元のZIPでも確認する
以下は、ダウンロードしたファイルが現在のフォルダーにある場合のmacOS向け確認例です。shasumとunzipを使える環境で行います。導入プログラムを呼ばず、ZIP内のコードも実行しません。
まず、手元のファイルのSHA-256を計算し、同じリリースにある対応ファイルの値と照合します。
shasum -a 256 ./opensocrates-1.5.2-claude-chat-skills.zip
チェックサムの一致が示すのは、公開された値とのバイト一致です。配布者の真正性、安全な動作、ホストでの有効化を、それだけで証明するものではありません。
次に、内容を展開せず、両方の一覧を見ます。
unzip -l ./opensocrates-1.5.2-claude-chat-skills.zip
unzip -l ./opensocrates-1.5.2-claude-plugin.zip
見るポイントは次の3つです。
- アカウント用ZIPでは、入口となる
SKILL.mdと、その指示から参照される完全な内容を確認する。 - ローカルプラグインでは、登録用の情報、ネイティブ入口、参照内容を分けて確認する。ファイルが存在することと、その入口が実行できることは別に扱う。
- 一覧だけで「実行コードがない」「参照がすべてそろっている」と結論づけない。指示の本文、参照先、ファイルの内容も読む。
今回のアカウント用ZIPでは、入口はopensocrates/SKILL.mdです。unzip -pで、そのファイルだけを標準出力へ表示できます。別のパッケージやバージョンを調べる場合は、一覧にある実際のパスを使います。
unzip -p ./opensocrates-1.5.2-claude-chat-skills.zip opensocrates/SKILL.md
この操作はファイルを読むためのものです。ZIP内のスクリプトを起動したり、プラグインを登録したりはしません。SKILL.mdを読んだだけでは、そこから参照する手順まで確認したことにはならないため、参照先も追います。
ソースを読む場合にも同じ区別が必要です。SKILL.md.tmplは生成元のテンプレートです。GitHubで見つけたことだけで、完成したスキルがそのままインストールできるとは判断しません。
3. ファイルの確認と、使える設定を分ける
アーカイブの確認を終えた後は、選んだ場所だけを設定します。OpenSocratesのインストーラーはNode.js 20以降を使い、ネイティブランタイムを同梱しています。Pythonの追加インストールは不要です。上のZIP確認も、インストール要件を増やす手順ではありません。
アカウント用スキルの場合
ClaudeのCustomize → Skillsからアカウント用ZIPをアップロードし、スキルの有効状態を確認します。既存の同名スキルを置き換えるときは、先にファイルをダウンロードしてバックアップし、有効状態も記録します。WebとDesktopで別アカウントを使っている場合は、それぞれ確認します。
このZIP自体には実行コードが含まれない仕様ですが、Claude側でSkillsを利用するためには、Cloud code execution and file creationなど必要な機能の設定も確認します。配布ファイルの内容と、ホストがSkillsの利用に求める機能は別の話です。組織の設定で制限されている場合は、管理者の方針に従います。
名前を指定しない通常の依頼でも使いたい場合は、設定ガイドのアカウント指示を既存の指示を保って追加します。その後、新しい会話を始めます。スキルの選択はモデルが行うため、有効化や指示の保存が済んでも、毎回選ばれるとは限りません。
ローカルClaude Codeの場合
Apple Silicon Macで、利用するClaude CLIとログイン状態を確認してから、ローカルプラグインの導入・更新と有効状態の確認を行います。手順は日本語READMEにあります。
導入後は新しいローカルセッションを始めます。プロジェクトの信頼や権限を求められたら、対象フォルダーと操作を確認します。Chat用スキルの画面とローカルCodeのプラグイン管理画面は別です。また、Claude Codeの/hooksは一覧を確認する画面であり、Codexの7個のフック承認手順をそのまま持ち込むものではありません。
4. 確認結果は、何を確かめたかで記録する
| 確認したこと | その段階で言えること |
|---|---|
| ZIPとチェックサムを照合した | 手元のファイルが公開された値と一致した |
| ZIP内の指示・参照・入口を読んだ | 読んだ範囲のパッケージ構成を確認した |
| アカウントへアップロードし、有効状態を見た | そのアカウントの設定を確認した |
| ローカルプラグインの登録・整合性・有効状態を見た | そのローカル導入状態を確認した |
| 実際の課題で使われ、結果を確認した | その課題での利用と結果を確認した |
エクスポート成功はアカウントへのアップロード成功ではなく、スキルの有効状態は実際の課題への適用記録ではありません。配布形式を分けておくと、うまく動かなかったときにも、ファイルの選択、アカウント、ホスト設定のどこを確認すればよいか整理できます。
ここで扱ったのは配布と設定の境界です。回答品質や速度の改善を実測した記事ではありません。参照した設定ガイドにはv1.5.0時点の画面も含まれるため、手元の画面やバージョンに合わせて確認してください。
ソース全体はGitHubリポジトリで確認できます。
執筆にはAIを利用し、仕様と手順をv1.5.2のバージョン固定資料と照合しました。