我如何使用 Agent Skill:查找、安装与实践

太阳作者太阳
原创内容采用 CC-4.0 协议发布,转载请注明出处

这里记的是我查找、选择和使用 Agent Skill 的方法,不是一个追求数量的推荐目录。常用 Skill 的安装命令和实际边界也统一放在本文,方便放在一起比较。

Skill 是一组工作说明,通常保存在 SKILL.md。MCP 则向 Agent 提供外部工具或数据,两者不能混为一谈。例如 documentation-lookup Skill 可以指导文档查询,但只有配置 Context7 MCP 或安装对应 CLI 后,Agent 才真正获得查询能力。

查找和审阅 Skill

可以直接使用 npx skills 搜索,不需要先全局安装 CLI:

npx skills find
npx skills find <任务关键>

也可以在 skills.sh 按主题和来源浏览。搜索结果只是候选索引,安装前还要检查:

  • 来源仓库和维护状态;
  • SKILL.md 的完整内容;
  • 触发条件是否过宽;
  • 是否要求额外工具、网络服务或账号;
  • 是否会覆盖项目原有规则或增加明显的上下文成本。

如果只想查看一个仓库提供了哪些 Skill,不立即安装:

npx skills add OWNER/REPO --list

我也会使用 find-skills 帮忙找候选项:

npx skills add vercel-labs/skills --skill find-skills

它只负责发现候选项,不会替我判断是否值得安装。来源、权限和具体说明仍然要自己检查。

安装和管理

个人长期使用的 Skill 可以安装到全局,供多个项目使用:

npx skills add OWNER/REPO --skill SKILL_NAME --global

只服务于某个项目的 Skill 应安装到项目中,便于团队审阅和复现:

cd /path/to/project
npx skills add OWNER/REPO --skill SKILL_NAME

安装前先查看来源仓库和 SKILL.md。Skill 会改变 Agent 的行为和处理顺序,不能只看名称就长期启用。

常用管理命令如下:

# 查看已安装的 Skill
npx skills list

# 更新已安装的 Skill
npx skills update

# 删除不再使用的 Skill
npx skills remove SKILL_NAME

项目级安装便于随项目复现,全局安装适合个人通用工作流。我的做法是一次只安装一个候选项,确认它确实改善了结果,再决定是否长期保留。

开发流程与质量

Superpowers

obra/superpowers 是一组开发流程 Skill,不是单个工具。我会按任务安装其中需要的部分:

npx skills add https://github.com/obra/superpowers --skill using-superpowers
npx skills add https://github.com/obra/superpowers --skill systematic-debugging

常用的几个 Skill 分别处理不同阶段:

  • brainstorming:目标已经明确,但方案边界还没定时先比较实现路径。
  • systematic-debugging:先收集错误、复现条件和因果证据,再修改代码。
  • test-driven-development:适合行为边界明确、已有测试基础的功能。
  • verification-before-completion:交付前运行真实检查,不用“应该可以”代替结果。

简单文本修改或一眼能确认的小修复,没有必要加载完整开发流程。

查资料与写代码

documentation-lookup

这个 Skill 用来指导 Agent 查询会变化的库、框架、SDK、CLI 和云服务文档:

npx skills add https://github.com/upstash/context7 --skill documentation-lookup

提问时应写清库、版本和具体功能。例如:

查询 Next.js 当前版本中 redirects 的配置方式,只回答与 next.config.ts 有关的部分。

这比“查一下 Next.js 文档”更容易得到短而可用的结果。文档返回后还要与项目安装版本、类型定义和本地构建结果核对。

Skill 是工作说明,Context7 MCP 是外部工具。安装 Skill 不代表 MCP 已经连接;MCP 已加载也不代表每个任务都应该调用。远程服务的配置和调用边界见在 Codex 中接入 Context7 MCP

业务代码排错、普通重构、Git 操作和明确的仓库内事实,优先读取当前代码。用户已经给出指定文档或原始资料时,也应直接以该资料为准。

vercel-react-best-practices

写 React 和 Next.js 时,我用它复查组件边界、客户端状态、数据获取和渲染开销:

npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices

它适合这些任务:

  • 新增或重构 React 页面;
  • 检查 Server Component 与 Client Component 边界;
  • 排查数据请求瀑布;
  • 检查 bundle、重复渲染和交互延迟。

我不会为了符合清单而机械拆组件。单一调用方的小逻辑继续就近放置,只有真实复用或边界变清楚时才抽取。它也不能替代项目自己的 Next.js 文档、AGENTS.md 和验证命令。

界面设计

frontend-design

frontend-design 适合从零设计页面或重塑现有界面:

npx skills add anthropics/skills@frontend-design

我会先读取现有页面、组件和设计 token,再说明产品目标、主要用户和必须保留的交互。方向明确后才修改代码。

现有设计系统已经定义字体、颜色和间距时,Skill 应在这个范围内工作。只有用户明确要求重新设计,才扩大视觉变化。

它给出的是设计判断,不是渲染结果。最终仍要检查响应式布局、键盘操作、颜色对比度和真实内容长度。仓库禁止浏览器验证时,只能说明静态检查范围,不能把未看到的页面写成“已经一致”。

文本与文档

humanizer-zh

中文技术文章写完后,我用 humanizer-zh 删除套话、宣传式语言、机械并列和过度总结:

npx skills add https://github.com/op7418/Humanizer-zh.git

它主要处理这些内容:

  • 删除“至关重要”“深入探讨”这类没有信息量的词;
  • 打散连续的三段式并列;
  • 去掉宣传语、空泛结论和聊天式客套话;
  • 把模糊归因改成具体来源或明确的不确定状态;
  • 保留第一人称的实际判断和使用感受。

命令、配置、错误输出、日志、版本号和 API 字段不能为了“自然”而改写。作者注释、原始证据和明确引用也要保持不变。

我的顺序是先完成事实核对和结构调整,最后再做语言检查。内容证据还没稳定时就润色,只会把不确定信息写得更像真的。

使用原则

Skill 不能覆盖用户要求和项目的 AGENTS.md。项目规定不能启动浏览器、只能先规划或必须运行某个验证命令时,仍以这些规则为准。

Skill 也不是越多越好。启用后的说明会进入 Agent 上下文,还可能改变任务处理顺序。我通常只加载当前任务需要的能力,完成后再决定是否长期保留。

相关 MCP

参考