auto-skill-fit
auto-skill-fit
扫描项目 → 提取技术栈 → 搜索 skills.sh → 用户选择安装方式和 skills → 安装。
流程
Step 1: 扫描项目,提取技术栈关键词
读取项目根目录下的配置文件:
| 文件 | 提取方式 |
|---|---|
package.json |
dependencies + devDependencies 的 key |
next.config.* |
→ nextjs |
nuxt.config.* |
→ nuxt |
vite.config.* |
→ vite |
tailwind.config.* 或 CSS 含 @import "tailwindcss" |
→ tailwind |
components.json |
→ shadcn |
pyproject.toml / requirements.txt |
提取依赖名 |
Cargo.toml |
→ rust + dependencies |
go.mod |
→ go + module 关键词 |
Dockerfile / docker-compose.yml |
→ docker |
supabase/ 目录 |
→ supabase |
.github/workflows/ |
→ github-actions |
归一化:react-dom → react,@next/font → nextjs,tailwindcss → tailwind。
只保留框架级关键词(react, nextjs, vue, svelte, tailwind, supabase, prisma, drizzle, fastapi, django 等),过滤工具库(lodash, axios 等)。
Step 2: 搜索 skills.sh
检查是否已安装 find-skills(检查 ~/.kiro/skills/find-skills/、~/.claude/skills/find-skills/、.kiro/skills/find-skills/)。
- 已安装 → 按 find-skills 流程搜索和质量筛选
- 未安装 → 直接用
npx skills find <keyword>搜索
对每个关键词搜索,合并去重,过滤安装量 < 5K 的,跳过已安装的 skills。
Step 3: 询问安装偏好
在让用户选择 skills 之前,依次确认两个问题:安装方式 和 目标客户端。
3a: 安装方式
在 Claude Code 中,使用 AskUserQuestion:
AskUserQuestion:
question: "选择安装方式:"
options:
- "全局 + symlink(推荐,所有项目共享,自动更新)(Recommended)"
- "全局 + copy(所有项目共享,独立副本)"
- "项目级 + symlink(仅当前项目,团队可共享)"
- "项目级 + copy(仅当前项目,适合提交到仓库)"
在其他 agent 中,降级为文本:
📋 安装方式:
[1] 全局 + symlink(推荐) [2] 全局 + copy
[3] 项目级 + symlink [4] 项目级 + copy
👉 输入编号(默认 1):
对应 flags:
| 选择 | flags |
|---|---|
| 全局 + symlink | -g -y |
| 全局 + copy | -g -y --copy |
| 项目级 + symlink | -y |
| 项目级 + copy | -y --copy |
3b: 目标客户端
在 Claude Code 中,使用 AskUserQuestion(multiSelect: true):
AskUserQuestion:
question: "安装到哪些客户端?"
multiSelect: true
options:
- "所有已检测到的客户端(推荐)(Recommended)"
- "Claude Code"
- "Kiro CLI"
- "Cursor"
- "Codex"
- "Windsurf"
- "GitHub Copilot"
在其他 agent 中,降级为文本:
🖥️ 安装到哪些客户端?
[1] 所有已检测到的(推荐)
[2] 指定客户端(输入名称,逗号分隔,如:claude-code,kiro-cli,cursor)
👉 输入编号(默认 1):
对应 flags:
- 选"所有" → 不加
-a(默认安装到所有检测到的) - 选指定客户端 → 加
-a claude-code -a kiro-cli等
记住用户选择的 flags,后续所有安装命令统一使用。
Step 4: 用户选择 Skills
输出技术栈摘要,让用户选择要安装的 skills。
在 Claude Code 中:使用 AskUserQuestion,设置 multiSelect: true。将推荐项标记 (Recommended) 放在选项列表最前面。示例:
AskUserQuestion:
question: "检测到技术栈:React, Next.js, Tailwind, Supabase。以下是推荐的 skills(已过滤已安装和低质量),请选择要安装的:"
multiSelect: true
options:
- "vercel-react-best-practices (332K installs) — React/Next.js 最佳实践 (Recommended)"
- "web-design-guidelines (265K installs) — Web 设计规范 (Recommended)"
- "frontend-design (315K installs) — 前端设计"
- "supabase-postgres-best-practices (109K installs) — Supabase 最佳实践 (Recommended)"
- "shadcn (96K installs) — shadcn/ui 组件"
- "next-best-practices (68K installs) — Next.js 进阶"
在其他 agent 中,降级为编号文本:
🔍 检测到技术栈:React, Next.js, Tailwind, Supabase
📦 推荐 Skills:
[1] ✅ vercel-react-best-practices 332K installs (react, nextjs)
[2] ✅ web-design-guidelines 265K installs (前端通用)
[3] frontend-design 315K installs (前端通用)
[4] ✅ supabase-postgres-best-practices 109K installs (supabase)
[5] shadcn 96K installs (shadcn)
[6] next-best-practices 68K installs (nextjs)
✅ = 推荐
👉 请选择:all / 1,3,5 / recommended / 不装了
Step 5: 安装
根据用户选择的 skills 和 Step 3 的安装偏好,逐条执行:
npx skills add <owner/repo@skill-name> <flags>
每条安装后输出结果(成功/失败)。
Step 6: 完成总结
✅ 安装完成!共安装 N 个 skills(全局 + symlink):
- vercel-react-best-practices
- shadcn
- supabase-postgres-best-practices
💡 这些 skills 会在后续对话中自动生效。
规则
- 必须等用户选择后才安装 — 不要自动安装
- 安装偏好先于 skills 选择 — 先问怎么装,再问装什么
- 优先使用原生交互 — Claude Code 用 AskUserQuestion,其他降级为文本
- 依赖 find-skills 做搜索(如果已安装)
- 关键词要精准 — 用框架名,不用泛词
- 宁缺毋滥 — 搜不到高质量结果就不列出
More from zeroz-lab/gm-skills
ui-fork
从一张或多张 UI 截图中提炼产品级设计系统草案、组件规则、design tokens 和后续 AI 延续设计约束。Use when users want to analyze UI screenshots, fork an interface style, create reusable design guidelines from images, extract implementation-oriented design-system specs, or generate prompt contracts for future AI-generated pages.
5gm-agent-docs
为项目生成 CLAUDE.md 和 AGENTS.md,分析项目结构后输出命令优先、按任务分区的 agent 配置文件。Use when users want to create or improve CLAUDE.md, AGENTS.md, or agent instruction files for their project.
3pngimg-download
Search and download free transparent PNG images from pngimg.com. Use when the user wants to find or download PNG images with transparent backgrounds, clipart, or icons for design projects.
3gm-topic-engine
从零散想法、笔记、评论、私信、收藏链接、草稿和亲身经历中提炼适合公众号与博客的可发布选题。补强切口、筛掉弱题、排序优先级,并输出结构化选题池。
1gm-x-hook-writer
Use when users need stronger X/Twitter hooks, first lines, or thread openers from a topic, draft, opinion, or observation without writing the full post.
1gm-de-ai-article
用于修改公众号文章、博客草稿、newsletter 与观点文中明显模板化、套话化、过度工整的 AI 写作痕迹,并保住作者判断、经历与表达控制权。
1