Sandbox
@girofu/skill-fetch

Skill discovery and install plugin for AI coding agents

This repo packages a Claude Code plugin and a portable skill that searches multiple registries, merges duplicates, scores results, and installs chosen skills. It also checks bundles for security issues and records file hashes after install.

30 stars2 forksShellUpdated 4mo ago
Who it's for

Builders who use Claude Code, Cursor, Codex, Gemini CLI, or Windsurf and want reusable skills from one search flow.

What it delivers

You can find and install the right skill from many sources without checking each registry yourself.

What it does

Nine-source search

Searches SkillsMP, GitHub, Anthropic Skills, ClawSkillHub, skills.sh, PolySkill, SkillHub, and Skills Directory in parallel.

Quality scoring and deduping

Merges the same skill across sources and ranks results with a 0-100 score plus recommendation labels.

Security labels and scan

Flags skills by trust tier and scans for destructive commands, RCE, exfiltration, system changes, obfuscation, and prompt injection.

Paginated install flow

Shows five results per page and lets you continue or install by number from any page.

Bundle install and integrity checks

Downloads the full skill tree, keeps sibling files together, and stores SHA-256 hashes for tamper checks.

Cross-platform installers

Includes plugin, npx, curl, Python, and manual install paths for different agents.

How to get it

  1. 1Run
    # Add the skill-fetch marketplace
    claude plugin marketplace add girofu/skill-fetch
    
    # Install skill-fetch plugin
    claude plugin install skill-fetch@skill-fetch
  2. 2Run
    npx skills add girofu/skill-fetch
  3. 3Run
    curl -fsSL https://raw.githubusercontent.com/girofu/skill-fetch/main/install.sh | bash
  4. 4Auto-detects installed agents and installs for all of them. Specify a single agent
    curl -fsSL https://raw.githubusercontent.com/girofu/skill-fetch/main/install.sh | bash -s -- --agent claude
  5. 5Run
    python3 -c "$(curl -fsSL https://raw.githubusercontent.com/girofu/skill-fetch/main/install.py)"
  6. 6Or download and run
    curl -fsSL https://raw.githubusercontent.com/girofu/skill-fetch/main/install.py -o install.py
    python3 install.py --agent cursor

README

skill-fetch

License: MIT GitHub release GitHub stars CI

Cross-platform skill discovery and installation for AI coding agents

Search, score, and install AI agent skills from 9 registries in parallel — works across Claude Code, Cursor, Codex, Gemini CLI, Windsurf, and Amp.

Quick Start

  1. Install — pick any method from Installation below
  2. Set up API keys — run /fetch-skill-config (interactive, recommended) or configure manually
  3. Search & install skills/fetch-skill react native animation

Features

  • 9 Search Sources — SkillsMP (semantic + keyword), GitHub, Anthropic Skills, ClawSkillHub, skills.sh, PolySkill, SkillHub, Skills Directory
  • Cross-Platform — Works on 6+ AI coding agents with automatic tool adaptation
  • Multi-Variant AI Search — 3 query variants fired in parallel, improving recall significantly
  • Quality Scoring — 0-100 composite score: Relevance (40) + Freshness (25) + Community (20) + Trust (15) + External Bonus (5)
  • Security Labels — 5 trust tiers: Official, Verified, Partial, Unverified, Security Concerns
  • 6-Category Security Scan — Destructive commands, RCE, data exfiltration, system modification, obfuscation, prompt injection
  • Prompt Injection Detection — 5 sub-categories (PI-1~PI-5): direct override, hidden role markers, encoding tricks, indirect injection, social engineering
  • Complete Bundle Install — Downloads the whole skill directory (SKILL.md + references/, scripts/, assets/, templates/, prompts/, data/, etc.), preserving the subtree layout so skills that delegate to sibling files actually work
  • Integrity Verification — SHA-256 hash recorded for every file in the bundle at install; tamper detection on future loads
  • Paginated Results — Browse 5 at a time with c to continue; install by number from any page
  • Local/Global Install — Choose project-level or user-level installation (mandatory prompt)
  • Deduplication — Same skill across registries is merged; similar descriptions are flagged
  • Bundled Scripts — Shell scripts for SkillHub and Skills Directory APIs (no API key exposure in argv) plus fetch-skill-bundle.sh for full-bundle GitHub installs

Installation

Choose the method that fits your setup:

Option 1: Plugin (Best experience, Claude Code)

# Add the skill-fetch marketplace
claude plugin marketplace add girofu/skill-fetch

# Install skill-fetch plugin
claude plugin install skill-fetch@skill-fetch

Provides auto-updates, /fetch-skill command, and full plugin integration.

Option 2: npx skills add (Node.js)

npx skills add girofu/skill-fetch

Works with Claude Code, Cursor, and Codex.

Option 3: curl | sh (Universal, zero dependencies)

curl -fsSL https://raw.githubusercontent.com/girofu/skill-fetch/main/install.sh | bash

