review-all-gdds

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Review All GDDs

全GDD评审

This skill reads every system GDD simultaneously and performs two complementary reviews that cannot be done per-GDD in isolation:
  1. Cross-GDD Consistency — contradictions, stale references, and ownership conflicts between documents
  2. Game Design Holism — issues that only emerge when you see all systems together: dominant strategies, broken economies, cognitive overload, pillar drift, competing progression loops
This is distinct from
/design-review
, which reviews one GDD for internal completeness. This skill reviews the relationships between all GDDs.
When to run:
  • After all MVP-tier GDDs are individually approved
  • After any GDD is significantly revised mid-production
  • Before
    /create-architecture
    begins (architecture built on inconsistent GDDs inherits those inconsistencies)
Argument modes:
Focus:
$ARGUMENTS[0]
(blank =
full
)
  • No argument /
    full
    : Both consistency and design theory passes
  • consistency
    : Cross-GDD consistency checks only (faster)
  • design-theory
    : Game design holism checks only
  • since-last-review
    : Only GDDs modified since the last review report (git-based)

此技能会同时读取所有系统GDD,并执行两项无法通过单个GDD独立完成的互补评审:
  1. 跨GDD一致性检查 — 文档间的矛盾、过时引用和所有权冲突
  2. 游戏设计整体性评审 — 只有整合所有系统才能发现的问题:优势策略、经济体系崩溃、认知过载、支柱偏离、竞争式成长循环
此技能与
/design-review
不同
,后者仅评审单个GDD的内部完整性,而本技能评审的是所有GDD之间的关联关系
运行时机:
  • 所有MVP级GDD各自获批后
  • 生产过程中任何GDD被大幅修订后
  • /create-architecture
    开始前(基于不一致GDD构建的架构会继承这些不一致性)
