games-development-ai/.agents/skills/feature-design-doc.md
lili 5d0f351050 docs(cheap-gen): W-AXIS 波0 文档批——诊断档+SoT×4 修订+两份 plan+策展层勘误
2026-07-09 创始人方向性质疑经五路审计坐实,正式推翻两个历史结论(80% 天花板=口径混淆
+stripCode 污染;玩法坏死主因=判卷合约缺口误标),病根三条=判定语义膨胀/判卷合约反噬/
真相层缺失。本批为纯文档批:

- 诊断档 docs/brainstorms/2026-07-09-生成线harness方向性诊断与换轴方向.md(人审版)
- SoT 修订×4(双评审修入、docs-gate 绿):质量模型裁定三(L1 双证据=机械预筛∧独立模型
  玩法判定,fail-closed+金标校准)/图说护城河改「分层验收」/验收门 §2.4/AGENTS.md §3.1
- 执行版 plan×2:07-09 三波换轴 + 07-10 验收v2(测试agent替E/G/H,创始人已批,
  含附录A SoT 修订逐字终文与波0-3 工单拆分)
- 策展层定点勘误:tech-decisions/三份生成线 skill 追加 2026-07-09 勘误注记(过九门
  自此只算机械预筛),feature-design-doc 固化「人审版=brainstorm/SoT、执行版=plan」定位
- 在飞板登记 W-AXIS

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00

