Skip to content

インストール済みスキルの一覧表示

学習後のゴール

  • openskills listを使用してインストール済みの全スキルを表示できる
  • (project)(global)位置タグの違いを理解する
  • プロジェクトスキルとグローバルスキルの数を素早く統計できる
  • スキルが正常にインストールされたかを判断できる

現在の悩み

いくつかのスキルをインストールした後、次のような問題に遭遇するかもしれません:

  • 「どのスキルをインストールしたか忘れてしまった」
  • 「このスキルはプロジェクトにインストールされたのか、それともグローバルにインストールされたのか?」
  • 「なぜAプロジェクトでは見えるのに、Bプロジェクトでは見えないのか?」
  • 「使わないスキルを削除したいが、具体的な名前がわからない」

openskills listコマンドはまさにこれらの疑問を解決するためのものです。スキルの「目次」のように、インストール済みの全スキルとその場所を一目で把握できます。

いつ使うべきか

シナリオアクション
スキルのインストール後、成功したか確認したいopenskills listを実行してスキルが表示されるか確認
新しいプロジェクトに切り替え、利用可能なスキルを確認したいopenskills listを実行してprojectスキルを確認
スキルを整理する前に確認したいopenskills listを実行して全スキルを表示し、不要なものを削除
スキルの読み込み問題をデバッグしたいスキル名とインストール場所が正しいか確認

コア概念

OpenSkillsは4つの位置にスキルをインストールできます(検索優先順位順):

  1. project .agent/skills - プロジェクトレベルの汎用スキルディレクトリ(マルチエージェント環境)
  2. global .agent/skills - グローバルな汎用スキルディレクトリ(マルチエージェント環境)
  3. project .claude/skills - プロジェクトレベルのClaude Codeスキルディレクトリ
  4. global .claude/skills - グローバルなClaude Codeスキルディレクトリ

openskills listは以下の処理を行います:

  1. これら4つのディレクトリを巡回して全スキルを検索
  2. 重複排除:同じスキル名は1回のみ表示(projectのものを優先)
  3. ソート:projectスキルが先、globalスキルが後;同じ場所内ではアルファベット順
  4. 場所タグ(project)(global)タグで区別
  5. 統計サマリー:projectスキル数、globalスキル数、総数を表示

重複排除が必要な理由

projectとglobalの両方に同じスキル(例:pdf)をインストールした場合、OpenSkillsはprojectバージョンを優先的に使用します。listコマンドは1回のみ表示し、混乱を防ぎます。

実践してみよう

ステップ1:インストール済みの全スキルを表示

理由 現在の環境でどのスキルが利用可能かを素早く確認するため

以下のコマンドを実行します:

bash
npx openskills list

期待される出力

スキルが1つもインストールされていない場合、以下が表示されます:

Available Skills:

No skills installed.

Install skills:
  npx openskills install anthropics/skills         # Project (default)
  npx openskills install owner/skill --global     # Global (advanced)

スキルがインストール済みの場合、以下のような出力が表示されます:

Available Skills:

  pdf                         (project)
    Comprehensive PDF manipulation toolkit for extracting text and tables...

  code-analyzer                (project)
    Static code analysis tool for identifying security vulnerabilities...

  email-reader                 (global)
    Read email content and attachments via IMAP protocol...

Summary: 2 project, 1 global (3 total)

ステップ2:出力フォーマットを理解

理由 各行が何を意味するかを理解することで、必要な情報を素早く特定できる

出力フォーマットの説明:

パート説明
pdfスキル名(SKILL.mdのnameフィールドから取得)
(project)位置タグ:青色はプロジェクトレベルスキル、グレーはグローバルスキル
Comprehensive PDF...スキル説明(SKILL.mdのdescriptionフィールドから取得)
Summary: 2 project, 1 global (3 total)統計サマリー:projectスキル数、globalスキル数、総数

ステップ3:位置タグを検証

理由 スキルが予期した場所にインストールされたかを確認し、「なぜこのプロジェクトでこのスキルが見えないのか」という疑問を避けるため

以下の操作を試して位置タグを理解しましょう:

bash
# 1. プロジェクトレベルスキルをインストール
npx openskills install anthropics/skills -y

