Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/233i/agent-skills/spec-driven-developmentnpx skills add 233i/agent-skills --skill spec-driven-developmentgit clone --depth 1 https://github.com/233i/agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/233i/agent-skills/spec-driven-development)<a href="https://agentmods.dev/skills/233i/agent-skills/spec-driven-development"><img src="https://agentmods.dev/badge/skills/233i/agent-skills/spec-driven-development.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00058 | $0.01966 |
| Opus 5 | $0.00029 | $0.00983 |
| Sonnet 5 | $0.00012 | $0.00393 |
| Haiku 4.5 | $0.00006 | $0.00197 |
Grade A, and why
spec-driven-development scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
98% identical to spec-driven-development — 192 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 201 lines — stays where its author put it; the contents beside it link to each section on GitHub.
规格驱动开发
概览
在写任何代码之前,先写一份结构化的规格说明。Spec 是你和人类工程师之间共享的事实来源,它定义了我们要构建什么、为什么构建,以及如何判断它已经完成。没有 spec 的代码,本质上是在猜。
何时使用
- 开始一个新项目或新功能
- 需求有歧义或不完整
- 改动会涉及多个文件或模块
- 你将要做架构决策
- 任务实现预计会超过 30 分钟
不适用的场景: 单行修复、拼写修正,或需求已经非常明确且范围自洽的小改动。
分阶段工作流
Spec-driven development 分为四个阶段。当前阶段没有通过验证前,不要进入下一个阶段。
SPECIFY ──→ PLAN ──→ TASKS ──→ IMPLEMENT
│ │ │ │
▼ ▼ ▼ ▼
Human Human Human Human
reviews reviews reviews reviews
阶段 1:明确规格(Specify)
从高层愿景开始。持续向人类提出澄清问题,直到需求足够具体。
立刻暴露假设。 在写任何 spec 内容之前,先列出你当前的假设:
我当前的假设:
1. 这是一个 Web 应用,不是原生移动端
2. 认证使用基于 session 的 cookie,而不是 JWT
3. 数据库是 PostgreSQL(基于现有 Prisma schema 推断)
4. 目标仅为现代浏览器,不考虑 IE11
→ 如果不对请现在纠正,否则我会按这些继续。
不要悄悄补齐有歧义的需求。Spec 的全部价值,就是在代码写下去之前先暴露误解,而假设正是最危险的误解形式。
写一份覆盖以下六个核心区域的 spec 文档:
-
Objective:我们要做什么,为什么做?用户是谁?成功的标准是什么?
-
Commands:给出完整可执行命令和参数,而不是只写工具名。
Build: npm run build Test: npm test -- --coverage Lint: npm run lint --fix Dev: npm run dev -
Project Structure:源码在哪里、测试在哪里、文档放哪里。
src/ → 应用源码 src/components → React 组件 src/lib → 共享工具 tests/ → 单元与集成测试 e2e/ → 端到端测试 docs/ → 文档 -
Code Style:一个真实代码片段,比三段文字描述更有用。包括命名约定、格式规则,以及好的输出示例。
-
Testing Strategy:使用什么框架,测试放在哪里,覆盖率预期如何,不同关注点分别用哪一层测试。
-
Boundaries:三层边界系统:
- Always do: 提交前跑测试、遵循命名规范、做输入校验
- Ask first: 改数据库 schema、加依赖、改 CI 配置
- Never do: 提交 secrets、编辑 vendor 目录、未经批准删除失败测试
Spec 模板:
# Spec: [项目/功能名称]
## Objective
[我们要构建什么、为什么。用户故事或验收标准。]
## Tech Stack
[框架、语言、带版本的关键依赖]
## Commands
[Build、test、lint、dev 的完整命令]
## Project Structure
[目录结构及说明]
## Code Style
[示例片段 + 关键约定]
## Testing Strategy
[框架、测试位置、覆盖要求、测试层级]
## Boundaries
- Always: [...]
- Ask first: [...]
- Never: [...]
## Success Criteria
[如何判断完成,必须是具体且可测试的条件]
## Open Questions
[任何仍需人类确认的未决问题]
把模糊指令改写成成功标准。 当接收到模糊需求时,把它翻译成明确条件:
原始需求:"让 dashboard 更快"
改写后的成功标准:
- Dashboard 的 LCP 在 4G 网络下 < 2.5s
- 初始数据加载在 < 500ms 内完成
- 加载期间没有布局偏移(CLS < 0.1)
→ 这些目标对吗?
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 201 lines · 58 tokens per session scan A a6aac3ddf29a
spec-driven-development is a skill published in the GitHub repository 233i/agent-skills (6 stars, last pushed 4mo ago), licensed MIT. It adds 58 tokens to every session and 1,966 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to spec-driven-development, differing in 192 lines, and is treated as a copy.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…