Repo to skill
Skill shuyhere/repo-to-skill
Turn any GitHub repo into an agent skill. Make any open-source repo an agent's claw. πΎ
npx -y skills add shuyhere/repo-to-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generate an agent skill from a GitHub open-source repository. Use when asked to create a skill from a repo URL, turn a GitHub project into a usable skill, or generate skill files for a CLI/library/framework. Triggers on phrases like "create a skill from this repo", "make a skill for vllm", "turn this GitHub project into a skill", "generate a skill from repo". Also use when asked to "skillify" a tool or generate usage instructions from source code. Command usage β `/skill repo-to-skill <github-repo-url>`.
SKILL.md
6.7 KB, as published. Nobody here has run it
Repo-to-Skill Generator
Generate a complete, tested, and evaluated agent skill from any GitHub repository.
Command
/skill repo-to-skill <github-repo-url>
Example:
/skill repo-to-skill https://github.com/vllm-project/vllm
Overview
Given a GitHub repo URL, this skill:
- Clones and analyzes the repository
- Extracts usage patterns from README, docs, examples, CLI help
- Generates a working skill (SKILL.md + resources)
- Tests the skill by running basic operations
- Evaluates the skill with test prompts and assertions
Process
Step 1: Clone & Analyze
# Clone repo (shallow for speed)
git clone --depth 1 <repo-url> /tmp/repo-to-skill/<repo-name>
Analyze in this order (stop when you have enough):
- README.md β primary source for installation, quickstart, features
- docs/ or documentation/ β detailed usage guides
- examples/ β concrete usage patterns (high value)
- CLI help β if it's a CLI tool, check
--helpoutput - setup.py / pyproject.toml / package.json β dependencies and entry points
- Source code β only if docs are insufficient; focus on public API
Extract:
- What it does (one sentence)
- Installation method (pip, npm, cargo, etc.)
- Core commands/API (the 5-10 most common operations)
- Configuration (env vars, config files, required setup)
- Input/Output formats (what goes in, what comes out)
- Common patterns (from examples/ or README)
Step 2: Classify the Tool
Determine the tool type to shape the skill structure:
| Type | Skill Focus | Example |
|---|---|---|
| CLI tool | Commands, flags, common workflows | vllm, ffmpeg, gh |
| Python library | API patterns, code snippets | transformers, pandas |
| Framework | Project setup, config, patterns | FastAPI, Next.js |
| Service | API endpoints, auth, integration | Stripe, OpenAI |
Step 3: Generate Skill Structure
Create the skill in the user's preferred location (default: ~/.agents/skills/<tool-name>/).
<tool-name>/
βββ SKILL.md # Core instructions
βββ references/
β βββ api-reference.md # Full API/CLI reference (if large)
β βββ examples.md # Curated usage examples
β βββ configuration.md # Config options (if complex)
βββ scripts/
βββ setup.sh # Installation/setup script (if needed)
SKILL.md Template
---
name: <tool-name>
description: <what it does and when to trigger β be specific and slightly pushy>
---
# <Tool Name>
<One-line description>
## Installation
<Installation command>
## Quick Start
<Minimal working example β the "hello world">
## Core Operations
<The 5-10 most common operations with examples>
<Use imperative form: "Run X to do Y">
## Common Patterns
<2-3 real-world workflow examples>
## Troubleshooting
<Top 3 gotchas or common errors>
## References
- For full API details, see [references/api-reference.md](references/api-reference.md)
- For more examples, see [references/examples.md](references/examples.md)
Step 4: Test the Skill
Verify the skill works by actually using the tool:
- Install test β run the installation command
- Smoke test β run the quickstart example
- Feature test β try 2-3 core operations from the skill
If tests fail, update the skill with corrections.
Document test results:
β
Installation: pip install vllm β success
β
Quick start: vllm serve model β server started
β Feature: offline batching β fixed: added --dtype auto flag
Step 5: Validate & Deliver
Before delivering:
- SKILL.md under 500 lines
- Frontmatter has name + description
- Description includes trigger phrases
- All referenced files exist
- Examples are tested and working
- No secrets or credentials in skill files
Present the skill to the user with a summary of what it covers.
Step 6: Evaluate the Skill
After generating and testing, run a structured evaluation. See references/eval-schemas.md for full JSON schemas.
Create Test Prompts
Write 3-5 realistic prompts a user would send to an agent with this skill. Save to evals/evals.json:
{
"skill_name": "vllm",
"evals": [
{
"id": 1,
"prompt": "Serve Llama-3-8B with vllm on port 8000",
"expected_output": "Working vllm serve command with correct model and port",
"expectations": [
"Command includes 'vllm serve' or 'python -m vllm.entrypoints'",
"Port 8000 is specified",
"Model name is correct"
]
}
]
}
Run Evals (with-skill vs baseline)
For each test prompt, spawn two runs in parallel:
- With-skill run: Agent has the generated skill loaded
- Baseline run: Same prompt, no skill
Save outputs to <skill-name>-workspace/iteration-<N>/eval-<ID>/with_skill/ and without_skill/.
Grade Results
For each run, evaluate assertions and produce grading.json:
{
"expectations": [
{
"text": "Command includes 'vllm serve'",
"passed": true,
"evidence": "Output contains: vllm serve meta-llama/Llama-3-8B"
}
],
"summary": {
"passed": 3,
"failed": 0,
"total": 3,
"pass_rate": 1.0
}
}
For assertions that can be checked programmatically (file exists, command runs, output matches pattern), write and run a script instead of eyeballing.
Aggregate & Report
Produce a benchmark comparing with-skill vs baseline:
- pass_rate: mean Β± stddev across runs
- time_seconds: execution time
- tokens: token usage
- delta: improvement from skill
Present results to user. If pass_rate < 0.7, iterate on the skill.
Guidelines
- Be concise β only include what the model doesn't already know
- Prefer examples over explanations β show, don't tell
- Test everything β never include untested commands
- Progressive disclosure β keep SKILL.md lean, put details in references/
- Version-aware β note the repo version/commit analyzed
- Installation-first β always verify the tool actually installs cleanly
- Evaluate β always run at least 3 test prompts before delivering