# 2. リストを確認(projectタグが表示されるはず)
npx openskills list

# 3. グローバルスキルをインストール
npx openskills install anthropics/skills --global -y

# 4. 再度リストを確認(2つのpdfスキルがあるが、1回のみ表示され、タグはproject)
npx openskills list

期待される出力

Available Skills:

  pdf                         (project)
    Comprehensive PDF manipulation toolkit for extracting text...

Summary: 1 project, 0 global (1 total)

グローバルとプロジェクトの両方に同じスキルをインストールしても、listコマンドは1回のみ表示します。これはprojectバージョンの優先順位が高いためです。

チェックポイント ✅

以下の内容を確認してください:

  • [ ] openskills listを実行するとインストール済みスキルのリストが表示される
  • [ ] (project)(global)タグを区別できる(色が異なる:青色 vs グレー)
  • [ ] Summaryの統計数字が正しい(projectスキル数 + globalスキル数 = 総数)
  • [ ] 同じスキル名は1回のみ表示されるルールを理解している

よくある落とし穴

よくある問題1:インストール直後のスキルが見つからない

現象installコマンドは成功したが、listで表示されない

トラブルシューティング手順

  1. 正しいプロジェクトディレクトリにいるか確認(projectスキルは現在のプロジェクトにのみ表示される)
  2. グローバルにインストールされたか確認(--globalフラグを使用)
  3. インストール場所を検証:
bash
# プロジェクトディレクトリを確認
ls -la .claude/skills/

# グローバルディレクトリを確認
ls -la ~/.claude/skills/

よくある問題2:奇妙なスキル名が表示される

現象:スキル名が期待したものではない(例:フォルダ名 vs SKILL.mdのname)

原因:OpenSkillsはスキル名としてフォルダ名ではなく、SKILL.mdのnameフィールドを使用します

解決方法:SKILL.mdのfrontmatterを確認:

yaml
---
name: pdf  # これがlistコマンドで表示される名前
description: Comprehensive PDF manipulation toolkit...
---

よくある問題3:説明が完全に表示されない

現象:スキル説明が途中で途切れている

原因:これは端末の幅制限によるもので、スキルの内容には影響しません

解決方法:SKILL.mdファイルを直接確認して完全な説明を取得

このレッスンのまとめ

openskills listはスキル管理の「目次」コマンドで、以下のことができます:

  • 📋 全スキルの表示:インストール済みスキルを一目で把握
  • 🏷️ 位置タグの区別(project)はプロジェクトレベル、(global)はグローバルレベル
  • 📊 統計サマリー:projectとglobalスキルの数を素早く把握
  • 🔍 トラブルシューティング:スキルが正常にインストールされたか検証し、スキルの場所を特定

コアルール:

  1. 同名のスキルは1回のみ表示(project優先)
  2. projectスキルが先、globalスキルが後
  3. 同じ場所内ではアルファベット順

次のレッスンの予告

次のレッスンでは**スキルの更新**を学びます。

学べること:

  • ソースリポジトリからインストール済みスキルを更新する方法
  • 全スキルの一括更新
  • メタデータのない古いスキルの処理

付録:ソースコード参照

クリックしてソースコードの場所を表示

更新日時:2026-01-24

機能ファイルパス行番号
listコマンド実装src/commands/list.ts7-43
全スキルの検索src/utils/skills.ts30-64
検索ディレクトリ設定src/utils/dirs.ts18-25
Skill型定義src/types.ts1-6

主要な関数

  • listSkills():インストール済みの全スキルを表示し、出力をフォーマット
  • findAllSkills():4つの検索ディレクトリを巡回し、全スキルを収集
  • getSearchDirs():4つの検索ディレクトリパスを返す(優先順位順)

主要な定数

  • なし(検索ディレクトリパスは動的に計算されます)

コアロジック

  1. 重複排除メカニズムSetを使用して処理済みのスキル名を記録(skills.ts:32-33, 43, 57)
  2. 場所判定dir.includes(process.cwd())を使用してprojectディレクトリかを判定(skills.ts:48)
  3. ソートルール:project優先、同じ場所ではアルファベット順(list.ts:21-26)