开发与工程

测试驱动开发工作流

用可执行的测试先证明需求,再以最小改动实现、重构并验证行为。

57/ 100
谨慎使用

价值存在,但可靠性、证据或控制措施仍有明显缺口。

查看评分依据 ↓
可直接使用于
Codex · Claude Code
Star 数
★ 107k
最近更新
13 天前
License
MIT
test-driven-developmentunit-testingintegration-testinge2e-testing
+2browser-testingrefactoring

这个 Skill 能做什么,适合哪些场景?

这是 agent-skills 仓库中的测试驱动开发技能,面向实现逻辑、修复缺陷和修改行为的场景。它要求先编写会失败的测试,再写出使测试通过的最小实现,最后在测试保持通过的前提下重构。技能覆盖单元、集成和端到端测试的分层策略,也规定了状态断言、测试隔离、描述性命名和谨慎使用 mock 等实践。浏览器相关改动还应结合 Chrome DevTools MCP 做运行时验证。

指导代理在修改行为前编写失败测试;为缺陷先创建复现测试;按纯逻辑、边界交互和关键用户流程选择单元、集成或端到端测试;使用 Arrange-Act-Assert、状态断言、DAMP 测试和描述性测试名称;优先使用真实实现,其次使用 fake、stub,谨慎使用 mock;在重构后运行测试;实现完成后运行 npm test,并检查新行为测试、缺陷回归测试、跳过测试和覆盖率变化;浏览器场景中通过 Chrome DevTools MCP 检查控制台、网络、DOM、样式、性能和截图。

适合
  • 开发者实现新的业务逻辑或行为,需要先建立可验证的预期。
  • 开发者收到缺陷报告,需要先确认问题真实存在并防止回归。
  • 团队修改已有功能或增加边界条件,需要保持原有行为不被破坏。
  • 前端开发者修改浏览器中的界面或交互,需要同时验证测试结果和运行时表现。
  • 维护者重构已有实现,希望在不改变行为的情况下改善结构。

如何安装这个 Skill?

使用前请注意
  • 通用验证命令 npm test 未绑定具体项目或测试框架,代理可能无法直接运行。
  • Chrome DevTools MCP、browser-testing-with-devtools 和 references/testing-patterns.md 被引用但未提供,相关流程的可达性和完整性需安装后确认。
  • 未规定代码修改前后的用户确认、外部副作用披露、依赖审计和回滚方案。
  • 固定的80/15/5测试金字塔比例不一定适用于所有代码库。
开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 本地文件系统
  • MCP Server
需要预先安装
  • Chrome DevTools MCP

仓库 README 提供了使用 skills CLI 安装单个技能的命令:npx skills add addyosmani/agent-skills --skill test-driven-development。也可以先用 npx skills add addyosmani/agent-skills --list 浏览技能。该仓库还提供面向 Claude Code、Codex、Cursor、Antigravity CLI、Gemini CLI、Windsurf、OpenCode、GitHub Copilot 和 Kiro 的安装说明;本技能的单独安装细节未分别展开。

