1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code のスキル、前提は Python 系が9.8%で Node.js 系が7.9%。でもインストール数は Node 側が約2.6倍だった

1
Posted at

エージェントスキルの前提条件に Python を挙げるスキルのほうが、Node.js などの JavaScript ランタイムを挙げるスキルより多いです。それでもインストール数では順位が逆になり、JavaScript ランタイム側が約2.6倍です。2026年10月30日時点で、前提条件リストが保存されているスキル16,798件のうち、Python 系を挙げるのは1,650件(9.8%)で、JavaScript ランタイムを挙げるのは1,322件(7.9%)でした。インストール数は Python 側が6,341,435、JavaScript ランタイム側が16,770,856です。スキルを入れる前に、そのスキルが python / uv / pip の世界と node / npx の世界のどちらで動くのか、そしてどのアカウントやトークンを前提にしているのかを確認しておくと、command not found で止まる回数が減ります。

データ時点:2026-10-30(Skillselion エージェントスキル依存関係センサス)。個別スキルの前提条件とインストール数は 2026-11-02 に確認した値です。

開示:この記事は Skillselion 運営チームのデータをもとにしています。Skillselion は Claude Code / Codex / Cursor 向けのエージェントスキルと MCP サーバーを実インストール数で並べる独立したディレクトリで、Anthropic、OpenAI、Cursor とは提携していません。カタログは skills.sh、GitHub、MCP レジストリから毎日更新しています。リンク先のページは英語です。

元データは Skillselion のエージェントスキル依存関係センサス(2026年10月版) です。スキルが別のスキルを前提にする「連鎖」や、ベンダー CLI の話は Zenn の記事 に書いたので、ここでは実行環境(ランタイム)とアカウントに絞ります。

Python と Node.js、前提にされているのはどちらが多い?

件数なら Python、インストール数なら JavaScript ランタイムです。センサスの Finding 03 の数字を表にしました。分母はすべて「前提条件リストが保存されているスキル」16,798件です。これはカタログ全体64,756件の25.9%にあたります。

ランタイム 判定に使ったキーワード スキル数 割合 インストール数 インストールの割合
Python python, pip, uv, conda, poetry, pandas, numpy, pytorch, jupyter 1,650 9.8% 6,341,435 4.1%
JavaScript ランタイム node, node.js, npm, npx, pnpm, yarn, bun, deno 1,322 7.9% 16,770,856 10.8%
両方を挙げるスキル 66

(Skillselion エージェントスキル依存関係センサス、2026-10-30 時点)

両方を挙げるスキルは66件しかありません。前提条件リストの上では、スキルはほぼどちらか一方の世界に属しています。

件数とインストール数で順位が逆になるのはなぜ?

センサスが示している事実は2つです。1つは、JavaScript ランタイム側のインストールの32.5%を vercel-labs のスキルが持っていることです。少数の大きな公開元にインストールが集まっています。もう1つは、スイートをまとめて入れるとスキルごとに1回ずつインストールが記録されることです。このため、インストールの割合は実際に入れた開発者の数より大きく出ることがあります。

もう1点、センサスの方法論には、前提条件リストの書かれ方そのものが JavaScript ランタイムのクラスを押し上げている可能性がある、とも書かれています。Python 側には、1本あたりのインストール数がそこまで大きくないデータ処理やファイル処理のスキルが多いのでは、というのが私たちの推測です。ただしセンサスはそこまでは数えていません。

インストール数で重みを付けると Node.js 系の比重が上がるので、Python しか入っていない環境でも Node.js の有無は確認が必要です。

実際のスキルでは、ランタイムはどう書かれている?

Skillselion のカタログで、前提条件リストにランタイムやアカウントが出てくるスキルをいくつか拾いました。前提条件の列は、カタログに保存されている英語の文をそのまま載せています。

