逆向文档化

SkillDocs & knowledge

Generate design or architecture documentation from an existing implementation. Works backwards from code/prototypes to create missing planning documents.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the 逆向文档化 skill

What this skill tells your AI

The instructions your AI receives, as published by pixel-cellar/claude-code-game-studios in .claude/skills/reverse-document/SKILL.md and read by ahel’s review.

本技能分析现有实现(代码、原型、系统)并生成相应的设计或架构文档。适用于以下场景:

  • 你在没有先写设计文档的情况下构建了一个功能
  • 你接手了一个没有文档的代码库
  • 你原型化了一个机制并需要将其规范化
  • 你需要记录现有代码背后的 "为什么"

工作流

1. 解析参数

格式/reverse-document <类型> <路径>

类型选项

  • design -> 生成游戏设计文档 (GDD 章节)
  • architecture -> 生成架构决策记录 (ADR)
  • concept -> 从原型生成概念文档

路径:要分析的目录或文件

  • src/gameplay/combat/ -> 所有战斗相关代码
  • src/core/event-system.cpp -> 特定文件
  • prototypes/stealth-mech/ -> 原型目录

示例

/reverse-document design src/gameplay/magic-system
/reverse-document architecture src/core/entity-component
/reverse-document concept prototypes/vehicle-combat

2. 分析实现

阅读并理解代码/原型

对于设计文档 (GDD)

  • 识别机制、规则、公式
  • 提取玩法数值(伤害、冷却时间、范围)
  • 找到状态机、技能系统、成长系统
  • 检测代码中处理的边缘情况
  • 映射依赖(哪些系统之间有交互?)

对于架构文档 (ADR)

  • 识别模式(ECS、单例、观察者等)
  • 理解技术决策(线程、序列化等)
  • 映射依赖和耦合关系
  • 评估性能特征
  • 找到约束和权衡

对于概念文档(原型分析)

  • 识别核心机制
  • 提取涌现的玩法模式
  • 记录什么有效、什么无效
  • 发现技术可行性洞见
  • 记录玩家幻想 / 手感

3. 提出澄清问题(协作协议)

不要只是描述代码。要问关于意图:

设计问题

  • "我看到一个在战斗中消耗的体力系统。这是为了:
    • 节奏控制(防止乱按)?
    • 资源管理(策略深度)?
    • 还是其他原因?"
  • "击倒机制似乎很核心。这是一个核心支柱,还是辅助功能?"
  • "伤害随等级指数缩放。是有意为之的力量幻想,还是需要重新平衡?"

架构问题

  • "你使用了服务定位器模式。这是为了:
    • 可测试性(模拟依赖)?
    • 解耦(减少硬引用)?
    • 还是继承了现有代码?"
  • "我看到使用了手动内存管理而非智能指针。是性能需求,还是历史遗留?"

概念问题

  • "原型强调潜行而非战斗。这是预期的核心支柱吗?"
  • "玩家似乎在利用抓钩加速。这是功能还是 Bug?"

4. 展示发现

在起草之前,展示你发现了什么:

我已经分析了 src/gameplay/combat/。以下是我的发现:

已实现的机制:
- 3 连击系统,带时机窗口
- 破防机制(重攻击 vs 格挡中的敌人)
- 体力系统(攻击/闪避时消耗,空闲时恢复)
- 击倒系统(累积触发脆弱状态)

发现的公式:
- 伤害 = 基础值 * (1 + 力量缩放 * 等级)
- 击倒累积 = 攻击击倒值 / (敌人.定力 * 0.5)
- 体力消耗 = 基础体力消耗 * (1 - 效率加成)

意图不明确的区域:
1. 体力系统 — 节奏控制还是资源管理?
2. 击倒 — 核心支柱还是辅助功能?
3. 伤害缩放 — 力量幻想还是需要调整?

在起草设计文档之前,能否请您澄清这些要点?

等待用户澄清意图后再起草。

5. 使用模板起草文档

根据类型,使用相应模板:

类型模板输出路径
designtemplates/design-doc-from-implementation.mddesign/gdd/[系统名称].md
architecturetemplates/architecture-doc-from-code.mddocs/architecture/[决策名称].md
concepttemplates/concept-doc-from-prototype.mdprototypes/[名称]/CONCEPT.mddesign/concepts/[名称].md

