/ Directory / Playground / Skyll
● Community assafelovic ⚡ Instant

Skyll

by assafelovic · assafelovic/skyll

Skyll is the 'npm search' for Claude skills — your agent asks 'do we have a skill for X?' and Skyll returns ranked matches with full SKILL.md content.

Skyll aggregates Claude skills (SKILL.md files) from across the ecosystem into a searchable index, exposed as both a REST API and an MCP server. Your agent calls search_skills('redact PII from PDFs') and gets ranked results with the skill content inline — no pre-installation, no URL guessing. Use the hosted api.skyll.app (no setup) or self-host via pip. The big idea: agents shouldn't have to pre-load every skill they might need.

Why use it

Key features

Live Demo

What it looks like in practice

skyll-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "skyll-skill": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.skyll.app/mcp"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "skyll-skill": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.skyll.app/mcp"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "skyll-skill": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.skyll.app/mcp"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "skyll-skill": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.skyll.app/mcp"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "skyll-skill",
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.skyll.app/mcp"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "skyll-skill": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-remote",
          "https://api.skyll.app/mcp"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add skyll-skill -- npx -y mcp-remote https://api.skyll.app/mcp

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Skyll

Let Claude find the right skill mid-task, without you pre-installing

👤 Anyone running Claude Code or Claude Desktop with a shifting set of tasks ⏱ ~5 min beginner

When to use: You ask Claude to do something niche (generate invoices, migrate Redux to Zustand, do a legal review) and you don't know which skill exists for it.

Prerequisites
  • Skyll MCP configured — Paste the config block above into your client's MCP settings — uses the hosted endpoint by default
Flow
  1. Ask naturally
    I need to produce an investor deck from a one-pager. Use Skyll to find a skill that does this, and apply it.✓ Copied
    → Agent calls search_skills, picks the best match (e.g. interactive-slides), and executes its instructions
  2. Verify before running
    Before applying, show me the top 3 Skyll matches with their relevance scores, so I can pick.✓ Copied
    → 3-row ranked list with short descriptions

Outcome: Agents reach for the right skill by name when it exists — you stop re-building wheels by hand.

Pitfalls
  • Low-quality skill ranks #1 because of keyword match — Require the agent to show top-3 + scores; pick manually on first use
  • Skill content is trusted blindly — Skyll returns SKILL.md; review it like any other prompt before granting tool access
Combine with: filesystem

Browse and curate a personal skill library

👤 DevRel, team leads standardizing tools ⏱ ~30 min intermediate

When to use: You want to maintain an approved list of skills your team should use — not random ones pulled at runtime.

Flow
  1. Explore the index
    Using Skyll, show me every skill tagged 'code-review' with ≥50 stars. Group by use case.✓ Copied
    → Ranked groups: PR review / inline review / static-analysis review
  2. Pick a short list
    From that list, pick 3 you'd ship to a team of 10 engineers. Why each?✓ Copied
    → 3 picks with trade-off reasoning
  3. Lock them in
    Export the 3 SKILL.md files to /ops/approved-skills/ so our onboarding can use fixed versions.✓ Copied
    → 3 files on disk; version string captured

Outcome: Team gets a vetted, versioned skill set — no Wild West installs.

Pitfalls
  • Upstream skill updates break your workflow — Pin SHA/version when exporting; re-evaluate on a cadence, not automatically
Combine with: filesystem

Give an autonomous agent skill-discovery as a first-class primitive

👤 Builders of long-running agents (OpenClaw, custom harnesses) ⏱ ~60 min advanced

When to use: Your agent takes multi-step jobs and shouldn't hit 'I don't know how' when the answer is a one-file skill away.

Prerequisites
  • Agent harness that supports MCP — Most Anthropic-ecosystem agents already do
Flow
  1. Add skill discovery to the planner
    Update the planner: when a subtask has 'no matching local tool', call Skyll.search_skills first before giving up.✓ Copied
    → Planner gains a new branch: local tool → Skyll → web search
  2. Cap the scope
    Require every Skyll-fetched skill be reviewed by the supervisor agent before execution. Log the SKILL.md hash.✓ Copied
    → Audit trail of every runtime-discovered skill

Outcome: Agent gracefully expands its capability set without you pre-loading 500 skills.

Pitfalls
  • Prompt injection via skill content — Treat SKILL.md as untrusted input; sanitize or review before invoking; never auto-approve shell/write tools from a discovered skill
Combine with: sequential-thinking

Combinations

Pair with other MCPs for X10 leverage

skyll-skill + filesystem

Write discovered skills to ~/.claude/skills/ for persistent availability

Search Skyll for 'changelog generator'. If the top match is ≥80 score, save its content to ~/.claude/skills/changelog/SKILL.md.✓ Copied
skyll-skill + sequential-thinking

Multi-step plans that call Skyll only when local tools aren't enough

Plan the task; at each step, decide: local tool, Skyll skill, or web fetch. Execute.✓ Copied
skyll-skill + memory

Remember which Skyll-discovered skills actually worked for similar tasks

When a Skyll skill succeeds, save to memory under 'skills.working.<tag>'. Next time, prefer saved ones.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
search_skills query: str, limit?: int Primary — natural-language lookup over the skill index free
get_skill source: str, id: str Fetch the full SKILL.md for a candidate you want to use free
add_skill name: str (or full path) Shorthand: search + get in one call free
get_cache_stats none Debug cold-lookup latency; mostly operational free

Cost & Limits

What this costs to run

API quota
Hosted endpoint is free for reasonable use; self-host for heavy use
Tokens per call
200–2000 — Skyll returns focused content, not full repo dumps
Monetary
Free
Tip
Self-host via pip install skyll when you're hammering search; hosted is fine for one-at-a-time use

Security

Permissions, secrets, blast radius

Credential storage: None for hosted use; self-host uses standard env vars
Data egress: Queries go to api.skyll.app (hosted) — natural-language search text only
Never grant: Auto-execute shell commands from a Skyll-discovered SKILL.md without review

Troubleshooting

Common errors and fixes

Top result looks irrelevant

Try a more specific query; the free-text index favors keyword-dense phrasing. 'extract PII from PDF files' beats 'handle privacy'.

Verify: Compare score field across queries
Hosted endpoint slow

Self-host: pip install skyll && python -m src.mcp_server. Then point the MCP config at http://localhost:8080.

Verify: Check tavily-free endpoint at https://api.skyll.app/health
mcp-remote: connection refused

mcp-remote needs the SSE URL reachable. Test with curl https://api.skyll.app/mcp/sse first.

Verify: curl -v https://api.skyll.app/mcp/sse

Alternatives

Skyll vs others

AlternativeWhen to use it insteadTradeoff
awesome-claude-skills (list)You want to browse skills by category, not query at runtimeHuman-curated list — lower coverage, higher signal
pre-install every skillYou know your exact workflow and want deterministic behaviorSkill drift and token bloat if you install 100+ just-in-case
web search + filesystem writeYou want a general web search, not skill-specific indexingNo relevance scoring against SKILL.md format; more hallucination risk

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills