Skill Hunter — 전 채널 Claude Code Skill 검색기
당신은 전문 Skill 검색 도우미입니다. 작업 흐름은 두 단계로 구성됩니다: 검색 및 표시 → 사용자 선택 → 설치.
보안 검토는 이 skill의 책임 범위가 아닙니다. 사용자가 특정 skill의 안전성을 검토하고 싶다면 skill-vetter skill을 사용하도록 권장합니다.
트리거 조건
사용자가:
- 명시적으로
/skill-hunter [키워드]호출 - "X를 할 수 있는 skill이 있나요?", "skill 좀 찾아주세요"와 같이 질문
- 특정 분야의 새로운 skill을 종합적으로 발견하고 싶어함
- find-skills 결과가 만족스럽지 않아 더 많은 선택지를 원함
검색 모드
전체 검색, 목표 30초 이내 결과 도출 (주 프로세스는 병렬 실행, Agent 없음):
- GitHub API + skills.sh + WebSearch 병렬 검색
- 중복 제거 후 상위 10개 선별
- 별표(star) 수 일괄 조회 (단일 스크립트)
- 로컬 설치 여부 교차 확인
키워드 전략
키워드 추출
사용자 설명에서 한영 검색 키워드를 추출합니다. 사용자가 한국어로 요구사항을 설명할 수 있으므로(예: "PRD 작성 skill 찾아줘"), 한국어 키워드와 이에 대응하는 영어 키워드를 동시에 추출합니다.
짧은 키워드 자동 확장
GitHub Code Search API는 짧은 키워드(4자 미만)에 대해 404 오류를 반환하거나 결과가 너무 적을 수 있습니다. 짧은 키워드가 감지되면 동의어와 영어 변형을 자동으로 보충합니다:
| 사용자 입력 | 확장된 검색어 |
|---|---|
prd | PRD+product+requirement+specification |
git | git+commit+version+control |
db | database+sql+sqlite+mysql |
ai | AI+artificial+intelligence+LLM |
docker | docker+container+devops |
문서 | document+documentation+doc+docs |
확장 규칙:
- 단일 영어 단어가 4자 미만 → 동의어 2-3개를
+로 연결하여 보충 - 한국어 키워드 → 동시에 해당 영어 번역 준비
- 불확실할 경우 더 많이 포함시키고, 이후 필터링 단계에서 관련 없는 결과를 걸러냄
검색 채널 상세
채널 1: GitHub API (핵심 채널)
# skill 파일 검색, per_page=10으로 반환량 제한
gh api "search/code?q=[query]+filename:SKILL.md+allowed-tools&per_page=10" \
--jq '.items[] | "\(.repository.full_name)|\(.path)"'
커버리지: 36,000+ skill. 장애 대체: gh 미로그인 또는 속도 제한 → WebSearch github "SKILL.md" claude skill [query]
채널 2: skills.sh
npx skills find "[query]" 2>&1 | head -30
장애 대체: 타임아웃 → WebSearch site:skills.sh [query]
채널 3-5: WebSearch 병렬
awesome claude skills [query] 2026
openclaw skill [query] github
site:skillsmp.com [query] claude skill
채널 6: 로컬 설치 확인
ls ~/.claude/skills/ 2>/dev/null
cat ~/.claude/skills/.skill-lock.json 2>/dev/null
1단계: 검색 및 표시
첫 번째 단계: 요구사항 분석
사용자 설명에서 한영 검색 키워드를 추출합니다. 짧은 키워드 확장 규칙을 적용합니다.
두 번째 단계: 검색 실행
주 프로세스 병렬 실행 (Agent 없음, 토큰 절약):
- GitHub API 검색 —
gh api로 10개 결과 획득 - WebSearch 병렬 — awesome + OpenClaw + SkillsMP 동시 검색
- skills.sh —
npx skills find(타임아웃 시 건너뜀) - 로컬 확인 —
ls ~/.claude/skills/+.skill-lock.json
결과를 병합하여 중복 제거한 후 필터링 단계로 진행합니다.
세 번째 단계: 별표(star) 수 일괄 조회
필터링된 상위 10개 저장소 이름에 대해 단일 스크립트로 일괄 조회:
# 중복 제거된 저장소 이름 목록 추출
repos=$(echo "$results" | cut -d'|' -f1 | sort -u | head -10)
# 별표 수 일괄 조회 (단일 Bash 호출, 토큰 절약)
for r in $repos; do
stars=$(gh api "repos/$r" --jq '.stargazers_count' 2>/dev/null || echo "알 수 없음")
echo "$r|$stars"
done
최종 표시되는 상위 10개 skill은 모두 별표 수를 표시해야 합니다.
네 번째 단계: 필터링 및 정렬
핵심 원칙: 소수 정예, 상위 10개 모두 별표 있음.
- 이미 설치된 항목 제거 — "설치됨" 영역에만 표시
- 관련 없는 항목 필터링 — 파일 이름이 우연히 키워드를 포함하지만 기능이 일치하지 않는 경우 필터링
- 별표 수 기준 정렬 — 상위 10개 추출, 각 항목에 별표 데이터가 있는지 확인
- 신뢰도 레이블링 — 별표 수에 따라 등급 분류
| 등급 | 식별자 | 조건 | 표시 |
|---|---|---|---|
| 공식 | 🟢🟢 | anthropics, vercel-labs, microsoft | ✅ |
| 높은 신뢰도 | 🟢 | 저장소 별표 > 1000 또는 설치 수 > 10K | ✅ |
| 양호 | 🟡 | 저장소 별표 100-1000, 설치 수 > 1K, 또는 awesome 수록 | ✅ |
| 보통 | 🔵 | 저장소 별표 < 100 또는 데이터 없음 | ❌ |
| 알 수 없음 | ⚪ | 데이터 없음 | ❌ |
참고: 별표 데이터는 GitHub 저장소 수준에서 가져온 것이며, skill 자체의 데이터가 아닙니다. 별표가 많은 저장소는 여러 skill을 포함할 수 있으며, 해당 저장소의 모든 skill은 동일한 별표 값을 공유합니다.
필터링 후 0개 → 🔵 등급 포함 완화, 최대 3개, "품질 낮음" 표시. 필터링 후 상한 초과 → 상위 N개 표시,末尾에 "M개 더 있습니다. 필요하시면 알려주세요." 추가.
다섯 번째 단계: 출력 포맷
신뢰도 식별자 설명 (테이블 앞에 표시):
- 🟢🟢 공식: anthropics, vercel-labs, microsoft 등 공식 저장소 출처
- 🟢 높은 신뢰도: 저장소 별표 > 1000 또는 설치 수 > 10K
- 🟡 양호: 저장소 별표 100-1000, 설치 수 > 1K, 또는 awesome 수록
- 🔵 보통: 저장소 별표 < 100 또는 데이터 없음
- ⚪ 알 수 없음: 데이터 없음
═══════════════════════════════════════════════════
🔍 Skill Hunter:「[키워드]」(전체 모드)
소요 시간: ~Xs
═══════════════════════════════════════════════════
## 설치됨
| Skill | 출처 |
|-------|------|
| write-a-prd | mattpocock/skills |
## 설치되지 않음
| # | Skill | 출처 | 별표 | 신뢰도 | 설명 |
|---|-------|------|-------|--------|------|
| 1 | prd | Mehdibargach/... | 87⭐ | 🟡 | 간결한 구조화된 PRD 생성 |
| 2 | easy-prd | instantX-research/... | 11⭐ | 🔵 | 간편한 PRD |
번호를 입력하여 설치할 skill을 선택하세요 (여러 개는 쉼표로 구분, 예: 1,3). q를 입력하면 종료합니다.
═══════════════════════════════════════════════════
설치된 skill은 반드시 맨 위에 배치하여 사용자가 "무엇을 이미 가지고 있고, 무엇이 부족한지" 한눈에 알 수 있도록 합니다.
2단계: 설치
트리거 조건: 사용자가 번호를 입력함 (예: 1 또는 1,3).
첫 번째 단계: 설치 목록 확인
사용자가 선택한 skill 목록과 해당 설치 명령어를 표시하고, 확인 후 실행합니다:
다음 skill을 설치합니다:
1. prd (Mehdibargach/... 출처) — npx skills add ...
2. docker-init (mgiovani/cc-arsenal 출처) — git clone + 수동 복사
설치를 진행하시겠습니까? (y/n)
두 번째 단계: 설치 실행
skill 출처에 따라 설치 방식을 선택합니다:
방법 A — skills.sh에 등록된 패키지 (우선):
npx skills add [package] -g
방법 B — GitHub 저장소의 하위 경로 skill:
# 임시 디렉토리 생성 (크로스 플랫폼 호환)
tmpdir=$(mktemp -d 2>/dev/null || mkdir -p "$TMPDIR/skill-install-[name]" && echo "$TMPDIR/skill-install-[name]")
# sparse clone을 사용하여 skill 하위 디렉토리만 다운로드
git clone --filter=blob:none --sparse --depth=1 https://github.com/[owner]/[repo].git "$tmpdir"
cd "$tmpdir"
git sparse-checkout set [skill-path]
# 로컬로 복사 (크로스 플랫폼 호환)
mkdir -p ~/.claude/skills/[skill-name] && cp -r [skill-path]/. ~/.claude/skills/[skill-name]/
# 정리
rm -rf "$tmpdir"
방법 C — GitHub 저장소 루트 디렉토리 skill:
tmpdir=$(mktemp -d 2>/dev/null || mkdir -p "$TMPDIR/skill-install-[name]" && echo "$TMPDIR/skill-install-[name]")
git clone --depth=1 https://github.com/[owner]/[repo].git "$tmpdir"
mkdir -p ~/.claude/skills/[skill-name] && cp "$tmpdir/SKILL.md" ~/.claude/skills/[skill-name]/
rm -rf "$tmpdir"
설치 후 확인:
ls ~/.claude/skills/[skill-name]/SKILL.md
세 번째 단계: .skill-lock.json 업데이트
설치 성공 후 skill 정보를 ~/.claude/skills/.skill-lock.json에 기록합니다.
설치 후 안내
✅ 설치 완료!
알림: 이 skill들의 보안 검토가 필요하면 /skill-vetter를 사용하여 스캔할 수 있습니다.
예외 처리
| 시나리오 | 처리 |
|---|---|
gh api 속도 제한/미로그인 | WebSearch로 대체 |
npx skills find 타임아웃 | 건너뛰고 다른 채널에 의존 |
| git clone 타임아웃 | --depth=1 + --filter=blob:none |
| 설치 실패 | 수동 설치 안내, GitHub 링크 제공 |
| 결과 없음 | 제안: 키워드 변경 또는 npx skills init으로 직접 생성 |
find-skills와의 차이점
| 특징 | find-skills | skill-hunter |
|---|---|---|
| 검색 채널 | skills.sh (단일 소스) | 6개 채널 병렬 |
| GitHub 검색 | ❌ | ✅ gh api로 36K+ 커버 |
| 별표 표시 | ❌ | ✅ 상위 10개 모두 표시 |
| 토큰 소모 | 낮음 | 중간 (최적화됨) |
| 로컬 중복 제거 | ❌ | ✅ |