mcpField
M
mstack-find-skills

mstack-find-skills

github.com/mubeda其他011 次安装今天更新
代码仓库

关于 mstack-find-skills

用于为工作任务匹配专用 skill 的工具,先检查已安装技能,再针对缺口筛选 skills.sh 目录中的公开候选项。适合由其他 mstack skill 调用,也支持用户直接提出任务并按需询问。

主要功能

  1. 01优先盘点已安装技能
  2. 02按任务为技能评分并筛选
  3. 03仅针对缺口搜索公开候选项
  4. 04按调用模式控制提问与安装
  5. 05输出按工作项排列的匹配结果

适用场景

  1. 01为不同工作项查找合适技能
  2. 02检查现有技能是否覆盖任务
  3. 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.yaml
place-files.sh
prompt.md
evals/called-three-tasks/files/app/
README.md
evals/called-three-tasks/files/app/.agents/skills/python-email-testing/
SKILL.md.fixture
evals/called-three-tasks/files/app/.agents/skills/sql-migrations/
SKILL.md.fixture
evals/called-three-tasks/files/app/.claude/skills/react-testing/
SKILL.md.fixture
evals/called-three-tasks/files/app/mailer/
send.py
evals/called-three-tasks/files/app/plugins/vue-testing/skills/vue-testing/
SKILL.md.fixture
evals/called-three-tasks/files/app/src/
Cart.vue
evals/called-three-tasks/graders/
01-order.md
02-no-wrong-framework.md
03-also-read.md
04-new-session.md
05-email.md
06-readme-empty.md
07-no-online.md
08-no-question-no-install.md
evals/failed-audit/
case.yaml
place-files.sh
prompt.md
evals/failed-audit/files/bin/
curl
npx
evals/failed-audit/files/web/
package.json
evals/failed-audit/files/web/src/
app.spec.ts
evals/failed-audit/graders/
01-fail-not-recommended.md
02-not-audited.md
03-no-install.md
04-no-api-search.md
evals/no-network/
case.yaml

README 原文English

来自项目 README

README 暂无中文译文,以下为英文原文;中文介绍见上方。

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.

RoleClaude CodeCodex
Question toolAskUserQuestiona numbered question in chat, then wait
Loading another skillthe Skill toolread 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 with Online 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 to references/install.md with those candidates.

Order of work

  1. Inventory. Read references/matching.md and build the list of installed skills for this host, then add the Also read folders. Mark each skill loads now, loads in a new session or repository, not installed.
  2. 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.
  3. Gaps. Mark the items with a clear domain and no match. An item that needs no specialist is not a gap.
  4. 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.
  5. Report. Write the result block below.
  6. 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.

评论

支持 Markdown