skillsmp
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkillsMP
SkillsMP
搜 SkillsMP —— 目前最大的公开 Agent Skill 索引(1.6M+ 个
SKILL.md,来自 GitHub,覆盖 Claude Code、Codex、ChatGPT)。
要动手写一个新 Skill 之前,先来这里搜一遍。 别人写过的概率比你以为的高。
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 ← 你在这里:怎么搜、怎么挖宝、两个必须知道的坑
├── .env.example ← 复制成 .env 填 API Key(可选;.env 已被忽略,绝不提交)
└── scripts/
├── search.mjs 直搜。可翻页、可按分类/职业/语言过滤,可 --json
└── treasure.mjs ★ 挖宝。故意不按星数排,理由见下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
不需要任何配置——匿名就能用(50 次/天、10 次/分钟):
bash
node scripts/search.mjs "关键词" --limit 20想要 500 次/天,就配一个 Key:
bash
cp .env.example .env # 然后把 Key 填进去No configuration required — use anonymously (50 requests/day, 10 requests/minute):
bash
node scripts/search.mjs "关键词" --limit 20For 500 requests/day, configure a Key:
bash
cp .env.example .env # Then fill in your KeyGenerate 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).
.env.gitignore*/.env两个必须知道的坑
Two Critical Pitfalls to Know
★ 不是这个 Skill 的星数,是它所在仓库的星数
★ The star count is for the repository, not the Skill
这是本 Skill 存在的主要理由。API 返回的 是包含该 Skill 的 GitHub 仓库
的星数。实测:某条结果报 240467,而它所在仓库的真实星数是 240743 —— 对得上,确认无疑。
stars后果很实际:
- 一个塞在超高星仓库里的 Skill(哪怕只是整包机翻的文档)自动继承那个星数;
- 一个作者单独开仓库、认真写的单一用途 Skill,只有个位数星。
实测搜 按星排序,前四条里三条来自同一个 28562★ 的笔记仓库,
讲的是笔记系统内部的双向链接,跟外链毫无关系。高星把语义对口的结果整个淹掉了。
backlink所以: 排出来的不是「最好的 Skill」,是「住在最红仓库里的 Skill」。
sortBy=starsThis 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.
starsPractical 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.
backlinkTherefore: Sorting by does not give you the "best Skills", but rather "Skills residing in the most popular repositories".
sortBy=stars翻页要认 hasNext
,别认 total
hasNexttotalUse hasNext
for pagination, not total
hasNexttotalpagination.totaltotalIsExact: falseSEOtotal: 5hasNextpagination.totaltotalIsExact: falseSEOtotal: 5hasNext挖宝:找「写得好但没人知道」的
Treasure Hunting: Find "Well-Written but Unknown" Skills
既然星数不是质量信号,就别用它排。 用四个跟仓库名气无关的信号:
treasure.mjsbash
node scripts/treasure.mjs "关键词" --pages 5 --max-stars 2000 --top 15| 信号 | 想法 |
|---|---|
| 独立性 | 所在仓库星数越低,越说明这个 Skill 靠自己站住,不是搭便车 |
| 专注度 | 同一仓库在本次结果里出现几条。一个仓库刷出几十条,通常是批量生成或整包翻译的文档堆 |
| 描述具体度 | 好的描述会写清什么时候该用(触发条件、场景、反例),而不是「帮你做 X」。这是分辨用不用心最单一有效的信号 |
| 新鲜度 | 长期没动的多半已经烂掉 |
同名同作者跨多语言的条目会被去重——那是整包机翻,一个仓库能刷满整页。
这是启发式排序,不是判决。 脚本只负责把候选排到你眼前;
要不要用,仍然得打开那个 读一遍。别把分数当成质量结论报给用户。
SKILL.mdSince star count is not a quality signal, don't use it for sorting. uses four signals unrelated to repository popularity:
treasure.mjsbash
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.
SKILL.md过滤参数
Filter Parameters
两个脚本共用:
| 参数 | 说明 |
|---|---|
| 翻几页(search 默认 1,treasure 默认 5) |
| 每页几条,上限 100 |
| 只有 search 有。先读上面那条坑再决定用不用 stars |
| 如 |
| SOC 职业,如 |
| |
| 输出 JSON 而不是表格 |
不支持通配符(),也不支持空查询。
*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 |
| Output JSON instead of table |
Wildcards () and empty queries are not supported.
*配额与报错
Quotas and Error Handling
响应头一直在报剩余量,脚本会把它打在结尾。常见错误已经翻译成人话:
(Key 无效)、(当日用完)、
(没给关键词)、 / (slug 不认识)。
INVALID_API_KEYDAILY_QUOTA_EXCEEDEDMISSING_QUERYINVALID_OCCUPATIONINVALID_LANGUAGE搜索结果尽量不要在一次任务里反复重搜同一个词——配额是按天算的,
匿名只有 50 次。需要反复查询时用 存一份到本地再过滤。
--jsonThe 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).
INVALID_API_KEYDAILY_QUOTA_EXCEEDEDMISSING_QUERYINVALID_OCCUPATIONINVALID_LANGUAGEAvoid 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.
--json汇报纪律
Reporting Guidelines
把搜到的 Skill 告诉用户时:
- 说清 ★ 是仓库星数,不要让用户以为那是这个 Skill 的受欢迎程度;
- 推荐之前至少读一眼它的 ,别只凭 description 就推荐—— 描述是作者自己写的营销文案,不是验证过的能力;
githubUrl - 命中很少时如实说命中很少。这个索引有 1.6M 条,搜不到通常意味着词不对, 换个说法再搜一次,而不是断言「不存在」。
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;
githubUrl - 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".