SuperAPI AI Directory

skillsmp

Agents & models

View repository

Updated 10-16 01:49

About this skill

SkillsMP

Search SkillsMP — currently the largest public Agent Skill index (1.6M+ SKILL.md files, from GitHub, covering Claude Code, Codex, ChatGPT).

Before you start writing a new Skill, search here first. The odds that someone else has written it are higher than you think.

One sentence → which capability to use

Users won't say "run treasure.mjs --pages 5." They'll say the things on the left below.

Users will probably say something like this Start here
"Is there a ready-made skill that can do X" "find a skill" node scripts/search.mjs "X" --limit 20. If there are few hits, rephrase and search again; don't assert that it "doesn't exist"
"I want to write a skill that does X" (Must answer before starting) First search.mjs "X", to see if anyone has written it. This is the first reason this Skill exists
"What skills already exist in this field" "take stock of the current state" node scripts/search.mjs "领域词" --pages 3 --json, save locally then filter, don't repeatedly re-search (quota is per day)
"Find some good stuff" "is there anything niche but well-written" "treasure hunting" node scripts/treasure.mjs "关键词" --pages 5 --top 15. It outputsfull candidate set + raw signals,sortKey is only a sort key, not a score, and it won't drop rows for you
"Sort them for me by star count" Sure, but first read the pitfall below:stars isrepositorystar count, not this Skill's.treasure.mjs --sort stars Changing the sort method uses the same batch of candidates
"Too many, filter out the big-company repositories" --max-stars N。No default value: if not provided, nothing is filtered; if provided, it only marks aboveMaxStars collapse, doesn't delete rows,--json everything is still there
"Only Chinese ones / only DevOps ones / only ones for developers" --lang zh · --category devops · --occupation software-developers
"Only 5 results came up?" That's pagination.total lying to you (totalIsExact:false, severely undercounted). For pagination, only trust hasNext
"Is this skill actually any good" Open its githubUrl and read it before drawing conclusions. The description is the author's marketing copy, not a verified capability

What it doesn't do: install Skills, write Skills, review Skill quality. It only puts candidates in front of you.

Table of contents

skillsmp/
├── SKILL.md            ← 你在这里:怎么搜、怎么挖宝、两个必须知道的坑
├── .env.example        ← 复制成 .env 填 API Key(可选;.env 已被忽略,绝不提交)
└── scripts/
    ├── search.mjs      直搜。可翻页、可按分类/职业/语言过滤,可 --json
    └── treasure.mjs    ★ 挖宝。故意不按星数排,理由见下。出全量候选 + 原始信号,
                          排序键只是排序键,不丢行也不下判决

Get it running first

No configuration needed —works anonymously(50 times/day, 10 times/minute):

node scripts/search.mjs "关键词" --limit 20

If you want 500 times/day, configure a Key:

cp .env.example .env      # 然后把 Key 填进去

Generate the Key from https://skillsmp.com/docs/api . It's a credential,only put it in .env, never into the repository (the repository's .gitignore already blocks */.env, don't bypass it).

Two pitfalls you must know

★ It's not this Skill's star count, it's the star count of the repository it's in

This is the main reason this Skill exists. The API returns stars isGitHub repository containing that Skill 's star count. Measured: one result reported 240467, while the real star count of its repository is 240743 — it matches, confirmed without a doubt.

