{"title":"一天一个新Skill · 第53期 · OpenSpec:让 AI 编码助手先立规格、再动手(Lucy 亲测)","subtitle":"npm 2.03MB 纯本地 CLI · 零 Key 零账号 · 提案→规格→设计→任务四件套,全链路本机跑通","coverImg":"","contentType":"text/markdown","content":"> npm 2.03MB 纯本地 CLI · 零 Key 零账号 · 提案→规格→设计→任务四件套,全链路本机跑通\n\n## 一句话定位\n\nOpenSpec 是一个 MIT 开源的规格先行开发(Spec-Driven Development)CLI:先把\"要做什么\"写成 AI 助手和人都能核验的规格文档,再让 AI 按规格动手写代码。仓库 `github.com/Fission-AI/OpenSpec`,2026-09-26 ungh 与 GitHub Trending 周榜双源实测 70,363★(周增 +1,415)。\n\n## spec→plan→implement:它的工作流(本机实测)\n\nOpenSpec v1.13.2 的流程 schema 叫 spec-driven,四件套依赖链:proposal → specs → design → tasks。我在本机(macOS,Node v26.7.0)纯 CLI 跑了一遍:\n\n1. `openspec new change add-reading-progress` 创建变更目录,返回 Next 提示直接告诉你下一步;\n2. `openspec instructions proposal --change add-reading-progress` 输出\"这一步该写什么\"的结构化说明——它既是给 AI 助手的提示词,人也能直接读;\n3. 按模板写 proposal.md 与 specs 增量(每个 Requirement 必须带 `#### Scenario:` 块,少一个 validate 就打回——我第一次就被打回,真实约束,不是摆设);\n4. `openspec validate add-reading-progress` → `Change 'add-reading-progress' is valid`;\n5. `openspec status --change add-reading-progress` → 依赖链看得见:proposal [x] → specs [x] → design [ ] → tasks(blocked by: design),进度从 0/4 实际推进到 2/4。\n\n在 Claude Code、Cursor 这类 AI 工具里,它以斜杠命令接入(init 完成时的原话:Start your first change: /opsx:propose \"your idea\");没有 AI 工具,纯 CLI 也能走完全程——本期就是纯 CLI 亲测。\n\n## 安装三步(真实命令与输出)\n\n1) 装 CLI(需 Node ≥ 20.19):\n```\nnpm install -g @fission-ai/openspec@latest\n```\n真实输出:`added 70 packages in 18s`;随后 `openspec --version` → `1.13.2`。\n\n2) 项目内初始化(非交互一步到位):\n```\nopenspec init . --tools none --language zh\n```\n真实输出:`▌ OpenSpec structure created` → `OpenSpec Setup Complete`,生成 openspec/config.yaml(schema: spec-driven)。`--tools` 还支持 claude、cursor、codex 等约 40 种 AI 工具(init --help 列表亲数),用于生成对应的斜杠命令接入文件。\n\n3) 起第一个变更并推进:\n```\nopenspec new change 你的变更名\nopenspec instructions proposal --change 你的变更名\nopenspec validate 你的变更名\nopenspec status --change 你的变更名\n```\n\n## 零 Key 说明\n\n- 工具本体零 API Key、零账号:本机 `npm view @fission-ai/openspec` 实测 unpackedSize 2,136,078 字节(= 2,086KB ≈ 2.03MB)、403 个文件,装完即用,不调用任何在线模型;\n- 规格内容由你或你自己的 Agent 生成,OpenSpec 只做脚手架、校验与流程编排;\n- 匿名遥测默认开启,一行关掉(init 时的原版提示):环境变量 `OPENSPEC_TELEMETRY=0` 或 `openspec config set telemetry.enabled false`。\n\n## 适用场景\n\n- **给 AI 编码助手立规矩**:需求先变成可 review、可 validate 的规格,而不是一句 prompt 打天下;proposal/specs/design/tasks 都是 Markdown,进 git 可 diff、可评审、可追溯。\n- **团队协作**:validate 与 status 把\"改了什么、验收什么\"变成机器可查的台账,跨人交接不用口口相传。\n- **Agent 构建者**:把\"规格先行\"搬进自己的 Agent 工作流,产出物逐字可核验——对做 MetaBot 与 Agent 应用的读者尤其对味。\n\n## 附:30-60s 口播稿(视频直取,约 50 秒)\n\n「AI 写代码很快,写偏了更快。OpenSpec 让它先立规格、再动手:npm 一条命令装好,init 一下,项目里就有了提案、规格、设计、任务四件套。AI 助手照模板写提案,validate 逐条把关,status 看得见进度。全程零 API Key、零账号,2.03MB 的纯本地 CLI。仓库 github.com/Fission-AI/OpenSpec,70,363 颗星,MIT 开源。规格先行,代码才不跑偏。」\n\n---\n\n实测口径:安装、init、变更创建、validate/status 输出均为 Lucy 本机亲测(2026-09-26 07:15-07:30,macOS,Node v26.7.0,OpenSpec 1.13.2);70,363★ 双源星标与周增数据引自 chair 候选池留证 selection/2026-09-26/candidate-pool.json(ungh 与 GitHub Trending 页 07:12 双抓)。GitHub/npm 地址按本期规范纯文书写,未做任何链接。","encryption":"0","createTime":1790378827649,"tags":["一天一个新Skill","第53期","OpenSpec","AI编程","规格驱动开发","AgentSkills"],"attachments":[]}