skill-finder

SKILL.md

skill-finder — Discover & Install Community Skills

Search the skills.sh ecosystem, evaluate candidates, and install to your local addons repo.

Environment

# Addons repo root (contains skills/ directory)
ADDONS_DIR="${ADDONS_DIR:-$HOME/dev/github.com/fancive/claude-code-addons}"

Workflow

Step 1: Search

Run search and parse results:

npx skills@latest find "<query>" 2>&1 | sed 's/\x1b\[[0-9;]*m//g' | grep -E '(installs|skills\.sh)'

Output format (after stripping ANSI):

owner/repo@skill-name  N installs
└ https://skills.sh/owner/repo/skill-name

Parse each result into structured fields:

  • owner: GitHub owner
  • repo: GitHub repo name
  • skill: skill name (after @)
  • installs: install count (number before "installs")
  • url: skills.sh URL

Step 2: Present Candidates

Show candidates as a numbered table to the user:

Search results for "rss":

| # | Skill | Installs | Source |
|---|-------|----------|--------|
| 1 | rss-agent-viewer | 91 | brooksy4503/rss-agent-viewer |
| 2 | rss-aggregator | 47 | zephyrwang6/myskill |
| 3 | rss-agent-discovery | 42 | brooksy4503/rss-agent-discovery |
| 4 | ai-tech-rss-fetch | 42 | tiangong-ai/skills |
| 5 | rss-digest | 20 | odysseus0/feed |

Use AskUserQuestion with multiSelect: true to let user pick multiple candidates for detailed review.

Step 3: Deep Evaluation

For each selected candidate, fetch the full SKILL.md from GitHub using this fallback chain:

# Try paths in order, use first that returns 200
curl -sf "https://raw.githubusercontent.com/{owner}/{repo}/main/skills/{skill}/SKILL.md" \
  || curl -sf "https://raw.githubusercontent.com/{owner}/{repo}/main/{skill}/SKILL.md" \
  || curl -sf "https://raw.githubusercontent.com/{owner}/{repo}/main/SKILL.md"

For each candidate, analyze and summarize:

  • What it does: core functionality in 1-2 sentences
  • How it works: key tools/dependencies (npx packages, APIs, local DB, etc.)
  • Quality signals: SKILL.md completeness, install count, repo activity
  • Overlap: any overlap with user's existing skills
  • Concerns: security, heavy dependencies, auth requirements

Step 4: Recommendation

Present a comparison table with recommendation:

## Evaluation Summary

| Skill | What it does | Quality | Dependencies | Recommendation |
|-------|-------------|---------|-------------|----------------|
| rss-agent-viewer | CLI RSS reader + OPML | Good SKILL.md, 91 installs | npx rss-agent-viewer | ⭐ Recommended |
| rss-aggregator | RSS to SQLite | Sparse docs, 47 installs | Python feedparser | Skip |
| ai-tech-rss-fetch | AI RSS to SQLite | Decent, 42 installs | Python feedparser + sqlite3 | Alternative |

### Recommendation
Install **rss-agent-viewer** — most mature, good docs, lightweight npx tool.
Skip **rss-aggregator** — sparse SKILL.md, unclear value.

Use AskUserQuestion to let user confirm which to actually install (can be different from initial selection).

Step 5: Download to Addons Repo

For each confirmed skill:

ADDONS_DIR="${ADDONS_DIR:-$HOME/dev/github.com/fancive/claude-code-addons}"
SKILL_DIR="$ADDONS_DIR/skills/{skill-name}"

# Create directory
mkdir -p "$SKILL_DIR"

# Download SKILL.md (same fallback chain as Step 3)
curl -sf "https://raw.githubusercontent.com/{owner}/{repo}/main/skills/{skill}/SKILL.md" \
  -o "$SKILL_DIR/SKILL.md" \
  || curl -sf "https://raw.githubusercontent.com/{owner}/{repo}/main/{skill}/SKILL.md" \
  -o "$SKILL_DIR/SKILL.md" \
  || curl -sf "https://raw.githubusercontent.com/{owner}/{repo}/main/SKILL.md" \
  -o "$SKILL_DIR/SKILL.md"

Report download results:

Downloaded to addons repo:
  ✓ rss-agent-viewer → skills/rss-agent-viewer/SKILL.md
  ✓ ai-tech-rss-fetch → skills/ai-tech-rss-fetch/SKILL.md

Step 6: Install via skill-link

Ask user if they want to install now. If yes, run skill-link workflow:

CLAUDE_HOME="${CLAUDE_HOME:-$HOME/.claude}"
CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"

for skill in <downloaded-skills>; do
  src="$(realpath "$ADDONS_DIR/skills/$skill")"
  ln -sfn "$src" "$CLAUDE_HOME/skills/$skill"
  ln -sfn "$src" "$CODEX_HOME/skills/$skill"
done

Report:

Installed:
  ✓ rss-agent-viewer → ~/.claude/skills/ + ~/.codex/skills/
  ✓ ai-tech-rss-fetch → ~/.claude/skills/ + ~/.codex/skills/

Done. Skills available in next session.

Conflict Handling

  • If $ADDONS_DIR/skills/{name}/ already exists → warn and ask: overwrite / skip / rename
  • If target symlink is a real directory (not symlink) → skip and warn (same as skill-link)

Example Session

User: /skill-finder rss

Agent:
  Searching skills.sh for "rss"...

  | # | Skill | Installs | Source |
  |---|-------|----------|--------|
  | 1 | rss-agent-viewer | 91 | brooksy4503/rss-agent-viewer |
  | 2 | rss-aggregator | 47 | zephyrwang6/myskill |
  | 3 | rss-agent-discovery | 42 | brooksy4503/rss-agent-discovery |
  | 4 | ai-tech-rss-fetch | 42 | tiangong-ai/skills |
  | 5 | rss-digest | 20 | odysseus0/feed |

  Which ones to evaluate in detail? (multi-select)

User: 1, 3, 4

Agent:
  Fetching SKILL.md for 3 candidates...

  ## rss-agent-viewer (brooksy4503)
  - CLI RSS/Atom viewer with discovery, search, OPML import/export
  - Uses: `npx rss-agent-viewer` (self-contained Node CLI)
  - Quality: Detailed SKILL.md, clear commands, 91 installs
  - ⭐ Recommended

  ## rss-agent-discovery (brooksy4503)
  - Discover RSS feeds from any URL
  - Uses: `npx rss-agent-discovery` (self-contained)
  - Quality: Good docs, 42 installs
  - Good companion to rss-agent-viewer

  ## ai-tech-rss-fetch (tiangong-ai)
  - Subscribe + sync RSS to SQLite
  - Uses: Python feedparser + sqlite3
  - Quality: Decent, 42 installs, requires Python
  - Alternative approach (heavier)

  ### Recommendation
  Install **rss-agent-viewer** + **rss-agent-discovery** (lightweight, complementary).
  Skip ai-tech-rss-fetch (Python dependency, overlaps with viewer).

  Confirm which to install?

User: viewer and discovery

Agent:
  Downloaded:
    ✓ rss-agent-viewer → addons/skills/rss-agent-viewer/SKILL.md
    ✓ rss-agent-discovery → addons/skills/rss-agent-discovery/SKILL.md

  Install via symlink now?

User: Yes

Agent:
  ✓ rss-agent-viewer → ~/.claude/skills/ + ~/.codex/skills/
  ✓ rss-agent-discovery → ~/.claude/skills/ + ~/.codex/skills/
  Done. Available in next session.
Weekly Installs
1
First Seen
11 days ago
Installed on
codex1