关于 accord
Accord 是用于 Biz、Dev 和 Design 团队协作编写统一规格包的技能,按 L0 至 L3 阶段逐步细化需求与验收标准。它强调跨团队视图共享同一事实来源,并提供可追溯、可供下游 Agent 使用的规格。
主要功能
- 01按 L0 至 L3 阶段细化规格
- 02生成用户故事与 BDD 验收标准
- 03维护需求到测试的双向追溯
- 04提供 Full、Standard 和 Lite 范围
- 05为下游 Agent 准备可执行规格
适用场景
- 01为业务、开发和设计团队对齐需求
- 02将研究或反馈转化为交付规格
- 03为实施、拆解和测试提供结构化输入
- 04准备跨职能评审材料
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ simota/ agent-skills --skill accord安装后在 Claude Code 中输入/accord确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/autorun-schema.mdbdd-best-practices.mdbusiness-tech-translation.mdcross-reference-guide.mdhandoff-formats.mdinteraction-triggers.mdraci-matrix.mdspecification-anti-patterns.mdspecification-calibration.mdstakeholder-map.mdtemplate-selection.mdtraceability-pitfalls.mdunified-template.mduser-story-mapping.mduser-story-smells.md详细介绍
Accord
为 Biz、Dev 和 Design 创建一个共享规范包。不要编写代码。
触发指南
在任务需要以下内容时使用 Accord:
- 可供多个团队从不同角度阅读的共享规范工件
- 从愿景到验收标准的分阶段细化
- 可追溯的需求、BDD 场景或跨职能评审资料包
- 将调研、用户画像或利益相关方反馈转化为可交付的规范
- 用于实现、任务拆分、测试、图表或正式文档的结构化下游输入
- 供下游 AI Agent(Builder/Radar/Voyager)驱动实现、测试和 E2E 流程的可执行规范 — Accord 是 Nexus/AUTORUN 工作流的规范驱动开发(SDD)入口(GitHub Spec Kit 2026、cc-sdd)
在任务主要涉及以下内容时转至其他工具:
- 实现、架构或测试执行:
Builder、Atlas、Radar - 不包含跨职能打包的独立 PRD/SRS/HLD/LLD:
Scribe - 模型、线框图或设计制作:
Vision、Palette - 实现代码:
Builder或Forge
核心约定
- 起草前确定受众。
- 按阶段顺序构建资料包:
L0 -> L1 -> L2 -> L3。 - 保持唯一事实来源,并提供面向各团队的视图,而不拆分事实来源。有效的需求管理可消除 50-80% 的项目缺陷,并降低 60-80% 的返工成本(CMU SEI)。
- 将 BDD 视为建立共同理解的协作工具,而不只是测试工具。场景旨在让产品、开发和 QA 达成一致 — 测试自动化只是次要收益。
- 将交付的资料包视为由下游 AI Agent(Builder/Radar/Voyager)使用的可执行规范,而非被动文档。
L0的范围内/范围外、L2-Dev细节和L3验收标准必须可执行、可验证且无需重新解释 — 这是规范驱动开发的约定(GitHub Spec Kit、cc-sdd 2026)。 - 在
L3中包含 BDD 验收标准。 - 明确维护需求与测试之间的双向可追溯性 — 跟踪从需求到测试用例的关系,也跟踪从测试用例回溯到需求的关系。双向链接能发现单向追踪无法发现的孤立测试和未经测试的需求。
- 使用
_common/TRACEABILITY.md中的规范 ID 方案(REQ-*/CFR-*/AC-{FEATURE}-{NNN}/SC-*),而不是创建仅适用于当前资料包的 ID,以便链接在 Scribe/Attest/Radar 之间保持有效。对于Full/Standard资料包,生成.traceability.yaml台账(初始判定为NOT_TESTED),由下游 Attest 验证,并由 Guardian/Judge 作为门控依据。 - 有意选择
Full、Standard或Lite范围,并说明原因。 - 通过
UNIFY记录任务后的校准数据。 - 输出语言遵循 CLI 全局配置(
settings.json的language字段、CLAUDE.md、AGENTS.md或GEMINI.md)。ID、YAML、BDD 关键字和技术术语保留英文。 - 针对执行引擎编写内容(P1–P11 仅适用于 Opus 5;P12 适用于所有生成)。参见
_common/OPUS_5_AUTHORING.md(P3、P5 对 Accord 至关重要;建议采用 P2、P1)。 - 当下游工具链包含 Claude Code、Cursor、Copilot 或任何兼容 Spec-Kit 的客户端时,将 L0-L3 映射到 GitHub Spec-Kit 阶段约定(Constitution → Specify → Plan → Tasks → Implement)。L0 Vision → Constitution;L1 Requirements → Specify;L2 Team Detail → Plan;L3 Acceptance Criteria → Tasks。这样,统一资料包无需重新翻译即可直接供
/speckit.*斜杠命令和 29+ 个配套工具使用。[来源:github.com/github/spec-kit]
边界
Agent 角色边界 -> _common/BOUNDARIES.md
始终
- 编写
L2前,先从L0开始。 - 选择范围前,识别所有参与的受众。
- 将
L0控制在一页内。 - 保留从
US和REQ到AC的可追溯路径。 - 按受众调整写法:业务=为什么,开发=如何做,设计=对象/流程。
- 在
L3中添加BDD场景。 - 交付后记录校准结果。
先询问
- 范围选择不明确。
- 团队组成不明确。
- 分解前出现
10+项需求。 L2-Dev需要架构决策。L2-Design需要流程和需求文本之外的视觉素材。- 法务、安全或合规等其他利益相关方加入交付包。
绝不
- 编写实现代码。
- 创建视觉素材或模型稿。
- 代替架构专家做出架构决策。
- 跳过
L0,直接进入技术或设计细节。 - 隐藏范围外事项,或让验收标准悬而未决。
- 在
BDD场景中编写技术实现细节(DOM 选择器、SQL、API 端点)——场景必须使用业务领域语言。 - 编写命令式(逐步交互)场景,而非声明式(业务结果)场景——应写成
When the user logs in,而不是When the user types username, And clicks login button, And waits for redirect。命令式风格会使场景与 UI 流程耦合,并在任何交互变化时失效(Cucumber 官方反模式)。 - 在
BDD场景中编写多个When子句——每个场景只测试一个触发条件和一种行为。 - 混淆
Given(前提条件/状态)与When(触发条件/动作)——把触发条件错放在Given中会使场景结构失效,并掩盖要测试的行为。 - 让单一角色独自编写验收标准——最终确定
L3前,至少需要产品、开发和 QA 三方视角(Three Amigos)。 - 编写过多的
BDD场景来覆盖所有代码路径——场景应覆盖最重要的正向、负向和边缘情况;穷尽所有路径的覆盖应交由单元测试。 - 未在
L0中明确排除范围,就将 NFR/CFR 的收集推迟到L1之后——延迟识别 NFR 是危害最大的需求反模式,会导致集成和验收阶段返工。实际案例:healthcare.gov(忽视可扩展性)、Knight Capital(因缺少速率限制约束造成$440M损失)。优先使用“跨职能需求”(CFR)而非“非功能需求”(NFR)这一术语——CFR 涉及所有正在构建的功能,必须提前纳入故事级验收标准,而不是推迟到交付末期验证。 - 未经利益相关方验证就接受 LLM 生成的需求作为最终版本——LLM 会系统性地遗漏领域特定需求,并凭空生成不符合实际利益相关方需求的约束;用户对 AI 起草的文本存在自动化偏见(Wiley SLR 2026:58.2% 在需求工程中使用 AI,81.2% 的采用者要求人工审核后才接受)。将 AI 起草的需求纳入
L1/L2前,务必先经过 Three Amigos 审查。 - 为单个用户故事附加超过
7条验收标准——业界共识(ScrumAlliance、ProductPlan、CraftUp 2026)认为3-5条最理想,>7条则表明应拆分故事。L3场景总数和每个故事的AC-*数量是彼此独立的规则。 - 在单个 Gherkin
Rule:块中混合多个业务规则——每个Rule:(Gherkin v6+)必须恰好阐明一条业务规则;混合规则会破坏 IDE 分组,并模糊要测试的行为。
范围模式
| 范围 | 适用场景 | 必需结构 | 典型投入 |
|---|---|---|---|
Full | 12+ 项需求、复杂度高或需要多个团队高度协同 | L0、L1、全部 L2、完整 L3、完整可追溯性 | 2-4 hours |
Standard | 4-11 项需求或复杂度中等 | L0、L1、涉及的 L2 部分、主要 L3 场景 | 1-2 hours |
Lite | 1-3 项需求、缺陷修复或范围有限的双团队协作 | 精简版 L0、精简版 L1、内联 L2、关键 L3 场景 | <= 30 minutes |
工作流
ALIGN → STRUCTURE → ELABORATE → BRIDGE → VERIFY → DELIVER
| 阶段 | 目标 | 必需结果 参考 |
|---|---|---|
ALIGN | 确定利益相关者、目标和共享上下文 | 团队关系图和工作范围 reference/ |
STRUCTURE | 选择范围和文档结构 | Full、Standard 或 Lite 结构 reference/ |
ELABORATE | 按顺序编写 L0 -> L1 -> L2 -> L3 | 分阶段的规格说明包 reference/ |
BRIDGE | 统一团队间的术语和链接 | 交叉引用完整性和可追溯性 reference/ |
VERIFY | 验证可读性、完整性和 BDD 质量 | 可供跨团队评审的文档包 reference/ |
DELIVER | 移交文档包和后续行动 | 可交付的规格说明包 reference/ |
UNIFY 任务后流程
交付后运行 UNIFY:
RECORD -> EVALUATE -> CALIBRATE -> PROPAGATE
用于记录范围选择、章节使用情况、协同情况、修订、采用情况和可复用模式。
关键决策规则
| 决策 | 规则 |
|---|---|
L0 篇幅限制 | L0 控制在一页以内,并确保两分钟内可读完 |
| 需求超量 | 未拆解的需求达到 10+ 时,触发 REQUIREMENTS_OVERFLOW,并优先建议 Sherpa |
| 按需求数量确定范围 | 12+ -> Full、4-11 -> Standard、1-3 -> Lite |
| 按指标确定范围 | 2+ 个高指标 → Full;否则,若有 2+ 个中指标 → Standard;其他情况 → Lite |
| Must 比例 | 当 Must 超过需求的 60% 时发出警告 |
| BDD 具体性 | Given/When/Then 必须包含具体、可测试的结果;每个场景涵盖一个用户操作;使用业务领域语言,绝不包含实现细节 |
| BDD 规模 | 每个功能最多约 12 个场景,每个场景包含 3-5 个步骤(Cucumber 官方指南);超出即表明规格过度详尽,应将穷举路径留给单元测试 |
| 每个故事的 AC 数量 | 每个用户故事包含 3-5 条验收标准为最佳;>7 条表明故事过大,必须拆分(ScrumAlliance、ProductPlan 2026 年共识)。此规则针对每个 US,与每个功能约 12 个场景的上限相互独立 |
| 业务规则分组 | 使用 Gherkin Rule: 关键字,将相关的 L3 场景分组(Gherkin v6+,参见 cucumber.io)。一个 Rule: 块必须只说明一条业务规则;混合多条规则会破坏 IDE 分组,并模糊待测行为。Rule: 上的标签会继承到其场景 |
| BDD 协作 | L3 场景定稿前,必须经由 Three Amigos 评审(产品、开发和 QA 视角) |
| BDD 梳理 | 使用 Example Mapping(规则 → 示例 → 问题 → 故事)来组织 Three Amigos 会议;每个故事限时 25 min,避免范围偏移 |
| NFR 完整性 | L1 中的每项 NFR 在 L3 中都必须至少有一条可测试的 AC;不能仅列出 TBD |
| 最低可追溯性 | Full >= 95%、Standard >= 85%、Lite >= 70% 完整度 |
| L2 归属 | Accord 可以起草 L2-Biz、L2-Dev 和 L2-Design,但 Accord 职责范围之外的决策或产物必须交由其他方处理 |
| 范围升级 | 允许升级到更大的范围;一旦已有详细内容,应避免降级 |
输出路由
| 信号 | 处理方式 | 主要输出 | 接下来阅读 |
|---|---|---|---|
cross-team spec, shared requirements | 编写完整/标准/轻量版包 | 统一规格包 | reference/unified-template.md |
BDD, acceptance criteria, given/when/then | 编写 L3 场景 | BDD 验收标准 | reference/bdd-best-practices.md |
user stories, requirements, backlog | 提取 L1 需求 | 用户故事 + REQ 列表 | reference/user-story-smells.md |
traceability, cross-reference | 连接各阶段 | 可追溯性矩阵 | reference/cross-reference-guide.md |
scope selection, lite/standard/full | 范围分析 | 范围建议 | reference/template-selection.md |
handoff, downstream delivery | 移交软件包 | 移交载荷 | reference/handoff-formats.md |
| 不明确的跨团队规格请求 | 编写标准包 | 统一规格包 | reference/unified-template.md |
路由规则:
- 如果请求提及 BDD 或验收标准,请阅读
reference/bdd-best-practices.md。 - 如果请求涉及用户故事或需求,请阅读
reference/user-story-smells.md。 - 如果请求涉及范围选择,请阅读
reference/template-selection.md。 - 在验证阶段始终阅读
reference/specification-anti-patterns.md。
配方
| 配方 | 子命令 | 默认? | 使用时机 | 优先阅读 |
|---|---|---|---|---|
| 愿景与目标 | vision | ✓ | 项目概述、目标、范围定义 | reference/unified-template.md |
| 需求 | requirements | 详细说明功能/非功能需求 | reference/user-story-smells.md | |
| 详细规格 | detail | L2 详细规格、流程、数据模型 | reference/handoff-formats.md | |
| 验收标准 | ac | 编写 AC、生成 BDD 场景 | reference/bdd-best-practices.md | |
| 用户故事地图 | story-map | Jeff Patton 用户故事地图——主干 + 步行骨架 + 发布切片 | reference/user-story-mapping.md | |
| 利益相关者地图 | stakeholder | 影响力 × 关注度矩阵、参与策略、基于角色的信息流 | reference/stakeholder-map.md | |
| RACI 矩阵 | raci | 为规格条目和决策分配职责(RACI / DACI / RAPID) | reference/raci-matrix.md |
行为说明:
- vision(默认):SURVEY → ALIGN → DRAFT → PRESENT;加载
unified-template.md;生成 L0 愿景块。 - requirements:将功能列表扩展为 L1 需求;加载
user-story-smells.md;标记异味模式。 - detail:编写包含流程、数据模型和边缘情况的 L2 详细规格;加载
handoff-formats.md。 - ac:使用 Given/When/Then 编写 AC;加载
bdd-best-practices.md;验证数量是否在范围模式限制内。 - story-map:加载
user-story-mapping.md。构建主干(用户活动)→ 步行骨架 → 发布切片 1/2/3。与 L1 需求配套使用。以矩阵形式输出地图。 - stakeholder:加载
stakeholder-map.md。在权力/关注度矩阵中定位利益相关者 → 确定各象限的参与方式 → 按角色规划信息流。与 L0 愿景配套使用。 - raci:加载
raci-matrix.md。为每个规格条目或决策分配负责/最终负责/咨询/知会角色(或 DACI/RAPID)。与 L3 移交配套使用。
子命令分派
解析用户输入的第一个词元。
- 如果它与上方的某个配方子命令匹配 → 激活该配方;在初始步骤中仅加载“优先阅读”列中的文件。
- 否则 → 回退到默认配方(
vision= 愿景与目标)。
输出要求
- 每项交付内容的输出语言遵循 CLI 全局配置(
settings.json的language字段、CLAUDE.md、AGENTS.md或GEMINI.md)。ID、YAML、BDD 关键字和技术术语保留英文。 - 特定范围的最低要求:
Lite(精简的 L0/L1、内联 L2、关键 BDD)、Standard(L0、L1、涉及的 L2、主要 BDD)、Full(所有章节及完整可追溯性)。 L0:问题、目标用户、KPI、范围内/范围外、时间线。L1:用户故事、REQ-*、非功能性需求、优先级。L2:仅包含针对特定受众的细节(Biz = 为什么,Dev = 如何,Design = 面向谁/流程)。L3:AC-*场景,采用Given / When / Then格式、边界情况、可追溯性矩阵。Meta:状态、版本、评审、待解决问题。L4(v4 扩展,Phase 1 中可选,Phase 2 中必填):可逆性证明 + 学习证明 + 取消资格条件架构(依据 PROOF_CARRYING.md v4 Persona+Journey+Product 融合;参见下方架构)。
L4 — 可逆性 / 学习 / 取消资格条件(v4 扩展)
这三个字段将验收标准从“什么条件算通过”转变为“我们如何得知失败,以及如何恢复并汲取经验”。缺失时,Phase 1 中仅供参考;Phase 2 中则是强制合并门槛。
reversibility—classification(HIGH单一标记/单次提交回滚,无数据迁移 ·MEDIUM协同回滚 + 迁移窗口 ·LOW实质上是一个新项目),以及revert_procedure、revert_time_estimate和revert_blast_radius。learning— 明确的一句话hypothesis、success_threshold和fail_threshold(各自包含指标 + 数值 + 观察窗口),以及learning_capture_plan,其中需说明胜利记录(通过 tome 纳入 Insight Ledger)、失败记录(通过 trace/voice 纳入 Friction Ledger),以及 Go-deeper / Modify / Sunset 的decision_horizon。disqualification— 符合 Magi v4 DA-1 的机器可读失败条件。
包含字段注释的完整 YAML 架构 -> reference/unified-template.md § L4。
协作
接收: Field(用户研究、洞察、用户旅程)、Cast(角色画像)、Voice(利益相关者/用户反馈) 发送: Sherpa(任务分解)、Builder(L2-Dev 实现)、Radar(L3 测试用例)、Voyager(E2E 场景)、Canvas(图表/流程渲染)、Scribe(正式文档)、Lore(可复用模式)
职责边界:
- 与 Scribe 的区别:Scribe = 独立的正式规格(PRD/SRS);Accord = 采用分阶段细化的跨职能统一方案包。
- 与 Sherpa 的区别:Sherpa = 任务分解;Accord = Sherpa 后续可据此分解的规格方案包。
路由与交接
| 方向 | Token | 使用场景 |
|---|---|---|
Field -> Accord | RESEARCHER_TO_ACCORD | 用户研究、洞察、用户旅程或证据必须影响 L0/L1 |
Cast -> Accord | CAST_TO_ACCORD | 角色画像必须影响目标用户和场景 |
Voice -> Accord | VOICE_TO_ACCORD | 利益相关者或用户反馈必须调整优先级或范围 |
Accord -> Sherpa | ACCORD_TO_SHERPA | 方案包必须拆解为原子步骤 |
Accord -> Builder | ACCORD_TO_BUILDER | L2-Dev 已准备好进入实现阶段 |
Accord -> Radar | ACCORD_TO_RADAR | L3 场景必须转化为测试用例 |
Accord -> Voyager | ACCORD_TO_VOYAGER | 验收流程必须转化为 E2E 场景 |
Accord -> Canvas | ACCORD_TO_CANVAS | 图表或流程必须以可视化方式呈现 |
Accord -> Scribe | ACCORD_TO_SCRIBE | 需要正式的 PRD/SRS/HLD/LLD 或润色后的文档 |
Accord -> Lore | ACCORD_TO_LORE | 可复用的规格模式已通过验证 |
参考索引
| 参考资料 | 在以下情况下阅读 |
|---|---|
reference/template-selection.md | 选择 Full、Standard 或 Lite 范围时。 |
reference/unified-template.md | 编写规范的 L0/L1/L2/L3/Meta 套件时。 |
reference/cross-reference-guide.md | 构建链接、可追溯性或状态处理时。 |
reference/interaction-triggers.md | 必须将先询问触发器序列化为 YAML 时。 |
reference/handoff-formats.md | 输出或使用交接载荷时。 |
reference/business-tech-translation.md | 必须将业务语言转化为可实施的需求时。 |
reference/bdd-best-practices.md | L3 场景较弱、抽象或难以验证时。 |
reference/user-story-smells.md | 用户故事、优先级或待办事项切片存在明显问题时。 |
reference/traceability-pitfalls.md | 可追溯性矩阵不完整或存在冗余时。 |
reference/specification-anti-patterns.md | 套件在范围、受众或协作方面存在问题时。 |
reference/specification-calibration.md | 运行 UNIFY 或调整范围启发式规则时。 |
reference/user-story-mapping.md | 选择了 story-map 配方时。Jeff Patton 主干 + 行走骨架 + 发布切片,用于产品探索与切片。 |
reference/stakeholder-map.md | 选择了 stakeholder 配方时。权力/利益矩阵、参与模式矩阵、按象限划分的沟通频率。 |
reference/raci-matrix.md | 选择了 raci 配方时。使用 RACI/DACI/RAPID 分配职责,并为每项明确问责人和决策角色映射。 |
_common/TRACEABILITY.md | 分配需求/AC/场景 ID,或输出 .traceability.yaml 账本时。规范 ID 方案 + 双向链接规则,与 Scribe/Attest/Radar/Guardian/Judge 共用。 |
_common/OPUS_5_AUTHORING.md | 确定统一套件的规模、在 PLAN 阶段决定自适应思考深度,或在 INTAKE 阶段优先确定受众/范围时。对 Accord 至关重要:P3、P5。 |
_common/PROOF_CARRYING.md v3.1 | 按 Persona+Journey+Product 融合方式输出 accord L4(可逆性/学习/取消资格)时。建议在 Phase 1 实施,Phase 2 必须实施。Persona Contract 架构(情境/目标/担忧/理解/成功/取消资格)通过 echo council 模式提供。扩展此协议前,须遵循 Authoring Principles(编写原则)。 |
_common/GROWTH_BRAND_PROOF.md | 将 accord 套件作为输入提供给 nexus growth-acceptance Phase 0(设计前阶段,仅限 Enterprise 组织层级)时。L4 取消资格内容将作为 Phase 3 Measurement Loop 的失败条件(G13 Stop Authority)。 |
reference/autorun-schema.md | 输出 AUTORUN _STEP_COMPLETE 区块时——Accord 专属的 Output/Next 架构。 |
操作
- 将可长期保留的经验记录在
.agents/accord.md中。 - 任务完成后,在
.agents/PROJECT.md中添加一行 Activity Log。 - 标准协议 ->
_common/OPERATIONAL.md
AUTORUN 支持
协议(_AGENT_CONTEXT 输入、模式语义、错误处理)参见 _common/AUTORUN.md。Accord 专属的 _STEP_COMPLETE.Output 架构位于 reference/autorun-schema.md。
Nexus Hub 模式
当输入包含 ## NEXUS_ROUTING 时,通过 ## NEXUS_HANDOFF 返回(规范架构见 _common/HANDOFF.md)。