关于 mstack-find-skills
用于为工作任务匹配专用 skill 的工具,先检查已安装技能,再针对缺口筛选 skills.sh 目录中的公开候选项。适合由其他 mstack skill 调用,也支持用户直接提出任务并按需询问。
主要功能
- 01优先盘点已安装技能
- 02按任务为技能评分并筛选
- 03仅针对缺口搜索公开候选项
- 04按调用模式控制提问与安装
- 05输出按工作项排列的匹配结果
适用场景
- 01为不同工作项查找合适技能
- 02检查现有技能是否覆盖任务
- 03为技能缺口筛选公开候选项
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mubeda/ mstack --skill mstack-find-skills安装后在 Claude Code 中输入/mstack-find-skills确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/called-three-tasks/case.yamlplace-files.shprompt.mdevals/called-three-tasks/files/app/README.mdevals/called-three-tasks/files/app/.agents/skills/python-email-testing/SKILL.md.fixtureevals/called-three-tasks/files/app/.agents/skills/sql-migrations/SKILL.md.fixtureevals/called-three-tasks/files/app/.claude/skills/react-testing/SKILL.md.fixtureevals/called-three-tasks/files/app/mailer/send.pyevals/called-three-tasks/files/app/plugins/vue-testing/skills/vue-testing/SKILL.md.fixtureevals/called-three-tasks/files/app/src/Cart.vueevals/called-three-tasks/graders/01-order.md02-no-wrong-framework.md03-also-read.md04-new-session.md05-email.md06-readme-empty.md07-no-online.md08-no-question-no-install.mdevals/failed-audit/case.yamlplace-files.shprompt.mdevals/failed-audit/files/bin/curlnpxevals/failed-audit/files/web/package.jsonevals/failed-audit/files/web/src/app.spec.tsevals/failed-audit/graders/01-fail-not-recommended.md02-not-audited.md03-no-install.md04-no-api-search.mdevals/no-network/case.yamlREADME 原文English
来自项目 READMEREADME 暂无中文译文,以下为英文原文;中文介绍见上方。
mstack-find-skills
Finds the skills that fit a job: installed skills first, then vetted public candidates from the skills.sh directory for the gaps only. Every other mstack skill takes its skill matches from here.
| Role | Claude Code | Codex |
|---|---|---|
| Question tool | AskUserQuestion | a numbered question in chat, then wait |
| Loading another skill | the Skill tool | read its SKILL.md |
Two modes
- User mode: the user invoked the skill. If they gave a text, that text is the one work item; do not ask what they need. If they gave nothing, ask one question about the job with your question tool and wait. Search nothing until the answer arrives.
- Called mode: another skill loaded this one and said which skill is calling. Ask nothing and install nothing, ever. Return one result block entry per work item, in the order given.
A called message lists work items, each with an ID, a goal, and optionally files and steps. An optional line Also read: <folders> names folders whose SKILL.md files join the inventory although they are not installed, such as a repository's own plugin folders. Two optional input lines change the run:
Online search: off (<reason>), or a message saying the network is unavailable: run no online step, and close withOnline search: not run (<reason>).Install: <owner/repo>@<skill>lines, one per candidate from an earlier result, in user mode: skip the inventory and the search, and go straight toreferences/install.mdwith those candidates.
Order of work
- Inventory. Read
references/matching.mdand build the list of installed skills for this host, then add theAlso readfolders. Mark each skillloads now,loads in a new sessionorrepository, not installed. - Score. Score every skill against every item with the rules in
references/matching.md. Keep at most four per item. An empty list is a valid answer. - Gaps. Mark the items with a clear domain and no match. An item that needs no specialist is not a gap.
- Search and vet. Only for gaps, follow
references/public-search.md. Recommend at most two candidates per gap, each vetted on audits, installs and age, license and its SKILL.md. When the search fails, report it as not run; never conclude that no public skill exists. - Report. Write the result block below.
- Install, user mode only. When the user wants a candidate, follow
references/install.md: one round of questions, then only the selected commands. In called mode, stop after the result block.
Result block
## mstack-find-skills result
### <ID>
Skills:
- <name> (<where installed>, <loads now | loads in a new session | repository, not installed>): <reason of six to twelve words>
Gaps:
- <what is missing> (searched: "<query>", "<query>")
- <owner/repo>@<skill>: installs <N>, first seen <date>, audits <vendor verdict (categories), ... | not audited>, license <license>, <skills.sh link>
Install: <the commands from references/install.md>
Online search: ran | not run (<reason>)
Write Skills: none or Gaps: none when a list is empty. Write one ### <ID> section per item, in the caller's order. In user mode, the item ID is 1.
Never report a candidate whose audit lookup failed or was not found as passed; it reads not audited. A candidate with a fail verdict or without a license is never recommended.