Auto-detects installed agents and installs for all of them. Specify a single agent:

curl -fsSL https://raw.githubusercontent.com/girofu/skill-fetch/main/install.sh | bash -s -- --agent claude

Option 4: Python installer

python3 -c "$(curl -fsSL https://raw.githubusercontent.com/girofu/skill-fetch/main/install.py)"

Or download and run:

curl -fsSL https://raw.githubusercontent.com/girofu/skill-fetch/main/install.py -o install.py
python3 install.py --agent cursor

Option 5: Manual (git clone)

git clone https://github.com/girofu/skill-fetch.git
# Claude Code
cp -r skill-fetch/skills/skill-fetch ~/.claude/skills/skill-fetch

# Cursor
cp -r skill-fetch/skills/skill-fetch ~/.cursor/skills/skill-fetch

# Other agents: replace ~/.cursor/ with ~/.codex/, ~/.gemini/, ~/.windsurf/, or ~/.amp/

⚙️ Setup API Keys

Important: API keys unlock the full 9-source search. Without them, only Sources 3-8 are available (still useful, but fewer results).

Interactive Setup (Recommended)

Run /fetch-skill-config in Claude Code. It will:

  • Show which keys are currently configured
  • Walk you through setting each key with links to get them
  • Automatically install the SkillsMP MCP server if needed
  • Write everything to ~/.claude/skills/.fetch-config.json

Manual Setup

🔑 SkillsMP API Key (Sources 1-2) — Recommended

SkillsMP provides the best semantic search with AI-powered matching. Get your free API key:

  1. Go to skillsmp.com and create an account
  2. Copy your API key
  3. Register the MCP server:
claude mcp add --scope user skillsmp -- npx -y skillsmp-mcp-server --env SKILLSMP_API_KEY=your_key_here
  1. Restart Claude Code — SkillsMP tools will be available in the next session

🔑 SkillHub & Skills Directory (Sources 8-9) — Optional

For additional coverage, create ~/.claude/skills/.fetch-config.json:

{
  "SKILLSMP_API_KEY": "your-skillsmp-key",
  "SKILLHUB_API_KEY": "sk-sh-your-key-here",
  "SKILLS_DIRECTORY_API_KEY": "sk_live_your-key-here"
}

Sources 3-8 work without any API keys. Source 9 (Skills Directory) requires a key.


Supported Agents

AgentPluginnpxcurl/shPythonManual
Claude Code
Cursor
Codex
Gemini CLI
Windsurf
Amp

Usage

# Search for skills (Claude Code)
/fetch-skill react native animation

# Install from URL
/fetch-skill https://github.com/owner/repo

# Auto-triggered by skill-eval hook
# (no manual invocation needed)

In other agents, the skill activates automatically when referenced in context.

How It Works

┌─────────────────────────────────────────────────────┐
│                   User Query                         │
│              "testing React Native"                  │
└──────────────────────┬──────────────────────────────┘
                       │
        ┌──────────────┼──────────────────┐
        ▼              ▼                  ▼
   ┌─────────┐   ┌──────────┐      ┌──────────┐
   │SkillsMP │   │SkillsMP  │      │SkillsMP  │
   │AI Var A  │   │AI Var B  │      │AI Var C  │
   └────┬─────┘   └────┬─────┘      └────┬─────┘
        │              │                  │
        └──────┬───────┘──────────┬───────┘
               ▼                  ▼
   ┌───────────────┐    ┌─────────────────┐
   │ SkillsMP KW   │    │    GitHub        │
   │ + Anthropic    │    │    + PolySkill   │
   └───────┬───────┘    └────────┬────────┘
           │                     │
   ┌───────┴───────┐    ┌───────┴────────┐
   │  ClawSkillHub │    │  skills.sh     │
   └───────┬───────┘    └───────┬────────┘
           │                     │
   ┌───────┴───────┐    ┌───────┴────────┐
   │  SkillHub     │    │ Skills         │
   │  (API script) │    │ Directory      │
   └───────┬───────┘    └───────┬────────┘
           │                     │
           └──────────┬──────────┘
                      ▼
              ┌───────────────┐
              │  Deduplicate  │
              │  Score & Rank │
              │  (0-100)      │
              └───────┬───────┘
                      ▼
              ┌───────────────┐
              │  Security     │
              │  Scan (A-F)   │
              └───────┬───────┘
                      ▼
              ┌───────────────┐
              │  Display 5    │
              │  per page     │
              └───────┬───────┘
                      ▼
              ┌───────────────┐
              │  User picks   │
              │  → Install    │
              │  → Hash       │
              └───────────────┘

Cross-platform note: SkillsMP sources require the MCP server + API key (see API Key Setup). On other platforms, the flow starts from GitHub + supplementary sources.

Search Sources

