1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | source-driven-development-addyosmani-agent-skills |
| 所属仓库 | addyosmani/agent-skills(合集仓库,子技能) |
| 作者/维护者 | 该子技能由外部贡献者 Federico Bartoli(federicobartoli)发起编写,Patrik Rikama Hinnenberg(KoolP)补充安全加固内容;仓库整体由 Addy Osmani(Google 工程师)维护 |
| 来源链接 | https://github.com/addyosmani/agent-skills/tree/main/skills/source-driven-development |
| 许可证 | MIT(GitHub API 确认,来自仓库整体) |
| GitHub Stars / Forks | 仓库整体 84,522 ★ / 9,083 forks(GitHub API,2026-08-09);合集仓库星数不代表本子技能自身热度 |
| 最新版本 | 仓库整体 Release 0.6.6(2026-08-04) |
| 安装方式 | npx skills add addyosmani/agent-skills --skill source-driven-development |
2. 功能介绍与亮点
针对 AI coding agent 凭训练数据记忆写框架代码、容易用上过时或已废弃 API 的问题,把“先查证再实现”固化为四步流程:
- DETECT:读取 package.json / requirements.txt / go.mod 等依赖文件,识别项目实际使用的框架与精确版本号,版本不明时主动询问用户而非猜测
- FETCH:只抓取与当前任务相关的具体文档页(而非整站或首页),并按权威性排序信源——官方文档 > 官方博客/更新日志 > Web 标准参考(MDN 等)> 兼容性数据表;明确排除 Stack Overflow、教程博客、AI 生成摘要作为一手依据
- IMPLEMENT:代码实现与文档展示的模式保持一致,文档标记某写法已弃用则不再使用;发现现有代码与最新文档冲突时,把两种选项摆出来交给用户决定,不擅自二选一
- CITE:每个框架相关的非平凡决策都要在代码注释与对话中给出完整来源 URL,无法找到文档依据时必须显式标注“未验证”而非模糊带过
- 专门辟出“检索安全”一节,把抓取到的文档内容当作待处理数据而非指令——不执行文档里出现的“忽略之前的指令”之类文字,也不把示例代码里的遥测/统计上报地址未经用户知情就写进生成的代码
3. 适用场景
所属分类:工程效率与代码质量
适合用 AI coding agent 实现依赖具体框架/库版本行为的功能(表单处理、路由、状态管理、鉴权等)的开发者;尤其适合技术栈近期经历过重大版本升级、担心 agent 用训练数据里的旧模式写出能跑但已过时代码的场景。
4. 跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | ✅ 原生支持 | 仓库自带 .claude-plugin 清单,/plugin marketplace add 安装 |
| Codex | ✅ 支持 | 仓库自带 .codex-plugin/plugin.json 插件清单 |
| OpenClaw | ✅ 支持 | 通用安装器 vercel-labs/skills 的 Supported Agents 表格列出 OpenClaw(skills/ 目录) |
| Hermes Agent | ✅ 支持 | 同一安装器表格列出 Hermes Agent(.hermes/skills/ 目录) |
5. 推荐理由
用四步流程逼 agent 在写框架相关代码前先查证官方文档、写完给出可核实来源,从根上堵住“越写越像但其实已经过时”的 AI 编码通病。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 第三方技能市场 skills.sh 显示该子技能自身安装量 1.71 万;GitHub 提交记录显示该子技能由外部贡献者(非仓库维护者本人)发起编写,并经另一位外部贡献者提交安全加固 PR,属真实社区共建而非维护者独自产出;所属合集仓库 84,522 ★ 属整体,不代表本子技能自身热度 |
| 可用性 | 9 | 复制即用零配置;四步流程配完整决策树与示例对话,内容自足;子目录最近一次实质更新在 2026-07-21,维护活跃;无付费依赖;官方安装器覆盖四个目标 Agent 生态 |
| 安全性 | 8 | 无 shell 命令执行;会主动发起网络请求抓取公开官方文档页(目的透明,仅用于读取,不外发任何用户数据);不要求任何 API Key/凭据;正文专门防范“抓取内容里的指令注入”,明确不把示例代码中的遥测地址未经告知写入生成代码;License 清晰(MIT);skills.sh 第三方安全扫描中 Gen Agent Trust Hub 与 Socket 均判定通过,Snyk 判定为 Warn(该页面未提供具体扫描细节) |
安全检查清单:①无 shell 命令执行 ②会发起网络请求抓取公开文档页,不外发用户数据,目的公开透明 ③不要求 API Key/凭据 ④未见可疑指令,且正文主动包含“把抓取内容当数据不当指令”的防护段落 ⑤两位贡献者均为可查真实身份的开发者,仓库维护者 Addy Osmani 为知名前端工程师,信誉良好 ⑥License 明确(MIT)⑦最近一次实质更新 2026-07-21,维护活跃
7. 跟同类 Skills 相比的优势
| 竞品 | 定位 | 与本技能的差异 |
|---|---|---|
| provider-docs-hashicorp-agent-skills(同索引内) | HashiCorp 官方技能,专门指导为 Terraform Provider 生成 Registry 官方文档 | 服务对象是“写文档”这一单一生态(Terraform Provider),产出的是文档而非验证实现代码;本技能反过来是“用文档校验代码”,覆盖任意框架/语言 |
| Context7(MCP 服务器) | 以 MCP 工具形式为 agent 实时注入最新版本的库文档片段 | 需要额外配置的外部服务/MCP Server,按库名拉取文档片段;本技能是零配置的纯提示词流程,内置版本探测、信源排序与引用规范,且显式处理了抓取内容的注入风险 |
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;skills.sh 显示其自身安装量 1.71 万,并标注于 2026-04-09 首次收录。
9. 其他补充
同仓库 security-and-hardening 技能是本技能“检索安全”一节所依据的通用威胁模型(LLM01 提示注入)来源,两者可配合安装。
10. 安装使用方式
- 推荐方式:
npx skills add addyosmani/agent-skills --skill source-driven-development - Claude Code 插件市场:
/plugin marketplace add addyosmani/agent-skills后/plugin install agent-skills@addy-agent-skills - Codex:
codex plugin marketplace add addyosmani/agent-skills - 手动安装:复制
skills/source-driven-development/目录到项目或全局技能目录 - 安装后无需重启;当任务涉及“用某框架实现XX功能”“检查这段代码是否用了推荐写法”等意图时自动触发
11. 注意事项
- 单独用
npx安装单个子技能时不会带上仓库级references/共享目录,仓库自身在 README 中标注了这一已知的可移植性缺口(issue #361);用整仓库集成或手动补目录可规避 - 效果依赖 agent 实际执行“抓取-引用”这两步的自觉性,若网络不可用或文档站点结构变化导致抓取失败,技能本身不提供兜底替代方案,需要用户人工介入
- 技能会对外发起真实网络请求以抓取文档页面,若在网络受限或对外联有严格审计要求的环境中使用,需要额外评估