参数模式:
Focus:
$ARGUMENTS[0]
(留空 =
full
  • 无参数 /
    full
    :同时执行一致性检查和设计理论评审
  • consistency
    :仅执行跨GDD一致性检查(速度更快)
  • design-theory
    :仅执行游戏设计整体性评审
  • since-last-review
    :仅检查自上次评审报告后修改过的GDD(基于git)

Phase 1: Load Everything

阶段1:加载所有内容

Phase 1a — L0: Summary Scan (fast, low tokens)

阶段1a — L0:摘要扫描(快速、低token消耗)

Before reading any full document, use Grep to extract
## Summary
sections from all GDD files:
Grep pattern="## Summary" glob="design/gdd/*.md" output_mode="content" -A 5
Display a manifest to the user:
Found [N] GDDs. Summaries:
  • combat.md — [summary text]
  • inventory.md — [summary text]
  ...
For
since-last-review
mode: run
git log --name-only
to identify GDDs modified since the last review report file was written. Show the user which GDDs are in scope based on summaries before doing any full reads. Only proceed to L1 for those GDDs plus any GDDs listed in their "Key deps".
在读取任何完整文档前,使用Grep从所有GDD文件中提取
## Summary
部分:
Grep pattern="## Summary" glob="design/gdd/*.md" output_mode="content" -A 5
向用户显示清单:
找到 [N] 份GDD。摘要如下:
  • combat.md — [摘要文本]
  • inventory.md — [摘要文本]
  ...
对于
since-last-review
模式:运行
git log --name-only
以识别自上次评审报告编写后修改过的GDD。在进行完整读取前,向用户显示基于摘要确定的范围内的GDD。仅对这些GDD及其“关键依赖项”中列出的任何GDD执行L1读取。

Phase 1b — Registry Pre-Load (fast baseline)

阶段1b:注册表预加载(快速基线)

Before full-reading any GDD, check for the entity registry:
Read path="design/registry/entities.yaml"
If the registry exists and has entries, use it as a pre-built conflict baseline: known entities, items, formulas, and constants with their authoritative values and source GDDs. In Phase 2, grep GDDs for registered names first — this is faster than reading all GDDs in full before knowing what to look for.
If the registry is empty or absent: proceed without it. Note in the report: "Entity registry is empty — consistency checks rely on full GDD reads only. Run
/consistency-check
after this review to populate the registry."
在完整读取任何GDD前,检查实体注册表:
Read path="design/registry/entities.yaml"
如果注册表存在且有条目,将其用作预构建冲突基线:已知实体、物品、公式和常量及其权威值和来源GDD。在阶段2中,先在GDD中搜索已注册的名称——这比在明确查找目标前完整读取所有GDD更快。
如果注册表为空或不存在:不使用注册表继续执行。在报告中注明:“实体注册表为空——一致性检查仅依赖完整GDD读取。本次评审后运行
/consistency-check
以填充注册表。”

Phase 1c — L1/L2: Full Document Load

阶段1c — L1/L2:完整文档加载

Full-read the in-scope documents:
  1. design/gdd/game-concept.md
    — game vision, core loop, MVP definition
  2. design/gdd/game-pillars.md
    if it exists — design pillars and anti-pillars
  3. design/gdd/systems-index.md
    — authoritative system list, layers, dependencies, status
  4. Every in-scope system GDD in
    design/gdd/
    — read completely (skip game-concept.md and systems-index.md — those are read above)
Report: "Loaded [N] system GDDs covering [M] systems. Pillars: [list]. Anti-pillars: [list]."
If fewer than 2 system GDDs exist, stop:
"Cross-GDD review requires at least 2 system GDDs. Write more GDDs first, then re-run
/review-all-gdds
."

完整读取范围内的文档:
  1. design/gdd/game-concept.md
    — 游戏愿景、核心循环、MVP定义
  2. 若存在
    design/gdd/game-pillars.md
    — 设计支柱与反支柱
  3. design/gdd/systems-index.md
    — 权威系统列表、层级、依赖关系、状态
  4. design/gdd/
    中所有范围内的系统GDD
    — 完整读取(跳过已读取的game-concept.md和systems-index.md)
报告:“已加载 [N] 份系统GDD,覆盖 [M] 个系统。支柱:[列表]。反支柱:[列表]。”
若系统GDD数量少于2份,停止执行:
“跨GDD评审至少需要2份系统GDD。请先编写更多GDD,然后重新运行
/review-all-gdds
。”

Parallel Execution

并行执行

Phase 2 (Consistency) and Phase 3 (Design Theory) are independent — they read the same GDD inputs but produce separate reports. Spawn both as parallel Task agents simultaneously rather than waiting for Phase 2 to complete before starting Phase 3. Collect both results before writing the combined report.

阶段2(一致性检查)和阶段3(设计理论评审)相互独立——它们读取相同的GDD输入,但生成独立的报告。同时启动两个并行Task代理,而非等待阶段2完成后再启动阶段3。收集两个结果后再编写合并报告。

Phase 2: Cross-GDD Consistency

阶段2:跨GDD一致性检查

Work through every pair and group of GDDs to find contradictions and gaps.
检查每对及每组GDD,找出矛盾和漏洞。

2a: Dependency Bidirectionality

2a:依赖双向性

For every GDD's Dependencies section, check that every listed dependency is reciprocal:
  • If GDD-A lists "depends on GDD-B", check that GDD-B lists GDD-A as a dependent
  • If GDD-A lists "depended on by GDD-C", check that GDD-C lists GDD-A as a dependency
  • Flag any one-directional dependency as a consistency issue
⚠️  Dependency Asymmetry
[system-a].md lists: Depends On → [system-b].md
[system-b].md does NOT list [system-a].md as a dependent
→ One of these documents has a stale dependency section
对于每个GDD的依赖项部分,检查每个列出的依赖项是否具有双向性:
  • 若GDD-A列出“依赖于GDD-B”,检查GDD-B是否将GDD-A列为依赖方
  • 若GDD-A列出“被GDD-C依赖”,检查GDD-C是否将GDD-A列为依赖项
  • 将任何单向依赖标记为一致性问题
⚠️  依赖不对称
[system-a].md 列出:依赖于 → [system-b].md
[system-b].md 未将 [system-a].md 列为依赖方
→ 其中一份文档的依赖项部分已过时

2b: Rule Contradictions

2b:规则矛盾

For each game rule, mechanic, or constraint defined in any GDD, check whether any other GDD defines a contradicting rule for the same situation:
Categories to scan:
  • Floor/ceiling rules: Does any GDD define a minimum value for an output? Does any other say a different system can bypass that floor? These contradict.
  • Resource ownership: If two GDDs both define how a shared resource accumulates or depletes, do they agree?
  • State transitions: If GDD-A describes what happens when a character dies, does GDD-B's description of the same event agree?
  • Timing: If GDD-A says "X happens on the same frame", does GDD-B assume it happens asynchronously?
  • Stacking rules: If GDD-A says status effects stack, does GDD-B assume they don't?
🔴 Rule Contradiction
[system-a].md: "Minimum [output] after reduction is [floor_value]"
[system-b].md: "[mechanic] bypasses [system-a]'s rules and can reduce [output] to 0"
→ These rules directly contradict. Which GDD is authoritative?
对于任何GDD中定义的每条游戏规则、机制或约束,检查是否有其他GDD针对同一情况定义了矛盾规则:
扫描类别:
  • 上下限规则:是否有GDD定义了输出的最小值?是否有其他GDD规定另一个系统可以绕过该下限?这些属于矛盾。
  • 资源所有权:若两份GDD都定义了共享资源的累积或消耗方式,它们是否一致?
  • 状态转换:若GDD-A描述了角色死亡时的情况,GDD-B对同一事件的描述是否一致?
  • 时序:若GDD-A表示“X在同一帧发生”,GDD-B是否假设它是异步发生的?
  • 堆叠规则:若GDD-A表示状态效果可堆叠,GDD-B是否假设不可堆叠?
🔴 规则矛盾
[system-a].md:“削减后的最小[输出]为[下限值]”
[system-b].md:“[机制]绕过[system-a]的规则,可将[输出]降至0”
→ 这些规则直接矛盾。哪份GDD具有权威性?

2c: Stale References

2c:过时引用

For every cross-document reference (GDD-A mentions a mechanic, value, or system name from GDD-B), verify the referenced element still exists in GDD-B with the same name and behaviour:
  • If GDD-A says "combo multiplier from the combat system feeds into score", check that the combat GDD actually defines a combo multiplier that outputs to score
  • If GDD-A references "the progression curve defined in [system].md", check that [system].md actually has that curve, not a different progression model
  • If GDD-A was written before GDD-B and assumed a mechanic that GDD-B later designed differently, flag GDD-A as containing a stale reference
⚠️  Stale Reference
inventory.md (written first): "Item weight uses the encumbrance formula
  from movement.md"
movement.md (written later): Defines no encumbrance formula — uses a flat
  carry limit instead
→ inventory.md references a formula that doesn't exist
对于每个跨文档引用(GDD-A提及GDD-B中的机制、值或系统名称),验证被引用元素是否仍以相同名称和行为存在于GDD-B中:
  • 若GDD-A表示“战斗系统的连击倍数计入得分”,检查战斗GDD是否确实定义了输出到得分的连击倍数
  • 若GDD-A引用“[system].md中定义的成长曲线”,检查[system].md是否确实存在该曲线,而非其他成长模型
  • 若GDD-A编写于GDD-B之前,并假设了GDD-B后来修改的机制,将GDD-A标记为包含过时引用
⚠️  过时引用
inventory.md(先编写):“物品重量使用movement.md中的负重公式”
movement.md(后编写):未定义负重公式——使用固定携带上限
→ inventory.md引用了不存在的公式

2d: Data and Tuning Knob Ownership Conflicts

2d:数据与调节旋钮所有权冲突

Two GDDs should not both claim to own the same data or tuning knob. Scan all Tuning Knobs sections across all GDDs and flag duplicates:
⚠️  Ownership Conflict
[system-a].md Tuning Knobs: "[multiplier_name] — controls [output] scaling"
[system-b].md Tuning Knobs: "[multiplier_name] — scales [output] with [factor]"
→ Two GDDs define multipliers on the same output. Which owns the final value?
  This will produce either a double-application bug or a design conflict.
两份GDD不应同时声称拥有相同的数据或调节旋钮。扫描所有GDD中的调节旋钮部分,标记重复项:
⚠️  所有权冲突
[system-a].md 调节旋钮:“[倍数名称] — 控制[输出]缩放”
[system-b].md 调节旋钮:“[倍数名称] — 根据[因子]缩放[输出]”
→ 两份GDD都定义了针对同一输出的倍数。哪份拥有最终值的决定权?这会导致重复应用bug或设计冲突。

2e: Formula Compatibility

2e:公式兼容性

For GDDs whose formulas are connected (output of one feeds input of another), check that the output range of the upstream formula is within the expected input range of the downstream formula:
  • If [system-a].md outputs values between [min]–[max], and [system-b].md is designed to receive values between [min2]–[max2], is the mismatch intentional?
  • If an economy GDD expects resource acquisition in range X, and the progression GDD generates it at range Y, the economy will be trivial or inaccessible — is that intended?
Flag incompatibilities as CONCERNS (design judgment needed, not necessarily wrong):
⚠️  Formula Range Mismatch
[system-a].md: Max [output] = [value_a] (at max [condition])
[system-b].md: Base [input] = [value_b], max [input] = [value_c]
→ Late-[stage] [scenario] can resolve in a single [event].
  Is this intentional? If not, either [system-a]'s ceiling or [system-b]'s ceiling needs adjustment.
对于公式相互关联的GDD(一个的输出作为另一个的输入),检查上游公式的输出范围是否在下游公式的预期输入范围内:
  • 若[system-a].md输出值在[最小值]–[最大值]之间,而[system-b].md设计为接收[最小值2]–[最大值2]之间的值,这种不匹配是否是故意的?
  • 若经济GDD预期资源获取范围为X,而成长GDD生成的资源范围为Y,经济体系会变得过于简单或难以获取——这是否是故意的?
将不兼容性标记为“关注项”(需要设计判断,不一定是错误):
⚠️  公式范围不匹配
[system-a].md:最大[输出] = [值a](在最大[条件]下)
[system-b].md:基础[输入] = [值b],最大[输入] = [值c]
→ 后期[阶段]的[场景]可通过单次[事件]解决。这是否是故意的?若不是,需调整[system-a]的上限或[system-b]的上限。

2f: Acceptance Criteria Cross-Check

2f:验收标准交叉检查

Scan Acceptance Criteria sections across all GDDs for contradictions:
  • GDD-A criteria: "Player cannot die from a single hit"
  • GDD-B criteria: "Boss attack deals 150% of player max health" These acceptance criteria cannot both pass simultaneously.

扫描所有GDD中的验收标准部分,查找矛盾:
  • GDD-A标准:“玩家不会被单次攻击击杀”
  • GDD-B标准:“Boss攻击造成玩家最大生命值150%的伤害” 这些验收标准无法同时满足。

Phase 3: Game Design Holism

阶段3:游戏设计整体性评审

Review all GDDs together through the lens of game design theory and player psychology. These are issues that individual GDD reviews cannot catch because they require seeing all systems at once.
从游戏设计理论和玩家心理学的角度综合评审所有GDD。这些问题是单个GDD评审无法发现的,因为需要同时查看所有系统。

3a: Progression Loop Competition

3a:成长循环竞争

A game should have one dominant progression loop that players feel is "the point" of the game, with supporting loops that feed into it. When multiple systems compete equally as the primary progression driver, players don't know what the game is about.
Scan all GDDs for systems that:
  • Award the player's primary resource (XP, levels, prestige, unlocks)
  • Define themselves as the "core" or "main" loop
  • Have comparable depth and time investment to other systems doing the same
⚠️  Competing Progression Loops
combat.md: Awards XP, unlocks abilities, is described as "the core loop"
crafting.md: Awards XP, unlocks recipes, is described as "the primary activity"
exploration.md: Awards XP, unlocks map areas, described as "the main driver"
→ Three systems all claim to be the primary progression loop and all award
  the same primary currency. Players will optimise one and ignore the others.
  Consider: one primary loop with the others as support systems.
游戏应有一个主导成长循环,让玩家感受到这是游戏的“核心目标”,其他辅助循环为其提供支持。当多个系统同等作为主要成长驱动因素时,玩家会不清楚游戏的核心内容。
扫描所有GDD,找出以下系统:
  • 奖励玩家的主要资源(经验值、等级、声望、解锁内容)
  • 自称为“核心”或“主要”循环
  • 与其他同类系统具有相当的深度和时间投入
⚠️  竞争式成长循环
combat.md:奖励经验值、解锁技能,被描述为“核心循环”
crafting.md:奖励经验值、解锁配方,被描述为“主要活动”
exploration.md:奖励经验值、解锁地图区域,被描述为“主要驱动因素”
→ 三个系统都声称是主要成长循环,且都奖励相同的主要货币。玩家会优化其中一个而忽略其他。建议:设置一个主循环,其他作为支持系统。

3b: Player Attention Budget

3b:玩家注意力预算

Count how many systems require active player attention simultaneously during a typical session. Each actively-managed system costs attention:
  • Active = player must make decisions about this system regularly during play
  • Passive = system runs automatically, player sees results but doesn't manage it
More than 3-4 simultaneously active systems creates cognitive overload for most players. Present the count and flag if it exceeds 4 concurrent active systems:
⚠️  Cognitive Load Risk
Simultaneously active systems during [core loop moment]:
  1. [system-a].md — [decision type] (active)
  2. [system-b].md — [resource management] (active)
  3. [system-c].md — [tracking] (active)
  4. [system-d].md — [item/action use] (active)
  5. [system-e].md — [cooldown/timer management] (active)
  6. [system-f].md — [coordination decisions] (active)
→ 6 simultaneously active systems during the core loop.
  Research suggests 3-4 is the comfortable limit for most players.
  Consider: which of these can be made passive or simplified?
统计典型游戏会话中需要玩家同时主动关注的系统数量。每个需要主动管理的系统都会消耗注意力:
  • 主动 = 玩家在游戏过程中必须定期对该系统做出决策
  • 被动 = 系统自动运行,玩家仅查看结果无需管理
超过3-4个同时活跃的系统会导致大多数玩家认知过载。统计数量,若超过4个则标记:
⚠️  认知负荷风险
[核心循环时刻]同时活跃的系统:
  1. [system-a].md — [决策类型](主动)
  2. [system-b].md — [资源管理](主动)
  3. [system-c].md — [追踪](主动)
  4. [system-d].md — [物品/动作使用](主动)
  5. [system-e].md — [冷却/计时器管理](主动)
  6. [system-f].md — [协作决策](主动)
→ 核心循环期间有6个同时活跃的系统。研究表明,大多数玩家的舒适上限为3-4个。建议:考虑将其中哪些设置为被动或简化?

3c: Dominant Strategy Detection

3c:优势策略检测

A dominant strategy makes other strategies irrelevant — players discover it, use it exclusively, and find the rest of the game boring. Look for:
  • Resource monopolies: One strategy generates a resource significantly faster than all others
  • Risk-free power: A strategy that is both high-reward and low-risk (if high-risk strategies exist, they need proportionally higher reward)
  • No trade-offs: An option that is superior in all dimensions to all others
  • Obvious optimal path: If any progression choice is "clearly correct", the others aren't real choices
⚠️  Potential Dominant Strategy
combat.md: Ranged attacks deal 80% of melee damage with no risk
combat.md: Melee attacks deal 100% damage but require close range
→ Unless melee has a significant compensating advantage (AOE, stagger,
  resource regeneration), ranged is dominant — higher safety, only 20% less
  damage. Consider what melee offers that ranged cannot.
优势策略会使其他策略变得无关紧要——玩家发现后会排他性使用,导致游戏其余部分变得乏味。查找以下情况:
  • 资源垄断:某策略生成资源的速度明显快于其他所有策略
  • 无风险高收益:某策略同时具有高收益和低风险(若存在高风险策略,其收益需成比例更高)
  • 无取舍:某选项在所有维度上都优于其他所有选项
  • 明显最优路径:若任何成长选择“显然正确”,其他选择则不是真正的选择
⚠️  潜在优势策略
combat.md:远程攻击造成近战伤害的80%,且无风险
combat.md:近战攻击造成100%伤害,但需要近距离
→ 除非近战有显著补偿优势(范围攻击、 stagger、资源再生),否则远程是优势策略——安全性更高,仅少20%伤害。考虑近战能提供哪些远程无法提供的优势。

3d: Economic Loop Analysis

3d:经济循环分析

Identify all resources across all GDDs (gold, XP, crafting materials, stamina, health, mana, etc.). For each resource, map its sources (how players gain it) and sinks (how players spend it).
Flag dangerous economic conditions:
ConditionSignRisk
Infinite source, no sinkResource accumulates indefinitelyLate game becomes trivially easy
Sink, no sourceResource drains to zeroSystem becomes unavailable
Source >> SinkSurplus accumulatesResource becomes meaningless
Sink >> SourceConstant scarcityFrustration and gatekeeping
Positive feedback loopMore resource → easier to earn moreRunaway leader, snowball
No catch-upFalling behind accelerates deficitUnrecoverable states
🔴 Economic Imbalance: Unbounded Positive Feedback
gold economy:
  Sources: monster drops (scales with player power), merchant selling (unlimited)
  Sinks: equipment purchase (one-time), ability upgrades (finite count)
→ After equipment and abilities are purchased, gold has no sink.
  Infinite surplus. Gold becomes meaningless mid-game.
  Add ongoing gold sinks (upkeep, consumables, cosmetics, gambling).
识别所有GDD中的资源(金币、经验值、制作材料、耐力、生命值、法力值等)。针对每种资源,绘制其来源(玩家获取方式)和消耗渠道(玩家花费方式)。
标记危险的经济状况:
情况特征风险
无限来源,无消耗渠道资源无限累积后期游戏变得过于简单
有消耗渠道,无来源资源耗尽至零系统无法使用
来源远大于消耗资源过剩累积资源变得毫无意义
消耗远大于来源持续稀缺挫败感和门槛过高
正反馈循环资源越多 → 越容易获取更多领先者失控,滚雪球效应
无追赶机制落后会加速差距扩大无法挽回的状态
🔴 经济失衡:无限制正反馈
金币经济:
  来源:怪物掉落(随玩家实力增长)、商人售卖(无限)
  消耗渠道:装备购买(一次性)、技能升级(次数有限)
→ 购买装备和升级技能后,金币无消耗渠道。无限过剩。金币在游戏中期变得毫无意义。建议添加持续消耗渠道(维护费用、消耗品、外观、博彩)。

3e: Difficulty Curve Consistency

3e:难度曲线一致性

When multiple systems scale with player progression, they must scale in compatible directions and at compatible rates. Mismatched scaling curves create unintended difficulty spikes or trivialisations.
For each system that scales over time, extract:
  • What scales (enemy health, player damage, resource cost, area size)
  • How it scales (linear, exponential, stepped)
  • When it scales (level, time, area)
Compare all scaling curves. Flag mismatches:
⚠️  Difficulty Curve Mismatch
combat.md: Enemy health scales exponentially with area (×2 per area)
progression.md: Player damage scales linearly with level (+10% per level)
→ By area 5, enemies have 32× base health; player deals ~1.5× base damage.
  The gap widens indefinitely. Late areas will become inaccessibly difficult
  unless the curves are reconciled.
当多个系统随玩家成长而缩放时,它们必须朝着兼容的方向以兼容的速率缩放。不匹配的缩放曲线会导致意外的难度峰值或游戏过于简单。
针对每个随时间缩放的系统,提取:
  • 缩放内容(敌人生命值、玩家伤害、资源成本、区域大小)
  • 缩放方式(线性、指数、阶梯式)
  • 缩放时机(等级、时间、区域)
比较所有缩放曲线,标记不匹配项:
⚠️  难度曲线不匹配
combat.md:敌人生命值随区域呈指数缩放(每个区域×2)
progression.md:玩家伤害随等级呈线性缩放(每级+10%)
→ 到第5区域时,敌人拥有32倍基础生命值;玩家仅造成约1.5倍基础伤害。差距会无限扩大。后期区域会变得难以进入,除非调整曲线使其一致。

3f: Pillar Alignment

3f:支柱对齐

Every system should clearly serve at least one design pillar. A system that serves no pillar is "scope creep by design" — it's in the game but not in service of what the game is trying to be.
For each GDD system, check its Player Fantasy section against the design pillars. Flag any system whose stated fantasy doesn't map to any pillar:
⚠️  Pillar Drift
fishing-system.md: Player Fantasy — "peaceful, meditative activity"
Pillars: "Brutal Combat", "Tense Survival", "Emergent Stories"
→ The fishing system serves none of the three pillars. Either add a pillar
  that covers it, redesign it to serve an existing pillar, or cut it.
Also check anti-pillars — flag any system that does what an anti-pillar explicitly says the game will NOT do:
🔴 Anti-Pillar Violation
Anti-Pillar: "We will NOT have linear story progression — player defines their path"
main-quest.md: Defines a 12-chapter linear story with mandatory sequence
→ This system directly violates the defined anti-pillar.
每个系统应明确服务于至少一个设计支柱。不服务于任何支柱的系统属于“设计型范围蔓延”——存在于游戏中,但不符合游戏的核心定位。
针对每个GDD系统,检查其玩家幻想部分与设计支柱是否匹配。标记任何其所述幻想与支柱无关的系统:
⚠️  支柱偏离
fishing-system.md:玩家幻想 — “平静、冥想的活动”
支柱:“残酷战斗”、“紧张生存”、“ emergent Stories”
→ 钓鱼系统不服务于三个支柱中的任何一个。要么添加涵盖它的支柱,重新设计使其服务于现有支柱,要么移除它。
同时检查反支柱——标记任何违反反支柱明确规定的系统:
🔴 反支柱违反
反支柱:“我们不会采用线性剧情推进——玩家定义自己的路径”
main-quest.md:定义了12章线性剧情,具有强制顺序
→ 此系统直接违反已定义的反支柱。

3g: Player Fantasy Coherence

3g:玩家幻想一致性

The player fantasies across all systems should be compatible — they should reinforce a consistent identity for what the player IS in this game. Conflicting player fantasies create identity confusion.
⚠️  Player Fantasy Conflict
combat.md: "You are a ruthless, precise warrior — every kill is earned"
dialogue.md: "You are a charismatic diplomat — violence is always avoidable"
exploration.md: "You are a reckless adventurer — diving in without a plan"
→ Three systems present incompatible identities. Players will feel the game
  doesn't know what it wants them to be. Consider: do these fantasies serve
  the same core identity from different angles, or do they genuinely conflict?

所有系统的玩家幻想应保持兼容——它们应强化玩家在游戏中的一致身份。冲突的玩家幻想会导致身份混淆。
⚠️  玩家幻想冲突
combat.md:“你是冷酷、精准的战士——每一次击杀都来之不易”
dialogue.md:“你是富有魅力的外交官——暴力永远可以避免”
exploration.md:“你是鲁莽的冒险家——毫无计划地投身其中”
→ 三个系统呈现了不兼容的身份。玩家会觉得游戏不清楚希望他们扮演什么角色。建议:这些幻想是否从不同角度服务于同一核心身份,还是真的存在冲突?

Phase 4: Cross-System Scenario Walkthrough

阶段4:跨系统场景走查

Walk through the game from the player's perspective to find problems that only appear at the interaction boundary between multiple systems — things static analysis of individual GDDs cannot surface.
从玩家视角走查游戏,找出仅在多个系统交互边界出现的问题——单个GDD的静态分析无法发现的问题。

4a: Identify Key Multi-System Moments

4a:识别关键多系统时刻

Scan all GDDs and identify the 3–5 most important player-facing moments where multiple systems activate simultaneously. Look specifically for:
  • Combat + Economy overlap: killing enemies that drop resources, spending resources during combat, death/respawn interacting with economy state
  • Progression + Difficulty overlap: level-up triggering mid-fight, ability unlocks changing combat viability, difficulty scaling at progression milestones
  • Narrative + Gameplay overlap: dialogue choices locking/unlocking mechanics, story beats interrupting resource loops, quest completion triggering system state changes
  • 3+ system chains: any player action that triggers System A, which feeds into System B, which triggers System C (these are highest-risk interaction paths)
List each identified scenario with a one-line description before proceeding.
扫描所有GDD,找出3-5个最重要的、多个系统同时激活的玩家面向时刻。特别关注:
  • 战斗+经济重叠:击杀掉落资源的敌人、战斗中消耗资源、死亡/复活与经济状态交互
  • 成长+难度重叠:战斗中触发升级、技能解锁改变战斗可行性、成长里程碑时难度缩放
  • 叙事+玩法重叠:对话选择锁定/解锁机制、剧情中断资源循环、任务完成触发系统状态变化
  • 3+系统链:任何触发系统A,进而触发系统B,再触发系统C的玩家操作(这些是最高风险的交互路径)
在继续前,列出每个识别出的场景及其一行描述。

4b: Walk Through Each Scenario

4b:走查每个场景

For each scenario, step through the sequence explicitly:
  1. Trigger — what player action or game event starts this?
  2. Activation order — which systems activate, in what sequence?
  3. Data flow — what does each system output, and is that output a valid input for the next system in the chain?
  4. Player experience — what does the player see, hear, or feel at each step?
  5. Failure modes — are there any of the following?
    • Race conditions: two systems trying to modify the same state simultaneously
    • Feedback loops: System A amplifies System B which re-amplifies System A with no cap or dampener
    • Broken state transitions: a system assumes a state that a previous system may have changed (e.g., "player is alive" assumption after a combat step that could have caused death)
    • Contradictory messaging: player receives conflicting feedback from two systems reacting to the same event (e.g., "success" sound + "failure" UI)
    • Compounding difficulty spikes: two systems both scaling up at the same progression point, multiplying the intended difficulty increase
    • Reward conflicts: two systems both reacting to the same trigger with rewards that together exceed the intended value (double-dipping)
    • Undefined behavior: the GDDs don't specify what happens in this combined state (neither system's rules cover it)
