mstack-find-skills について
作業に合うスキルを探すマッチャーです。まずインストール済みスキルを確認し、不足分に限って skills.sh の公開候補を調べます。ユーザーからの直接依頼と他の mstack スキルからの呼び出しで、質問やインストールの扱いが異なります。
主な機能
- 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
プロジェクトの 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.
| 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.