AI技能库:提升编程助手专业能力的结构化知识模块
1. 项目概述:一个为AI开发者打造的技能库
如果你正在用Claude Code、Cursor这类AI编程助手,或者你在构建自己的AI Agent,那你肯定遇到过这样的问题:每次想让AI帮你处理一个特定领域的任务,比如审核一份智能合约的安全性,或者配置一个复杂的Vite项目,你都得从头开始写一大段提示词(Prompt)。这个过程不仅重复、低效,而且质量难以保证,毕竟不是每个人都是写提示词的高手。
这就是tenequm/skills这个项目要解决的核心痛点。它本质上是一个开源的、高质量的“AI技能库”。你可以把它想象成一个为AI编程助手准备的“NPM包管理器”或“插件市场”,只不过这里的“包”不是代码库,而是结构化的、可复用的知识模块——我们称之为“技能”(Skill)。
这个仓库由社区维护,里面打包了超过20个经过精心设计和验证的技能,覆盖了从Web3开发(如Solana、ERC-8004)、前端工程(React、Vite、Tailwind)、Python/TypeScript开发工具链,到产品增长策略、写作技巧等广泛领域。每个技能都是一个独立的文件夹,包含一个核心的SKILL.md文件,里面封装了让AI理解并执行特定任务所需的所有上下文、指令、示例和最佳实践。
1.1 核心价值:为什么你需要关注这个技能库?
对于开发者、创业者,尤其是Web3领域的Builder来说,这个技能库的价值是立竿见影的。
第一,它极大地提升了AI编程助手的“专业能力上限”。一个只经过通用训练的AI模型,可能对“Foundry测试框架的最佳实践”或“MPP支付协议的集成细节”知之甚少。但当你为它加载了对应的技能后,它瞬间就变成了这个领域的专家。这意味着你可以用自然语言直接提出复杂、专业的需求,比如“用Effect-TS为这个函数添加健壮的错误处理和资源管理”,AI就能基于技能中的知识,给出符合行业最佳实践的代码。
第二,它标准化和沉淀了团队或个人的知识资产。在团队协作中,如何确保每个人使用的AI助手都遵循同一套代码规范、安全审计流程或部署脚本?把你们内部的最佳实践打包成一个技能,分发给所有成员,就能实现知识的统一和传承。对于个人开发者,这也是一个绝佳的“第二大脑”扩展,把你摸索出来的高效工作流固化下来,随时调用。
第三,它提供了灵活多样的使用和分发方式。这也是这个项目设计上的精妙之处。它支持三种消费路径,适应不同场景:
- 通过ClawHub平台安装:这是最推荐的方式,类似于
npm install,一键安装,自动管理。 - 从GitHub Releases下载ZIP包:适合需要离线使用、审计源码,或集成到自有CI/CD流程中的场景。
- 直接查看GitHub源码:方便贡献者审查、学习技能的设计,或者基于现有技能进行二次开发。
项目通过一套自动化发布流程,确保这三种方式提供的技能内容都是同步且稳定的。当你通过ClawHub安装react-typescript技能时,你得到的和从Releases下载的ZIP包里的内容是完全一致的。
2. 技能库的架构与设计哲学
要真正用好这个技能库,我们需要先理解它的内在设计逻辑。这不仅仅是一个文件集合,其结构和发布流程都体现了对“AI技能”作为一种新型知识载体的深刻思考。
2.1 技能的结构:一个技能包里到底有什么?
每个技能都位于skills/<slug>/目录下。以skills/foundry-solidity/为例,它的典型结构如下:
skills/foundry-solidity/ ├── SKILL.md # 核心文件:技能的完整定义和指令 ├── references/ # (可选)参考文件,如配置示例、协议文档 ├── scripts/ # (可选)可执行的脚本或命令模板 ├── evals/ # (可选)评估用例,用于测试技能效果 └── assets/ # (可选)图片、图表等静态资源SKILL.md是这个技能的灵魂。它不是一个简单的README,而是一个高度结构化的“提示词工程”产物。一个设计良好的SKILL.md通常包含:
- 技能身份:名称、版本、作者。
- 核心描述:用一两句话清晰说明这个技能是做什么的。
- 触发词(Triggers):这是关键!它定义了在什么情况下AI应该自动激活这个技能。例如,
foundry-solidity技能的触发词包括“Foundry commands”、“Solidity testing”、“forge”、“cast”等。当你在对话中提到这些关键词时,AI就会自动加载这个技能的上下文,无需你手动提醒。 - 使用场景(When to use):更详细地描述应该在何种具体任务中使用本技能。
- 核心知识与指令:这是技能的主体,以清晰、无歧义的语言,向AI传授关于该领域的专业知识、操作步骤、常见模式、避坑指南等。这部分内容需要极高的质量,因为它直接决定了AI输出的专业度。
- 示例(Examples):提供输入/输出的对话示例,让AI更好地理解如何应用这些知识。
这种结构化的设计,确保了技能不仅仅是信息的堆砌,而是可操作、可触发、高质量的知识模块。
2.2 发布与消费路径解析
项目设计了三条清晰的消费路径,这背后是对不同用户需求和场景的考量。
路径一:ClawHub —— 面向终端用户的“应用商店”ClawHub可以理解为AI技能的发现和管理平台。对于绝大多数只想“使用”技能的用户来说,这是最友好的方式。你只需要一个简单的命令:
npx skills install tenequm/skills/react-typescript这个命令会从ClawHub拉取技能包,并安装到你的AI助手(如Claude Code)的技能目录中。之后,当你在编辑React+TypeScript项目时,AI会自动应用这些知识。这种方式屏蔽了底层细节,提供了依赖管理和更新检查。
路径二:GitHub Releases —— 面向开发者和集成者的“制品仓库”Releases页面提供了每个技能的独立ZIP打包文件。例如,react-typescript.zip。这种方式适合:
- 审计:你可以直接下载ZIP包,解压后审查
SKILL.md的全部内容,确保没有隐藏指令或安全问题。 - 离线/内网使用:将ZIP包分发到无法连接外部网络的开发环境。
- CI/CD集成:在自动化流程中,通过
curl命令下载特定版本的技能包,确保构建环境的一致性。 - 版本锁定:你可以选择下载某个特定版本(如
react-typescript@0.1.0.zip),而不是永远使用最新的skills-latest,这对于追求稳定性的生产环境很重要。
路径三:GitHub源码 —— 面向贡献者和学习者的“开放知识库”skills/目录下的所有源码都是公开的。这对于想要学习如何构建高质量技能、或者想要改进现有技能的开发者来说,是无价的资源。你可以看到每个技能是如何被构建的,触发词如何设计,知识如何组织。这也是社区协作的基础。
注意:项目通过自动化流程保证了这三条路径的最终一致性。每次向
main分支推送代码,如果检测到skills/<slug>/目录有变更,并且版本号已提升,自动化流程会:
- 运行代码检查(
pre-commit)。- 将变更的技能发布到ClawHub。
- 在GitHub上创建一个新的、不可变的发布(Release),包含所有技能的ZIP包。
- 更新一个名为
skills-latest的滚动发布,README中的下载链接始终指向这里的最新版本。这意味着,无论你通过哪种方式获取,只要是同一版本,内容绝对一致。
3. 核心技能深度解析与选型指南
面对技能表中琳琅满目的20多个技能,新手可能会感到无从下手。我将它们分为几个核心类别,并挑选几个最具代表性、最能体现项目价值的技能进行深度拆解,帮助你理解何时该用哪个。
3.1 基础设施与协议类技能:Web3开发的“瑞士军刀”
这类技能是针对区块链和去中心化协议开发的深度集成包,价值极高,因为它们封装了非常复杂和前沿的领域知识。
solana-security(Solana智能合约安全审计)
- 核心价值:将专业的智能合约安全审计知识固化成了AI可执行的流程。一个安全审计师需要多年的经验才能培养出对漏洞的直觉,而这个技能试图将这种直觉“灌输”给AI。
- 技能内容剖析:它不会只是泛泛而谈“要检查重入攻击”。它会具体到Solana和Anchor框架的上下文,例如:
- 如何检查
CPI(跨程序调用)中的权限验证是否完备,防止任意程序调用。 - 如何审计
PDA(程序派生地址)的生成和验证逻辑,确保其唯一性和安全性。 - 如何识别并防范基于Solana账户数据布局的特定攻击向量。
- 提供一份详尽的常见漏洞模式清单(Checklist),并附上漏洞代码和修复后的代码示例。
- 如何检查
- 使用场景:当你完成一个Solana程序(无论是用Anchor还是原生Rust)的初稿后,你可以让加载了此技能的AI对其进行“初审”。AI会基于技能中的知识,模拟审计师的思维,逐条检查可能的安全隐患,并给出风险报告和修改建议。这相当于为你的项目配备了一个24小时在线的初级安全顾问。
- 触发时机:当你的对话中出现“audit”、“security review”、“check for vulnerabilities”、“Solana program safety”等关键词时。
erc-8004与x402/mpp(去中心化AI代理与链上支付)这三个技能共同描绘了Web3与AI交叉领域的前沿图景。
erc-8004:关注身份与声誉。它封装了ERC-8004标准,该标准旨在为AI Agent提供链上身份、可验证的声誉系统和发现机制。技能里会包含如何使用Agent0 SDK进行Agent的注册、声誉查询和验证。x402和mpp:关注价值交换。它们封装了两种不同的“机器支付协议”。x402是一个更通用的、支持多链(EVM, Solana, Stellar等)的HTTP 402支付协议框架。mpp(Machine Payments Protocol) 则更侧重于与MCP(Model Context Protocol)生态的集成,用于AI Agent调用付费工具时的微支付流。- 内在联系:想象一个场景:一个具有
erc-8004链上身份的AI Agent,通过mpp协议,支付极小的费用(比如0.001美元)去调用一个需要付费的天气查询API。整个过程无需人类干预,完全由机器在链上完成身份验证和价值转移。这些技能正是为了帮助开发者构建这样的应用。 - 选型建议:如果你的应用涉及AI Agent的链上操作和支付,
mpp可能是更贴近MCP生态的选择。如果你需要构建一个通用的、支持多种支付方式和区块链的付费API网关,x402的覆盖面更广。而如果你关心Agent的身份和可信度,erc-8004是必选项。
3.2 开发效率与质量保障类技能:工程师的“副驾驶”
这类技能直接作用于日常开发工作流,提升代码质量和工程效率。
polish(代码预发布审查)这是我个人最推崇的技能之一。它模拟了一个高效的代码审查(Code Review)流程。
- 工作流程:当你运行
polish技能(或AI在触发后自动建议),它会:- 自动化检查:先运行项目的lint(代码风格检查)和type check(类型检查),这是基础门槛。
- 多智能体并行审查:启动三个虚拟的“审查专家”并行工作:
- 清洁度专家:检查代码风格、命名一致性、注释清晰度。
- 设计专家:审视架构设计、模块划分、API设计是否合理。
- 效率专家:分析算法复杂度、性能瓶颈、潜在的内存泄漏。
- 报告合成与修复:将三位专家的意见汇总成一份统一的审查报告,并在获得你批准后,自动尝试应用这些修复建议。
- 与
review-github-pr的区别:polish作用于本地变更,在git commit之前。review-github-pr则用于审查GitHub上已存在的Pull Request。一个防患于未然,一个协作中把关。 - 实操心得:不要完全依赖AI的自动修复。务必仔细阅读合成后的报告,理解每一项建议背后的原因。AI的“设计专家”可能会提出一些有争议的重构建议,你需要结合项目实际情况判断是否采纳。把这个技能当作一个强制你进行“自我代码审查”的触发器,效果最佳。
biome与python-dev(现代化开发工具链配置)这两个技能分别锁定了前端和Python两个生态的最新、最流行的工具链选择。
biome:它坚定地推荐Biome作为ESLint + Prettier的替代品。技能里会详细解释为什么Biome更快(Rust编写)、配置更简单(一体化),以及如何从旧工具迁移。它会提供具体的biome.json配置示例,涵盖类型感知的linting规则、GritQL自定义规则、导入排序等。python-dev:它封装了一个“开箱即用”的现代Python开发环境:用uv做包管理和虚拟环境(替代pip/venv),用ruff做极速linting和格式化(替代flake8/black/isort),用ty进行类型检查,用pytest测试,用just作为任务运行器。技能会提供一个近乎完美的pyproject.toml模板和justfile示例。- 价值:对于新项目,直接应用这些技能可以让你瞬间达到最佳实践起跑线。对于老项目,它们提供了清晰的迁移指南。这节省了大量查阅、对比、配置工具的时间。
3.3 思维框架与软技能类技能:创业者的“决策辅助”
这类技能超越了代码,提供了方法论和思维模型。
founder-playbook(创业者决策手册)这个技能非常独特。它不是教你写代码,而是帮你“做决策”。当创业者面临“我该先做哪个功能?”、“这个融资条件该接受吗?”、“我的增长策略对吗?”这类模糊且压力巨大的问题时,这个技能能提供结构化的思考框架。
- 工作方式:它会引导你通过一系列问题来“压力测试”你的决定。例如,对于“是否该增加这个新功能”,它可能会问:
- “这个功能解决了哪个核心用户痛点?有数据或用户反馈支持吗?”
- “实现它需要多少资源?会延迟我们更重要的目标吗?”
- “如果我们不做,最坏的情况是什么?如果我们做了,但失败了,能承受吗?”
- “有没有更简单、更快的替代方案能达到类似效果?”
- 本质:它把YC(Y Combinator)等顶级孵化器里常见的创始人辅导对话,以及《精益创业》等书中的思维模型,固化成了一个可随时对话的“虚拟联合创始人”或“创业教练”。它不能替你决定,但能确保你的思考过程更全面、更理性。
impactful-writing(影响力写作)这个技能适用于任何需要文字输出的场景:写项目README、写推文、写博客、写邮件、写产品文档。它教你如何让文字更清晰、更有感染力、更易于传播。
- 核心技巧:技能里会包含诸如“金字塔原理”(结论先行)、“故事化表达”、“消除模糊语”、“使用主动语态”、“设计钩子(Hook)和共鸣点”等具体技巧,并辅以大量的“修改前”和“修改后”的对比示例。
- 使用场景:当你写完一段项目介绍后,可以让AI加载此技能并请求:“请用影响力写作的原则,优化下面这段文字。”你会得到一份更具说服力和传播力的版本。
4. 技能的使用、集成与自定义实战
了解了有什么技能以及何时用,接下来我们进入实战环节:如何安装、使用,以及最重要的——如何根据自己的需求创建自定义技能。
4.1 安装与基础使用
通过ClawHub安装(推荐)这是最主流的方式。首先,确保你的AI助手环境(如Claude Code)支持技能管理。通常,你需要一个对应的命令行工具skills-cli。
# 安装一个技能,例如React+TypeScript开发技能 npx skills install tenequm/skills/react-typescript # 安装后,通常需要重启你的AI助手客户端,或者重新加载技能列表安装成功后,当你打开一个.tsx文件并与AI对话时,提到“React component”、“TypeScript interface”等关键词,AI就会自动激活react-typescript技能,其回答会融入该技能包含的最佳实践,比如推荐使用React 19的usehook来处理异步数据,或者使用更严格的TypeScript配置。
通过GitHub Releases直接下载适用于需要将技能包嵌入到内部工具链或离线环境的场景。
# 下载最新版的 react-typescript 技能包 curl -LO https://github.com/tenequm/skills/releases/download/skills-latest/react-typescript.zip unzip react-typescript.zip -d ./my-local-skills/解压后,你会得到完整的技能目录。你可以手动将其内容复制到你的AI助手技能目录,或者编写脚本将其集成到你的内部系统中。
4.2 技能的自定义与创建
官方的技能库很棒,但真正的威力在于你能为自己团队或特定项目创建专属技能。项目提供了两个关键技能来帮助你完成这件事:skills-best-practices和skill-seekers-ref。
第一步:学习最佳实践 (skills-best-practices)在动手之前,强烈建议先让AI加载skills-best-practices技能。这个技能本身就是一份关于“如何构建高质量技能”的终极指南。它会详细讲解:
SKILL.md的标准结构:从frontmatter(元数据)到描述、触发词、使用场景、核心内容、示例的每一个部分应该如何撰写。- 渐进式披露(Progressive Disclosure)原则:不要在一开始就用海量信息淹没AI。技能应该像一本好的教程,先给核心摘要,再根据对话深度逐步提供细节。
- 触发词设计技巧:触发词要具体、有区分度。避免过于宽泛的词汇。好的触发词是技能能否被正确调用的关键。
- 测试与调试:如何为你的技能编写测试用例(放在
evals/目录),确保它能在各种对话场景下被正确触发并产生预期输出。
第二步:从现有知识源生成技能骨架 (skill-seekers-ref)如果你已经有一份完善的文档、一个GitHub仓库、一个PDF手册,甚至是一个YouTube视频,你可以使用skill-seekers-ref技能来快速生成一个技能初稿。
# 假设你有一个本地文档目录 ./my-project-docs/ # 你可以让加载了 skill-seekers-ref 技能的AI帮你分析 # 提示词示例:“请分析 ./my-project-docs/ 目录下的内容,并为我生成一个关于‘MyInternalAPI使用指南’的技能骨架。”这个技能背后的skill-seekersCLI工具会扫描你的知识源,提取关键概念、常见问题、代码示例,并尝试组织成一个结构化的SKILL.md文件。这极大地降低了从零开始的成本。
第三步:手动精炼与迭代自动生成的骨架是起点,绝非终点。你需要以“技能消费者”的视角,亲自使用和测试这个技能。
- 填充血肉:根据
skills-best-practices的指导,完善描述,精心设计触发词,补充只有你们团队才知道的“坑点”和“秘籍”。 - 内部测试:让团队其他成员安装这个技能,并在实际工作中使用。收集反馈:“它被触发了吗?”、“它给的建议有用吗?”、“有没有遗漏重要场景?”
- 创建评估用例:在
evals/目录下,创建一系列.json或.txt文件,模拟真实的用户对话。例如,一个eval文件可能包含用户提问:“如何用我们的API上传文件?” 以及期望的、包含正确代码示例和注意事项的AI回答。运行这些eval来确保技能的稳定性。
一个自定义技能的例子:内部部署脚本技能假设你的团队有一个复杂的、多步骤的服务器部署流程,涉及Git拉取、Docker构建、K8s配置更新、数据库迁移等。你可以创建一个deploy-production技能。
- SKILL.md:详细描述每一步的操作、前置检查、回滚方案。
- scripts/:存放可复用的Bash或Python脚本片段。
- references/:存放K8s配置文件模板、环境变量说明。
- 触发词:“deploy to prod”, “production deployment”, “run the deploy script” 这样,任何团队成员(或新加入的成员)在需要部署时,只需对AI说“准备部署到生产环境”,AI就能基于这个技能,一步步引导他完成整个流程,极大降低了操作风险和新人上手门槛。
5. 高级应用、问题排查与社区生态
当你熟练使用现有技能并开始创建自定义技能后,你会遇到一些更深入的问题和需求。本章节将探讨高级应用场景、常见问题排查,以及围绕此项目的社区生态。
5.1 技能的组合与链式调用
单个技能的力量是有限的,但技能之间可以产生协同效应,实现“1+1>2”的效果。AI助手可以同时加载多个相关技能,并在一个对话中综合运用它们。
场景示例:开发一个带有支付功能的Web3前端你的任务是:“构建一个React前端,连接用户钱包,并集成MPP协议实现内容付费解锁。”
- AI首先被
react-typescript技能触发,开始搭建项目框架、组件结构。 - 当对话涉及“钱包连接”时,
privy-integration技能被触发,提供Privy SDK的集成步骤和React Hook用法。 - 当提到“支付”、“MPP”时,
mpp技能被触发,指导如何在前端初始化MPP客户端、创建支付会话(Session)、监听支付状态。 - 在编写样式时,
shadcn-tailwind技能被触发,提供现成的UI组件和Tailwind工具类建议。 - 最后,在代码完成准备提交前,
polish技能被触发,进行一轮代码审查和清理。
整个过程中,AI就像一个拥有多个专业顾问的团队领队,根据任务的不同阶段,调用不同的专家知识。这要求技能设计者要有一定的“边界意识”,让每个技能专注自己的领域,避免功能重叠和触发冲突。
5.2 常见问题与排查技巧
在实际使用中,你可能会遇到技能不触发、效果不理想等问题。以下是一些排查思路:
| 问题现象 | 可能原因 | 排查步骤与解决方案 |
|---|---|---|
| 技能完全不被触发 | 1. 技能未正确安装。 2. 触发词(Triggers)设计不当或与用户问题匹配度低。 3. AI助手的技能加载机制有误。 | 1. 运行npx skills list确认技能已安装且启用。2. 仔细阅读技能的 SKILL.md,查看其“Triggers”部分。尝试在对话中精确使用这些触发词或短语。3. 重启AI助手客户端,或检查其设置中关于技能路径的配置。 |
| 技能被触发但回答泛泛而谈 | 1. 技能内容质量不高,缺乏具体、可操作的指令。 2. 用户问题过于宽泛,技能无法定位到具体子任务。 | 1. 作为使用者:在提问时尽量具体。例如,不要问“怎么用React?”,而是问“如何用React 19的Actions来处理这个表单提交?”。 2. 作为创建者:回顾并优化你的技能内容。确保核心指令部分有清晰的步骤、代码示例和“避坑指南”。参考 skills-best-practices。 |
| 多个技能冲突触发 | 两个技能的触发词有重叠,导致AI困惑。 | 1. 检查技能触发词。好的触发词应具有领域特异性。例如,solana-development和solana-security都包含“Solana”,但后者应更侧重于“audit”、“security”、“vulnerability”等词。2. 在自定义技能时,避免使用过于通用的词汇作为主要触发词。 |
| 技能版本更新后行为异常 | 新版本技能的内容发生了较大变化,与你的预期或现有工作流不兼容。 | 1. 查看该技能在GitHub Releases页面的更新日志(如果有)。 2. 考虑暂时锁定旧版本。通过GitHub Releases下载特定版本的ZIP包(如 react-typescript@0.1.0.zip)并使用,而不是始终跟踪skills-latest。3. 如果问题普遍,可在项目仓库提交Issue。 |
| 通过ClawHub安装失败 | 网络问题、ClawHub服务暂时不可用、或本地CLI工具版本过旧。 | 1. 检查网络连接。 2. 尝试通过GitHub Releases直接下载ZIP包作为备用方案。 3. 更新 skills-cli工具:npm update -g skills-cli。 |
实操心得:如何设计高效的触发词?触发词是技能的“门铃”。设计时,要站在用户的角度思考他们会怎么提问。一个好的方法是:
- 列出核心任务:你的技能主要解决什么问题?(例如,“配置Biome”)。
- 联想相关词汇:用户会用什么词来描述这个任务?(“linting”, “formatting”, “biome config”, “migrate from eslint”)。
- 增加具体场景:在什么文件或上下文中会用到?(“biome.json”, “when I run
biome check”)。- 避免过度宽泛:不要只用“code”或“tool”这种词。结合领域,如“frontend linting”就比“linting”更好。
- 测试:将你设计的触发词放入
SKILL.md,安装技能,然后用各种你预想中的方式提问,看技能是否能被稳定触发。
5.3 社区生态与未来展望
tenequm/skills不仅仅是一个仓库,它更是一个生态的起点。它的价值随着社区贡献的技能数量和质量而增长。
当前的生态位:
- 核心维护者:提供高质量的基础设施、协议、开发工具链技能,确保项目的“基准”水平。
- 社区贡献:通过GitHub的Issues和Pull Requests,任何人都可以提交新技能或改进现有技能。项目中的
CONTRIBUTING.md和自动化检查工具(just check)降低了贡献门槛。 - 平台集成:与ClawHub的深度集成,为技能提供了分发的“应用商店”。
未来的可能演进:
- 技能市场与商业化:可能会出现更成熟的技能市场,优秀技能的创作者可以获得激励。
mpp和x402技能已经为“技能即服务”的微支付奠定了基础。 - 技能依赖管理与组合:像NPM有
package.json一样,未来技能或许可以声明依赖关系。例如,一个nextjs-web3技能可能依赖react-typescript、privy-integration和mpp技能。 - 技能的可视化编辑与测试工具:出现专门用于编写、调试、测试
SKILL.md文件的GUI工具或在线平台,进一步降低创建门槛。 - 跨模型与跨平台:目前技能主要面向Claude生态,但其设计理念(一个结构化的Markdown知识包)是通用的。未来可能衍生出适配其他AI模型(如GPTs、Gemini)或平台(如Cursor、Windsurf)的版本或转换工具。
对于开发者而言,现在深入理解和参与这个生态,不仅是为了提升当下的开发效率,更是在为未来“AI原生”的软件开发模式积累经验和资产。无论是作为使用者、贡献者,还是借鉴其思想构建自己的内部技能体系,tenequm/skills项目都提供了一个极具前瞻性和实用性的范本。