100 lines
8.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: feature-design-doc
description: "当新功能/跨模块/改用户可见行为/触及外部服务·支付·数据进入设计阶段时使用:产出 WHAT+HOW 合一的功能设计文档——文字+Mermaid 为事实源、SVG/HTML 给人看,含第 0 步 SoT 注册表查证、sot-impact/上级申报、防漂移单源与文档骨架。"
---
# 功能设计文档作业手册feature-design-doc
> **定位修订(2026-07-09,创始人)**:两份产物重新定位——**人审版 = brainstorm / SoT 设计文档**(方向诊断落 brainstorm,设计本体直接改所属 SoT,人审对象就是 SoT diff 与 brainstorm),**执行版 = `docs/plans/` 的 plan**(工单六要素,可派单)。已有 SoT 的改动**不再另造平行"功能设计文档"**——先改 SoT 的意识是硬要求;独立设计档只留给"尚无 SoT 的全新子系统"(产出后它本身成为/并入 SoT)。本 skill 的骨架、图规范、防漂移纪律对 SoT 设计档与上述独立设计档继续适用。
>
> 每个有真实复杂度的功能,开工前产出**一份**「功能设计文档」,取代旧的 `-review.md` + `-execution.md` 双档。一份文档同时承载 **WHAT**(意图/目标/边界/验证)与 **HOW**(方案/步骤),并以**一式两份**的表达服务两类读者:**文字 + Mermaid** 给人和 AIAI 主靠它),**SVG / HTML** 给人(更重要,看图即懂边界与核心思想)。
## 何时用
- 新功能、跨模块、改变用户可见行为、触及外部服务 / 支付 / 数据的**设计阶段**。
- 简单、局部、低风险任务**不需要**——直接做,别为一次性改动套重型文档。
## 第 0 步(强制):先查 SoT 注册表
写任何设计前,先读 [`docs/architecture/README.md`](../../docs/architecture/README.md) §2 注册表与 [`docs/agent-specs/_index.md`](../../docs/agent-specs/_index.md) 在飞板:本设计触及哪些既有 topic?是修订某个 SoT、新建 topic,还是纯留痕?把结论写进 frontmatter 的 `sot-impact` 字段(docs-gate G6 机器强制)。这一步治的是"新设计漏读既有设计/全局设计"——跳过它,门会把设计档拦在提交外。收口时按申报把可存留结论折进对应 SoT,设计档降为留痕。
## 这份文档承载什么WHAT + HOW 合一)
| 段 | 回答 | 要点 |
|---|---|---|
| 意图 | 为什么做 | 解决什么真实问题、不做会怎样 |
| 目标 | 要达成什么 | 尽量可量化(指标 / 验收线) |
| 边界 | 做 / 不做 | in scope / out of scope 一眼分清,挡住范围蔓延 |
| 方案 | 怎么实现(架构级) | 模块如何协作、关键设计决策与取舍 |
| 步骤计划 | 分几步落地 | 每阶段:交付物 / 验证 / 依赖 / 风险 |
| 验证 | 怎么算成功 | 验收标准、可观测信号 |
**禁令(硬约束)**:禁代码细节(函数签名 / 伪代码 / 具体实现——那是写代码时的事);禁黑话 / AI 味 / 元叙述;方案与步骤只写**架构级 HOW**(做什么、谁产出什么、怎么验),不写代码级 HOW。
## 一式两份:四种表达的分工
| 媒介 | 读者 | 角色 | 在 md 里 |
|---|---|---|---|
| **文字(中文散文)** | 人 + AI | **事实源**,自洽——脱离图也能读懂全部设计;后续 AI 主要消费它 | 正文 |
| **Mermaid** | 人 + AI | 结构图(流程 / 状态 / 时序 / 依赖),文本可 diff、随文档同源 | 内联 ```mermaid``` 块 |
| **SVG** | 人(**更重要** | 核心概览 / 边界 / 关系大图,看图即懂;颜色舒适、留白、核心路径高亮 | `assets/` 引用 inline |
| **HTML** | 人(可选增强) | 需交互 / 超丰富排版时的独立澄清页 | **链接**打开,不内联 |
**渲染现实(别踩)**Markdown 渲染器GitHub / Gitea**直渲 Mermaid 与 inline SVG**,但**不内联渲染独立 `.html`**md 内的 html 标签多被过滤。所以——md 阅读流里**能直接看到的 = Mermaid + SVG**HTML 只作「🔗 在浏览器打开交互版」的链接,**非必需**SVG 能讲清就不上 HTML。
**媒介怎么选**:结构关系 / 流程 → Mermaid「一眼看懂全局 / 边界 / 核心思想」→ SVG本文档的门面确需交互可展开、可切换、可点选→ HTML 独立页。
## House style复用不另起
功能设计文档的所有图,**配色 / 三线语义 / 徽章 / 脚注 / 转义 / 复验脚本一律照** [`architecture-diagram-atlas.md`](architecture-diagram-atlas.md):浅底 `#f8fafc`、主字 `#0f172a`、实线=现行 / 虚线=自建远期、远期紫 `#7c3aed`、红线 `#dc2626`、圆角 `rx 7~12`、脚注全角「」、SVG 文字内 `< > &` 必转义。
**侧重差异**atlas 面向「据图找缝」,**功能设计文档面向「快速理解」**——更重留白、层次分明、核心路径高亮,别堆信息密度。颜色要舒适、对比柔和。
- SVG 在 6c6g 出文本PNG 批量转在 **mini-desktop**6c6g 禁 chrome。见 [`staging-ops.md`](staging-ops.md)。
## 防漂移:一式两份的单一事实源
「两份」绝不能平等维护,否则必漂移(本项目反复踩的坑):
- **文字 + Mermaid = 事实源**(随 md 走、可 diff**SVG / HTML = 派生视觉**。
- 设计变更:**先改文字 + Mermaid再据此更新 SVG / HTML**;图文冲突**以文字为准**。
- frontmatter 防漂移门(复用 atlas记关联**代码 / 契约的 commit hash** + 图清单;收口比对 hash对不上标「待复核」。
- 权威**细节**只写在文字里(图里重复一份 = 又一个漂移面);图只承载**结构与边界的直觉**。
## 文档结构骨架
```
---
date / topic / status草稿 | 评审中 | 已批准 | 已实现)
sot-impact: 新建 topic X | 修订 topic Y | 纯留痕 # G6 申报(第 0 步的产出)
上级: <仓根相对路径> # G7 谱系单指针:本档的直接上级(通常是所属执行线的计划/SoT);填不出来 = 上级还没认领这条线,先回写上级再开工(§10.8)
关联: <代码 / 契约路径 + commit hash> # 防漂移门
图清单: [图1 概览, 图2 边界, ...]
---
# <功能> 功能设计
## 0 一图看懂 # 顶部放最重要的 SVG 概览 + 三句话:核心思想 / 边界 / 怎么算成功
## 1 意图与目标 # 为什么做、要达成什么(可量化)
## 2 边界 # 做什么 / 不做什么(配边界图)
## 3 方案 # 架构级,关键决策与取舍(配结构图)
## 4 步骤计划 # 分阶段:交付物 / 验证 / 依赖 / 风险(配阶段图)
## 5 验证方式 # 验收标准、可观测信号
## 6 风险与回滚
## 附 图清单与状态 · HTML 增强页链接
```
**§0「一图看懂」是门面**:一张 SVG + 三句话,让人 30 秒抓住意图、边界、核心思想;这是本文档「给人读、更重要」的承诺所在。
## 生产与评审
- **文字层**由主会话 / opus 写,务必自洽——后续 AI 消费它,缺图也要能读懂全部设计。
- **图层**每图一 opus 子代理:克隆 atlas 金样板 → 画 → 跑复验脚本 → 对抗自检house style 与散文铁律(连同正反例)**随 prompt 一起传下去**(只传「画图」不够,输出会回退 AI 味)。
- **评审**这份文档仍过双评审门Codex + OpusCodex 挂回落 Opus 单评),对象 = 这一份文档。
- 命名 `docs/agent-specs/YYYY-MM-DD-<功能>-设计.md`SVG / HTML 入同名或共享 `assets/`(顶层文档 → 子目录 assets 单向下引,别跨子目录引图)。
## 取代关系
取代旧的 `-review.md` + `-execution.md` 双档2026-06-24 创始人定)。存量双档作 trace 留 git / `_archive`**不强行合并历史**;新功能一律产这一份。
> 相关:[`architecture-diagram-atlas.md`](architecture-diagram-atlas.md)house style / 复验脚本 / 三范式防漂移)、[`wave-close-checklist.md`](wave-close-checklist.md)(收口同步纪律)、[`../workflows/ai-development-protocol.md`](../workflows/ai-development-protocol.md)(设计在协议中的位置)。