find-skills について
find-skillsは、作業中のリポジトリを調べ、既知のマーケットプレイスから関連スキルを推薦する読み取り専用のClaude Codeスキルです。プロジェクトの目的と技術特性に基づいて候補を順位付けし、インストールやファイル変更をせずにレポートを作成します。
主な機能
- 01リポジトリとプロジェクト特性の分析
- 02マーケットプレイスカタログの確認
- 03明示的な依頼がある場合のみオンライン検索
- 04関連度に基づくスキル選定
- 05順位付き推薦レポートの作成
- 06読み取り専用の実行
活用シーン
- 01リポジトリに合うスキルの探索
- 02ローカルマーケットプレイスのツール確認
- 03プロジェクトを変更せずにスキル候補を提示
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dan323/ easier-life-skills --skill find-skillsインストール後、Claude Code で/find-skillsを入力して読み込まれたか確認します。
同梱ファイルevals/evals.json
詳細
スキルを検索
アクティブなリポジトリを分析し、このプロジェクトに役立つ Claude Code スキルを既知のマーケットプレイスから探して推薦します。
このスキルは読み取り専用です。 推薦レポートを作成します。何もインストールせず、ファイルも変更しません。
タスクの追跡
作業を始める前に、以下の各フェーズについて TaskCreate を呼び出します。フェーズを開始したら TaskUpdate(ステータス in_progress)を呼び出し、完了したら TaskUpdate(ステータス completed)を呼び出します。
- 検索モードの決定
- リポジトリの把握
- 既知のマーケットプレイスの読み込み
- オンライン検索(オンラインモードが有効な場合のみ作成)
- スキルとプロジェクトの照合
- レポートの作成
フェーズ 1:検索モードの決定
ユーザーのプロンプトに、オンライン検索を明示的に指示する文言があるか確認します。 次のいずれかがプロンプトに含まれている場合に限り、オンライン検索を行います。
- "online"
- "search the web"
- "search online"
- "web search"
- "internet"
既定ではオフラインのみです。ローカルのマーケットプレイスカタログと既知のマーケットプレイス URL のみを使用します。
フェーズ 2:リポジトリの把握
スキルの関連性を判断するのに十分な情報を集めます。以下をすべて並行して実行します。
# Project identity
cat README.md 2>/dev/null | head -60 || true
cat package.json 2>/dev/null || cat pyproject.toml 2>/dev/null || \
cat Cargo.toml 2>/dev/null || cat go.mod 2>/dev/null || \
cat pom.xml 2>/dev/null || cat build.gradle.kts 2>/dev/null || \
cat build.gradle 2>/dev/null || true
# Languages present
find . -maxdepth 4 \
-not -path "*/.git/*" -not -path "*/node_modules/*" \
-not -path "*/vendor/*" -not -path "*/.venv/*" -not -path "*/dist/*" \
\( -name "*.java" -o -name "*.kt" -o -name "*.py" -o -name "*.js" \
-o -name "*.ts" -o -name "*.tsx" -o -name "*.go" -o -name "*.rs" \
-o -name "*.cs" -o -name "*.rb" -o -name "*.php" \) \
| sed 's/.*\.//' | sort | uniq -c | sort -rn | head -10
# Framework signals
grep -rl "spring\|django\|fastapi\|flask\|express\|nestjs\|rails\|laravel\|gin\|axum" \
--include="*.json" --include="*.toml" --include="*.gradle" --include="*.xml" \
. 2>/dev/null | head -10 || true
# REST API signals
grep -rl "@RestController\|@Router\|app\.route\|router\.\(get\|post\|put\|delete\)\|@Controller\|@RequestMapping\|FastAPI\|express()" \
--include="*.java" --include="*.kt" --include="*.py" --include="*.ts" \
--include="*.js" . 2>/dev/null | head -5 || true
# CI/CD and automation signals
ls -la .github/workflows/ 2>/dev/null || true
ls -la .gitlab-ci.yml Jenkinsfile Makefile 2>/dev/null || true
# Git history activity
git log --oneline -20 2>/dev/null || true
# Existing installed skills / plugins
cat ~/.claude/settings.json 2>/dev/null | grep -A5 '"skills"\|"plugins"' || true
ls ~/.claude/plugins/ 2>/dev/null || true
# CHANGELOG presence
ls -la CHANGELOG.md CHANGELOG.rst changelog.md 2>/dev/null || true
# Docs presence
ls -la README.md docs/ 2>/dev/null || true
# Logging patterns
grep -rl "log\.\(info\|debug\|error\|warn\)\|logger\.\|logging\." \
--include="*.java" --include="*.kt" --include="*.py" --include="*.ts" \
--include="*.js" --include="*.go" . 2>/dev/null | wc -l || echo "0"
プロジェクトの内部プロファイルを作成します。
- 主な言語
- 検出されたフレームワーク
- REST API の有無
- CI/CD の有無
- CHANGELOG.md の有無
- ドキュメントの有無と完成度
- ロギングのカバー状況(概算)
- プロジェクトの規模と複雑さ
- プロジェクトの目的と分野 — README、パッケージの説明、フォルダー名、ファイルの内容から、プロジェクトが何をするものかを推測します。例:「デプロイを管理する CLI ツール」、「画像分類のための機械学習パイプライン」、「e コマースのバックエンド」、「コード解析のための開発者向けツール」。これは技術スタックとは別の情報であり、内部プロファイルに明示する必要があります。どの非技術系スキル(例:アイデア出し、ドキュメント作成、変更履歴の生成)が役立つかを判断するうえで重要であり、実装の詳細ではなくプロジェクトの目的によって価値が生まれるスキルを見つけられる場合があります。
フェーズ 3:既知のマーケットプレイスの読み込み
以下の既知のマーケットプレイスカタログを必ず確認します(インストールせず、カタログを取得します)。
マーケットプレイス 1 — easier-life-skills(dan323)
こちらは主な既知のマーケットプレイスです。カタログを読み込みます。
# Check if it is installed locally
cat ~/.claude/plugins/easier-life-skills/.claude-plugin/marketplace.json 2>/dev/null || true
ローカルに見つからない場合は、WebFetch ツールを使用して次の URL から生のカタログを取得します。
https://raw.githubusercontent.com/dan323/easier-life-skills/master/.claude-plugin/marketplace.json
カタログには、利用可能なすべてのプラグインの名前、説明、カテゴリ、キーワードが記載されています。カタログを使って候補を集めます。
マーケットプレイス 2 — skills(anthropics)
Anthropic 公式のスキルマーケットプレイスです。カタログを読み込みます。
# Check if it is installed locally
cat ~/.claude/plugins/skills/.claude-plugin/marketplace.json 2>/dev/null || true
ローカルに見つからない場合は、WebFetch ツールを使用して次の URL から生のカタログを取得します。
https://raw.githubusercontent.com/anthropics/skills/master/.claude-plugin/marketplace.json
ローカルのマーケットプレイスインデックス
# Check if there are other marketplaces registered locally
cat ~/.claude/settings.json 2>/dev/null | grep -A20 '"marketplaces"\|"pluginSources"' || true
find ~/.claude/plugins -name "marketplace.json" 2>/dev/null | head -10 || true
見つかった追加のマーケットプレイスカタログも読み込みます。
フェーズ 4:オンライン検索(明示的に依頼された場合のみ)
ユーザーがオンライン検索を明示的に依頼していない場合は、このフェーズ全体を省略します。
オンライン検索を依頼された場合は、WebSearch を使用して、プロジェクトの分野に関連する Claude Code スキルマーケットプレイスや個別のスキルを探します。
実行する検索クエリ(検出したプロジェクトの分野に合わせて調整します)。
"claude code" skill plugin marketplace {primary_language}"claude code" skill plugin {framework_name}(検出された各フレームワークについて)site:github.com "claude-plugin" "SKILL.md" {domain_keyword}
見つかった各 GitHub リポジトリについて、次の作業を行います。
.claude-plugin/marketplace.jsonまたは個別のSKILL.mdファイルがあるか確認します。- スキル名、説明、インストール手順を抽出します。
- 候補に追加します。
フェーズ 5:スキルとプロジェクトの照合
候補に含まれる各スキルについて、このプロジェクトとの関連性を評価します。 スキルが関連ありといえるのは、仮定上ではなく、プロジェクトが現時点で抱える実際の問題を解決する場合です。
評価の目安
技術的なシグナル
| 条件 | 優先度 |
|---|---|
| プロジェクトに CHANGELOG がなく、スキルが作成する | 高 |
| プロジェクトに REST API があり、スキルが破壊的変更を検出する | 高 |
| プロジェクトにドキュメントがない/README が最小限で、スキルがドキュメントを作成する | 高 |
| プロジェクトに重大なログの不足があり、スキルがログを監査する | 高 |
| プロジェクトに CI/自動化タスクがあり、スキルがエージェントのタスクを自動化する | 中 |
| プロジェクトにデッドコードの兆候(規模の大きい古いコードベース、private メソッド)があり、スキルがデッドコードを検出する | 中 |
| スキルのキーワードが検出されたフレームワーク/言語と重複する | 低 |
目的と領域のシグナル
プロジェクトの構築方法だけでなく、プロジェクトが「何のためのものか」に基づいてスキルを照合します。 各スキルのカタログの説明を価値提案として読み、次の点を確認します。このスキルは、 「この種のプロジェクト」に取り組む人に価値をもたらすでしょうか?
| 条件 | 優先度 |
|---|---|
| プロジェクトが開発者向けツール/SDK/ライブラリであり、利用者に明確なドキュメントが必要 | ドキュメント作成スキルは高 |
| プロジェクトが活発に開発中で、方向性が不明確または初期段階にあり、ブレインストーミングの価値が高い | ブレインストーミングスキルは高 |
| プロジェクトが公開向け製品で、バージョン付きのリリースがあるため、外部利用者にとって変更履歴が重要 | 変更履歴スキルは高 |
| プロジェクトがデータパイプライン/ML/バッチ処理システムであり、可観測性とログの品質が重要 | ログ関連スキルは高 |
| プロジェクトが大規模で長期にわたるコードベースで、複数のコントリビューターがいるため、デッドコードが蓄積しやすい | デッドコード関連スキルはより高 |
| スキルの説明がプロジェクトの領域に明確に対応している(例:「REST API」スキルを REST サービスに適用) | 中〜高 |
| スキルが、プロジェクトの明示された目的を踏まえて、メンテナーが直面するワークフロー上の問題を解決する | 中 |
無関連性のシグナル(除外するか、最後に表示)
- スキルがすでにインストールされている(
~/.claude/pluginsで確認) - スキルが、このリポジトリにない領域を扱っている(例:HTTP レイヤーのない CLI に REST の破壊的変更スキルを適用)
- スキルの目的が、インストール済みのスキルですでに完全にカバーされている
フェーズ 6:レポートの出力
レポートは必ず以下の形式で、関連性の高い順に並べて出力します。 スキルは最大 7 件まで表示します。本当に関連性のあるスキルが 3 件未満の場合は、 関連性の低い候補で水増しせず、その旨を正直に伝えます。
## Skill Recommendations for {project name}
{One sentence describing the project, for context.}
---
### Recommended Skills
#### 1. {skill-name} · {marketplace-name} · Relevance: High / Medium / Low
**What it does**: {One sentence from the catalog description.}
**Why it fits this project**: {Specific reason grounded in what was observed in the repo.
May reference technical signals ("your project has 18 REST endpoints but no CHANGELOG.md")
OR purpose/domain signals ("as a public SDK, consumers depend on versioned release notes").
Never generic — "Could be useful for API projects" is not acceptable.}
**Install**:
\`\`\`
/plugin marketplace add {marketplace-owner}/{marketplace-name}
/plugin install {marketplace-name}/{skill-name}
\`\`\`
---
#### 2. ...
(repeat for each recommended skill)
---
### Skills Checked but Not Recommended
| Skill | Reason skipped |
|---|---|
| {skill-name} | {One-line reason — e.g. "Already installed", "No REST APIs detected", "Docs already complete"} |
---
### Marketplaces Searched
- easier-life-skills (dan323) — {N} skills checked
- skills (anthropics) — {N} skills checked
{- any additional marketplaces found}
{- Online search: {N} results checked} ← only if online mode was used
---
_To install any skill above, copy the install commands. Skills are read-only analysis tools
unless their description says otherwise._
関連するスキルがない場合
## Skill Recommendations for {project name}
No skills from the checked marketplaces are a strong fit for this project right now.
**Checked marketplaces**: easier-life-skills (dan323) — {N} skills reviewed, skills (anthropics) — {N} skills reviewed
**Reason**: {Brief explanation — e.g. "All available skills target domains not present in
this repo (REST APIs, logging, documentation), and your project is already well-covered
in those areas."}
Consider running `/find-skills online` to search for additional skill marketplaces.