Agent Skills: GitHub Expert Search - 오픈소스 전문 검색 & GitHub 관리

GitHub 전문 검색 & 오픈소스 분석 - 개발 즉시 활용 가능

UncategorizedID: ljchg12-hue/dotfiles/github-expert-search

Install this agent skill to your local

pnpm dlx add-skill https://github.com/ljchg12-hue/dotfiles/tree/HEAD/skills/github-expert-search

Skill Files

Browse the full folder contents for github-expert-search.

Download Skill

Loading file tree…

skills/github-expert-search/SKILL.md

Skill Metadata

Name
"github-expert-search"
Description
"GitHub 전문 검색 & 오픈소스 분석 - 개발 즉시 활용 가능"

GitHub Expert Search - 오픈소스 전문 검색 & GitHub 관리

개요

GitHub Expert Search는 오픈소스 검색부터 GitHub 저장소 관리까지 모든 것을 통합한 전문 스킬입니다. 단순히 저장소를 찾는 것이 아니라, 개발에 바로 사용할 수 있는 형태로 분석하고 제공합니다.

핵심 특징:

  • 🔍 목적 기반 오픈소스 검색: "비동기 웹 프레임워크" → FastAPI 추천 + 즉시 사용
  • 🟢🟡🟠🔴 신뢰도 라벨: 저장소 품질 자동 평가
  • 📊 활성도 분석: 유지보수 상태, 커밋 빈도, 커뮤니티 활성도
  • 즉시 사용: 설치 명령어, 코드 예제, 설정 파일
  • 🔄 비교 분석: 여러 오픈소스 후보 비교표
  • 🛠️ GitHub 관리: Repository, PR, Issue, Actions

핵심 기능

1. 오픈소스 전문 검색

목적 기반 검색:

Input: "Python 비동기 웹 프레임워크 추천"

Output:
🟢 **확인됨 (Production-Ready)** | 검증 시간: 8분

## 추천: FastAPI

### 핵심 정보
- **Stars**: 68,523 (Python 웹 프레임워크 상위 0.5%)
- **활성도**: 매우 높음 (주간 커밋 50+)
- **유지보수**: 활발 (마지막 커밋: 2일 전)
- **성숙도**: Production-ready (v0.109.0)
- **커뮤니티**: Discord 8k+, GitHub Discussions 활발

### 즉시 사용

