Learn-skills.dev github-to-skill
Search GitHub repositories and generate Claude Skills from them. Use this skill when users want to create a new skill based on an existing GitHub repository, need to find high-quality libraries for skill development, or want to transform a GitHub project into a reusable Claude capability. Supports repository search, quality filtering, and skill template generation.
git clone https://github.com/NeverSight/learn-skills.dev
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/adongwanai/adong-skills/github-to-skill" ~/.claude/skills/neversight-learn-skills-dev-github-to-skill && rm -rf "$T"
data/skills-md/adongwanai/adong-skills/github-to-skill/SKILL.mdGitHub to Skill Creator
Automatically discover GitHub repositories and convert them into Claude Skills.
Overview
Transforms any GitHub repository into a reusable Claude Skill by:
- Searching GitHub for high-quality, active repositories
- Analyzing repository structure and documentation
- Generating skill templates with proper structure
- Packaging ready-to-use skills
Workflow Decision Tree
User Request ↓ Does user have a specific repo in mind? ├─ YES → Generate skill template directly │ (use generate_skill_template.py) │ └─ NO → Search GitHub first 1. Ask clarifying questions 2. Run repository search 3. Present TOP 5-10 options 4. User selects repo 5. Generate skill template
Phase 1: Repository Search & Recommendation
Step 1: Understand Requirements
Ask the user:
- What functionality do you need?
- Any preferred programming language?
- Specific requirements (license, activity level)?
Step 2: Search GitHub
Use the search script with appropriate filters:
# Basic search python3 scripts/search_github_repos.py "PDF processing" # With language filter python3 scripts/search_github_repos.py "image manipulation" --language python # High quality, recently updated python3 scripts/search_github_repos.py "REST API" --min-stars 500 --sort updated # Save results for analysis python3 scripts/search_github_repos.py "data processing" --output results.json
Step 3: Present Results
Display results in a clear table format:
| # | Repository | Stars | Updated | Language | Description | Recommendation |
|---|---|---|---|---|---|---|
| 1 | owner/repo | 2500 | 2024-01 | Python | Brief desc | ⭐ High quality, active |
Quality Criteria
When recommending repositories, ensure:
- ✅ Active maintenance: Updated within 6 months
- ✅ Quality indicators: 100+ stars, good documentation
- ✅ Clear API: Well-defined interfaces and examples
- ✅ License: Permissive license (MIT, Apache, BSD)
Phase 2: Skill Template Generation
Step 1: Analyze Repository
After user selects a repository:
# Generate skill template python3 scripts/generate_skill_template.py owner/repository # Custom output directory python3 scripts/generate_skill_template.py owner/repository --output ./skills
Step 2: Review Generated Structure
The generator creates:
skill-name/ ├── SKILL.md # Ready to customize ├── scripts/ │ └── example.py # Starter code └── references/ # For additional docs
Step 3: Customize the Skill
Update SKILL.md:
- Edit frontmatter description (be specific about when to use)
- Replace [TODO] items with actual content
- Add clear usage examples
- Document configuration options
Implement Core Logic:
- Write wrapper scripts in
scripts/ - Handle errors gracefully
- Add logging and user feedback
Add References:
- API documentation
- Configuration examples
- Troubleshooting guides
Step 4: Test & Package
# Test the skill # [Manual testing steps] # Package the skill cd ../skill-creator python3 scripts/package_skill.py ../skill-name
Usage Examples
Example 1: User Knows What They Want
User: "Create a skill from pdfplumber repository"
Action:
python3 scripts/generate_skill_template.py jsvine/pdfplumber
Example 2: User Needs Guidance
User: "I want to add PDF processing capabilities"
Action:
- Ask: "What type of PDF processing? (extraction, manipulation, form filling)"
- Search:
python3 scripts/search_github_repos.py "PDF extraction" --language python - Present TOP 5 options with pros/cons
- Guide selection and generate template
Example 3: No Suitable Repository Found
User: "I need quantum computing simulation"
Action:
- Search reveals limited/old repositories
- Suggest alternatives:
- Combine multiple smaller libraries
- Create from scratch with skill-creator
- Use web APIs instead
Best Practices
Search Strategy
- Start broad: Use general terms ("PDF processing")
- Narrow down: Add filters (--language, --min-stars)
- Try variations: "PDF extract", "PDF parse", "document processing"
Repository Evaluation
Check these before recommending:
- Last commit: Within 6 months
- Issues ratio: Low open/closed ratio indicates good maintenance
- Documentation: README, examples, API docs
- License: Prefer MIT/Apache for permissive use
Skill Design Principles
- Keep it focused: One primary purpose per skill
- Minimal dependencies: Prefer widely-used libraries
- Clear error messages: Help users troubleshoot
- Test thoroughly: Verify before packaging
Troubleshooting
No repositories found
- Broaden search terms
- Reduce minimum stars threshold
- Try different programming languages
GitHub API rate limit
- Create GitHub token: https://github.com/settings/tokens
- Set
environment variableGITHUB_TOKEN - Or use
parameter--token
Generated skill doesn't work
- Verify repository has clear API/usage patterns
- Check dependencies are installable
- Review error messages in scripts
Dependencies
pip install requests
Optional (for GitHub API rate limits):
- GitHub personal access token
Related Skills
- skill-creator: Create skills from scratch
- pdf-to-ppt: Example of a generated skill
Resources
- GitHub Search: https://github.com/search
- GitHub API Docs: https://docs.github.com/en/rest
- Skill Creation Guide: Available in skill-creator references/