Example walkthrough:
Scenario: Player kills elite enemy at level-up threshold during active quest

Trigger: Player lands killing blow on elite enemy
→ combat.md: awards kill XP (100 pts)
→ progression.md: XP total crosses level threshold → triggers level-up
  Output: new level, stat increases, ability unlock popup
→ quest.md: kill-count criterion met → triggers quest completion event
  Output: quest reward XP (500 pts), completion fanfare
→ progression.md (again): quest XP added → triggers SECOND level-up in same frame
  ⚠️  Data flow issue: quest.md awards XP without checking if a level-up
  is already in progress. progression.md has no guard against concurrent
  level-up events. Undefined behavior: does the player level up once or twice?
  Does the ability popup fire twice? Does the second level use the updated or
  pre-update stat baseline?
针对每个场景,明确逐步走查:
  1. 触发条件 — 玩家操作或游戏事件如何启动此场景?
  2. 激活顺序 — 哪些系统激活,顺序如何?
  3. 数据流 — 每个系统输出什么,该输出是否是链中下一个系统的有效输入?
  4. 玩家体验 — 玩家在每一步看到、听到或感受到什么?
  5. 故障模式 — 是否存在以下情况?
    • 竞态条件:两个系统同时尝试修改同一状态
    • 反馈循环:系统A放大系统B,系统B再次放大系统A,无上限或抑制机制
    • 状态转换故障:系统假设前一个系统可能已改变的状态(例如,战斗步骤可能导致死亡后,系统仍假设“玩家存活”)
    • 矛盾提示:玩家从两个对同一事件做出反应的系统收到冲突反馈(例如,“成功”音效 + “失败”UI)
    • 复合难度峰值:两个系统在同一成长点同时缩放,使预期难度提升翻倍
    • 奖励冲突:两个系统对同一触发事件做出反应,奖励总和超过预期值(重复获取)
    • 未定义行为:GDD未指定在此组合状态下的行为(两个系统的规则都未覆盖此情况)
