Research Brief / AI 编程方法论
Spec-based AI 编程框架对比报告:OpenSpec、Spec Kit、BMAD、Matt Skills、Addy Agent Skills
对比五类 spec-based / skill-based AI 编程框架的使用方法、业务场景、成熟度和组合路线,给日常开发、正式项目和从 0 到 1 产品建立不同重量级的工作流。
核心判断:OpenSpec 是日常变更档案;Spec Kit 是正式规格工厂;BMAD 是 AI 产品团队;Matt skills 是个人工程肌肉;Addy agent-skills 是团队工程纪律包。它们不是简单竞品,最好的用法是分层组合。
1. 核心结论
这几类工具不能简单看成同一赛道的竞品。更准确的分层是:
- Spec / Method 层:OpenSpec、GitHub Spec Kit、BMAD Method,解决“需求、方案、任务、实现怎么流转”。
- Skill / Discipline 层:Matt Pocock skills、Addy Osmani agent-skills,解决“agent 写代码时怎么保持工程纪律”。
不建议只选一个。更好的做法是:日常开发用 OpenSpec + Matt skills;正式项目用 Spec Kit + Addy agent-skills;从 0 到 1 产品用 BMAD + Matt/Addy 精选 skills。
2. 为什么 spec-based AI 编程重要
AI coding 的早期形态是 prompt-driven:用户描述需求,agent 直接写代码。这种方式在 demo 和小改动里很快,但在真实项目里容易出现需求只存在聊天上下文、agent 自动补假设、实现与意图不可追踪、文档与代码分叉等问题。
spec-based 方法的核心是把“意图”变成可版本化的工程资产:
Idea → Spec → Plan → Tasks → Implementation → Verification → Archive
它不是回到传统瀑布,而是把 AI 最容易出错的部分前移:先澄清、先定边界、先拆任务,再写代码。
3. OpenSpec:轻量变更管理,适合 brownfield
项目:Fission-AI/OpenSpec。OpenSpec 的核心理念是 fluid not rigid、iterative not waterfall、easy not complex、brownfield-first。
openspec/
├── specs/ # 当前系统真实行为的 source of truth
└── changes/ # 每个变更一个文件夹,含 proposal/spec/design/tasks
使用:
npm install -g @fission-ai/openspec@latest
cd your-project
openspec init
/opsx:propose add-dark-mode
/opsx:apply
/opsx:archive
适合已有项目中新增功能、修 bug、中小型改造、多 change 并行,以及希望低成本获得 spec discipline 的团队。不太适合大型企业审批链和从 0 到 1 产品发现。
4. GitHub Spec Kit:正式 SDD 工具包
项目:github/spec-kit。Spec Kit 强调 spec 不再是代码辅助材料,而是代码生成和演化的主驱动。
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
specify init my-project --integration copilot
/speckit.constitution
/speckit.specify
/speckit.clarify
/speckit.plan
/speckit.tasks
/speckit.analyze
/speckit.implement
/speckit.converge
适合正式项目启动、重大功能、企业团队、合规/审计/可追踪要求强的项目。它支持 extensions、presets 和 project-local overrides,适合企业模板化。
缺点是偏重,小需求容易过度流程化;如果没人维护 spec,会变成“AI 生成文档堆”。
5. BMAD Method:AI 敏捷团队
项目:bmad-code-org/bmad-method。BMAD 不是单纯 spec 工具,而是一套 AI-native agile development framework,覆盖从想法到交付的全过程。
npx bmad-method install
bmad-help
核心流程:
1. Analysis # brainstorming / research / product brief / PRFAQ
2. Planning # PRD 或 spec
3. Solutioning # architecture / epics / stories / readiness check
4. Implementation # sprint planning / create story / dev story / code review
适合从 0 到 1 的新产品、AI 扮演产品/架构/研发团队、复杂产品规划。缺点是最重,方法论感最强,小 feature 会显得过度。
6. Matt Pocock skills:个人工程师技能库
项目:mattpocock/skills。它不想让大框架接管整个流程,而是把真实工程师每天用的习惯做成可组合 skill。
npx skills@latest add mattpocock/skills
/setup-matt-pocock-skills
代表性 skills:
/grill-me
/grill-with-docs
/to-prd
/to-issues
/tdd
/diagnosing-bugs
/improve-codebase-architecture
/triage
适合个人工程师、小团队、已有项目、日常开发、bug 诊断、TDD、issue triage、架构改善、领域语言和 ADR 沉淀。它不是完整 lifecycle 管理工具,但非常适合长期塑造 AI 工程习惯。
7. Addy Osmani agent-skills:生产级工程纪律包
项目:addyosmani/agent-skills。定位是 production-grade engineering skills for AI coding agents,把开发流程分成 DEFINE → PLAN → BUILD → VERIFY → REVIEW → SHIP。
/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills
核心命令:
/spec
/plan
/build
/test
/review
/code-simplify
/ship
它覆盖 spec-driven-development、planning-and-task-breakdown、incremental-implementation、test-driven-development、context-engineering、source-driven-development、doubt-driven-development、security-and-hardening、performance-optimization、ci-cd-and-automation、observability-and-instrumentation 等 skills。
适合团队想把 senior engineer 的质量门禁写进 agent,尤其是 production code、安全、性能、发布、可观测性要求较高的场景。
8. 横向对比
最适合已有项目日常变更
OpenSpec > Matt skills > Addy agent-skills > Spec Kit > BMAD
最适合正式企业项目
Spec Kit > Addy agent-skills > BMAD > OpenSpec > Matt skills
最适合从 0 到 1 产品
BMAD > Spec Kit > OpenSpec > Addy agent-skills > Matt skills
最适合个人开发者立刻提升效率
Matt skills > OpenSpec > Addy agent-skills > BMAD > Spec Kit
最适合团队工程规范化
Addy agent-skills > Spec Kit > BMAD > OpenSpec > Matt skills
9. 业务使用情况和成熟度
- Spec Kit:GitHub 官方项目,star 超 11 万,fork 超 1 万,企业背书最强。
- OpenSpec:star 超 5.5 万,fork 约 3900,npm 包和文档完整,定位轻量、brownfield-first。
- BMAD:star 约 4.9 万,fork 约 5700,文档和社区活跃,模块生态明确。
- Matt skills:star 超 13 万,fork 超 1.1 万,个人影响力强,适合工程师社区扩散。
- Addy agent-skills:star 超 6.3 万,fork 约 6900,生产级工程主题清晰,跨工具支持好。
10. 推荐组合
日常开发组合:OpenSpec + Matt skills
OpenSpec 管变更:proposal / specs / tasks / archive。Matt skills 管执行:grill-with-docs / tdd / diagnosing-bugs / codebase-design。
正式项目组合:Spec Kit + Addy agent-skills
Spec Kit 管正式 SDD:constitution / specify / plan / tasks / analyze / implement。Addy 管生产质量:security / performance / review / observability / ship。
从 0 到 1 产品组合:BMAD + Addy/Matt 精选 skills
BMAD 管产品生命周期:brainstorming → PRD → architecture → epics/stories → implementation。Matt/Addy 管局部工程纪律:TDD / review / security / performance。
11. 建议工作流
可以建立三档:
- 轻量档:Matt /grill-with-docs + /tdd + /diagnosing-bugs,用于小改动、bug、局部优化。
- 标准档:OpenSpec /opsx:propose → apply → archive + Matt/Addy 工程 skills,用于大多数日常功能。
- 重量档:企业/合规/正式 SDD 选 Spec Kit;从 0 到 1 产品/多角色协作选 BMAD;production quality gates 用 Addy。
12. 总结
spec-based AI 编程不是让开发变慢,而是把 AI coding 最容易失控的地方收进结构化流程里。现在的问题不是“要不要写 spec”,而是“什么任务需要多重的 spec”。
一句话:OpenSpec 是日常变更档案;Spec Kit 是正式规格工厂;BMAD 是 AI 产品团队;Matt skills 是个人工程肌肉;Addy agent-skills 是团队工程纪律包。