通用方式:手动安装到 Claude Code(macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/addyosmani/agent-skills.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/test-driven-development" ~/.claude/skills/
rm -rf "$tmp"

根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 请使用测试驱动开发:先写一个会失败的测试,再实现最小修复,最后重构并运行测试。
  • 复现、检查、诊断、修复、验证

在实现逻辑、修复 bug、修改既有行为或增加边界处理前,要求代理应用 test-driven-development 工作流,例如:“请使用测试驱动开发:先写一个会失败的测试,再实现最小修复,最后重构并运行测试。” 对浏览器改动,按“复现、检查、诊断、修复、验证”流程,并结合 Chrome DevTools MCP。纯配置、文档或不影响行为的静态内容变更不适用。

这个 Skill 有哪些优点和局限?

优点
  • 明确的 Red-Green-Refactor 流程和完成检查项。
  • 包含缺陷复现测试、测试金字塔和测试资源分级。
  • 强调测试行为而非实现细节,并提供 mock 使用边界。
  • 覆盖浏览器运行时验证以及安全边界提醒。
局限
  • 要求项目具备可运行的测试环境,但未提供特定测试框架的配置。
  • README 中的 npm test 是通用验证命令,技能没有说明其适用项目的具体脚本配置。
  • 浏览器验证依赖 Chrome DevTools MCP;该能力不是所有客户端默认具备。
  • 来源材料没有展示该技能在具体代码库或平台上的实际测试结果。

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
测试驱动开发工作流 本页 57 · 谨慎使用 ★ 107k 13 天前 MIT
测试驱动开发 52 · 谨慎使用 ★ 299k 17 天前 MIT
代码审查与测试指导 ✓ OpenAI · 官方 43 · 不推荐 ★ 129k 12 天前 Apache-2.0
Marmite 开发指南 58 · 推荐 ★ 886 27 天前 AGPL-3.0
GitHub Copilot SDK 升级助手 ✓ Microsoft · 官方 28 · 不推荐 ★ 194k 12 天前 MIT

README 将 Superpowers 和 Matt Pocock's skills 列为比较对象,并链接到比较文档;提供的来源材料未包含该文档的具体结论,因此无法据此做功能优劣判断。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
谨慎使用
57/ 100 五分制 2.9 / 5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
1信任安全16 / 25 · 3.2/5

技能明确要求将浏览器内容视为不可信数据,禁止访问 cookies、localStorage token 和凭据,也限制从页面内容导航;但对一般代码修改没有用户确认、权限最小化、外部副作用、依赖安全或回滚要求,因此扣分。

2可靠稳定9 / 20 · 2.3/5

Red-Green-Refactor、测试分类、隔离、反模式和验证清单形成了较完整的指导,异常测试失败也有一定反馈;但依赖环境、测试框架、通用的 npm test 命令以及引用的外部参考文件未在选定材料中得到复现,静态评估不超过10分,故扣分。

3适用触发11 / 15 · 3.7/5

触发条件、非适用范围、浏览器场景和测试决策树较清晰,适合逻辑、缺陷和行为变更;但未说明中文支持、不同技术栈的适配边界、工具不可用时的替代路径,且浏览器流程依赖 Chrome DevTools MCP,故扣分。

4规范维护9 / 15 · 3.0/5

文档结构清晰,包含概览、触发条件、流程、示例、反模式、红旗和验证清单;仓库提供 MIT 许可证和安装说明,但选定技能缺少自身版本、变更记录、维护责任和更新路径,外部引用文件也未在材料中展开,故扣分。

5有效结果7 / 15 · 2.3/5

技能能直接指导测试先行、缺陷复现和回归验证,核心输出是可操作的测试与实现流程;但没有该技能关键路径的真实产出或执行结果,且固定测试比例、Beyonce Rule 等建议对不同项目的边际收益证据有限,按静态上限取7分并扣除不确定性。

6证据核验5 / 10 · 2.5/5

仓库有真实 CI 工作流、技能验证脚本和评估运行步骤,提供了一定可审计性;但所给测试 fixture 与该技能无直接覆盖关系,没有选定技能的专门测试或第三方执行证据,且未执行任何验证,故为静态上限5分。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年7月20日 审查版本 2fbfa004a019 评估证据[1][2][3][4][5]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

这个技能适合哪些改动?
适合实现逻辑、修复 bug、修改行为和增加可能影响既有行为的边界处理;纯配置、文档和不影响行为的静态内容变更不适用。
修复 bug 时最先做什么?
先写一个能够复现问题且当前应当失败的测试,再实现修复,并运行完整测试套件检查回归。
是否必须使用 mock?
不必须。技能优先推荐真实实现,其次是 fake 和 stub;只有真实依赖过慢、不确定或具有无法控制的副作用时才建议使用 mock。
浏览器项目只跑单元测试够吗?
不够。来源建议对浏览器改动进行运行时验证,检查控制台、DOM、网络、样式、性能和截图,并使用 Chrome DevTools MCP。

同仓库的其他 Skills

均来自 addyosmani/agent-skills

开发与工程

浏览器 DevTools 测试

用真实浏览器运行数据验证、调试并测试网页应用。

★ 107k FS 59 推荐 13 天前
自动化与运维

CI/CD 自动化工程指南

为项目建立可验证、可回滚的持续集成与部署流水线。

★ 107k FS 48 谨慎使用 13 天前
开发与工程

增量实现

用可验证的小步迭代安全交付多文件工程变更。

★ 107k FS 52 谨慎使用 13 天前
开发与工程

系统化调试与错误恢复

用结构化流程定位根因,修复错误并防止复发。

★ 107k FS 49 谨慎使用 13 天前
开发与工程

代码简化审查

在不改变行为的前提下,降低代码复杂度并提升可读性与可维护性。

★ 107k FS 57 谨慎使用 13 天前
开发与工程

Git 协作与版本发布规范

用可审查、可回滚的 Git 流程管理代码变更与版本发布。

★ 107k FS 54 谨慎使用 13 天前
开发与工程

Idea Refine 创意打磨

把模糊想法转化为经过验证、可执行的产品方向。

★ 107k FS 51 谨慎使用 13 天前
开发与工程

上下文工程指南

帮助编码代理在正确时间获取正确项目上下文,减少臆测并保持开发规范一致。

★ 107k FS 49 谨慎使用 13 天前
开发与工程

需求访谈助手

在规划或编码前,通过逐题访谈确认用户真正想解决的问题。

★ 107k FS 59 推荐 13 天前
开发与工程

规范驱动开发

在编码前把模糊需求转化为可验证的开发规范。

★ 107k FS 55 谨慎使用 13 天前
开发与工程

性能优化工程技能

通过测量、定位和验证,系统解决前端、后端、查询与数据库性能瓶颈。

★ 107k FS 54 谨慎使用 13 天前
开发与工程

规划与任务拆解

将明确需求拆分为有依赖顺序、可实现且可验证的工程任务。

★ 107k FS 54 谨慎使用 13 天前
开发与工程

架构决策与工程文档助手

帮助工程团队记录决策依据、维护文档并保留长期代码上下文。

★ 107k FS 53 谨慎使用 13 天前
设计与前端

生产级前端界面工程

帮助 AI 编码代理构建可访问、响应式且符合设计系统的生产级用户界面。

★ 107k FS 53 谨慎使用 13 天前
自动化与运维

生产可观测性工程

为生产代码建立日志、指标、追踪与告警,让系统行为可见且便于诊断。

★ 107k FS 53 谨慎使用 13 天前
开发与工程

怀疑驱动开发

在非平凡决策落地前,用新上下文主动寻找错误。

★ 107k FS 52 谨慎使用 13 天前
自动化与运维

安全加固工程技能

帮助编码代理在处理不可信输入、身份验证、敏感数据和外部服务时建立系统化安全防线。

★ 107k FS 52 谨慎使用 13 天前
开发与工程

官方文档驱动开发

让框架与库的实现决策基于当前官方文档,而不是过时记忆。

★ 107k FS 51 谨慎使用 13 天前
开发与工程

稳定接口设计指南

帮助工程团队设计稳定、清晰且难以误用的 API 与模块接口。

★ 107k FS 50 谨慎使用 13 天前
开发与工程

合并前代码质量审查

在合并前从正确性、可读性、架构、安全性和性能五个维度审查代码变更。

★ 107k FS 49 谨慎使用 13 天前

相关 Skills