草稿结构

  • 捕获存在什么(机制、模式、实现)
  • 记录为什么存在(经用户澄清的意图)
  • 识别缺失什么(未处理的边缘情况、设计中的空白)
  • 标记后续工作(数值平衡调整、缺失功能)

6. 展示草稿并请求批准

协作协议

我已经根据你的代码和澄清内容起草了战斗系统设计文档。

[展示关键章节:概述、机制、公式、设计意图]

我添加的内容:
- 根据你的澄清,将体力记录为 "节奏控制机制"
- 添加了代码中未涉及的边缘情况(如果体力在连击中途归零怎么办?)
- 标记了平衡隐患:高等级的指数伤害缩放

标记为不完整的章节:
- "敌人 AI 与击倒的交互"(尚未完全实现)
- "武器多样性和缩放"(目前只实现了剑)

可以将此内容写入 design/gdd/combat-system.md 吗?

等待批准。用户可能在写入前要求修改。

7. 带元数据写入文档

获得批准后,使用特殊标记写入文件:

---
status: reverse-documented
source: src/gameplay/combat/
date: 2026-02-13
verified-by: [用户名称]
---

# 战斗系统设计

> **注意**:本文档是从现有实现逆向工程得出的。
> 它记录了当前行为和经澄清的设计意图。某些部分可能不完整,
> 特别是实现不完整或意图不明确的地方。

[文档其余部分...]

8. 标记后续工作

写入后,建议下一步操作:

已写入 design/gdd/combat-system.md

建议后续工作:
1. 对战斗公式运行 /balance-check(指数缩放隐患)
2. 为体力系统的架构决策创建 ADR
3. 实现缺失的边缘情况:
   - 连击中途体力归零的行为
   - 闪避期间的击倒状态
4. 当实现武器多样性时扩展设计文档

需要我现在处理其中任何一项吗?

模板选择逻辑

如果分析...使用模板...因为...
src/gameplay/*design-doc-from-implementation.md玩法机制 -> GDD
src/core/*src/ai/*architecture-doc-from-code.md核心系统 -> ADR
prototypes/*concept-doc-from-prototype.md实验 -> 概念文档
src/networking/*architecture-doc-from-code.md技术系统 -> ADR
src/ui/*design-doc-from-implementation.mdUI/UX -> 设计规范

示例会话:逆向文档化战斗代码

用户: /reverse-document design src/gameplay/combat

代理: 我将分析你的战斗实现来创建设计文档。
      [读取代码,发现机制、公式]

代理: 我已经分析了 src/gameplay/combat/。以下是我的发现:
      [展示机制、公式、不明确的区域]

      在起草之前,能否请您澄清:
      1. 体力系统的意图?
      2. 击倒是核心支柱吗?
      3. 伤害缩放 — 有意为之还是需要调整?

用户: 1. 体力是为了节奏控制,防止乱按
      2. 击倒是核心 — 我想要深思熟虑的战斗
      3. 对,指数缩放太过分了,应该是线性的

代理: 明白了,这澄清了愿景。让我起草设计文档。
      [展示含澄清意图的草稿]

      可以将此内容写入 design/gdd/combat-system.md 吗?

用户: 好,写入吧。

代理: 已写入 design/gdd/combat-system.md
      已标记为 [逆向文档化]
      已标记伤害缩放需要重新平衡

      后续步骤:
      - 将伤害公式更新为线性缩放
      - 运行 /balance-check 验证成长曲线
      - 在 game-pillars.md 中将击倒记录为核心支柱

协作协议

本技能遵循协作设计原则:

  1. 先分析:阅读代码,理解实现
  2. 询问意图:问 "为什么",而不仅仅是 "是什么"
  3. 展示发现:展示发现,高亮不明确的区域
  4. 用户澄清:将意图与偶然结果分开
  5. 起草文档:基于现实 + 意图创建文档
  6. 展示草稿:展示关键章节,解释添加的内容
  7. 获取批准:"可以写入 [文件路径] 吗?"
  8. 标记后续:建议相关工作,不要自动执行

绝不要假设意图。在记录 "为什么" 之前,始终先询问。

Signals

GitHub stars
326
Forks
71
Last commit
Mar 2026
Advanced
Catalog kind
skill
Gateway key
reverse-document-pixel-cellar
Source
github.com/pixel-cellar/claude-code-game-studios