走查示例:
场景:玩家在活跃任务期间达到升级阈值时击杀精英敌人

触发条件:玩家对精英敌人造成致命一击
→ combat.md:奖励击杀经验值(100点)
→ progression.md:经验值总和超过升级阈值 → 触发升级
  输出:新等级、属性提升、技能解锁弹窗
→ quest.md:击杀计数条件满足 → 触发任务完成事件
  输出:任务奖励经验值(500点)、完成音效
→ progression.md(再次):添加任务经验值 → 在同一帧触发第二次升级
  ⚠️  数据流问题:quest.md在奖励经验值时未检查是否正在进行升级。progression.md未设置并发升级事件的防护机制。未定义行为:玩家升级一次还是两次?技能弹窗是否触发两次?第二次升级使用更新后的还是更新前的属性基线?

4c: Flag Scenario Issues

4c:标记场景问题

For each problem found during the walkthrough, categorize severity:
  • BLOCKER: undefined behavior, broken state transition, or contradictory player messaging — the experience is broken or incoherent in this scenario
  • WARNING: compounding spikes, feedback loops without caps, reward conflicts — the experience works but produces unintended outcomes
  • INFO: minor ordering ambiguity or messaging overlap — worth noting but unlikely to cause player-visible problems
Add all findings to the output report under "Cross-System Scenario Issues". Each finding must cite: the scenario name, the specific systems involved, the step where the issue occurs, and the nature of the failure mode.