スキル 前提条件リスト(カタログ) 実行環境 インストール数 GitHub
pdf(Anthropic の PDF 処理スキル) Python with pypdf or pdfplumber; optional poppler-utils and tesseract for CLI OCR Python 220,707 anthropics/skills の pdf
webapp-testing(Python 版 Playwright で Web アプリをテストするスキル) Python with Playwright installed and local app dev commands available Python 194,388 anthropics/skills の webapp-testing
skill-creator(スキル作成・評価用のスキル) Filesystem workspace for eval iterations and Python for viewer scripts Python 420,786 anthropics/skills の skill-creator
playwright-cli(Microsoft のブラウザ操作 CLI スキル) Node.js 18 or newer Node.js 203,705 microsoft/playwright-cli
find-skills(スキルを探して入れるためのスキル) Node.js for npx skills CLI commands Node.js 4,146,930 vercel-labs/skills の find-skills
remotion-best-practices(Remotion で動画を作るスキル) Node.js and npx / a Remotion project (create-video) Node.js 723,492 remotion-dev/skills
agent-browser(Vercel Labs のブラウザ自動操作スキル) npm i -g agent-browser and agent-browser install / Chrome or Chromium available for CDP Node.js 1,326,747 vercel-labs/agent-browser

(前提条件とインストール数は 2026-11-02 時点の Skillselion カタログの値。インストール数は skills.sh レジストリの累計です)

この7本でも、インストール数が100万を超えるのは Node.js 側の find-skills と agent-browser です。センサス全体の傾向と同じ向きですが、この表は例として拾っただけなので、割合の根拠にはしないでください。

同じ Playwright でもランタイムが違う

いちばん分かりやすいのが Playwright の2本です。webapp-testing の SKILL.md は冒頭で、Python で Playwright のスクリプトを書くよう指示しています。

To test local web applications, write native Python Playwright scripts.

出典:anthropics/skills skills/webapp-testing/SKILL.md(2026-11-02 に取得)

一方、playwright-cli の SKILL.md は、グローバルの playwright-cli がなければ npx でローカル版を試し、それもなければ npm でグローバルに入れる手順です。

npm install -g @playwright/cli@latest

出典:microsoft/playwright-cli skills/playwright-cli/SKILL.md(2026-11-02 に取得)

「Playwright は入っている」という状態でも、入っているのが Python パッケージか npm パッケージかで、どちらのスキルが動くかが変わります。社内 PC で npm install -g が制限されている場合は、playwright-cli はこの手順のままでは入りません。

もう1つ気づいた点があります。webapp-testing の前提条件リストには Python しか書かれていませんが、SKILL.md の例には --server "npm run dev" のように Node.js のサーバーを起動するコマンドも出てきます。前提条件リストは SKILL.md を読んで書かれた要約なので、こういう抜けは普通にあります。

アカウントや API キーを前提にするスキルはどれくらいある?

前提条件リストが保存されているスキルの18.7%(3,134件)が、アカウント、API キー、アクセストークン、認証情報、ログイン、サブスクリプション、シークレットのどれかを挙げています。カテゴリーで差が大きく、前提条件リストを持つスキルが500件以上あるカテゴリーの中では Automation & Workflows が41.4%(955件中395件)、Documentation が2.9%(595件中17件)でした(2026-10-30 時点)。

具体例を2本挙げます。

API キーの費用面は Skillselion のエージェントスキル料金センサス で、シェルやファイルの権限は エージェントスキルのセキュリティ調査(2026年8月版) で別に数えています。どちらも今回とは別のフィールドを数えているので、割合はそのまま比べられません。

インストール前に、ランタイムとアカウントをどう確認する?

手元では raw の SKILL.md を取得して、Python 系と Node 系の手がかりの数を比べ、環境変数名と認証まわりの単語を拾っています。bash でも zsh でも動きます。

skill_check() {
  local md; md=$(curl -fsSL "$1") || { echo "取得失敗: $1"; return 1; }
  printf 'python系: %s\n' "$(grep -cE '\bpython3?\b|\bpip3? install|\buv (run|pip|add)|\buvx\b|^from [a-z_.]+ import|^import [a-z_]+' <<<"$md")"
  printf 'node系  : %s\n' "$(grep -cE '\bnpx\b|\bnpm\b|\bnode\b|\bpnpm\b|\byarn\b|\bbun\b|\bdeno\b' <<<"$md")"
  echo '--- 環境変数・認証の手がかり'
  grep -oE '\b[A-Z][A-Z0-9_]*_(KEY|TOKEN|SECRET|ID)\b|\b(auth|login|OAuth|API key|access token)\b' <<<"$md" | sort | uniq -c | sort -rn | head -5
}

skill_check https://raw.githubusercontent.com/vercel-labs/agent-skills/main/skills/vercel-cli-with-tokens/SKILL.md

