SkillsMP
Search
SkillsMP —— the largest public Agent Skill index currently available (1.6M+ SKILL.md files from GitHub, covering Claude Code, Codex, ChatGPT).
Before writing a new Skill, search here first. The probability that someone has already written it is higher than you think.
Table of Contents
skillsmp/
├── SKILL.md ← You are here: how to search, how to find hidden gems, two critical pitfalls to know
├── .env.example ← Copy to .env and fill in API Key (optional; .env is ignored and will never be committed)
└── scripts/
├── search.mjs Direct search. Supports pagination, filtering by category/occupation/language, and --json
└── treasure.mjs ★ Treasure hunting. Intentionally not sorted by stars, see below for reasons
Get Started
No configuration required — use anonymously (50 requests/day, 10 requests/minute):
bash
node scripts/search.mjs "关键词" --limit 20
For 500 requests/day, configure a Key:
bash
cp .env.example .env # Then fill in your Key
Generate the Key from
https://skillsmp.com/docs/api. It is a credential,
only store it in and never commit it to the repository
(the repository's
already blocks
, do not bypass this).
Two Critical Pitfalls to Know
★ The star count is for the repository, not the Skill
This is the main reason this tool exists. The
returned by the API is the star count of the
GitHub repository containing the Skill.
Verification: A result showed 240467 stars, while the actual star count of its repository was 240743 — they match, confirming this fact.
Practical consequences:
- A Skill embedded in a high-star repository (even if it's just machine-translated documentation) automatically inherits that star count;
- A single-purpose Skill carefully written by an author in an independent repository may only have single-digit stars.
When searching for
sorted by stars, three of the top four results come from the same 28562★ note repository, discussing internal bidirectional links in a note system, which has nothing to do with external links.
High-star results completely drown out semantically relevant ones.
Therefore: Sorting by
does not give you the "best Skills", but rather "Skills residing in the most popular repositories".
Use for pagination, not
comes with
, and in practice it is severely underestimated — searching for
in a million-level index only returns
.
Calculating pages based on total will miss most results.
The only reliable pagination indicator is
, which both scripts already use.
Treasure Hunting: Find "Well-Written but Unknown" Skills
Since star count is not a quality signal, don't use it for sorting.
uses four signals unrelated to repository popularity:
bash
node scripts/treasure.mjs "关键词" --pages 5 --max-stars 2000 --top 15
| Signal | Rationale |
|---|
| Independence | The lower the star count of the repository it resides in, the more it indicates this Skill stands on its own, not riding on the coattails of a popular repo |
| Focus | How many times the same repository appears in the results. A repository showing up dozens of times usually means bulk-generated or machine-translated documentation dumps |
| Specificity of Description | Good descriptions clearly state when to use (trigger conditions, scenarios, counterexamples), rather than just "helps you do X". This is the single most effective signal to distinguish thoughtful Skills |
| Freshness | Skills that haven't been updated in a long time are likely outdated |
Entries with the same name and author across multiple languages are deduplicated — these are bulk machine-translated entries that can fill an entire page from one repository.
This is heuristic sorting, not a judgment. The script only ranks candidates for you to review;
you still need to open the
and read it to decide whether to use it. Don't treat the score as a definitive quality conclusion for users.
Filter Parameters
Shared by both scripts:
| Parameter | Description |
|---|
| Number of pages to paginate (default 1 for search, 5 for treasure) |
| Number of results per page, maximum 100 |
| Only available for search. Read the pitfall above before deciding whether to use stars |
| e.g., , |
| SOC occupation, e.g., |
| ISO codes like / / ; for multilingual, for undetermined |
| Output JSON instead of table |
Wildcards (
) and empty queries are not supported.
Quotas and Error Handling
The response header always shows remaining quota, which the script will print at the end. Common errors have been translated into plain language:
(invalid Key),
(daily quota used up),
(no keyword provided),
/
(unknown slug).
Avoid repeatedly searching the same term in one task — quotas are daily, and anonymous users only get 50 requests. For repeated queries, use
to save results locally and filter offline.
Reporting Guidelines
When sharing found Skills with users:
- Clearly state that ★ refers to the repository's star count, don't let users think it reflects the Skill's popularity;
- At least check the before recommending — don't recommend based solely on the description,
since descriptions are self-written marketing copy, not verified capabilities;
- Be honest when there are few results. With 1.6M entries in the index, not finding results usually means the keyword is incorrect,
so try rephrasing instead of claiming "none exist".