Skill finder
Use ONLY when the user explicitly asks to discover or evaluate a skill from OUTSIDE the curated catalog — e.g., "find a Stripe skill", "is there a skill for X?", "evaluate this candidate before adopting". Meta-skill, complementary to skill-selector: do NOT auto-invoke on routine apm-management, project-init, or catalog-resident requests. Cross-source survey across vetted registries (Anthropic official, claude-skill-registry, VoltAgent/awesome-agent-skills, ComposioHQ, Superpowers, GitHub topic) with a mandatory waxa-eval adoption gate.From its SKILL.md
npx -y skills add krkrkrr/skills --skill skill-finderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
12.4 KB, ~3.0k tokens by cl100k_base, as published. Nobody here has run it
Skill Finder
Adopting a skill found outside the curated catalog has two failure modes the in-catalog flow does not carry:
- Low-quality content — registries vary wildly in vetting; some are SEO scrapes.
- Registry blindness — Tier-1 official sources can already cover the need; jumping to GitHub
grepfirst wastes effort and lands in noisier listings.
This skill exists to make the cross-source search deliberate and to refuse adoption of anything that has not passed a waxa eval.
When to invoke
Explicit user request only. Triggering phrases:
- "find a
<X>skill" - "is there a skill for
<X>?" - "evaluate
<owner/repo>as a skill before adopting" - "search the registries for
<X>"
When NOT to use:
- The catalog already has a fit → stop immediately and tell the user to use
skill-selectorPhase 1 instead. Do NOT continue into Tier 1-4 search, do NOT propose install steps, do NOT survey other sources. Even if the catalog skill is plausibly improvable by something external, the existing fit is the answer; respect Phase 1. - One-off task with no recurrence → solve inline; do not adopt a skill you will trigger once.
- The user did not ask for discovery → as a meta-skill, this never auto-fires (cf. user-level CLAUDE.md "Skill 利用方針").
Pre-flight check (mandatory first step)
Before doing anything else, scan the skill-selector/references/catalog.md rows against the user's stated need. If any row matches:
- State the matching catalog row to the user.
- Recommend they invoke
skill-selector(Phase 1) for the install. - Stop. Do not run the workflow below. Do not survey Tier 1+ sources.
Only proceed past this check when the catalog scan finds no row matching within roughly 30 seconds of reading.
Sources
Priority tiers. Always start at the top and only escalate when the tier above has no fit.
| Tier | Source | Form | Notes |
|---|---|---|---|
| 1 | anthropics/skills | GitHub repo, ~30 first-party skills | Highest trust. Install: apm install anthropics/skills/skills/<name> (the repo nests under skills/). |
| 1 | anthropics/claude-plugins-official | Plugin marketplace | Official plugins (frontend-design / mcp-server-dev / code-review / ralph-loop / external_plugins/...). |
| 2 | majiayu000/claude-skill-registry | Daily-crawled, dedup'd, security-scanned cross-source index | Best discovery hub. Path format owner/repo/skills/name translates directly to APM. |
| 2 | VoltAgent/awesome-agent-skills | Org-grouped awesome-list (MIT, active) | Each entry routes through officialskills.sh; resolve to underlying GitHub repo before adoption. |
| 3 | ComposioHQ/awesome-claude-skills | Awesome-list, broader/looser curation | Treat entries as candidates, not endorsements. |
| 3 | obra/superpowers | Skill bundle, methodology-heavy (TDD / subagent / brainstorming) | High-quality but opinionated; check fit carefully. |
| 4 | GitHub topic:claude-skill / topic:agent-skills / path:**/SKILL.md | Raw search | Last resort. Sort by recently-updated, not stars (top-starred repos are usually awesome-lists, not skills). |
| NG | agent-skills.cc | SEO scrape, stars-only signal, APM-incompatible | Do not source from here. May be used as an alias lookup to find the underlying GitHub repo, never as a primary recommendation. |
Workflow
- Pre-flight catalog check (see above). If
skill-selector/references/catalog.mdhas a fit, stop and defer toskill-selector. Only continue past step 0 when no catalog row matches. - State the recurring need. A skill is justified only by a recurring task type. If the user cannot name one, do not adopt — solve inline.
- Sweep top-down. Hit Tier 1 first. Stop at the first usable hit; do not survey lower tiers when Tier 1 already matches. Capture per candidate: skill name, resolved GitHub URL, one-line description, last-update date, license.
- Apply the rubric. A candidate passes only if all seven axes are acceptable:
- Fit — does the skill's "Use when..." actually match the project task? Re-read the description, not the title.
- Non-redundancy — does the project's already-installed skill set cover this need? A "Fit ✓" candidate that overlaps with skills already in the stack should still be rejected (or at most project-pinned to one project that genuinely lacks the coverage). Common overlap pairs: skill-creation skills vs
superpowers:writing-skills+empirical-prompt-tuning+waxa-eval; testing skills vsplaywright-test; dotfile skills vschezmoi-management. A redundant skill costs context every conversation without a unique payoff. - Maintenance — last commit recent? Visible upstream activity?
- License — SPDX present and compatible with the consuming project?
- Frontmatter health —
namematches dir; description ≤1024 chars and triggering-condition-shaped (persuperpowers:writing-skillsCSO). - Body quality — explicit "When NOT to use"? Concrete patterns vs vague advice?
- Footprint — body length, demand-loaded vs always-loaded references, cross-skill dependencies.
- waxa audit (recommended). Before spending the eval-gate budget, run
npx @mizchi/waxa audit <candidate-skill-dir>to surface structural problems cheaply: frontmatter shape, body length, missing "When NOT to use", suspicious scripts, missing LICENSE, plusapm audit's hidden-Unicode (prompt-injection) scan. A candidate with audit errors is a probable Reject without spending LLM time on the eval gate. - waxa eval gate (mandatory). Adoption without empirical evaluation is the failure mode this skill exists to prevent. For each shortlisted candidate:
- Install temporarily:
apm install <owner>/<repo>/skills/<name>into a sandbox project (or symlink for local audit). - Author 1-2 representative
tasks/*.yamlmatching the project's actual recurring task. Seeskill-selector/evals/andnix-setup/evals/(skill-local layout from waxa 0.2.0) for working templates. - Run
waxa runwithtrials_per_task: 2minimum. - Iterate (
waxa iterate) until the ledger converges. Convergence = 2 consecutive runs with zero unclear-points (cf.empirical-prompt-tuning). - If unclear-points persist across 2 iterations with no decreasing trend → treat as divergent, reject.
- Install temporarily:
- Decide and pin. Adoption is always pinned; pinning is non-negotiable.
- Catalog-promote — passes eval AND used in 2+ projects without issue → propose addition to
skill-selector/references/catalog.mdwith the project signal that should trigger it. - Project-pin — fits one project; add to that project's
apm.ymlwith a tag or SHA resolved viaapm view <repo>(or the upstream release page). Pin to the exact ref the waxa eval passed against — adopt after eval, pin the ref that was eval'd. Floating refs (main,master,HEAD) are forbidden for production projects. - Reject — record the reason in
references/rejection-log.md(this skill) and / or the project's owndocs/skills-rejected.mdso the same candidate is not re-evaluated quarterly. Common reject reasons: license absent, body quality below floor, non-redundancy axis fails (already covered by installed stack), or maintenance signal too weak.
- Catalog-promote — passes eval AND used in 2+ projects without issue → propose addition to
- Fork-and-fix path. If a candidate is close-but-not-quite, prefer forking it into
mizchi/skills/<name>(or the project's local skills dir) and reshaping it, over working around its shortcomings at call sites. Document the divergence so an upstream PR can converge.
Source-specific resolution notes
-
anthropics/skills: skills live under
skills/<name>. Install string:apm install anthropics/skills/skills/<name>(the path includes "skills/skills" — not a typo). -
anthropics/claude-plugins-official: includes
external_plugins/(asana, linear, playwright, serena, laravel-boost, github, gitlab, firebase, terraform). These are plugins, not raw skills — verify the plugin manifest exposes a SKILL.md before treating them as APM dependencies. -
majiayu000/claude-skill-registry: ships its own
skCLI; you do not need it.apm install owner/repo/skills/nameworks once you have the path. Use the registry's web UI / data files for discovery only. -
VoltAgent/awesome-agent-skills: README is org-grouped (Anthropic / Stripe / HashiCorp / Cloudflare / Sentry / etc.). Extract entries with:
curl -sL https://raw.githubusercontent.com/VoltAgent/awesome-agent-skills/main/README.md \ | grep -oE '\[[^]]+\]\(https?://officialskills\.sh[^)]+\)'Each
officialskills.shURL routes to a GitHub repo; traverse to that repo before evaluating. -
GitHub topic search: use the API.
topic:claude-skill(1.4k repos) andtopic:agent-skills(4.3k) are both noisy — filter by SKILL.md presence and recent activity. Thepath:SKILL.mdqualifier helps narrow. Star count is mostly signal-less past Tier 3 (top-starred repos are awesome-lists, not skills).
waxa eval template
For a candidate at <owner>/<repo>/skills/<name>, scaffold:
evals/
└── <name>/
├── eval.yaml
└── tasks/
├── scenario-typical.yaml
└── scenario-edge.yaml
eval.yaml skeleton:
name: <name>-eval
skill: <name>
version: "0.1"
config:
trials_per_task: 2
timeout_seconds: 180
parallel: false
executor: claude-cli # mock for smoke; claude-cli for real eval
model: claude-opus-4-8
graders:
- name: <task-specific>
type: text | code | llm | self_report
config: { ... }
tasks:
- "tasks/*.yaml"
Working references in this repo: skill-selector/evals/eval.yaml, nix-setup/evals/eval.yaml (skill-local layout from waxa 0.2.0).
Common mistakes
| Mistake | Fix |
|---|---|
| Surveying every tier in parallel | Top-down. Stop at first fit. |
| Skipping the pre-flight catalog check | Always check skill-selector/references/catalog.md first. If it covers the need, defer immediately — do not proceed into Tier 1+ surveys. The playwright-test / cloudflare-deploy / gh-fix-ci rows are the most common false-escalations to watch for. |
| Adopting because "Fit ✓" alone | Non-redundancy is a separate axis. A skill that fits the user's stated need but overlaps with skills already installed (e.g. anthropic's skill-creator overlapping with superpowers:writing-skills + empirical-prompt-tuning + waxa-eval) is a reject. The cost is context per conversation; the payoff has to be unique. |
Skipping references/rejection-log.md on reject | Recording the reason takes 30 seconds and prevents re-evaluating the same candidate in 3 months when its star count grows. The log is the durable artifact of the skill-finder run, mirroring how the eval ledger works for waxa-eval. |
Citing agent-skills.cc as a recommendation | Source is SEO scrape; only use it for alias-lookups to GitHub. Never as a primary recommendation. |
| Skipping waxa eval ("the README looks fine") | Forbidden. Adoption-without-eval is the exact failure this skill prevents. |
Pinning to main / master | Resolve a tag or SHA via apm view <repo> and pin that explicitly. |
| Treating org membership as quality | A repo under a known org is not auto-trusted; still apply the rubric. Anthropic-published skills are the rare exception. |
| Re-evaluating a previously rejected skill | Check docs/skills-rejected.md first. Recording rejection reasons prevents quarterly re-evaluation churn. |
| Going to Tier 4 without sweeping Tier 1-3 | The cost asymmetry is large: GitHub search is noisy and the curated tiers are pre-filtered. |
Related
skill-selector— Phase 1 catalog selection. Always run before this skill. If Phase 1 covers the need, do not invokeskill-finder.apm-usage—apm.ymlsyntax for the install / pinning stepempirical-prompt-tuning— convergence/divergence semantics underlying the waxa eval gatesuperpowers:writing-skills— when no candidate passes the rubric, write the skill yourself instead of forcing a poor match
Gives 0 of the 12 instructions most context ai engineering skills give in ~3.0k tokens
Counted across 1,193 of the 1,976 authors here whose files we hold, read 2026-08-07
- Dispatch a fresh implementer subagent per taskin 48 of 1193, across 19 files
- Dispatch a final code reviewer after all tasksin 33 of 1193, across 8 files
- Provide full task text to the subagentin 30 of 1193, across 9 files
- Review spec compliance before code qualityin 27 of 1193, across 10 files
- Make the hook script executablein 26 of 1193, across 8 files
- Re-snapshot after navigation or DOM changesin 25 of 1193, across 19 files
- Read files before editing themin 22 of 1193, across 11 files
- Answer subagent questions before proceedingin 22 of 1193, across 7 files
- Mark task complete in TodoWrite after approvalin 22 of 1193, across 6 files
- Merge hook into existing settingsin 21 of 1193, across 3 files
- Ask if installation is global or projectin 20 of 1193, across 2 files
- Copy the hook script to target locationin 20 of 1193, across 2 files
Said here and by no other author read
- check the catalog before searching external sources
- stop immediately if the catalog fits the need
- ask the user for a recurring task type
- search sources top-down by priority tier
- stop at the first usable hit per tier
- apply the seven-axis rubric to candidates
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.