SKILL.md
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 활발
### 즉시 사용
#### 설치
pip install fastapi[all]
#### 기본 예제 (복사 가능)
from fastapi import FastAPI
app = FastAPI()
@app.get("/") async def root(): return {"message": "Hello World"}
@app.get("/items/{itemid}") async def readitem(itemid: int): return {"itemid": 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/PULLREQUESTTEMPLATE.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: ''
버그 설명
<!-- 버그에 대한 명확한 설명 -->
재현 방법
- ...
- ...
- ...
예상 동작
<!-- 어떻게 동작해야 하는지 -->
실제 동작
<!-- 실제로 어떻게 동작하는지 -->
환경
- 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:
[테스트 + 린트 + 빌드 + 배포 워크플로우]
검증 프로토콜
출처 우선순위
- 🥇 GitHub 공식 데이터: Stars, 커밋, PR/Issue
- 🥈 공식 문서: README, Wiki, 공식 사이트
- 🥉 커뮤니티: Reddit, HN, Dev.to
- 벤치마크: 독립 성능 테스트
- 사용 사례: 실제 프로덕션 사용 기업
검증 기준
저장소 신뢰도:
- 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 관리까지 모든 것을 통합하여, 개발자가 바로 사용할 수 있는 형태로 정보를 제공합니다.