インストールソースの詳細
学習完了後にできること
- 3 つの方法でスキルをインストールする:GitHub リポジトリ、ローカルパス、プライベート Git リポジトリ
- シナリオに合わせて最適なインストールソースを選択する
- 異なるソースの長所、短所、注意点を理解する
- GitHub shorthand、相対パス、プライベートリポジトリ URL などの記述方法を習得する
前提知識
このチュートリアルは、最初のスキルをインストールするが完了していることを前提としています。基本的なインストール手順を理解している必要があります。
現在の課題
公式リポジトリからスキルをインストールする方法はもう学んだかもしれませんが、以下のような問題があるかもしれません:
- GitHub しか使えないの?:社内の GitLab リポジトリを使用したいが、設定方法が分からない
- ローカルで開発中のスキルはどうやってインストールする?:自分のスキルを開発中で、まずローカルでテストしたい
- 特定のスキルを直接指定したい:リポジトリには多くのスキルがあり、毎回インタラクティブインターフェースで選択したくない
- プライベートリポジトリにはどうアクセスする?:社内のスキルリポジトリがプライベートで、認証方法が分からない
実は、OpenSkills は複数のインストールソースをサポートしています。一つずつ見ていきましょう。
いつこの方法を使うか
異なるインストールソースの適用シナリオ:
| インストールソース | 適用シナリオ | 例 |
|---|---|---|
| GitHub リポジトリ | オープンソースコミュニティのスキルを使用する | openskills install anthropics/skills |
| ローカルパス | 自分のスキルを開発・テストする | openskills install ./my-skill |
| プライベート Git リポジトリ | 社内のスキルを使用する | openskills install [email protected]:my-org/private-skills.git |
推奨される方法
- オープンソーススキル:優先的に GitHub リポジトリからインストールし、更新を容易にする
- 開発段階:ローカルパスからインストールし、変更をリアルタイムでテストする
- チームコラボレーション:プライベート Git リポジトリを使用し、社内スキルを統一管理する
核心概念:3 つのソース、1 つのメカニズム
インストールソースは異なりますが、OpenSkills の基本的なメカニズムは同じです:
[ソースタイプを識別] → [スキルファイルを取得] → [.claude/skills/ にコピー]ソース識別ロジック(ソースコード install.ts:25-45):
function isLocalPath(source: string): boolean {
return (
source.startsWith('/') ||
source.startsWith('./') ||
source.startsWith('../') ||
source.startsWith('~/')
);
}
function isGitUrl(source: string): boolean {
return (
source.startsWith('git@') ||
source.startsWith('git://') ||
source.startsWith('http://') ||
source.startsWith('https://') ||
source.endsWith('.git')
);
}判定の優先順位:
- まずローカルパスかどうかをチェックする(
isLocalPath) - 次に Git URL かどうかをチェックする(
isGitUrl) - 最後に GitHub shorthand として処理する(
owner/repo)
実践してみましょう
方法 1:GitHub リポジトリからインストールする
適用シナリオ:Anthropic 公式リポジトリやサードパーティのスキルパッケージなど、オープンソースコミュニティのスキルをインストールする。
基本的な使い方:リポジトリ全体をインストールする
npx openskills install owner/repo例:Anthropic 公式リポジトリからスキルをインストールする
npx openskills install anthropics/skills期待される結果:
Installing from: anthropics/skills
Location: project (.claude/skills)
Cloning repository...
✓ Repository cloned
Found 4 skill(s)
? Select skills to install:
❯ ◉ pdf (24 KB)
◯ git-workflow (12 KB)
◯ check-branch-first (8 KB)
◯ skill-creator (16 KB)応用:サブパスを指定する(特定のスキルを直接インストールする)
リポジトリに多くのスキルがある場合、インストールするスキルのサブパスを直接指定して、インタラクティブ選択をスキップできます:
npx openskills install owner/repo/skill-name例:PDF 処理スキルを直接インストールする
npx openskills install anthropics/skills/pdf期待される結果:
Installing from: anthropics/skills/pdf
Location: project (.claude/skills)
Cloning repository...
✓ Repository cloned
✅ Installed: pdf
Location: /path/to/project/.claude/skills/pdf推奨される方法
リポジトリ内の 1 つのスキルだけが必要な場合、サブパス形式を使用するとインタラクティブ選択をスキップでき、より迅速です。
GitHub shorthand のルール(ソースコード install.ts:131-143)
| 形式 | 例 | 変換結果 |
|---|---|---|
owner/repo | anthropics/skills | https://github.com/anthropics/skills |
| --- | --- | --- |
方法 2:ローカルパスからインストールする
適用シナリオ:自分のスキルを開発中で、まずローカルでテストしてから GitHub に公開したい。
絶対パスを使用する
npx openskills install /absolute/path/to/skill例:ホームディレクトリのスキルディレクトリからインストールする
npx openskills install ~/dev/my-skills/pdf-processor相対パスを使用する
npx openskills install ./local-skills/my-skill例:プロジェクトディレクトリの local-skills/ サブディレクトリからインストールする
npx openskills install ./local-skills/web-scraper期待される結果:
Installing from: ./local-skills/web-scraper
Location: project (.claude/skills)
✅ Installed: web-scraper
Location: /path/to/project/.claude/skills/web-scraper注意事項
ローカルパスからのインストールは、スキルファイルを .claude/skills/ にコピーします。その後、ソースファイルへの変更は自動的に同期されません。更新が必要な場合は、再インストールしてください。
複数のスキルを含むローカルディレクトリをインストールする
ローカルディレクトリ構造が以下のようになっている場合:
local-skills/
├── pdf-processor/SKILL.md
├── web-scraper/SKILL.md
└── git-helper/SKILL.mdディレクトリ全体を直接インストールできます:
npx openskills install ./local-skillsこれにより、インタラクティブ選択インターフェースが起動し、インストールするスキルを選択できます。
ローカルパスでサポートされる形式(ソースコード install.ts:25-32)
| 形式 | 説明 | 例 |
|---|---|---|
/absolute/path | 絶対パス | /home/user/skills/my-skill |
./relative/path | カレントディレクトリの相対パス | ./local-skills/my-skill |
../relative/path | 親ディレクトリの相対パス | ../shared-skills/common |
~/path | ホームディレクトリの相対パス | ~/dev/my-skills |
開発のヒント
~ 簡略表記を使用すると、ホームディレクトリのスキルを素早く参照でき、個人開発環境に適しています。
方法 3:プライベート Git リポジトリからインストールする
適用シナリオ:社内の GitLab/Bitbucket リポジトリやプライベート GitHub リポジトリを使用する。
SSH 方式(推奨)
npx openskills install [email protected]:owner/private-skills.git例:GitHub プライベートリポジトリからインストールする
npx openskills install [email protected]:my-org/internal-skills.git期待される結果:
Installing from: [email protected]:my-org/internal-skills.git
Location: project (.claude/skills)
Cloning repository...
✓ Repository cloned
Found 3 skill(s)
? Select skills to install:認証の設定
SSH 方式を使用するには、SSH 鍵が設定されている必要があります。クローンに失敗した場合、以下を確認してください:
# SSH 接続をテスト
ssh -T [email protected]
# "Hi username! You've successfully authenticated..." と表示されれば、設定は正しいですHTTPS 方式(認証情報が必要)
npx openskills install https://github.com/owner/private-skills.gitHTTPS 認証
HTTPS 方式でプライベートリポジトリをクローンする場合、Git はユーザー名とパスワード(または Personal Access Token)の入力を求めます。二要素認証を使用している場合は、アカウントパスワードではなく Personal Access Token を使用する必要があります。
その他の Git ホスティングプラットフォーム
GitLab(SSH):
npx openskills install [email protected]:owner/skills.gitGitLab(HTTPS):
npx openskills install https://gitlab.com/owner/skills.gitBitbucket(SSH):
npx openskills install [email protected]:owner/skills.gitBitbucket(HTTPS):
npx openskills install https://bitbucket.org/owner/skills.git推奨される方法
チーム内のスキルはプライベート Git リポジトリを使用することをお勧めします。こうすることで:
- すべてのメンバーが同じソースからインストールできる
- スキルを更新する際は
openskills updateを実行するだけでよい - バージョン管理とアクセス制御が容易になる
Git URL 識別ルール(ソースコード install.ts:37-45)
| プレフィックス/サフィックス | 説明 | 例 |
|---|---|---|
git@ | SSH プロトコル | [email protected]:owner/repo.git |
git:// | Git プロトコル | git://github.com/owner/repo.git |
http:// | HTTP プロトコル | http://github.com/owner/repo.git |
https:// | HTTPS プロトコル | https://github.com/owner/repo.git |
.git サフィックス | Git リポジトリ(任意のプロトコル) | owner/repo.git |
チェックポイント ✅
このレッスンを完了したら、以下を確認してください:
- [ ] GitHub リポジトリからスキルをインストールする方法を知っている(
owner/repo形式) - [ ] リポジトリ内の特定のスキルを直接インストールする方法を知っている(
owner/repo/skill-name) - [ ] ローカルパスからスキルをインストールする方法を知っている(
./、~/など) - [ ] プライベート Git リポジトリからスキルをインストールする方法を知っている(SSH/HTTPS)
- [ ] 異なるインストールソースの適用シナリオを理解している
よくある問題
問題 1:ローカルパスが存在しない
現象:
Error: Path does not exist: ./local-skills/my-skill原因:
- パスのスペルミス
- 相対パスの計算が間違っている
解決方法:
- パスが存在するか確認する:
ls ./local-skills/my-skill - 相対パスの混乱を避けるために絶対パスを使用する
問題 2:プライベートリポジトリのクローンに失敗する
現象:
✗ Failed to clone repository
fatal: repository '[email protected]:owner/private-skills.git' does not appear to be a git repository原因:
- SSH 鍵が設定されていない
- リポジトリへのアクセス権限がない
- リポジトリアドレスが間違っている
解決方法:
- SSH 接続をテストする:
ssh -T [email protected] - リポジトリへのアクセス権限があるか確認する
- リポジトリアドレスが正しいか確認する
ヒント
プライベートリポジトリの場合、ツールは以下のプロンプトを表示します(ソースコード install.ts:167):
Tip: For private repos, ensure git SSH keys or credentials are configured問題 3:サブパスで SKILL.md が見つからない
現象:
Error: SKILL.md not found at skills/my-skill原因:
- サブパスが間違っている
- リポジトリ内のディレクトリ構造が期待と異なる
解決方法:
- まずサブパスなしでリポジトリ全体をインストールする:
npx openskills install owner/repo - インタラクティブインターフェースで利用可能なスキルを確認する
- 正しいサブパスを使用して再インストールする
問題 4:GitHub shorthand の識別エラー
現象:
Error: Invalid source format
Expected: owner/repo, owner/repo/skill-name, git URL, or local path原因:
- どのルールにも一致しない形式
- スペルミス(例:
owner / repoの間にスペースがある)
解決方法:
- 形式が正しいか確認する(スペースなし、スラッシュの数が正しい)
- shorthand ではなく完全な Git URL を使用する
このレッスンのまとめ
このレッスンでは、以下のことを学びました:
- 3 つのインストールソース:GitHub リポジトリ、ローカルパス、プライベート Git リポジトリ
- GitHub shorthand:
owner/repoとowner/repo/skill-nameの 2 つの形式 - ローカルパス形式:絶対パス、相対パス、ホームディレクトリの簡略表記
- プライベートリポジトリのインストール:SSH と HTTPS の 2 つの方法、異なるプラットフォームの記述
- ソース識別ロジック:ツールが提供されたインストールソースのタイプをどのように判断するか
主要なコマンド早見表:
| コマンド | 用途 |
|---|---|
npx openskills install owner/repo | GitHub リポジトリからインストールする(インタラクティブ選択) |
npx openskills install owner/repo/skill-name | リポジトリ内の特定のスキルを直接インストールする |
npx openskills install ./local-skills/skill | ローカルパスからインストールする |
npx openskills install ~/dev/my-skills | ホームディレクトリからインストールする |
npx openskills install [email protected]:owner/private-skills.git | プライベート Git リポジトリからインストールする |
次のレッスンの予告
次のレッスンでは グローバルインストール vs プロジェクトローカルインストール を学びます。
学ぶこと:
--globalフラグの役割とインストール場所- グローバルインストールとプロジェクトローカルインストールの違い
- シナリオに合わせて適切なインストール場所を選択する
- マルチプロジェクトでスキルを共有するベストプラクティス
インストールソースはスキル管理の一部に過ぎません。次は、スキルのインストール場所がプロジェクトに与える影響を理解する必要があります。
付録:ソースコード参照
クリックしてソースコードの場所を表示
更新時間:2026-01-24
| 機能 | ファイルパス | 行番号 |
|---|---|---|
| インストールコマンドエントリ | src/commands/install.ts | 83-184 |
| ローカルパス判定 | src/commands/install.ts | 25-32 |
| Git URL 判定 | src/commands/install.ts | 37-45 |
| GitHub shorthand 解析 | src/commands/install.ts | 131-143 |
| ローカルパスからのインストール | src/commands/install.ts | 199-226 |
| Git リポジトリのクローン | src/commands/install.ts | 155-169 |
| プライベートリポジトリのエラーメッセージ | src/commands/install.ts | 167 |
重要な関数:
isLocalPath(source)- ローカルパスかどうかを判定する(第 25-32 行)isGitUrl(source)- Git URL かどうかを判定する(第 37-45 行)installFromLocal()- ローカルパスからスキルをインストールする(第 199-226 行)installSpecificSkill()- 指定されたサブパスのスキルをインストールする(第 272-316 行)getRepoName()- Git URL からリポジトリ名を抽出する(第 50-56 行)
重要なロジック:
- ソースタイプ判定の優先順位:ローカルパス → Git URL → GitHub shorthand(第 111-143 行)
- GitHub shorthand は 2 つの形式をサポート:
owner/repoとowner/repo/skill-name(第 132-142 行) - プライベートリポジトリのクローンに失敗した場合、SSH 鍵または認証情報の設定を促す(第 167 行)