skill-from-github
Skill from GitHub
When users want to accomplish something, search GitHub for quality projects that solve the problem, understand them deeply, then create a skill based on that knowledge.
When to Use
When users describe a task and you want to find existing tools/projects to learn from:
- "I want to be able to convert markdown to PDF"
- "Help me analyze sentiment in customer reviews"
- "I need to generate API documentation from code"
Workflow
Step 1: Understand User Intent
Clarify what the user wants to achieve:
- What is the input?
- What is the expected output?
- Any constraints (language, framework, etc.)?
Step 2: Search GitHub
Search for projects that solve this problem:
{task keywords} language:{preferred} stars:>100 sort:stars
Search tips:
- Start broad, then narrow down
- Try different keyword combinations
- Include "cli", "tool", "library" if relevant
Quality filters (must meet ALL):
- Stars > 100 (community validated)
- Updated within last 12 months (actively maintained)
- Has README with clear documentation
- Has actual code (not just awesome-list)
Step 3: Present Options to User
Show top 3-5 candidates:
## Found X projects that can help
### Option 1: [project-name](github-url)
- Stars: xxx | Last updated: xxx
- What it does: one-line description
- Why it's good: specific strength
### Option 2: ...
Which one should I dive into? Or should I search differently?
Wait for user confirmation before proceeding.
Step 4: Deep Dive into Selected Project
Once user selects a project, thoroughly understand it:
- Read README - Understand purpose, features, usage
- Read core source files - Understand how it works
- Check examples - See real usage patterns
- Note dependencies - What it relies on
- Identify key concepts - The mental model behind it
Extract:
- Core algorithm/approach
- Input/output formats
- Error handling patterns
- Best practices encoded in the code
Step 5: Summarize Understanding
Present what you learned to user:
## Understanding [project-name]
### Core Approach
How it solves the problem...
### Key Techniques
1. ...
2. ...
### Limitations
- ...
### What I'll encode in the skill
- ...
Does this look right? Should I proceed to create the skill?
Wait for user confirmation.
Step 6: Create Skill via create-skill
Hand off to /create-skill with:
- Clear purpose - What the skill does
- Methodology - The approach learned from the project
- Step-by-step process - Concrete instructions
- Quality criteria - What good output looks like
- Common pitfalls - What to avoid (learned from project issues/docs)
Important: The skill should encode the knowledge from the project, not just wrap the tool. The skill should work even without the original project installed.
Example
User: "I want to write better commit messages"
Step 2 - Search:
commit message convention stars:>100 sort:stars
Step 3 - Present:
## Found 4 projects
### Option 1: conventional-commits/conventionalcommits.org (4.2k ⭐)
- Specification for human and machine readable commit messages
- Why: Industry standard, used by Angular, Vue, etc.
### Option 2: commitizen/cz-cli (15k ⭐)
- CLI tool for creating conventional commits
- Why: Battle-tested, lots of adapters
### Option 3: carloscuesta/gitmoji (14k ⭐)
- Emoji guide for commit messages
- Why: Visual, fun approach
Which one interests you?
User: "Let's go with conventional commits"
Step 4 - Deep dive:
- Read the specification
- Understand types (feat, fix, docs, etc.)
- Learn about scopes, breaking changes
- Study real-world examples
Step 5 - Summarize:
## Understanding Conventional Commits
### Core Approach
Structured format: <type>(<scope>): <description>
### Key Types
- feat: new feature
- fix: bug fix
- docs: documentation
- ...
### Benefits Learned
- Automated changelog generation
- Semantic versioning
- Clear history
Ready to create a commit message skill based on this?
Step 6 - Create skill with these principles encoded
Important Notes
- Always get user confirmation - At step 3 (project selection) and step 5 (before creating)
- Prefer learning over wrapping - Encode the knowledge, not just "run this tool"
- Check license - Mention if project has restrictive license
- Credit the source - Include attribution in generated skill
- Quality over speed - Take time to truly understand the project
What This Skill is NOT
- NOT a package installer
- NOT a tool wrapper
- It's about learning from the best projects and encoding that knowledge into a reusable skill
More from sebastiaanwouters/dotagents
flyctl
Deploy and manage apps on Fly.io using flyctl CLI. Triggers on: fly deploy, fly.io, flyctl, deploy to fly. Handles launch, deploy, scale, secrets, volumes, databases.
79teacher
Guide learning and deep understanding through proven methodologies (Socratic, Feynman, Problem-Based). Use when user says "help me understand", "teach me", "explain this", "learn about", "socratic", "feynman", "problem-based", "I don't understand", "confused about", "why does", or wants to truly grasp a concept.
77chef
Telegram communication for AI agents. ALL methods are BLOCKING. Use for user interviews, status updates, and feedback collection.
34bitwarden
Retrieves API keys, passwords, secrets from Bitwarden vault using bw CLI. Triggers on missing env variables, missing API keys, missing secrets, "secret not found", "env not set", or "use bw".
29librarian
Use for code research that needs dependency internals, upstream implementation examples, or external prior art. Always delegate to a subagent that investigates with opensrc and web search, then return only distilled findings, versions, paths, and links.
28frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications. Generates creative, polished code that avoids generic AI aesthetics.
28