#### 설치
```bash
pip install fastapi[all]

기본 예제 (복사 가능)

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello World"}

@app.get("/items/{item_id}")
async def read_item(item_id: int):
    return {"item_id": item_id}

실행

uvicorn main:app --reload
# http://127.0.0.1:8000 에서 확인
# http://127.0.0.1:8000/docs 에서 자동 문서 확인

비교 분석

| 항목 | FastAPI | Django | Flask | |------|---------|--------|-------| | Stars | 68k | 75k | 65k | | 비동기 | ✅ 네이티브 | ⚠️ 부분 | ⚠️ 확장 필요 | | 속도 | 빠름 | 중간 | 중간 | | 학습 곡선 | 쉬움 | 어려움 | 매우 쉬움 | | 자동 문서 | ✅ | ❌ | ❌ | | 타입 힌트 | ✅ | ⚠️ | ❌ |

선택 가이드

FastAPI 추천 조건:

  • 비동기 처리 필요
  • 자동 문서 생성 원함
  • 타입 안정성 중요
  • 빠른 API 개발

⚠️ 대안 고려:

  • 대규모 monolithic: Django
  • 극단적 단순함: Flask

추가 리소스

  • 공식 문서: https://fastapi.tiangolo.com
  • GitHub: https://github.com/tiangolo/fastapi
  • 튜토리얼: https://fastapi.tiangolo.com/tutorial
  • Discord: https://discord.gg/VQjSZaeJmf

**기술스택 기반 검색**:

Input: "Rust로 된 고성능 HTTP 클라이언트"

Output: 🟢 확인됨 | 검증 시간: 6분

추천: reqwest

[저장소 분석 + 즉시 사용 + 비교]


### 2. 저장소 품질 평가

**신뢰도 라벨 기준**:

🟢 **Production-Ready** (3개 이상 만족):
- Stars 10k+ 또는 해당 카테고리 상위 5%
- 주간 커밋 3+ (최근 1개월)
- 마지막 릴리즈 3개월 이내
- Issues 응답률 80%+ (1주일 이내)
- Documentation 완비 (README + Wiki/Docs)
- CI/CD 설정됨
- License 명시

🟡 **Stable** (2-3개 만족):
- Stars 1k+ 또는 해당 카테고리 상위 20%
- 월간 커밋 3+
- 마지막 릴리즈 6개월 이내
- Issues 응답률 50%+

🟠 **Early Stage** (1-2개 만족):
- Stars 100+ 또는 활발한 개발 중
- 분기별 커밋 있음
- 기본 문서 있음

🔴 **Not Recommended**:
- 1년 이상 방치
- 심각한 보안 이슈 미해결
- 문서 부재

### 3. 활성도 분석

**자동 분석 항목**:

활성도 분석

커밋 활동

  • 주간 평균 커밋: 52회
  • 기여자 수: 238명
  • 마지막 커밋: 2일 전
  • 평가: ✅ 매우 활발

이슈/PR 관리

  • 열린 이슈: 120개
  • 평균 응답 시간: 1.2일
  • PR 병합률: 87%
  • 평가: ✅ 적극적 관리

커뮤니티

  • GitHub Discussions: 활발
  • Discord: 8,523명
  • Stack Overflow: 1,200+ 질문
  • 평가: ✅ 강력한 커뮤니티

릴리즈 주기

  • 최신 버전: v0.109.0 (2025-10-20)
  • 릴리즈 빈도: 월 2-3회
  • SemVer 준수: ✅
  • 평가: ✅ 안정적 릴리즈

종합 평가

🟢 Production-Ready

  • 활발한 개발
  • 신속한 이슈 대응
  • 강력한 커뮤니티
  • 정기적 릴리즈

### 4. 즉시 사용 패키지

**표준 출력 형식**:

즉시 사용

설치

[언어별 패키지 관리자 명령어]

기본 설정

[config 파일 또는 초기화 코드]

Minimal 예제 (복사 가능)

[5-10줄 동작 코드]

실전 예제 (복사 가능)

[실무에서 바로 쓸 수 있는 20-30줄 코드]

자주 쓰는 패턴

[Best practices 3-5개]

문제 해결

[흔한 오류 3-5개 + 해결법]


### 5. 비교 분석

**여러 후보 비교**:

Input: "Python 웹 크롤링 라이브러리 비교"

Output: 🟢 확인됨 | 검증 시간: 10분

비교: Scrapy vs BeautifulSoup vs Selenium

비교표

| 항목 | Scrapy | BeautifulSoup | Selenium | |------|--------|---------------|----------| | Stars | 51k | 59k | 29k | | 속도 | 매우 빠름 | 빠름 | 느림 | | 학습 곡선 | 중간 | 쉬움 | 중간 | | JS 렌더링 | ❌ | ❌ | ✅ | | 비동기 | ✅ | ❌ | ❌ | | 사용 사례 | 대규모 크롤링 | 단순 파싱 | JS 사이트 |

추천 시나리오

Scrapy: 대규모 크롤링, 속도 중요 ✅ BeautifulSoup: 단순 파싱, 빠른 프로토타입 ✅ Selenium: JavaScript 렌더링 필수

조합 추천

# 대부분: BeautifulSoup
# JS 페이지만: Selenium
# 대규모 + JS: Scrapy + Splash

각각 설치 및 기본 예제

[3개 라이브러리 모두 제공]


### 6. GitHub Repository 관리

**Repository 작업**:

저장소 생성 가이드

Input: "Python 프로젝트 저장소 생성"

Output:

저장소 생성

GitHub CLI

gh repo create my-project --public --source=. --remote=origin

권장 구조

my-project/
├── .github/
│   └── workflows/
│       └── ci.yml
├── src/
├── tests/
├── .gitignore
├── README.md
├── LICENSE
├── setup.py
└── requirements.txt

.gitignore 템플릿

[Python .gitignore]

README 템플릿

[표준 README 구조]


**Branch 전략**:

Input: "Git Flow 설정"

Output:

Git Flow 설정

Branch 구조

  • main: Production
  • develop: 개발 통합
  • feature/*: 기능 개발
  • release/*: 릴리즈 준비
  • hotfix/*: 긴급 수정

명령어

# Git Flow 초기화
git flow init

# Feature 시작
git flow feature start new-feature

# Feature 완료
git flow feature finish new-feature

# Release 시작
git flow release start 1.0.0

# Release 완료
git flow release finish 1.0.0

GitHub 설정

[Branch protection rules]


### 7. Pull Request 관리

**PR 템플릿**:

Input: "PR 템플릿 생성"

Output:

Pull Request 템플릿

파일: .github/PULL_REQUEST_TEMPLATE.md

## 변경 사항
<!-- 이 PR에서 변경한 내용을 간단히 설명 -->

## 변경 이유
<!-- 왜 이 변경이 필요한지 -->

## 테스트
- [ ] 단위 테스트 추가/수정
- [ ] 통합 테스트 확인
- [ ] 수동 테스트 완료

## 체크리스트
- [ ] 코드 리뷰 요청
- [ ] 문서 업데이트
- [ ] CHANGELOG 업데이트
- [ ] Breaking changes 확인

## 스크린샷 (UI 변경 시)

## 관련 이슈
Closes #123

생성 명령어

mkdir -p .github
cat > .github/PULL_REQUEST_TEMPLATE.md << 'EOF'
[템플릿 내용]
EOF

**PR 리뷰 체크리스트**:

PR 리뷰 체크리스트

코드 품질

  • [ ] 네이밍이 명확한가?
  • [ ] 함수가 단일 책임을 가지는가?
  • [ ] 중복 코드가 없는가?
  • [ ] 에러 처리가 적절한가?

테스트

  • [ ] 테스트가 추가되었는가?
  • [ ] 모든 테스트가 통과하는가?
  • [ ] 커버리지가 충분한가? (80%+)

문서

  • [ ] README가 업데이트되었는가?
  • [ ] 코드 주석이 필요한 곳에 있는가?
  • [ ] API 문서가 업데이트되었는가?

보안

  • [ ] 민감 정보가 포함되지 않았는가?
  • [ ] 입력 검증이 적절한가?
  • [ ] 보안 취약점이 없는가?

성능

  • [ ] 병목 구간이 없는가?
  • [ ] 불필요한 API 호출이 없는가?
  • [ ] 메모리 누수 가능성이 없는가?

### 8. Issue 관리

**Issue 템플릿**:

Input: "Issue 템플릿 생성"

Output:

Issue 템플릿

Bug Report (.github/ISSUE_TEMPLATE/bug_report.md)

---
name: Bug Report
about: 버그 제보
title: '[BUG] '
labels: bug
assignees: ''
---

## 버그 설명
<!-- 버그에 대한 명확한 설명 -->

## 재현 방법
1. ...
2. ...
3. ...

## 예상 동작
<!-- 어떻게 동작해야 하는지 -->

## 실제 동작
<!-- 실제로 어떻게 동작하는지 -->

## 환경
- OS: [e.g. Ubuntu 22.04]
- 버전: [e.g. 1.2.3]
- Python: [e.g. 3.11]

## 추가 정보
<!-- 스크린샷, 로그 등 -->

Feature Request (.github/ISSUE_TEMPLATE/feature_request.md)

---
name: Feature Request
about: 새로운 기능 제안
title: '[FEATURE] '
labels: enhancement
assignees: ''
---

## 제안 배경
<!-- 이 기능이 왜 필요한지 -->

## 제안 내용
<!-- 어떤 기능을 원하는지 -->

## 대안
<!-- 고려한 다른 방법들 -->

## 추가 정보
<!-- 관련 자료, 레퍼런스 등 -->

생성 스크립트

mkdir -p .github/ISSUE_TEMPLATE
# 템플릿 파일 생성

### 9. GitHub Actions

**CI/CD 워크플로우**:

Input: "Python 프로젝트 CI/CD 설정"

Output:

GitHub Actions 워크플로우

파일: .github/workflows/ci.yml

name: CI

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main, develop ]

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.9, 3.10, 3.11]

    steps:
    - uses: actions/checkout@v3

    - name: Set up Python
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
        pip install pytest pytest-cov

    - name: Run tests
      run: |
        pytest --cov=src tests/

    - name: Upload coverage
      uses: codecov/codecov-action@v3
      with:
        file: ./coverage.xml

  lint:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3

    - name: Set up Python
      uses: actions/setup-python@v4
      with:
        python-version: 3.11

    - name: Install linters
      run: |
        pip install black flake8 mypy

    - name: Run black
      run: black --check src/

    - name: Run flake8
      run: flake8 src/

    - name: Run mypy
      run: mypy src/

생성 명령어

mkdir -p .github/workflows
# 워크플로우 파일 생성

추가 워크플로우

  • 자동 릴리즈: 태그 푸시 시 자동 릴리즈
  • 의존성 업데이트: Dependabot 설정
  • 자동 배포: main 머지 시 배포

## 사용 패턴

### 패턴 1: 오픈소스 찾기

Input: "TypeScript React 상태 관리 라이브러리 추천"

Output: 🟢 확인됨 | 검증 시간: 8분

추천: Zustand

[활성도 분석 + 즉시 사용 + 비교]

설치

npm install zustand

기본 예제

[복사 가능한 코드]

비교

| | Zustand | Redux | Recoil | |---|---------|-------|--------| [비교표]


### 패턴 2: 여러 후보 비교

Input: "Python 테스트 프레임워크 비교: pytest vs unittest vs nose"

Output: 🟢 확인됨 | 검증 시간: 10분

[3개 프레임워크 상세 비교 + 각각 예제]


### 패턴 3: 특정 기술스택

Input: "Rust로 된 CLI 도구 프레임워크"

Output: 🟢 확인됨 | 검증 시간: 6분

추천: clap

[Rust 설치 + Cargo.toml + 예제 코드]


### 패턴 4: 카테고리별 검색

Input: "머신러닝 데이터 전처리 라이브러리 top 3"

Output: 🟢 확인됨 | 검증 시간: 12분

Top 3: pandas, polars, dask

[각각 분석 + 사용 사례 + 성능 비교]


### 패턴 5: Repository 관리

Input: "Python 프로젝트 저장소 초기 설정"

Output:

저장소 초기 설정

[.gitignore + README + CI/CD + 브랜치 전략]


### 패턴 6: GitHub Actions 설정

Input: "Node.js 프로젝트 CI/CD"

Output: [테스트 + 린트 + 빌드 + 배포 워크플로우]


## 검증 프로토콜

### 출처 우선순위

1. 🥇 **GitHub 공식 데이터**: Stars, 커밋, PR/Issue
2. 🥈 **공식 문서**: README, Wiki, 공식 사이트
3. 🥉 **커뮤니티**: Reddit, HN, Dev.to
4. **벤치마크**: 독립 성능 테스트
5. **사용 사례**: 실제 프로덕션 사용 기업

### 검증 기준

**저장소 신뢰도**:
- Stars 수 (절대값 + 카테고리 내 상대값)
- 커밋 빈도 (최근 1개월, 3개월, 1년)
- Issue 응답률 (열린 이슈 수 / 응답 시간)
- PR 병합률 (병합 PR / 전체 PR)
- 릴리즈 주기 (최신 릴리즈 날짜 / 빈도)
- 문서 완성도 (README + Wiki + 공식 문서)

**활성도 분석**:
- 주간/월간 커밋 수
- 기여자 수 및 분포
- 커뮤니티 크기 (Discord, Slack, Forum)
- 외부 참조 (Stack Overflow 질문 수)

## 출력 구조

### 오픈소스 검색 출력

🟢 Production-Ready | 검증 시간: 8분

추천: [프로젝트명]

핵심 정보

  • Stars / 활성도 / 성숙도 / 커뮤니티

즉시 사용

설치

[명령어]

기본 예제

[5-10줄 코드]

실전 예제

[20-30줄 코드]

활성도 분석

[커밋 / 이슈 / 커뮤니티 / 릴리즈]

비교 분석

[비교표]

선택 가이드

[사용 조건 + 대안]

추가 리소스

[공식 문서 / GitHub / 튜토리얼]


### GitHub 관리 출력

[작업명]

개요

[목적 및 배경]

설정 파일

[파일 경로 + 내용]

명령어

[실행 명령어]

검증

[설정 확인 방법]

추가 설정

[선택적 고급 설정]


## 고급 기능

### 1. 트렌드 분석

Input: "2024년 떠오르는 Python 웹 프레임워크"

Output:

트렌드 분석 (2024)

성장률 기준

  1. FastAPI: +45% (작년 대비)
  2. Litestar: +120% (신규)
  3. Robyn: +80% (신규)

GitHub Trending

[최근 3개월 데이터]

커뮤니티 관심도

[Reddit, HN mentions 증가율]


### 2. 보안 분석

Input: "[저장소] 보안 취약점 확인"

Output:

보안 분석

Dependabot 알림

  • 심각: 0개
  • 높음: 2개
  • 중간: 5개

마지막 보안 패치

  • 날짜: 2025-10-15
  • 버전: v1.2.3
  • 내용: XSS 취약점 수정

권장 조치

[업데이트 권장 사항]


### 3. 라이선스 분석

Input: "상업적 사용 가능한 [카테고리] 라이브러리"

Output:

라이선스 필터링

상업적 사용 가능

✅ MIT: FastAPI, Flask ✅ Apache 2.0: Django ✅ BSD: Pyramid

주의 필요

⚠️ GPL: [목록] ❌ AGPL: [목록]

라이선스별 제약사항

[상세 설명]


## 실전 시나리오

### 시나리오 1: 새 프로젝트 시작

Step 1: "Python 비동기 웹 프레임워크" → FastAPI 추천 + 설치 + 예제

Step 2: "FastAPI 프로젝트 저장소 설정" → .gitignore + README + CI/CD

Step 3: "FastAPI 프로덕션 배포 체크리스트" → 배포 가이드 + 모니터링


### 시나리오 2: 라이브러리 교체

Step 1: "현재: Flask, 대안: FastAPI 비교" → 마이그레이션 가이드

Step 2: "Flask to FastAPI 마이그레이션 체크리스트" → 단계별 마이그레이션

Step 3: "FastAPI 성능 테스트" → 벤치마크 + 최적화


### 시나리오 3: GitHub 워크플로우 개선

Step 1: "현재 CI/CD 분석" → 개선점 도출

Step 2: "고급 GitHub Actions 설정" → 캐싱 + 병렬 실행

Step 3: "자동 배포 파이프라인" → Staging + Production


## 체크리스트

오픈소스 검색 답변 필수 항목:
- [ ] 신뢰도 라벨 (🟢🟡🟠🔴)
- [ ] 검증 시간 명시
- [ ] Stars + 활성도 분석
- [ ] 설치 명령어
- [ ] 기본 예제 (복사 가능)
- [ ] 실전 예제 (복사 가능)
- [ ] 비교 분석 (관련 라이브러리)
- [ ] 선택 가이드
- [ ] 추가 리소스 링크

GitHub 관리 답변 필수 항목:
- [ ] 설정 파일 경로 및 내용
- [ ] 실행 명령어
- [ ] 검증 방법
- [ ] Best practices
- [ ] 흔한 오류 해결

---

## 버전 정보

- **Version**: 1.0.0
- **Created**: 2025-10-26
- **Integrates**: research-verified 검증 프로토콜
- **Optimized for**: 개발 즉시 활용

---

**이 스킬은 오픈소스 검색부터 GitHub 관리까지 모든 것을 통합하여, 개발자가 바로 사용할 수 있는 형태로 정보를 제공합니다.**