2026-11-02 に実行した結果です(python系・node系は一致した行数、手がかりの列は出現回数)。

スキル python系 node系 環境変数・認証の手がかり
pdf 29 0 なし
webapp-testing 8 2 なし
playwright-cli 0 6 auth ×2
vercel-cli-with-tokens 0 2 VERCEL_TOKEN ×14, VERCEL_PROJECT_ID ×6, VERCEL_ORG_ID ×6, login ×2, access token ×1
gws-gmail 0 0 auth ×1

数字は手がかりで、答えではありません。playwright-cli の auth は playwright-cli state-save auth.json というブラウザ状態の保存ファイル名で、アカウントの話ではありませんでした。逆に gws-gmail は auth が1件だけで、それも別ファイルの gws-shared を読めという1行です。それでも実際には Gmail API の認証情報が要ります。ヒットした行は必ず grep -n で開いて読んでください。

SKILL.md だけでなく、スキルが同梱しているスクリプトの言語も見ておくと確実です。GitHub CLI が入っていれば、スキルのディレクトリのファイル拡張子を数えられます。

gh api "repos/anthropics/skills/git/trees/HEAD?recursive=1" \
  --jq '.tree[] | select(.type=="blob") | .path' \
  | grep '^skills/skill-creator/' | grep -oE '\.[a-z]+$' | sort | uniq -c | sort -rn

2026-11-02 の時点で、skill-creator は .py が10個、.md が5個、.html が2個でした。pdf は .py が8個、webapp-testing は .py が4個です。

結果を見たあとは、どちらの手がかりが多いかで対応を変えています。

  • Python 系が多い:プロジェクトごとに uv venv などで仮想環境を作り、システムの Python に pip install しない。
  • Node 系が多い:node -v でバージョンを確かめる(playwright-cli は Node.js 18 以上が前提)。npm install -g がチームのルールで許されているかも確認する。
  • *_TOKEN や *_KEY が出た:その値を .env に置くのか、シェルの環境変数にするのかを先に決める。トークンをコマンドの引数に書かせない。

なお npx skills add でスキルを入れる場合は、スキル自体が Python で動くとしても、インストールの段階で Node.js が要ります。

この数字を読むときの注意点は?

依存関係センサスの方法論 に書かれている注意点のうち、今回の話に効くものをまとめます。

  • 分母は「前提条件リストが保存されているスキル」16,798件(全64,756件の25.9%)です。カタログ全体の割合ではありません。
  • 前提条件リストは、言語モデルがスキルの SKILL.md(回によってはその抜粋)を読んで書いたものです。パッケージのマニフェストを解析した結果ではないので、抜けや言い回しのゆれがあります。
  • 前提条件リストが空のスキルは、何も要らないという意味ではありません。リストが書かれていないだけです。
  • リストを持つスキルはインストール数が多い側に偏っています。中央値はリストあり761.5、リストなし48です。
  • インストール数はレジストリのインストールイベントの累計で、アクティブユーザー数ではありません。スイートをまとめて入れるとスキルごとに1回ずつ数えられるので、割合が大きく出ることがあります。
  • クラス分けはキーワード一致なので、取りこぼしと誤判定の両方があります。上の auth.json と同じ種類の誤判定がセンサス側にもあります。

FAQ

Python しか入っていない環境で、Claude Code のスキルは使える?

pdf や webapp-testing のような Python 系のスキルは使えます。ただし npx skills add で入れるなら Node.js が要りますし、2026-10-30 時点では、前提条件リストを持つスキルのインストールのうち、JavaScript ランタイムを挙げるスキルが10.8%を持ち、Python 系の4.1%を上回っているので、Node.js も入れておくほうが無難です。

前提条件リストが空のスキルは、何もインストールしなくていい?

いいえ。リストが空なのは、リストが書かれていないというだけです。上の skill_check のように SKILL.md を直接確かめてください。

このデータを記事や社内資料で使ってもいい?

使えます。「Skillselion Agent Skill Dependency Census, October 2026」と明記し、センサスのページにリンクしてください。ライセンスは CC BY 4.0 です。


ほかの集計は State of AI Agent Skills 2026(Skillselion のエージェントスキル全体の統計) にあります。スキルを探すときは Skillselion のスキル一覧 で、各スキルの概要とインストール数を比べられます。ただし実行環境は、最後に SKILL.md 本体で確かめてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?