The consequences are very real:

  • A Skill stuffed into an ultra-high-star repository (even if it's just a whole package of machine-translated documentation)automatically inherits that star count;
  • A single-purpose Skill that an author wrote carefully in their own separate repository gets only single-digit stars.

Measured search for backlink sorted by stars, three of the top four come from the same 28562★ note-taking repository, about bidirectional links inside the note system, having nothing to do with external links.High stars completely drown out semantically matching results.

So:sortBy=stars what gets ranked isn't "the best Skill", it's "the Skill living in the hottest repository".

For pagination, trust hasNext, not total

pagination.total comes with a totalIsExact: false, and measured values are severely understated — in an index with millions of entries, searching SEO only reports total: 5。calculating page counts by total will miss the vast majority of results. The only reliable basis for pagination is hasNext, and both scripts already do this.

Treasure hunting: find the "well-written but unknown"

Since star count is not a quality signal, don't rank by it.treasure.mjs collects four signals unrelated to repository fame:

node scripts/treasure.mjs "关键词" --pages 5 --top 15
node scripts/treasure.mjs "关键词" --pages 5 --sort stars --json   # 换个排法,同一批候选
signal (raw observed value insignals ) Idea
stars / Independence The lower the star count of the repository it's in, the more it shows this Skill stands on its own rather than riding along for free
repoCount / Focus How many entries from the same repository appear in this result. A repository spewing out dozens of entries is usually a pile of batch-generated or whole-package-translated documentation
descLength + hasTriggerWording / Description specificity A good description clearly stateswhen to use it(trigger conditions, scenarios, counterexamples), rather than "helps you do X". This is the single most effective signal for telling whether someone put in effort
ageDays / Freshness what hasn't been touched for a long time is mostly already rotten

Entries with the same name and same author across multiple languages get deduplicated — that's whole-package machine translation, and a single repository can fill an entire page. Deduplication is the only step that reduces the number of candidates, and it reports how many were removed.

The sort key is not a verdict, and the script won't drop rows for you

Rule Where it's implemented
sortKey is only a sort key, not a score, not a quality conclusion In the output it's called sortKey/sortKeyParts, the weights are arbitrary and have no measured support;--sort key|stars|updated|none can switch the ranking or not rank at all at any time
Raw signals are given as-is, so you can go back to the search results to verify Each candidate carries signals, and if the report needs to cite something, cite that, not sortKey
--max-stars has no default value if not given,nothing is filtered. Previously the default of 5000 would silently drop rows when you didn't ask for it, and "this is all the search found" and "half of it was dropped" look completely identical in the output
If given --max-stars it only collapses, doesn't delete over-limit rows are marked aboveMaxStars: true,--json It's still there; the human-readable view will clearly state how many entries were collapsed and list the first ten
--json output the full set of candidates candidateList is all candidates,shown it's just a matter of which ones the default view selected

This is heuristic ranking, not a verdict. The script is only responsible for putting candidates in front of you; whether to use them still requires opening that SKILL.md and reading it through. Don't report the sort key to users as a quality conclusion, and don't say "not in the default view" as "there is no such Skill".

Filter parameters

Shared by both scripts:

Parameter Description
--pages N How many pages to flip through (search defaults to 1, treasure defaults to 5)
--limit N How many per page, upper limit 100
--sort stars|recent search's sort parameter.Read the pitfall above first before deciding whether to use stars
--sort key|stars|updated|none treasure's sort parameter.key is the default heuristic sort key,none keep the original order
--max-stars N Only treasure has it,no default value. If not given, no filtering; if given, it only collapses, never deletes
--category <slug> such as data-ai、devops
--occupation <slug> SOC occupation, such as software-developers
--lang <code> en / zh / ja etc. ISO codes;mul mixed,und cannot be determined
--json Output JSON instead of a table

Wildcards are not supported (*), nor are empty queries.

Quota and errors

The response headers always report the remaining amount, and the script prints it at the end. Common errors have already been translated into plain language: INVALID_API_KEY(invalid Key),DAILY_QUOTA_EXCEEDED(used up for the day), MISSING_QUERY(no keyword given),INVALID_OCCUPATION / INVALID_LANGUAGE(slug not recognized).

Search resultsTry not to repeatedly search for the same word within one task—the quota is calculated daily, and anonymous access only gets 50. When you need to query repeatedly, use --json to save a local copy and then filter it.

Reporting discipline

When telling users about the Skills you found:

  • Make clear that ★ is the repository's star count, don't let users think that's this Skill's popularity;
  • Before recommendingat least take a look at its githubUrl, don't recommend based only on the description— the description is the author's own marketing copy, not a verified capability;
  • When there are very few hits, truthfully say there are very few hits. This index has 1.6M entries; not finding something usually means the word is wrong, try searching again with a different wording, rather than asserting "it doesn't exist".