关于 sparc-spec
sparc-spec 是 SPARC 方法论中规格定义阶段的开发技能。它帮助团队在实现前明确需求、可测试的验收标准、约束和边缘情况,并将阶段产物记录到 memory。
主要功能
- 01收集功能与非功能需求
- 02定义 Given/When/Then 标准
- 03记录项目约束
- 04梳理边缘情况与故障
- 05存储规格和阶段状态
- 06记录工作流进度
适用场景
- 01在开始编码前定义功能规格
- 02编写可测试的验收标准
- 03记录集成点和数据需求
- 04恢复已跟踪的 SPARC 规格阶段
MCP 相关
使用 Ruflo MCP 工具搜索和存储规格状态、查找既有模式,并记录工作流轨迹步骤。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill sparc-spec安装后在 Claude Code 中输入/sparc-spec确认已加载。
详细介绍
SPARC 规格说明阶段
运行 SPARC 方法论的第 1 阶段:定义要构建的内容以及衡量成功的方式。
适用时机
开始开发新功能或新项目时,在编写任何代码之前,需要结构化地收集需求。本阶段将产出基础规格说明,供后续所有阶段(伪代码、架构、完善、完成)作为依据。
步骤
-
初始化阶段跟踪 — 使用元数据
{ "phase": "specification", "feature": "$ARGUMENTS" }调用mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-start -
检查已有工作 — 在命名空间
sparc-state中调用mcp__plugin_ruflo-core_ruflo__memory_search,搜索该功能,检查是否已有 SPARC 工作流。如果有,则检索现有产物;如果没有,则使用第 1 阶段初始化状态。 -
搜索类似模式 — 使用功能描述调用
mcp__plugin_ruflo-core_ruflo__neural_predict,查找相关的历史规格说明和学习到的模式 -
收集需求 — 分析功能描述和代码库,以确定:
- 功能需求:该功能必须实现的内容(面向用户的行为)
- 非功能需求:性能目标、安全约束、可扩展性需求
- 集成点:会受到影响的现有系统或 API
- 数据需求:要创建、读取、更新或删除的数据
-
定义验收标准 — 使用 Given/When/Then 格式编写至少 3 条具体、可测试的验收标准:
AC-1: Given [precondition], when [action], then [expected result] AC-2: Given [precondition], when [action], then [expected result] AC-3: Given [precondition], when [action], then [expected result] -
识别约束 — 记录:
- 性能约束(延迟、吞吐量、资源限制)
- 安全约束(身份验证、授权、数据敏感性)
- 兼容性约束(浏览器支持、API 版本、向后兼容性)
- 基础设施约束(部署环境、依赖项)
-
梳理边缘情况 — 列出至少 3 种边缘情况或故障场景:
- 遇到无效输入时会发生什么?
- 并发访问时会发生什么?
- 外部依赖发生故障时会发生什么?
-
存储规格说明 — 使用以下内容调用
mcp__plugin_ruflo-core_ruflo__memory_store:- 命名空间:
sparc-phases - 键:
spec-{feature-slug} - 值:包含
{ status: "complete", requirements, acceptanceCriteria, constraints, edgeCases, integrationPoints }的 JSON
- 命名空间:
-
更新阶段状态 — 使用以下内容调用
mcp__plugin_ruflo-core_ruflo__memory_store:- 命名空间:
sparc-state - 键:
current-phase-{feature-slug} - 值:更新后的状态,其中产物列表包含规格说明键
- 命名空间:
-
记录轨迹步骤 — 使用规格说明摘要调用
mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-step -
呈现规格说明 — 向用户展示完整的规格说明文档,并附上摘要表格;建议运行
/sparc advance通过关卡并进入伪代码阶段
输出格式
# Specification: {Feature Name}
## Requirements
### Functional
- FR-1: ...
- FR-2: ...
### Non-Functional
- NFR-1: ...
## Acceptance Criteria
- AC-1: Given ..., when ..., then ...
- AC-2: Given ..., when ..., then ...
- AC-3: Given ..., when ..., then ...
## Constraints
- Performance: ...
- Security: ...
- Compatibility: ...
## Edge Cases
- EC-1: ...
- EC-2: ...
- EC-3: ...
## Integration Points
- IP-1: ...
---
Phase 1 complete. Run `/sparc advance` to pass the gate check.