针对走查中发现的每个问题,分类严重程度:
  • 阻塞问题:未定义行为、状态转换故障或矛盾玩家提示——此场景中的体验已损坏或不连贯
  • 警告问题:复合峰值、无上限反馈循环、奖励冲突——体验可用但会产生意外结果
  • 信息问题:轻微顺序歧义或提示重叠——值得注意但不太可能导致玩家可见问题
将所有发现添加到输出报告的**“跨系统场景问题”**部分。每个发现必须注明:场景名称、涉及的具体系统、问题出现的步骤以及故障模式的性质。

Phase 5: Output the Review Report

阶段5:输出评审报告

undefined
undefined

Cross-GDD Review Report

跨GDD评审报告

Date: [date] GDDs Reviewed: [N] Systems Covered: [list]

日期:[日期] 评审的GDD数量:[N] 覆盖的系统:[列表]

Consistency Issues

一致性问题

Blocking (must resolve before architecture begins)

阻塞问题(架构开始前必须解决)

🔴 [Issue title] [What GDDs are involved, what the contradiction is, what needs to change]
🔴 [问题标题] [涉及哪些GDD、矛盾是什么、需要修改什么]

Warnings (should resolve, but won't block)

警告问题(应解决,但不会阻塞)

⚠️ [Issue title] [What GDDs are involved, what the concern is]

⚠️ [问题标题] [涉及哪些GDD、关注点是什么]

Game Design Issues

游戏设计问题

Blocking

阻塞问题

🔴 [Issue title] [What the problem is, which GDDs are involved, design recommendation]
🔴 [问题标题] [问题是什么、涉及哪些GDD、设计建议]

Warnings

警告问题

⚠️ [Issue title] [What the concern is, which GDDs are affected, recommendation]

⚠️ [问题标题] [关注点是什么、影响哪些GDD、建议]

Cross-System Scenario Issues

跨系统场景问题

Scenarios walked: [N] [List scenario names]
走查的场景数量:[N] [场景名称列表]

Blockers

阻塞问题

🔴 [Scenario name] — [Systems involved] [Step where failure occurs, nature of the failure mode, what must be resolved]
🔴 [场景名称] — [涉及的系统] [故障出现的步骤、故障模式的性质、必须解决的内容]

Warnings

警告问题

⚠️ [Scenario name] — [Systems involved] [What the unintended outcome is, recommendation]
⚠️ [场景名称] — [涉及的系统] [意外结果是什么、建议]

Info

信息问题

ℹ️ [Scenario name] — [Systems involved] [Minor ordering ambiguity or note]

ℹ️ [场景名称] — [涉及的系统] [轻微顺序歧义或说明]

GDDs Flagged for Revision

标记需修订的GDD

GDDReasonTypePriority
[system-a].mdRule contradiction with [system-b].mdConsistencyBlocking
[system-c].mdStale reference to nonexistent mechanicConsistencyBlocking
[system-d].mdNo pillar alignmentDesign TheoryWarning

GDD原因类型优先级
[system-a].md与[system-b].md存在规则矛盾一致性阻塞
[system-c].md引用不存在的过时机制一致性阻塞
[system-d].md无支柱对齐设计理论警告

Verdict: [PASS / CONCERNS / FAIL]

verdict:[通过 / 关注 / 失败]

PASS: No blocking issues. Warnings present but don't prevent architecture. CONCERNS: Warnings present that should be resolved but are not blocking. FAIL: One or more blocking issues must be resolved before architecture begins.
通过:无阻塞问题。存在警告但不影响架构推进。 关注:存在应解决的警告,但不会阻塞。 失败:存在一个或多个阻塞问题,必须解决后才能开始架构。

If FAIL — required actions before re-running:

若失败 — 重新运行前需执行的操作:

[Specific list of what must change in which GDD]

---
[具体列出哪些GDD需要修改哪些内容]

---

Phase 6: Write Report and Flag GDDs

阶段6:编写报告并标记GDD

Use
AskUserQuestion
for write permission:
  • Prompt: "May I write this review to
    design/gdd/gdd-cross-review-[date].md
    ?"
  • Options:
    [A] Yes — write the report
    /
    [B] No — skip
If any GDDs are flagged for revision, use a second
AskUserQuestion
:
  • Prompt: "Should I update the systems index to mark these GDDs as needing revision? ([list of flagged GDDs])"
  • Options:
    [A] Yes — update systems index
    /
    [B] No — leave as-is
  • If yes: update each flagged GDD's Status field in systems-index.md to "Needs Revision". (Do NOT append parentheticals to the status value — other skills match "Needs Revision" as an exact string and parentheticals break that match.)
使用
AskUserQuestion
请求写入权限:
  • 提示:“我可以将此评审写入
    design/gdd/gdd-cross-review-[date].md
    吗?”
  • 选项:
    [A] 是 — 写入报告
    /
    [B] 否 — 跳过
若有GDD被标记为需修订,使用第二个
AskUserQuestion
  • 提示:“我是否应更新系统索引,将这些GDD标记为需要修订?([标记的GDD列表])”
  • 选项:
    [A] 是 — 更新系统索引
    /
    [B] 否 — 保持原样
  • 若是:在systems-index.md中将每个标记的GDD的状态字段更新为“Needs Revision”。(不要在状态值后添加括号——其他技能会精确匹配“Needs Revision”,括号会破坏匹配。)

Session State Update

会话状态更新

After writing the report (and updating systems index if approved), silently append to
production/session-state/active.md
:
## Session Extract — /review-all-gdds [date]
- Verdict: [PASS / CONCERNS / FAIL]
- GDDs reviewed: [N]
- Flagged for revision: [comma-separated list, or "None"]
- Blocking issues: [N — brief one-line descriptions, or "None"]
- Recommended next: [the Phase 7 handoff action, condensed to one line]
- Report: design/gdd/gdd-cross-review-[date].md
If
active.md
does not exist, create it with this block as the initial content. Confirm in conversation: "Session state updated."

写入报告后(若获批则更新系统索引),静默追加到
production/session-state/active.md
## 会话提取 — /review-all-gdds [日期]
- Verdict:[通过 / 关注 / 失败]
- 评审的GDD数量:[N]
- 标记需修订的GDD:[逗号分隔列表,或“无”]
- 阻塞问题:[N — 简要一行描述,或“无”]
- 建议下一步:[阶段7交接操作,浓缩为一行]
- 报告:design/gdd/gdd-cross-review-[date].md
active.md
不存在,创建它并以此块作为初始内容。在对话中确认:“会话状态已更新。”

Phase 7: Handoff

阶段7:交接

After all file writes are complete, use
AskUserQuestion
for a closing widget.
Before building options, check project state:
  • Are there any Warning-level items that are simple edits (flagged with "30-second edit", "brief addition", or similar)? → offer inline quick-fix option
  • Are any GDDs in the "Flagged for Revision" table? → offer /design-review option for each
  • Read systems-index.md for the next system with Status: Not Started → offer /design-system option
  • Is the verdict PASS or CONCERNS? → offer /gate-check or /create-architecture
Build the option list dynamically — only include options that apply:
Option pool:
  • [_] Apply quick fix: [W-XX description] in [gdd-name].md — [effort estimate]
    (one option per simple-edit warning; only for Warning-level, not Blocking)
  • [_] Run /design-review [flagged-gdd-path] — address flagged warnings
    (one per flagged GDD, if any)
  • [_] Run /design-system [next-system] — next in design order
    (always include, name the actual system)
  • [_] Run /create-architecture — begin architecture (verdict is PASS/CONCERNS)
    (include if verdict is not FAIL)
  • [_] Run /gate-check — validate Systems Design phase gate
    (include if verdict is PASS)
  • [_] Stop here
Assign letters A, B, C… only to included options. Mark the most pipeline-advancing option as
(recommended)
.
Never end the skill with plain text. Always close with this widget.

完成所有文件写入后,使用
AskUserQuestion
显示结束小部件。
在构建选项前,检查项目状态:
  • 是否存在任何可快速编辑的警告级项目(标记为“30秒编辑”、“简要添加”等)? → 提供内联快速修复选项
  • “标记需修订的GDD”表格中是否有GDD? → 为每个提供
    /design-review
    选项
  • 读取systems-index.md,查找状态为“Not Started”的下一个系统 → 提供
    /design-system
    选项
  • verdict是否为通过或关注? → 提供
    /gate-check
    /create-architecture
    选项
动态构建选项列表——仅包含适用的选项:
选项池:
  • [_] 应用快速修复:[W-XX描述] 在 [gdd-name].md 中 — [工作量估算]
    (每个简单编辑警告对应一个选项;仅适用于警告级,不适用于阻塞级)
  • [_] 运行 /design-review [标记的GDD路径] — 解决标记的警告
    (每个标记的GDD对应一个选项,若有)
  • [_] 运行 /design-system [下一个系统] — 按设计顺序进行下一项
    (始终包含,填写实际系统名称)
  • [_] 运行 /create-architecture — 开始架构(verdict为通过/关注)
    (若verdict不是失败则包含)
  • [_] 运行 /gate-check — 验证系统设计阶段关卡
    (若verdict为通过则包含)
  • [_] 在此停止
仅为包含的选项分配字母A、B、C…。将最能推进流程的选项标记为
(推荐)
技能结束时不得使用纯文本。始终以此小部件结束。

Error Recovery Protocol

错误恢复协议

If any spawned agent returns BLOCKED, errors, or fails to complete:
  1. Surface immediately: Report "[AgentName]: BLOCKED — [reason]" before continuing
  2. Assess dependencies: If the blocked agent's output is required by a later phase, do not proceed past that phase without user input
  3. Offer options via AskUserQuestion with three choices:
    • Skip this agent and note the gap in the final report
    • Retry with narrower scope (fewer GDDs, single-system focus)
    • Stop here and resolve the blocker first
  4. Always produce a partial report — output whatever was completed so work is not lost

若任何启动的代理返回阻塞、错误或未能完成:
  1. 立即显示:报告“[代理名称]:阻塞 — [原因]”,然后继续
  2. 评估依赖:若阻塞代理的输出是后续阶段所需,在获得用户输入前不要继续该阶段之后的操作
  3. 提供选项:通过AskUserQuestion提供三个选择:
    • 跳过此代理并在最终报告中注明缺口
    • 缩小范围重试(更少GDD、单系统聚焦)
    • 在此停止并先解决阻塞问题
  4. 始终生成部分报告 — 输出已完成的内容,避免工作丢失

Collaborative Protocol

协作协议

  1. Read silently — load all GDDs before presenting anything
  2. Show everything — present the full consistency and design theory analysis before asking for any action
  3. Distinguish blocking from advisory — not every issue needs to block architecture; be clear about which do
  4. Don't make design decisions — flag contradictions and options, but never unilaterally decide which GDD is "right"
  5. Ask before writing — confirm before writing the report or updating the systems index
  6. Be specific — every issue must cite the exact GDD, section, and text involved; no vague warnings
  1. 静默读取 — 在展示任何内容前加载所有GDD
  2. 全面展示 — 在请求任何操作前展示完整的一致性和设计理论分析
  3. 区分阻塞与建议 — 并非所有问题都会阻塞架构;明确区分哪些会
  4. 不做设计决策 — 标记矛盾和选项,但绝不单方面决定哪份GDD“正确”
  5. 写入前询问 — 在编写报告或更新系统索引前确认
  6. 具体明确 — 每个问题必须引用确切的GDD、章节和文本;不得使用模糊警告