
Cs Feat Accept
Close a CodeStable feature after implementation by reconciling code with design, updating architecture and requirements, syncing roadmap, and publishing an acceptance report.
Overview
cs-feat-accept is an agent skill most often used in Ship (also Build docs and pm) that closes a CodeStable feature with design对照, doc updates, and an acceptance report.
Install
npx skills add https://github.com/liuzhengdongfortest/codestable --skill cs-feat-acceptWhat is this skill?
- Four mandatory closure steps: design reconciliation, architecture doc updates, requirement promotion/backfill, roadmap s
- Hard dependency on approved `{slug}-design.md` with typed frontmatter and section-aligned对照 tables
- Produces `{slug}-acceptance.md`; workflow is incomplete without the report
- Bootstraps from `.codestable/attention.md` and shared conventions—blocks if skeleton is missing
- Fastforward and standard design chapter maps are hard-coded for section-by-section verification
- 4 mandatory acceptance closure steps
- Standard design maps sections 0–4 plus fastforward 0–3 layouts
Adoption & trust: 964 installs on skills.sh; 902 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your feature code is done but architecture docs, requirements, roadmap, and design still disagree—so the next build cycle will repeat work or miss scope.
Who is it for?
Indie builders using CodeStable who finished cs-feat-impl and need a disciplined pre-merge acceptance pass tied to in-repo design and roadmap artifacts.
Skip if: Repos without CodeStable onboarding or an approved feature-design doc—run cs-onboard and earlier feat stages first; not a substitute for automated test suites alone.
When should I use this skill?
用户说功能写完了验收一下、做最后检查、准备 merge、出验收报告;requires cs-feat-impl complete.
What do I get? / Deliverables
Implementation matches approved design, project architecture and requirements reflect reality, roadmap shows done, and `{slug}-acceptance.md` captures verified behavior for the next merge.
- {slug}-acceptance.md
- Updated architecture center docs
- Synced roadmap items and requirement records
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Acceptance before merge is a Ship gate: you prove the feature matches the approved design and project records, not just that code compiles. The skill is structured review and sign-off (design对照, checklist, acceptance.md)—canonical merge-prep review, not raw test authoring.
Where it fits
Run final design对照 and emit acceptance.md right before opening a merge request.
Apply section 4 architecture relationships by updating center architecture docs to match what shipped.
Promote draft requirements to current and backfill missing capability records after impl.
Use acceptance契约 from design section 3 to confirm delivered behavior still matches scoped scenarios.
How it compares
Use as the structured CodeStable acceptance gate instead of ad-hoc “looks good” chat review before merge.
Common Questions / FAQ
Who is cs-feat-accept for?
Solo builders on the CodeStable workflow who document features as design specs and need the agent to enforce post-implementation doc and roadmap hygiene.
When should I use cs-feat-accept?
In Ship review when you say the feature is done, want a final check, or are preparing merge; after Build docs/pm work when design section 4 demands architecture updates before you ship.
Is cs-feat-accept safe to install?
It expects filesystem reads/writes under `.codestable/` and your docs tree; review the Security Audits panel on this Prism page and your repo backup policy before granting agent file access.
Workflow Chain
Requires first: cs feat impl
SKILL.md
READMESKILL.md - Cs Feat Accept
# cs-feat-accept ## 启动必读 开始任何判断或动作前,先读取 `.codestable/attention.md`;缺失则视为骨架不完整,提示先补齐或运行 `cs-onboard`,不要回退到外部 AI 入口文件。 代码已经写完,但流程没结束。本阶段做四件事,缺一不可: 1. **核对实现有没有偏离方案**——逐层对照 `{slug}-design.md`,发现偏差当场修,**不是在报告里"记一下"**就过去 2. **把 feature 归并到整体架构**——对照方案第 4 节,实际去更新架构中心目录下的相关 doc 3. **能力落档到 requirement**——draft req 对应的能力实现完成后升级为 current(保留愿景,追加变更日志);从未写过 req 的能力 backfill 4. **完成状态回写到 roadmap**——方案 frontmatter 有 `roadmap` / `roadmap_item` 字段时**必须**改 items.yaml 对应条目为 `done` 并同步主文档 漏掉任何一件的代价:架构 doc 过期下个 feature 读到错信息;req 和实际能力脱节;roadmap 规划层和实际进度脱节,下次推进会重复跑流程。 **没产出报告 = 工作流未完成**。后人查"上次这个功能验收时确认了哪些行为",没报告就只能翻 git diff 重新推断。 > 共享路径与命名约定看 `.codestable/reference/shared-conventions.md` 第 0 节。 --- ## 跟 design 的章节强依赖 本技能整套对照表按 design 当前章节编号硬编码。**design 升级章节名 / 编号时本技能必须同步**,否则下面所有"第 X 节"指针都指错地方。 **标准 design 章节快照**: - 第 0 节:术语约定 - 第 1 节:决策与约束(需求摘要 / 复杂度档位 / 关键决策 / 前置依赖) - 第 2 节:名词与编排(2.1 名词层 / 2.2 编排层 / 2.3 挂载点 / 2.4 推进策略) - 第 3 节:验收契约(关键场景清单 + 反向核对项) - 第 4 节:与项目级架构文档的关系 **Fastforward design**:第 0 需求摘要 / 第 1 设计方案 / 第 2 验收标准 / 第 3 推进步骤 --- ## 启动检查 1. **代码确实实现到位**——git status / 最近提交看到本功能改动,否则退回 implement 2. **方案 doc 完整**——frontmatter `doc_type=feature-design` / `feature` 一致 / `status=approved` / `summary` 非空 / `tags` ≥ 2;标准 design 第 0/1/2/3 节 + 第 4 节已填写 3. **`{slug}-checklist.yaml`**——存在且 `feature` 一致;`steps` 全 `done`(有 `pending` 退回 implement);`checks` 非空全 `pending` 4. **上下文读全**——方案 doc 全文(重点:第 1 节明确不做、2.1 接口示例、2.2 流程级约束、2.3 挂载点、第 3 节场景)+ checklist + 第 4 节提到的所有架构 doc + 本次代码改动(git log / diff) 5. **断点恢复**——`{slug}-acceptance.md` 已存在且部分填好 → 从下一个未完成节继续,跳过 checks 中已 `passed` 的项;汇报"上次做到第 X 节,从第 Y 节继续" **Fastforward design 验收报告映射表**: | 验收报告节 | 标准 design 对照 | Fastforward design 对照 | |---|---|---| | 1 接口契约核对 | 第 2.1 接口示例 | 第 1 节改动点 | | 2 行为与决策核对(含挂载点) | 第 1 节 + 第 2.2 + 第 2.3 | 第 0 节;挂载点现场盘点 | | 3 验收场景核对 | 第 3 节场景清单 + 反向核对 | 第 2 节验收标准 | | 4 术语一致性 | 第 0 节 + 第 2.1 命名 | 检查代码命名一致性 | | 5 架构归并 | 第 4 节 | 通常无;写"无架构维度变更" | --- ## 验收报告模板 逐节填写**别跳节**。报告路径在 feature 目录下(位置看 `shared-conventions.md` 第 0 节)。 ```markdown # {功能名称} 验收报告 > 阶段:阶段 3(验收闭环) > 验收日期:YYYY-MM-DD > 关联方案 doc:{方案 doc 路径} ## 1. 接口契约核对 对照方案第 2.1 节名词层逐一核查: **接口示例逐项核对**: - [ ] 示例 A({文件路径 + 函数名}):示例输入→输出 → 代码实际行为:{一致 / 偏差说明} **名词层"现状 → 变化"逐项核对**: - [ ] 名词 X:声称的变化 → 代码改动:{一致 / 偏差} **流程图核对**(第 2.2 节开头 mermaid 图): - [ ] 图中节点 / 调用关系在代码均有实际落点(grep 确认) 发现偏差**先修代码或回填方案 doc**。报告里写"已知偏差暂不处理"是反模式——下次按方案找代码会被绊倒。 ## 2. 行为与决策核对 对照方案第 1 节 + 第 2.2 节: **需求摘要逐项验证**: - [ ] 行为 A:{描述 + 实测结果} **明确不做逐项核对**(用第 3 节"反向核对项"): - [ ] 范围外事项 X **确实没做**(grep / review 确认) **关键决策落地**: - [ ] 决策 D1:{决策内容} → 代码体现:{描述} **编排层"现状 → 变化"逐项核对**: - [ ] 变化 V1:{在哪一步插入 / 哪条分支变更} → 代码实际落点 **流程级约束核对**(错误语义 / 幂等 / 并发 / 扩展点 / 可观测点): - [ ] 纪律 R1:{描述} → 代码遵守方式 **挂载点反向核对(可卸载性)**——对照第 2.3 节,必做两件事: - [ ] 挂载点 M1:清单条目 → 代码实际落点:{一致 / 偏差} - [ ] **反向核查**(grep):本 feature 在代码里的所有引用是否都落在清单内?清单外的引用 → 漏记,补进第 2.3 节 - [ ] **拔除沙盘推演**:按清单逆向操作后是否还有残留?残留 → 写进"遗留"或补挂载点 Fastforward 方案没有挂载点清单 → 现场 grep 盘点本次改动命中的挂入位置作为卸载依据。 ## 3. 验收场景核对 对照方案第 3 节关键场景清单,逐条可观察证据验证: - [ ] **S1**:{场景"输入 / 触发 → 期望可观察结果"} - 证据来源:{类型系统 / 单测 / 集成 / 手工 / 肉眼} - 结果:{通过 / 未通过 + 原因 + 补救} **前端改动必须浏览器肉眼验证**(typecheck 通过不代表用户用起来对): - [ ] UI 区域 X:浏览器验证 OK / 截图链接 ## 4. 术语一致性 对照方案第 0 节 + 第 2.1 节命名 grep 代码: - 术语 X:代码命中 N 处全部一致 ✓ - 防冲突:禁用词 grep 无命中 ✓ 发现不一致 → 改代码,别在报告里写"已知差异"。 ## 5. 架构归并 **目标**:把本次 feature 里稳定、系统级可见的内容**实际写入** architecture,让读者只看 architecture 就能看懂新能力的存在和形态。**不是加 design 链接就算数**。 对照方案第 4 节,三类东西实际写入对应架构 doc: - **名词归并** ← 第 2.1 节新增 / 变化的实体、类型、对外契约 → architecture 的"结构与交互 / 数据与状态"节 - **动词骨架归并** ← 第 2.2 节跨模块可见的主流程 / 关键编排 → architecture 的结构图 / 模块交互 - **流程级约束归并** ← 第 2.2 节跨 feature 稳定的约束 → architecture 的"已知约束"节 逐项核对: - [ ] 架构 doc X({路径}):归并内容 {描述};已写入 ✓ / 不需要(理由:{具体}) 方案第 4 节为空或过简 → 在此补充评估: - 新增哪些模块 / 改了哪些接口 / 引入哪些跨模块纪律 - 架构总入口要不要新增描述(描述不是贴链接) - `.codes