Skip to content
Back to skills

Spec Driven Zh

ASecurity

规格驱动开发、先写 spec 再写代码、PRD 与需求文档、能力地图拆分。当用户说「新项目/新功能先写个 spec」「需求太模糊帮我写成文档」「写 PRD」「这个需求包了好几块怎么拆」「把'做快点'变成可验收的指标」时使用。门控流程:阶段 0 范围检查(一个需求捆了多个可独立测试的能力时先出能力地图:模块 id、依赖方向、构建顺序)→ 阶段 1 Specify(先亮出假设;六大要素:目标、命令、项目结构、代码风格、测试策略、边界三层;模板;把指令改写成成功标准)→ 阶段 2 Plan → 阶段 3 Tasks → 阶段 4 Implement,每阶段人审通过才进下一阶段;spec 是活文档。改编自 addyosmani/agent-skills 的 spec-driven-development(MIT)。

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 13, 2026
ai-agentssqltestinggit

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 13, 2026

npx -y skills add po-et/workbuddy-skills --skill spec-driven-zh --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Spec Driven Zh?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Spec Driven Zh
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/po-et-spec-driven-zh/badge)](https://www.skillsdirectory.com/skills/po-et-spec-driven-zh)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: spec-driven-zh
description: 规格驱动开发、先写 spec 再写代码、PRD 与需求文档、能力地图拆分。当用户说「新项目/新功能先写个 spec」「需求太模糊帮我写成文档」「写 PRD」「这个需求包了好几块怎么拆」「把'做快点'变成可验收的指标」时使用。门控流程:阶段 0 范围检查(一个需求捆了多个可独立测试的能力时先出能力地图:模块 id、依赖方向、构建顺序)→ 阶段 1 Specify(先亮出假设;六大要素:目标、命令、项目结构、代码风格、测试策略、边界三层;模板;把指令改写成成功标准)→ 阶段 2 Plan → 阶段 3 Tasks → 阶段 4 Implement,每阶段人审通过才进下一阶段;spec 是活文档。改编自 addyosmani/agent-skills 的 spec-driven-development(MIT)。
author: Captain
version: 0.1.0
display_name: "规格驱动开发(先 Spec 后代码)"
display_name_en: "Spec-Driven Development (zh)"
description_zh: "写代码前先写 spec:范围检查与能力地图、先亮假设、六要素模板(目标/命令/结构/风格/测试/边界)、把模糊需求改写成成功标准,Specify→Plan→Tasks→Implement 逐门人审。"
description_en: "Spec before code: scope check with a capability map, surface assumptions, a six-area template (objective/commands/structure/style/testing/boundaries), reframe vague asks as success criteria, human-gated Specify→Plan→Tasks→Implement."
examples_zh:
  - "给这个新功能写一份 spec,包含验收标准和边界"
  - "这个需求包了身份、计费、通知三块,先帮我出能力地图"
  - "把'让后台更快'改写成可验收的指标"
examples_en:
  - "Write a spec for this feature with acceptance criteria and boundaries"
  - "This request bundles identity, billing and notifications, give me a capability map first"
  - "Turn 'make the admin faster' into testable success criteria"
metadata:
  { "openclaw": { "requires": { "bins": [] }, "os": ["darwin", "linux", "windows"], "emoji": "📋" } }
---

# 规格驱动开发(先 Spec 后代码)

spec 是你和工程师之间的**共享事实来源**:做什么、为什么、怎么算做完。没有 spec 的代码是猜。
用于:新项目/新功能;需求模糊;改动跨多个模块;将要做架构决策;实现超过 30 分钟。不用于:单行修复、错别字、需求无歧义且自包含的改动。

## 门控流程
Specify → Plan → Tasks → Implement,每一步**人审通过**才进下一步。前面还有个只在需要时激活的阶段 0。

### 阶段 0:范围检查(只处理例外)
一个需求捆了多个**可独立测试的能力**时先拆:需求点名了各有消费者或数据的不同能力(身份、计费、通知、报表);验收标准聚成可分别交付验证的几组;砍掉一个能力不用重写其他的需求。
**先出能力地图再写任何 spec**——小而可审:模块表(id / 职责 / 依赖)+ 构建顺序。模块 id 用 kebab-case、定了不改;依赖单向无环(互相依赖就是一个模块);接口写在提供方模块的 spec 里。地图也要人审。然后按依赖顺序对每个模块跑 Specify→Plan→Tasks→Implement,各自一份 `SPEC-<id>.md`,地图是索引。

### 阶段 1:Specify
先亮假设:
```
我正在假设:1. 这是 Web 应用不是原生 2. 会话 cookie 不是 JWT 3. 数据库是 PostgreSQL 4. 只支持现代浏览器
→ 现在纠正我,否则按此进行。
```
不要默默补全模糊需求——spec 的全部意义就是在写代码前暴露误解。
六大要素:**目标**(做什么、为什么、给谁、成功是什么);**命令**(完整可执行的构建/测试/lint/dev 命令,不只是工具名);**项目结构**(源码、测试、文档在哪);**代码风格**(一段真实代码胜过三段描述);**测试策略**(框架、位置、覆盖预期、各层测什么);**边界三层**(总是做:提交前跑测试、遵守命名、校验输入;先问:改 schema、加依赖、改 CI;绝不:提交密钥、改 vendor、未经批准删失败测试)。
模板小节:目标 / 技术栈 / 命令 / 项目结构 / 代码风格 / 测试策略 / 边界 / 成功标准 / 开放问题。项目已用 OpenSpec 等规格工具就沿用其格式,本技能只负责澄清、内容与审批门。
**把指令改写成成功标准**:"让仪表盘更快" → LCP < 2.5s(4G)、首屏数据 < 500ms、CLS < 0.1 → "这些目标对吗?"

### 阶段 2:Plan
识别组件与依赖、实现顺序、风险与缓解、可并行与必须串行、阶段间验证检查点。机制细节以「实施计划与任务拆解」为准,产出 `tasks/plan.md` 与任务清单。计划要让人能说"对,就这么做"或"改 X"。

### 阶段 3:Tasks
每个任务一次会话可完成、有验收标准、有验证步骤(测试/构建/手工)、按依赖排序、不超过 ~5 个文件。

### 阶段 4:Implement
按「增量实现」与「测试驱动」逐任务做;用「上下文工程」只加载相关 spec 段落而不是整份 spec。

## 让 spec 活着
决策变了先改 spec 再实现;范围变了同步;spec 进版本控制;PR 引用它实现的 spec 小节。

## 合理化借口对照

| 借口 | 现实 |
|---|---|
| "太简单不需要 spec" | 简单任务不需要长 spec,但需要验收标准;两行也行 |
| "写完代码再写 spec" | 那是文档不是规格;价值在写代码前逼出清晰 |
| "spec 拖慢我们" | 15 分钟的 spec 省几小时返工 |
| "需求反正会变" | 所以它是活文档;过时的 spec 也强过没有 |
| "用户知道自己要什么" | 清晰的请求也有隐含假设,spec 把它们暴露出来 |
| "一个大功能,拆是负担" | 验收标准能聚成独立组就该出十行地图,否则每个下游任务都得推理整份契约 |
| "计划阶段再拆" | 计划在 spec 内切任务;模块边界和依赖方向要在写 spec 前定 |

## 红灯
没有书面需求就写代码;问"要不要直接开始做"却没定义"做完";实现任何 spec 或任务里没有的功能;架构决策没记录;"显然该做什么"所以跳过 spec;一份 spec 横跨多个可独立测试的能力;模块边界在实现中被隐式决定。

## 验收
- [ ] spec 覆盖六大要素 - [ ] 人已审批 spec - [ ] 成功标准具体可测 - [ ] 边界三层已定义
- [ ] spec 存在仓库里 - [ ] 多能力需求先批了能力地图 - [ ] 每份模块 spec 对应地图里的 id

---
改编自 [addyosmani/agent-skills](https://github.com/addyosmani/agent-skills) 的 `spec-driven-development`(MIT)。改动见 ATTRIBUTION.md。

Files in this skill

  • ATTRIBUTION.md1.2 KB
  • SKILL.md6.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.