agentsclimarketplace

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. 🐾

Install
npx -y skills add shuyhere/repo-to-skill

Assembled 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:

  1. Clones and analyzes the repository
  2. Extracts usage patterns from README, docs, examples, CLI help
  3. Generates a working skill (SKILL.md + resources)
  4. Tests the skill by running basic operations
  5. 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):

  1. README.md β€” primary source for installation, quickstart, features
  2. docs/ or documentation/ β€” detailed usage guides
  3. examples/ β€” concrete usage patterns (high value)
  4. CLI help β€” if it's a CLI tool, check --help output
  5. setup.py / pyproject.toml / package.json β€” dependencies and entry points
  6. 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:

TypeSkill FocusExample
CLI toolCommands, flags, common workflowsvllm, ffmpeg, gh
Python libraryAPI patterns, code snippetstransformers, pandas
FrameworkProject setup, config, patternsFastAPI, Next.js
ServiceAPI endpoints, auth, integrationStripe, 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:

  1. Install test β€” run the installation command
  2. Smoke test β€” run the quickstart example
  3. 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:

  1. With-skill run: Agent has the generated skill loaded
  2. 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

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.