library-detection
package.jsonなどのファイルからプロジェクトで使われている技術を自動で特定し、フレームワークやテストツール、ビルドシステムを認識して、スムーズな導入を支援するSkill。
📜 元の英語説明(参考)
Detect project stack from package manifests (package.json, pyproject.toml, go.mod, Cargo.toml, pubspec.yaml, CMakeLists.txt). Auto-identify frameworks, test tools, and build systems for onboarding.
🇯🇵 日本人クリエイター向け解説
package.jsonなどのファイルからプロジェクトで使われている技術を自動で特定し、フレームワークやテストツール、ビルドシステムを認識して、スムーズな導入を支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o library-detection.zip https://jpskill.com/download/18032.zip && unzip -o library-detection.zip && rm library-detection.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18032.zip -OutFile "$d\library-detection.zip"; Expand-Archive "$d\library-detection.zip" -DestinationPath $d -Force; ri "$d\library-detection.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
library-detection.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
library-detectionフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Library Detection Skill
パッケージマニフェストと構成ファイルを分析して、プロジェクトの技術スタックを自動的に検出します。オンボーディング、ドキュメントの発見、およびツール構成で使用するための構造化されたデータを返します。
Variables
| Variable | Default | Description |
|---|---|---|
| SCAN_DEPTH | 3 | マニフェストを検索する最大ディレクトリ深度 |
| INCLUDE_DEV_DEPS | true | 分析に開発依存関係を含める |
| DETECT_FRAMEWORKS | true | 依存関係からフレームワークを識別する |
| DETECT_TEST_TOOLS | true | テストフレームワークとランナーを識別する |
| OUTPUT_FORMAT | json | 出力形式: json, markdown, または toon |
Instructions
MANDATORY - 以下のワークフローステップを順番に実行してください。ステップをスキップしないでください。
- プロジェクト内のパッケージマニフェストをスキャンする
- 各マニフェストを解析して依存関係を抽出する
- 依存関係をカテゴリに分類する
- 依存関係のパターンからフレームワークとテストツールを検出する
- 構造化されたスタックの概要を出力する
Red Flags - STOP and Reconsider
もしあなたが以下をしようとしているなら:
- インポートまたは構成ファイルを確認せずにフレームワークを仮定する
- 「プロジェクトは単純だ」という理由でマニフェストファイルをスキップする
- マニフェストから読み取る代わりに、フレームワークのバージョンをハードコードする
- 実際に使用されていることを確認せずにライブラリを報告する
STOP -> マニフェストファイルを読み込む -> インポート/構成で検証する -> それから報告する
Workflow
1. Discover Manifests
以下のファイルをスキャンします(優先順位順):
| File | Language | Parser |
|---|---|---|
package.json |
JavaScript/TypeScript | JSON |
pyproject.toml |
Python | TOML |
requirements.txt |
Python | Line-based |
go.mod |
Go | Go mod |
Cargo.toml |
Rust | TOML |
pubspec.yaml |
Dart/Flutter | YAML |
CMakeLists.txt |
C/C++ | CMake |
meson.build |
C/C++ | Meson |
WORKSPACE |
Bazel | Bazel |
pom.xml |
Java | XML |
build.gradle |
Java/Kotlin | Gradle DSL |
Gemfile |
Ruby | Ruby DSL |
composer.json |
PHP | JSON |
以下も確認してください:
Dockerfile- コンテナ化docker-compose.yml- コンテナオーケストレーション.github/workflows/*.yml- CI/CDMakefile- ビルドシステムtsconfig.json- TypeScript 構成vite.config.*/webpack.config.*- バンドラー
2. Parse Dependencies
各マニフェストから以下を抽出します:
- Production dependencies: ランタイム要件
- Development dependencies: ビルド/テストツール
- Peer dependencies: 期待されるホスト環境
- Optional dependencies: 機能フラグ
3. Classify Stack
検出結果を以下のようにグループ化します:
{
"languages": ["typescript", "python", "go", "rust", "dart", "cpp"],
"frameworks": [
{"name": "react", "version": "^18.0.0", "category": "frontend"},
{"name": "fastapi", "version": "^0.100.0", "category": "backend"}
],
"test_frameworks": [
{"name": "vitest", "version": "^1.0.0"},
{"name": "pytest", "version": "^7.0.0"}
],
"build_tools": ["vite", "uv", "docker"],
"databases": ["postgresql", "redis"],
"cloud_providers": ["aws", "vercel"],
"ci_cd": ["github-actions"]
}
4. Framework Detection Patterns
特定の検出ロジックについては、クックブックを使用してください:
- 解析ルールについては、
./cookbook/manifest-parsing.mdを読んでください - 既知のフレームワークパターンに対して依存関係名を照合します
5. Output
リクエストされた形式で構造化されたスタックの概要を返します。
Cookbook
Manifest Parsing
- IF: パッケージマニフェストを解析する場合
- THEN:
./cookbook/manifest-parsing.mdを読んで実行してください
Quick Reference
Detection Patterns
| Dependency Pattern | Detected As |
|---|---|
react, react-dom |
React framework |
vue, @vue/* |
Vue framework |
next |
Next.js framework |
fastapi |
FastAPI framework |
django |
Django framework |
flask |
Flask framework |
express |
Express.js framework |
vitest, jest |
JavaScript test framework |
pytest |
Python test framework |
gtest, gmock, catch2 |
C/C++ test framework |
flutter, flutter_test |
Flutter framework |
@testing-library/* |
Testing utilities |
Category Mappings
| Category | Examples |
|---|---|
| frontend | react, vue, svelte, angular |
| backend | fastapi, django, express, gin |
| database | prisma, sqlalchemy, typeorm |
| testing | vitest, jest, pytest, playwright |
| build | vite, webpack, esbuild, rollup |
| linting | eslint, prettier, ruff, black |
| typing | typescript, mypy, pyright |
| build-native | cmake, meson, bazel |
Output Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"project_root": {"type": "string"},
"scanned_at": {"type": "string", "format": "date-time"},
"languages": {
"type": "array",
"items": {"type": "string"}
},
"frameworks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {"type": "string"},
"version": {"type": "string"},
"category": {"type": "string"}
}
}
},
"test_frameworks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {"type": "string"},
"version": {"type": "string"}
}
}
},
"build_tools": {
"type": "array",
"items": {"type": "string"}
},
"databases": {
"type": "array",
"items": {"type": "string"}
},
"cloud_providers": {
"type": "array",
"items": {"type": "string"}
},
"ci_cd": {
"type": "array",
"items": {"type": "string"}
},
"manifests_found": {
"type": "array",
"items": {"type": "string"}
}
}
}
Integration
他のスキルとコマンドは、このスキルを以下に使用できます:
- Documentation discovery: 検出されたフレームワークをドキュメントソースにマッピングする
- Onboarding: スタックに合わせて調整されたクイックスタートガイドを生成する
- Tool configuration: リンター、フォーマッター、テストランナーを自動構成する
- Agent routing: approp(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Library Detection Skill
Automatically detect the technology stack of a project by analyzing package manifests and configuration files. Returns structured data for use in onboarding, documentation discovery, and tool configuration.
Variables
| Variable | Default | Description |
|---|---|---|
| SCAN_DEPTH | 3 | Max directory depth to search for manifests |
| INCLUDE_DEV_DEPS | true | Include development dependencies in analysis |
| DETECT_FRAMEWORKS | true | Identify frameworks from dependencies |
| DETECT_TEST_TOOLS | true | Identify test frameworks and runners |
| OUTPUT_FORMAT | json | Output format: json, markdown, or toon |
Instructions
MANDATORY - Follow the Workflow steps below in order. Do not skip steps.
- Scan for package manifests in the project
- Parse each manifest to extract dependencies
- Classify dependencies into categories
- Detect frameworks and test tools from dependency patterns
- Output structured stack summary
Red Flags - STOP and Reconsider
If you're about to:
- Assume a framework without checking imports or config files
- Skip manifest files because "the project is simple"
- Hardcode framework versions instead of reading from manifests
- Report a library without verifying it's actually used
STOP -> Read the manifest files -> Verify with imports/configs -> Then report
Workflow
1. Discover Manifests
Scan for these files (in order of priority):
| File | Language | Parser |
|---|---|---|
package.json |
JavaScript/TypeScript | JSON |
pyproject.toml |
Python | TOML |
requirements.txt |
Python | Line-based |
go.mod |
Go | Go mod |
Cargo.toml |
Rust | TOML |
pubspec.yaml |
Dart/Flutter | YAML |
CMakeLists.txt |
C/C++ | CMake |
meson.build |
C/C++ | Meson |
WORKSPACE |
Bazel | Bazel |
pom.xml |
Java | XML |
build.gradle |
Java/Kotlin | Gradle DSL |
Gemfile |
Ruby | Ruby DSL |
composer.json |
PHP | JSON |
Also check for:
Dockerfile- containerizationdocker-compose.yml- container orchestration.github/workflows/*.yml- CI/CDMakefile- build systemtsconfig.json- TypeScript configvite.config.*/webpack.config.*- bundlers
2. Parse Dependencies
For each manifest, extract:
- Production dependencies: runtime requirements
- Development dependencies: build/test tools
- Peer dependencies: expected host environment
- Optional dependencies: feature flags
3. Classify Stack
Group findings into:
{
"languages": ["typescript", "python", "go", "rust", "dart", "cpp"],
"frameworks": [
{"name": "react", "version": "^18.0.0", "category": "frontend"},
{"name": "fastapi", "version": "^0.100.0", "category": "backend"}
],
"test_frameworks": [
{"name": "vitest", "version": "^1.0.0"},
{"name": "pytest", "version": "^7.0.0"}
],
"build_tools": ["vite", "uv", "docker"],
"databases": ["postgresql", "redis"],
"cloud_providers": ["aws", "vercel"],
"ci_cd": ["github-actions"]
}
4. Framework Detection Patterns
Use the cookbook for specific detection logic:
- Read
./cookbook/manifest-parsing.mdfor parsing rules - Match dependency names against known framework patterns
5. Output
Return the structured stack summary in the requested format.
Cookbook
Manifest Parsing
- IF: Parsing any package manifest
- THEN: Read and execute
./cookbook/manifest-parsing.md
Quick Reference
Detection Patterns
| Dependency Pattern | Detected As |
|---|---|
react, react-dom |
React framework |
vue, @vue/* |
Vue framework |
next |
Next.js framework |
fastapi |
FastAPI framework |
django |
Django framework |
flask |
Flask framework |
express |
Express.js framework |
vitest, jest |
JavaScript test framework |
pytest |
Python test framework |
gtest, gmock, catch2 |
C/C++ test framework |
flutter, flutter_test |
Flutter framework |
@testing-library/* |
Testing utilities |
Category Mappings
| Category | Examples |
|---|---|
| frontend | react, vue, svelte, angular |
| backend | fastapi, django, express, gin |
| database | prisma, sqlalchemy, typeorm |
| testing | vitest, jest, pytest, playwright |
| build | vite, webpack, esbuild, rollup |
| linting | eslint, prettier, ruff, black |
| typing | typescript, mypy, pyright |
| build-native | cmake, meson, bazel |
Output Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"project_root": {"type": "string"},
"scanned_at": {"type": "string", "format": "date-time"},
"languages": {
"type": "array",
"items": {"type": "string"}
},
"frameworks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {"type": "string"},
"version": {"type": "string"},
"category": {"type": "string"}
}
}
},
"test_frameworks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {"type": "string"},
"version": {"type": "string"}
}
}
},
"build_tools": {
"type": "array",
"items": {"type": "string"}
},
"databases": {
"type": "array",
"items": {"type": "string"}
},
"cloud_providers": {
"type": "array",
"items": {"type": "string"}
},
"ci_cd": {
"type": "array",
"items": {"type": "string"}
},
"manifests_found": {
"type": "array",
"items": {"type": "string"}
}
}
}
Integration
Other skills and commands can use this skill for:
- Documentation discovery: Map detected frameworks to doc sources
- Onboarding: Generate quickstart guides tailored to the stack
- Tool configuration: Auto-configure linters, formatters, test runners
- Agent routing: Select appropriate AI providers based on stack
Example usage in another skill:
## Prerequisites
Before implementing, run the `library-detection` skill to identify:
- Test frameworks (for writing tests)
- Build tools (for verification)
- Database libraries (for data layer work)