GitHub Quality Search Skill
Search GitHub for established, well-maintained libraries. Filters out low-quality repos automatically.
Use this skill when:
- Looking for libraries to replace custom implementations
- Need alternatives to current dependencies
- Want established solutions for common problems (auth, HTTP, caching, etc.)
- Evaluating library quality before adoption
Do NOT use this skill for:
- Finding specific projects you already know exist
- One-off code examples or gists
- Academic papers or research repos
- Your own private repositories
Quality Filters (Applied Automatically)
Minimum Bar:
- 100+ stars
- Commit in last 6 months
- Has documentation (README with usage examples)
- Has releases (not just random commits)
Red Flags (Auto-Excluded):
- Archived repositories
- One-person projects with <5 contributors
- No CI/CD setup
- No license
- Stale issues (>50 open issues with no recent activity)
Usage
from skills.github_quality_search import search_github
results = search_github(
query="jwt authentication python",
language="python",
min_stars=100,
topics=["authentication", "jwt"],
max_results=5
)
for repo in results:
print(f"{repo['name']} - {repo['stars']}⭐ - {repo['description']}")
print(f" Health: {repo['health_score']}/100")
print(f" Last commit: {repo['last_commit']}")
print(f" License: {repo['license']}")
Output Format
Each result includes:
- name: Full repo name (owner/repo)
- description: One-liner description
- stars: Star count
- language: Primary language
- topics: GitHub topics/tags
- last_commit: Days since last commit
- license: License type
- health_score: 0-100 (based on stars, activity, docs, CI)
- url: GitHub URL
- docs_url: Documentation URL (if exists)
- weekly_commits: Average commits per week (last 3 months)
- contributor_count: Total unique contributors
Health Score Calculation
health_score = (
stars_score * 0.3 + # Popularity (log scale)
activity_score * 0.3 + # Recent commits, issue response time
docs_score * 0.2 + # README quality, wiki, docs site
community_score * 0.2 # Contributors, CI setup, license
)
Scores 80+ = Excellent, 60-79 = Good, 40-59 = Okay, <40 = Risky
Examples
Replace custom retry logic
results = search_github(
query="http retry python",
language="python",
topics=["http-client", "retry"],
min_stars=200
)
# Returns: requests, httpx, tenacity, backoff
Replace custom JWT handling
results = search_github(
query="jwt token typescript",
language="typescript",
topics=["jwt", "authentication"],
min_stars=500
)
# Returns: jsonwebtoken, jose, passport-jwt
Replace custom validation
results = search_github(
query="data validation python",
language="python",
topics=["validation", "schema"],
min_stars=1000
)
# Returns: pydantic, marshmallow, cerberus
API Rate Limits
GitHub API: 60 requests/hour (unauthenticated), 5000/hour (authenticated)
To use authenticated access:
pass insert github/personal-access-token
# Paste your GitHub PAT (Settings → Developer settings → Personal access tokens)
Skill automatically uses PAT from pass if available.
Dependencies
uv pip install requests python-dateutil
Anti-Patterns to Avoid
❌ Don't over-filter: If no results, relax constraints (reduce min_stars) ❌ Don't ignore health score: 500⭐ abandoned repo < 200⭐ active repo ❌ Don't skip license check: MIT/Apache-2.0 = safe, GPL = viral, no license = risky ❌ Don't cargo-cult: Just because it's popular doesn't mean it fits your use case
✅ Do compare alternatives: Run search multiple times with different queries ✅ Do check migration effort: Look at API surface area, breaking changes ✅ Do verify bundle size: For frontend libs, check bundlephobia.com ✅ Do read recent issues: 100+ open issues = maintenance burden