---
name: prototype
description: "快速原型工作流。跳过正常标准以快速验证游戏概念或机制。产出可丢弃的代码和结构化的原型报告。"
argument-hint: "[概念描述]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, Edit, Bash
---

当此技能被调用时：

1. **读取概念描述**来自参数。识别此原型必须回答的核心问题。如果概念模糊，在继续之前明确陈述问题。

2. **读取 CLAUDE.md** 获取项目上下文和当前技术栈。了解所使用的引擎、语言和框架，以便原型使用兼容的工具构建。

3. **创建原型计划**：用 3-5 个要点定义最小可行原型的样子。核心问题是什么？回答它所需的最少代码量是多少？什么可以跳过？

4. **创建原型目录**：`prototypes/[concept-name]/`，其中
   `[concept-name]` 是从概念派生的短 kebab-case 标识符。

5. **在隔离目录中实现原型**。每个文件必须以以下内容开头：
   ```
   // PROTOTYPE - NOT FOR PRODUCTION
   // 问题：[正在测试的核心问题]
   // 日期：[当前日期]
   ```
   标准有意放宽：
   - 可以随意硬编码值
   - 使用占位资源
   - 跳过错误处理
   - 使用最简单可行的方案
   - 复制代码而非从正式代码导入

6. **测试概念**：运行原型。观察行为。收集可测量的数据（帧时间、交互次数、手感评估）。

7. **生成原型报告**并保存到
   `prototypes/[concept-name]/REPORT.md`：

```markdown
## 原型报告：[概念名称]

### 假设
[我们预期为真的内容 — 我们要回答的问题]

### 方法
[我们构建了什么、花了多长时间、走了哪些捷径]

### 结果
[实际发生了什么 — 具体观察，而非意见]

### 指标
[测试期间收集的任何可测量数据]
- 帧时间：[如相关]
- 手感评估：[主观但具体 — "200ms 延迟时响应感觉迟钝"而非"感觉不好"]
- 玩家操作次数：[如相关]
- 迭代次数：[尝试了多少次才成功]

### 建议：[推进 / 转向 / 放弃]

[用证据解释建议的一段话]

### 如果推进
[从原型到正式实现需要改变什么]
- 架构要求
- 性能目标
- 与原设计的范围调整
- 预估正式开发工作量

### 如果转向
[结果建议的替代方向]

### 如果放弃
[为什么此概念不可行以及我们应该怎么做]

### 经验教训
[影响其他系统或未来工作的发现]
```

8. **输出摘要**给用户：核心问题、结果和建议。附上完整报告的链接
   `prototypes/[concept-name]/REPORT.md`。

### 重要约束

- 原型代码**绝不能**从正式源文件导入
- 正式代码**绝不能**从原型目录导入
- 如果建议是推进，正式实现必须从头编写 — 原型代码不会被重构为正式代码
- 原型总工作量应控制在相当于 1-3 天的工作量内
- 如果原型范围开始膨胀，停下来重新评估问题是否可以简化
