{"id":"game-build","name":"game-build","summary":"承認された目標ランタイムに合わせてゲームを構築してください。GAME_DESIGNとART_DIRECTIONを最小限のBUILD_BRIEFに圧縮し、現在のコーディングエージェントや他の強力なモデルに完全にプレイ可能なビルドを実装させ、実際の実行やキャプチャされた証拠に対して反復します。","body":"# 游戏构建执行\n\n保护已批准的体验和美术边界，驱动实现模型完成真实可玩的候选；不在构建阶段重新做概念、关卡或\n美术方向。\n\n读取 [build-brief-contract.md](references/build-brief-contract.md)。必须已有 `GAME_DESIGN.md` 与\n`ART_DIRECTION.md`；缺产品决定时回对应 owner，不在 BUILD_BRIEF 就地发明。\n\n产物语言由 `PRODUCT_BRIEF.md` 锁定；未锁定时跟随对话语言，不默认产出中文。\n\n## 目标与自由\n\n按 PRODUCT_BRIEF 锁定的平台、生产引擎、目标运行时、显示/输入、范围、分级和联网边界交付。\n目标工具链不可用时不得自动改做网页；只有 brief 已批准替代运行时才可使用，并分开记录\n`targetRuntime`、`testedRuntime` 与未覆盖项。\n\nBUILD_BRIEF 只压缩产品边界、必须保真的体验事实、运行方式与完成证据，实现细节交给实现模型。\n\n当前会话能编码时直接实现；外部模型不可用时只交付构建说明，不声称游戏已生成。不要发送与原型\n无关的完整受版权保护原文。\n\n## 按能力读取可选合同\n\n- 语音策略不是 `none` 时读取 [tts-production-contract.md](references/tts-production-contract.md)。TTS\n  优先构建期生成成本地资产；运行时远程合成须在 brief 批准，密钥只留受信服务端。\n- 实际采用动态媒体时读取 [generative-media-pipeline.md](references/generative-media-pipeline.md)。已有批准\n  参考图时以图约束；工具与模型按当前环境选择，不写成跨项目默认。\n\n## 最小完成循环\n\n1. 先实现一个最小但完整的核心循环：启动、真实输入、状态变化、结果和重开。范围不足时修范围，\n   不先堆审计材料。\n2. 回写实际工具链、install/build/start 命令和版本；未知值写 `NOT_AVAILABLE: 原因`，不猜。\n3. 提供一条权威验证命令和最小可观察状态，使 `game-qa` 能一次走完\n   `clean start → 核心动作 → 设计结果 → restart`；构建阶段不预写 QA 结论或重复跑完整验收。\n4. 运行最窄的开发检查与启动 smoke，修复构建失败、阻断日志、资源失败和崩溃；替代运行时未覆盖的\n   目标平台输入、性能、打包或设备项写入 limitation。\n5. 达到 brief 的 `targetFinish`；更高完成度只处理已批准的焦点资产和招牌时刻，不制造与可玩闭环\n   无关的发布审计。\n6. 交给 `game-qa` 只运行一次权威命令并写最终事实。时间、预算或生成调用用尽只会留下\n   FAIL/NOT_RUN，不会生成 PASS。\n\n连续 3D、语音、生成媒体、多语言与无障碍仅在实际采用时增加项目自己的回归检查。必需异步资产\n加载或解码失败不得静默换灰盒仍宣称通过；可继续的 fallback 条件见 build-brief-contract.md。\n\n## 输出\n\n生成 `build/BUILD_BRIEF.md`、实际游戏和权威验证入口，不生成最终 QA 结论。截图、录制与 raw trace\n只保留调试所需的最小集合；`game-qa` 是完整路径与 `qa/verification.json` 的唯一 owner。","author":"@worldwonderer","ownerProfile":null,"authorContacts":null,"sourceUrl":"https://github.com/worldwonderer/novel-to-game/tree/main/skills/game-build","license":"MIT","category":"devops","lang":"multi","tokens":816,"stars":0,"calls30d":1,"claimed":false,"visibility":"public","origin":"crawler","version":"0.1.0","createdAt":"2026-08-22","updatedAt":"2026-08-22","files":[{"path":"agents/openai.yaml","size":272,"sha256":"4fea64c3910933415a5e601bc3f423d22f0e5cfed8d7ab5c2aa38f60a3105cf0"},{"path":"references/build-brief-contract.md","size":3506,"sha256":"dc186ee198f7743f2ed19981f0c7954d2b435400a9d0ef277b195c3a384a1ff9"},{"path":"references/generative-media-pipeline.md","size":3746,"sha256":"4ae1c7a5b398bbd8fe26f26f0ac6136ce726e0c976549d3d0778cbf4bc9afb13"},{"path":"references/tts-production-contract.md","size":2463,"sha256":"77987e7ad36eff7e719c8228909947651182154448710e6be642362e53dc8b89"}],"requires":{"mcp":[],"tools":[]},"safety":{"flags":[],"scannedAt":"2026-08-22","hasScripts":false,"networkEndpoints":[]}}