game-skills
游戏策划案 AI 生成工作流技能集合。通过 MCP 协议暴露给 AI 智能体使用,覆盖从创意框架完善到完整 GDD 输出的全流程。任意阶段可介入,不强制从头到尾走完整流程。
内置 技能加载器:每个技能的 description 已包含"何时使用 + 能力说明 + 边界"三部分,LLM 可直接根据 description 选择最匹配的技能;重复调用同一技能时通过内存缓存避免重复读取磁盘。
设计理念
技能之间解耦但有协作边界:
- 每个技能职责单一,不重复产出其他技能的内容
- 技能间通过跳转指引和引用协作,而非各自包含完整内容
game-full-workflow作为组装器,负责校验各模块产出的一致性
事前框架化 + 事后校验的闭环
┌──────────────────────┐ ┌──────────────────────┐
│ 事前:框架完善 │ │ 事后:一致性校验 │
│ (game-creative- │ │ (game-full-workflow) │
│ discussion) │ │ │
│ │ │ │
│ ├── 策略分析(5要素) │ │ ├── 数值自洽性 │
│ ├── 创意发散(5维度) │ ──→ │ ├── 角色一致性 │
│ ├── 功能规划(互联方向) │ │ ├── 字段一致性 │
│ ├── 五要素自检 │ │ ├── 状态机一致性 │
│ └── 用户确认框架 │ │ ├── 经济闭环 │
│ │ │ └── 术语统一 │
│ 减少事后返工 │ │ 最后一道防线 │
└──────────────────────┘ └──────────────────────┘
game-creative-discussion 负责事前框架化(产出用户确认的"游戏创意框架"),game-full-workflow 负责事后校验(六维度一致性检查),形成完整保障。已有各模块内容时可省略框架完善,但建议先做框架确认。
仓库结构
game-skills/
├── game-creative-discussion/ ← 游戏创意框架完善工具(三层递进:策略分析→创意发散→功能规划)
├── game-system-design/ ← 系统策划(6大知识库,只定义决策项)
├── game-level-design/ ← 关卡策划(节奏/空间/难度)
├── game-combat-design/ ← 战斗策划(手感/Boss/公式,数值引用数值策划)
├── game-narrative-design/ ← 剧情策划(四阶段工作流)
├── game-character-design/ ← 角色与单位设计(五阶段)
├── game-numerical-design/ ← 数值策划(战斗/经济/成长的数值推导)
├── game-art-production/ ← 美术生产(提示词/资源规格)
├── game-qa-testing/ ← QA测试(六维度框架)
├── game-tech-implementation/ ← 技术实现全链路(规范层+执行层,原 programming+dev-bridge 合并)
├── game-full-workflow/ ← GDD组装器+一致性校验器(整合各模块,校验前后逻辑)
├── mcp-server/ ← MCP Server(通用技能加载器)
│ ├── src/
│ │ ├── index.ts ← MCP 工具定义(list_skills / get_skill / get_reference)
│ │ └── skill-loader.ts ← 技能加载、LRU 缓存、frontmatter 解析
│ ├── scripts/
│ │ └── sync-skills.sh
│ ├── package.json
│ └── tsconfig.json
└── .github/workflows/
└── publish-mcp.yml ← Push 到 main 自动同步 + 发布到 npm
每个技能目录包含一个自包含的 SKILL.md,frontmatter 必须包含 name / description 两个字段(description 采用"何时使用 + 能力说明 + 边界"三段式写法,让 LLM 可直接据此选择技能):
---
name: "game-combat-design"
description: "何时使用:需要设计战斗系统、攻击手感、技能连招、Boss战模式或伤害公式的结构设计时。能力:基于攻击手感参数(前摇/后摇/命中停顿/击退)、Boss战模式和伤害公式标准形式产出可落地的战斗策划案。边界:只定义设计意图,具体数值反推归 game-numerical-design。"
---
技能列表
| 技能 | 何时使用 |
|---|---|
| game-creative-discussion | 有游戏创意想法需要讨论、打磨,或某个模块设计前需要先完善框架,或需要做玩家分析/动机分析/设备适配等策略规划时 |
| game-system-design | 需要设计游戏核心系统(背包、技能、经济、任务、社交、抽卡、成就等)的玩法循环和规则时 |
| game-level-design | 需要设计关卡、地图布局、难度曲线、节奏控制或关卡流程时 |
| game-combat-design | 需要设计战斗系统、攻击手感、技能连招、Boss战模式或伤害公式的结构设计时 |
| game-narrative-design | 需要设计游戏剧情、世界观、角色对白、任务文本或故事线结构时 |
| game-character-design | 需要设计游戏角色、单位、英雄、怪物或NPC的外观、背景、技能和属性设定时 |
| game-numerical-design | 需要推导战斗数值、设计经济系统、平衡成长曲线或计算资源产出消耗比时 |
| game-art-production | 需要生成游戏美术资源、设计角色立绘、场景概念图、UI界面、特效或动画方案时 |
| game-qa-testing | 需要测试用例设计、配置校验、可玩性保障或问题定位时 |
| game-tech-implementation | 需要将策划案转化为代码、设计配置表结构、定义状态机、确定网络同步策略、选择引擎架构、生成代码或进行代码审查时 |
| game-full-workflow | 已有各模块策划案内容,需要整合为完整GDD,或需要校验多模块策划案之间的一致性与前后逻辑时 |
每个技能的
SKILL.mdfrontmatterdescription字段包含完整的三段式说明(何时使用 + 能力 + 边界),LLM 通过list_skills工具获取后可直接据此选择。
game-creative-discussion:游戏创意框架完善工具
本技能是事前框架化的核心,基于交互设计五要素(用户/场景/目的/媒介/行为),通过三层递进完善一份用户确认的"游戏创意框架":
第一层:策略分析(用户 / 目的 / 媒介)
├── 用户:玩家分析(Bartle 分群 / 认知模型 / 心理效应)
├── 目的:玩家动机(内部 / 外部动机 / 引导方向)
└── 媒介:游戏设备环境预判(平台 / 输入 / 使用情境)
│
▼
第二层:创意发散(5 维度,接收第一层输入)
├── 游戏类型与核心机制 / 目标受众与平台
├── 视觉风格与情绪体验 / 核心循环与玩法深度
└── 风险与可行性
│
▼
第三层:功能规划(行为 / 场景细化 + 互联方向 + 自检)
├── 行为:核心玩法流程 + 模块互联方向表
├── 场景:特定场景下的游戏需求(设计思路三角 + 社交行为矩阵)
└── 交互五要素自检
│
▼
产出:用户确认的"游戏创意框架"
两个核心原则:
- 框架先行——无论用户想法是否明确,建议全流程都走本技能,产出一份用户确认的框架后再进入各模块细化,减少后期返工成本
- 已有内容不重写——用户已提供的想法直接采用,本技能只做确认、补全、框架化
两种使用深度:
| 用户情况 | 走法 | 深度 |
|---|---|---|
| 想法模糊(仅一句话/关键词) | 从第一层完整走 | 发散讨论(深度引导) |
| 想法明确(已有部分信息) | 按快速启动模式跳过已有部分 | 确认+补全+框架化(不重写已有想法) |
任意阶段可介入——不假设只在项目启动时使用。某个模块设计前的思路梳理、项目中期方向迷茫时的重新对齐都可调用。已有各模块内容时可省略本技能,但建议先做框架确认。
技能间协作关系
[建议流程] game-creative-discussion(框架完善) → 产出"游戏创意框架"(用户确认)
│
▼
各单模块技能(系统/关卡/战斗/剧情/角色/数值/美术/QA) → 产出各模块策划案
│
├── 技术对接 → game-tech-implementation(规范层+执行层)
│
▼
game-full-workflow(组装器+校验器) → 整合 + 前后逻辑校验 → 完整 GDD
任意阶段可介入:不强制从头到尾走完整流程。可只做单模块发散(直接进入对应技能)、只做整合(已有各模块内容进入 game-full-workflow)、或只做一致性体检(已有完整 GDD 进入 game-full-workflow 跑校验)。
协作边界:
- 系统策划只定义"经济系统要做哪些决策",数值推导归
game-numerical-design - 系统策划只定义"技能系统的结构与成长",战斗表现归
game-combat-design - 战斗策划只定义"设计意图"(打几轮/持续多久),数值反推归
game-numerical-design - 配置表 Schema、状态机、网络同步归
game-tech-implementation,不在各策划模块重复 game-full-workflow会在组装时对上述边界做一致性校验
引用语规范(区分三种语义,避免歧义):
各技能的"与其他技能的协作"小节统一使用以下三种措辞,明确区分引用语义:
| 引用类型 | 措辞 | 语义 | 示例 |
|---|---|---|---|
| 协作式 | "由 xxx 产出" / "由 xxx 基于本模块的 XX 反推产出" |
目标模块从零工作,不需要前置内容 | 数值参数由 game-numerical-design 基于设计意图反推产出 |
| 查阅式 | "见 xxx" / "参见 xxx" |
目标模块需已有内容,本模块直接引用 | 角色清单见 game-character-design |
| 前置依赖 | "需先完成 xxx" |
明确标注先后顺序,未完成则本模块无法进行 | 需先完成 game-character-design 的角色清单 |
设计意图: 避免出现"详见 xxx"这类歧义措辞——既可理解为"去查阅已有内容"(会因目标模块无内容而卡住),也可理解为"去产出"(语义不清)。统一规范后,用户和 AI 都能明确知道是去产出、去查阅、还是需要先完成前置。
MCP 工具
| 工具 | 说明 | 典型调用时机 |
|---|---|---|
list_skills |
首选入口:列出所有技能的 name + description(含"何时使用 + 能力 + 边界") | 第一次调用,查看所有可用技能并选择 |
get_skill |
获取指定技能的完整 SKILL.md 内容(命中内存缓存时免重复读取) |
从 list_skills 选定后取完整工作流 |
get_reference |
获取技能的参考资料文件 | 需要详细领域知识时 |
推荐使用流程
1. list_skills() → 获取所有技能的 name + description
2. LLM 根据 description 的"何时使用"选择最匹配的技能
3. get_skill("game-system-design") → 获取完整 SKILL.md
4. 按 SKILL.md 中的工作流路由表完成策划产出
5. 如需组装:get_skill("game-full-workflow") → 获取 GDD 组装器工作流
设计理念: 不使用独立的路由工具。每个技能的 description 已包含"何时使用 + 能力说明 + 边界"三段式说明,LLM 可直接从 list_skills 返回结果中做语义匹配选择——这比基于关键词打分的路由器更准确,尤其能处理中文同义词和俚语场景(如"肉鸽"匹配 Roguelike)。
在各 IDE 中配置
通用配置:使用
npx --yes @chantezy/mcp-game-design@latest拉取最新发布版本。--yes跳过交互确认,@latest强制拉最新版(避免本地缓存旧版本)。
Claude Desktop
配置文件路径:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"game-design": {
"command": "npx",
"args": ["--yes", "@chantezy/mcp-game-design@latest"]
}
}
}
Cursor
Settings → Cursor Settings → Features → Model Context Protocol → Add MCP Server:
{
"mcpServers": {
"game-design": {
"command": "npx",
"args": ["--yes", "@chantezy/mcp-game-design@latest"]
}
}
}
或编辑 ~/.cursor/mcp.json(全局)或项目根 .cursor/mcp.json。
Trae / VSCode (MCP 扩展)
{
"mcpServers": {
"game-design": {
"command": "npx",
"args": ["--yes", "@chantezy/mcp-game-design@latest"]
}
}
}
本地调试模式
{
"mcpServers": {
"game-design": {
"command": "node",
"args": ["/absolute/path/to/game-skills/mcp-server/dist/index.js"],
"env": { "DEBUG": "1" }
}
}
}
启动后 stderr 会输出已加载的技能数量和名称,方便排查同步问题。
添加新技能
在仓库根目录创建新目录,包含 SKILL.md 即可:
new-skill/
└── SKILL.md ← 必须包含 frontmatter(name, description),description 采用"何时使用 + 能力说明 + 边界"三段式
push 到 main 后,sync-skills.sh 会自动同步到 mcp-server/skills/ 并打包发布。新技能会自动出现在 list_skills 的返回结果中。
本地开发
cd mcp-server
bash scripts/sync-skills.sh # 同步 skills 到 mcp-server/skills/
npm install
npm run build
DEBUG=1 node dist/index.js # 启动并查看加载的技能数量
验证 list_skills 是否工作(另开一个终端调用 MCP):
# 通过 stdio 测试 list_skills
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_skills","arguments":{}}}' | node dist/index.js
License
MIT