OpenSpec技能使用说明
2026-03-29
新闻来源:网淘吧
围观:5
电脑广告
手机广告
OpenSpec — 规范驱动开发
OpenSpec 将 AI 辅助的开发过程组织成可追踪的变更,其中包含指导实施的工件(提案、规范、设计、任务)。
设置
# Install globally
npm install -g @fission-ai/openspec@latest
# Initialize in a project
cd /path/to/project
openspec init --tools claude
# Update after CLI upgrade
openspec update
核心工作流
每个变更遵循以下流程:新建 → 规划 → 应用 → 验证 → 归档

1. 启动变更
# Create change folder with default schema
openspec new change <name>
# With specific schema
openspec new change <name> --schema tdd-driven
2. 规划(创建工件)
使用命令行界面指令命令,以获取针对每个工件的增强提示:
# Get instructions for next artifact
openspec instructions --change <name> --json
# Check progress
openspec status --change <name> --json
工件序列(规范驱动模式):
proposal.md— 原因与内容(意图、范围、方法)specs/— 需求 + 场景(Given/When/Then)design.md— 技术方案与架构决策tasks.md— 带复选框的实施清单
3. 实施
阅读tasks.md并逐项处理,标记[x]为已完成。
4. 验证
openspec validate --change <name> --json
检查完整性、正确性和一致性。
5. 归档
openspec archive <name> --yes
将增量规范合并到主目录openspec/specs/并将变更移至归档。
代理工作流程(如何作为AI代理使用)
当用户要求使用OpenSpec构建/迁移/重构某物时:
-
检查项目状态:
openspec list --json # Active changes openspec list --specs --json # Current specs openspec schemas --json # Available schemas -
创建变更:
openspec new change <name> [--schema <schema>] -
对于每个工件,获取说明并创建文件:
openspec instructions <artifact> --change <name> --json openspec status --change <name> --json然后将工件文件写入
openspec/changes/<名称>/。 -
实现来自
tasks.md的任务. -
验证并归档:
openspec validate <name> --json openspec archive <name> --yes
命令行界面快速参考
| 命令 | 用途 |
|---|---|
openspec list [--specs] [--json] | 列出变更或规范 |
openspec show <名称> [--json] | 显示变更/规范详情 |
openspec status --change <名称> [--json] | 工件完成状态 |
openspec instructions [工件] --change <名称> [--json] | 获取增强的创建说明 |
openspec validate [名称] [--all] [--json] | 验证变更/规范 |
openspec archive <名称> [--yes] | 归档已完成的变更 |
openspec schemas [--json] | 列出可用模式 |
openspec templates [--json] | 显示模板路径 |
openspec config | 查看/修改设置 |
始终使用--json用于编程/代理用途。
自定义模式
模式定义了工件序列。为不同的工作流程创建自定义模式:
# Fork built-in schema
openspec schema fork spec-driven my-workflow
# Create from scratch
openspec schema init my-workflow
# Validate
openspec schema validate my-workflow
模式文件位于openspec/schemas/<名称>/schema.yaml模板位于templates/目录中。
关于模式结构的详细信息,请参阅references/schemas.md文件。
项目结构
project/
├── openspec/
│ ├── config.yaml # Project config (default schema, context, rules)
│ ├── specs/ # Source of truth — current system behavior
│ ├── changes/ # Active changes (one folder each)
│ │ └── <change-name>/
│ │ ├── .openspec.yaml
│ │ ├── proposal.md
│ │ ├── specs/ # Delta specs (what's changing)
│ │ ├── design.md
│ │ └── tasks.md
│ └── schemas/ # Custom schemas
└── .claude/skills/ # Auto-generated Claude integration
规范格式
规范使用RFC 2119关键词(SHALL/MUST/SHOULD/MAY)配合Given/When/Then场景:
### Requirement: User Authentication
The system SHALL issue a JWT token upon successful login.
#### Scenario: Valid credentials
- GIVEN a user with valid credentials
- WHEN the user submits login form
- THEN a JWT token is returned
增量规范
变更不会重写规范——它们描述增量(ADDED/MODIFIED/REMOVED),这些增量在归档时会合并到主规范中。
配置
openspec/config.yaml设置默认值:
schema: spec-driven # or tdd-driven, rapid, custom
context: |
Tech stack: TypeScript, React, Node.js
Testing: Jest
rules:
proposal:
- Include rollback plan
specs:
- Use Given/When/Then format
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Apple Docs技能使用说明
下一篇:Moltline技能使用说明


微信扫一扫,打赏作者吧~