#SourceMethodTypeAvailability
1SkillsMP (semantic)skillsmp_ai_search MCP × 3 variantsPrimaryClaude Code + MCP
2SkillsMP (keyword)skillsmp_search MCPPrimaryClaude Code + MCP
3GitHubgh search code --filename SKILL.md (primary) + gh search repos (supplementary)PrimaryAll agents
4Anthropic Skillsgh search code in anthropics/skillsOfficialAll agents
5ClawSkillHubnpx -y clawhub searchSupplementaryAgents with npx
6skills.shHTTP API / WebFetchSupplementaryAll agents
7PolySkillnpx -y @polyskill/cli search (single keyword)SupplementaryAgents with npx
8SkillHubBundled shell script (API) or CLI fallbackSupplementaryAll agents
9Skills DirectoryBundled shell script (API)SupplementaryConfigured agents

All sources are searched in parallel. Sources fail gracefully — if any is unavailable, the search continues with remaining sources.

API Key Setup

See ⚙️ Setup API Keys above for detailed instructions.

Quality Scoring

Each result receives a composite score (0-100):

DimensionWeightHow
Relevance0-40LLM judges description-to-task semantic match
Freshness0-25Time since last GitHub push
Community0-20Star count (log scale)
Trust0-15Source credibility tier
External Bonus0-5Security/quality signals from PolySkill, SkillHub, Skills Directory

Grade labels:

ScoreLabel
85+🟢 Strongly Recommended
70-84🟢 Recommended
55-69🟡 Worth Considering
40-54🟡 Marginal
<40🔴 Not Recommended

Security

Security Labels

LabelCriteria
🔒 OfficialFrom anthropics/skills repo
🔒 VerifiedSkillsMP stars ≥ 50 + securityGrade A/B + scan clean
⚠️ PartialLower stars but scan clean, or standard frontmatter present
⚠️ UnverifiedDirect URL or no external signals
⚠️ Security ConcernsScan found issues or securityGrade D/F

6-Category Security Scan

All skills are scanned before (or immediately after) installation:

CategoryNameSeverity
ADestructive CommandsCritical
BRemote Code ExecutionCritical
CData ExfiltrationHigh
DSystem ModificationHigh
EObfuscationMedium
FPrompt Injection (5 sub-types)High

Integrity Verification

After installation, SHA-256 hashes are recorded for all skill files. On future loads, hashes are compared to detect tampering.

Permissions Declaration (Advisory)

Skills may optionally declare their required permissions (network, filesystem-write, shell-commands, external-urls) in SKILL.md frontmatter. The scanner flags mismatches between declared and actual behavior.

File Structure

skill-fetch/
├── .claude-plugin/
│   └── plugin.json                   # Claude Code plugin manifest
├── commands/
│   ├── fetch-skill.md               # /fetch-skill slash command
│   └── fetch-skill-config.md        # /fetch-skill-config API key setup
├── skills/
│   └── skill-fetch/
│       ├── SKILL.md                  # Main skill (cross-platform)
│       ├── references/
│       │   ├── search-sources.md     # Source-specific commands & dedup rules
│       │   ├── quality-signals.md    # Scoring algorithm + security labels
│       │   ├── interaction-patterns.md # Output templates, security scan, prompt injection
│       │   ├── platform-adapters.md  # Cross-platform tool mapping
│       │   ├── installation-guide.md # Complete Step 3 install workflow
│       │   └── local-index.md        # Local skill/plugin scan for pre-search dedup
│       └── scripts/
│           ├── fetch-skill-bundle.sh    # Download a complete skill bundle from GitHub (SKILL.md + all siblings)
│           ├── fetch-skillhub.sh        # SkillHub API search (reads key from config)
│           └── fetch-skills-directory.sh # Skills Directory API search
├── .github/
│   └── maintainer/                   # Per-repo state for open-source-maintainer workflow
├── install.sh                        # Universal bash installer
├── install.py                        # Python installer
├── CHANGELOG.md                      # Version history
├── README.md                         # This file
└── LICENSE                           # MIT

Requirements

Minimum (any agent):

  • Shell with curl or WebFetch for HTTP-based searches

Full experience (Claude Code):

  • SkillsMP MCP server + API key from skillsmp.com (see API Key Setup)
  • GitHub CLI (gh) for GitHub and Anthropic Skills search
  • Node.js for npx-based searches (ClawSkillHub, PolySkill, SkillHub CLI)
  • ~/.claude/skills/.fetch-config.json for SkillHub and Skills Directory APIs (optional)

Author

Built by girofu — AI engineering portfolio at github.com/girofu.

For private portfolio walkthroughs or contracting inquiries: girofu@gmail.com

License

MIT

Files in the repo

Repository payload13 top-level entries
  • .claude-plugin
  • .github
  • commands
  • skills
  • .gitignore
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • install.py
  • install.sh
  • LICENSE
  • README.md
  • SECURITY.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More plugins

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

138k
1 add

Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.

82k
code-yeongyu/
oh-my-openagent

OmO: Just type "mass ulw" keyword with your prompt. Now you are the master of graph engineering.

69k

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

94k

Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns

4.3k