map-progression
GitHub用于小说创作中的地图与场景设计,规范换地图、新阶段及环境升级的规则。要求明确进入/离开条件、资源危险、新旧关联及行动规则变化,确保剧情逻辑连贯与代入感。
触发场景
安装
npx skills add Mochocyang/QMAI --skill map-progression -g -y
SKILL.md
Frontmatter
{
"name": "map-progression",
"title": "地图推进",
"description": "Use when designing maps, location changes, new stages, city-to-world expansion, dungeon progression, or environment upgrades."
}
地图推进
适用范围
换地图、新地图、阶段地图、学校、宗门、城市、副本、领地、星际、秘境。
输出地图或场景文件时必须遵循上级目录的 SETTING_PROFILE_STANDARD.md,重点写清进入条件、离开条件、环境规则、资源、危险、新旧地图关联和阶段作用。
设计规则
- 新地图必须带来新环境、新角色、新规则、新目标和新冲突。
- 新旧地图要有关联:上级、仇怨、资源流向、历史因果或旧伏笔。
- 换地图前,旧地图核心冲突至少阶段性解决。
- 换地图后前 5 章快速建立代入感、资源目标和主要压力源。
- 地位升高时,环境危险度也要同步升高。
- 地图变化必须改变行动规则,不能只是地名变化。
章纲要求
- 本章若换地图,要写清旧地图收束和新地图期待。
- 地图不能只是地名变化,必须改变行动规则。
- 章尾钩子优先投放新地图传说、危险或资源。
文件要求
- 独立地图默认输出到
设定/地图/{地图名}.md。 - 关键场景可写入背景设定;反复出现并影响多章时独立成文件。
- 新地图前 5 章必须建立新目标、新压力和新规则。
地理设定详细内容契约
每个对象必须按顺序覆盖以下 12 个分区;逐条落实字段,不将一整区压缩成一句概述。
1. 地理概览
世界或区域的尺度、方位基准、核心舞台、气候带、边缘与未知区域;说明地图是作者全貌还是角色认知。用相对位置、距离或旅行耗时建立可查的空间关系,不要求无依据的精确坐标。
载体:kv;按上面的要求拆分具体字段和条目。
2. 区域格局
按大陆、国度、区域、聚落等实际层级组织空间,说明自然边界与政治边界是否重合、中心和边缘如何相互依赖;标出关键山脉河流、海岸和战略走廊,解释为何人口与权力聚集在这些位置。
载体:kv;按上面的要求拆分具体字段和条目。
3. 区域划分
逐个重要区域写方位、面积或穿越耗时、地形、人口生计、中心聚落、控制方与争议边界;明确与相邻地区的通路和障碍,不把没有连接关系的地名堆成地图,未知地带明确未知程度。
载体:table;表头:区域及相对方位 / 地形与尺度 / 人口与聚落 / 控制者及边界 / 与邻区的联系。
4. 重要地点
列具有剧情分量的城市、关隘、港口、遗迹和避难地,说明为何建于此地、服务谁、从核心舞台如何到达;关联已有地点档案和事件,不在地理总览中制造与地点设定冲突的内部规则。
载体:table;表头:地点及所属区域 / 相对位置与到达 / 生活或战略功能 / 管理者与入口条件 / 剧情关联。
5. 地形与气候环境
写海拔水系、气候季节、生态和灾害对视野、行军、粮食、住宿、疾病与战斗的影响;说明旱雨季、封山结冰等如何改变可达性和时间,环境必须影响行动而不是只当风景描写。
载体:table;表头:环境或地形 / 分布与成因 / 季节变化 / 行动与生存影响 / 应对及成本。
6. 资源与物产
交代食物、水、能源、矿产和特殊资源的适用分布,产量或稀缺依据、加工与储存、贸易路线、市场需求及控制者;说明为什么不能处处自给、资源中断怎样影响居民、势力和力量体系。
载体:table;表头:资源与产区 / 开采或生产 / 贸易去向 / 控制及运输成本 / 短缺和争夺。
7. 势力分布
区分名义领土、有效治理与短期占领,写边界、驻军、税收通道、情报覆盖和补给限制;标出共同管辖、无人区与争夺地,解释地形怎样制约实力,不能把地图涂色等同于无处不在的控制。
载体:table;表头:势力 / 实际控制与宣称 / 据点及投送范围 / 争议和缓冲区 / 依赖与变化。
8. 交通与通行
写步行、骑乘、船运或传送等适用方式的距离、耗时、运力、费用、证件与检查、季节变化、食水补给和信息传递时间;标明速度假设,关键路线有绕行方案,避免人物无解释瞬移。
载体:table;表头:路线及起终点 / 方式与距离 / 正常耗时及条件 / 补给和费用 / 风险及替代路线。
9. 危险区域与风险
写自然灾害、匪患、战区、污染或异常空间的具体范围、频率或触发条件、逃生救援和风险收益;区分公开风险与传闻,说明为何仍有人进入,危险变化要影响贸易和迁移而非只针对主角。
载体:table;表头:区域与边界 / 危险及触发 / 预警和知情者 / 规避与救援 / 后果或收益。
10. 地域特色
写建筑材料、食物衣着、方言礼俗、职业、身份认同和地方传说,解释其与环境、资源和历史的因果;提供可入正文的感官细节与外来者误解,避免不同区域只是名字不同的同一座城。
载体:kv;按上面的要求拆分具体字段和条目。
11. 剧情作用
说明路线选择、边界冲突、资源争夺、迁移、追逐与围困如何迫使人物取舍;关联阶段目标、到达条件和地理伏笔,让换地图同时改变行动规则、利益格局与生活成本,而非只升级敌人。
载体:list;按上面的要求拆分具体字段和条目。
12. 写作约束
检查方位、路线连通、距离耗时、季节、补给和控制边界的一致性;记录当前地图版本与未知区域,不擅自移动重要地点。地理变化必须有事件及人口、交通、经济后果,比例尺与速度口径不可混用。
载体:list;按上面的要求拆分具体字段和条目。
结构化与保存
只输出结构化 JSON,不要写 MD 正文。单对象顶层字段 geographyProfileData,多个对象用 geographyProfiles 数组;每个对象为 {name,tag,tagline,sections},section 使用 {kind,heading,items}(kv 的 items 为 label/text 对象,list 为字符串)或 {kind:"table",heading,head,rows}。各分区标题、顺序及内容必须完整,不得缩成摘要。
软件套用 map-progression/profile.html,不要自行输出 HTML/CSS。最后按既有 outlineSaveRequest 协议输出保存请求,只有用户确认后才落盘。
地点设定详细内容契约
每个对象必须按顺序覆盖以下 12 个分区;逐条落实字段,不将一整区压缩成一句概述。
1. 地点定位
名称别称、所属区域和相对方位、类型、尺度、建立原因、日常功能、当前时点与状态;写内部布局、主要分区、入口出口与动线、视线遮挡和关键物件,住所类说明谁住在哪里,关联上级地理档案。
载体:kv;按上面的要求拆分具体字段和条目。
2. 所属势力
区分所有者、名义管理者、实际控制者与常驻使用者,写执法者、维护经费、收入和利益、开放对象、与周边居民及主角的关系;控制权变化必须说明如何影响规则、人员和安全,不能只有势力名称。
载体:kv;按上面的要求拆分具体字段和条目。
3. 空间规则
说明布局、容量、照明、声响传播、掩体、监视、机关或异常规则,以及角色在何处能看见听见什么;重要规则有边界、验证方法和代价,使追逐、潜入、对话与冲突能够按空间条件执行。
载体:table;表头:分区或规则 / 行动和感知条件 / 生效范围 / 违反后果 / 例外及发现方式。
4. 出入条件与限制
写正常入口、出口、隐蔽通道、开放时间、身份或物品要求、守卫、排队和通行成本;进入与离开条件分别说明,异常封锁要有触发与解除途径,不让人物为剧情需要随意进出。
载体:table;表头:入口或出口 / 通行者与时间 / 资格及费用 / 检查和阻碍 / 逃离或替代方案。
5. 资源与限制
覆盖适用的食宿、住所、食水、医疗、交易、维修、情报、能源和特殊资源,写供应者、费用、资格、补给频率、容量及短缺后果;荒野或废墟明确缺少什么和生存成本,不凭空提供便利。
载体:table;表头:资源或服务 / 提供者及存量 / 获取与价格 / 消耗和补给 / 短缺及替代。
6. 可触发事件
列与地点功能和人物利益相关的交易、争执、调查、事故、伏击或发现,写到场条件、时间窗口、参与者目标和可选行动;事件后规则、设施、人员、声誉或资源应有变化,避免重复刷新同一事件。
载体:table;表头:事件与参与者 / 前置和触发条件 / 现场行动与选择 / 结果及代价 / 地点持久变化。
7. 常驻人物
写主人、守卫、经营者、居民或其他适用常驻者的作息、住所、权限、动机、与控制方关系和可提供的线索;重要人物关联已有小传,能否遇到须取决于时间地点,不让所有人永远原地等主角。
载体:table;表头:人物及身份 / 日常位置与作息 / 目标和利益 / 信息与资源 / 态度变化及触发。
8. 氛围与感官
分别写视线与光色、声音及远近、气味、温度湿度、触感、人物密度和情绪基调;区分白天夜晚、天气季节、日常与危机时的感官变化,给可嵌入动作的细节,不用空泛的神秘或繁华代替描写。
载体:kv;按上面的要求拆分具体字段和条目。
9. 隐藏信息
写隐藏空间、旧事件、身份、物品或规则的真实情况、谁知道及为何隐瞒、角色如何发现验证;秘密必须与布局和历史兼容,区分作者真相与人物认知,不能为转折临时新增密道或证据。
载体:table;表头:秘密或异常 / 可观察线索 / 知情者及动机 / 揭示条件 / 公开后的后果。
10. 危险与禁忌
覆盖适用的环境、治安、制度、机关或超凡危险,说明具体位置、触发条件、预警线索、逃生与救援成本;写当地人为何仍然生活或工作于此,伤害及设施损坏必须留下后续影响。
载体:table;表头:危险及位置 / 触发与预警 / 后果和受害者 / 规避或救援 / 残留影响。
11. 剧情作用
说明地点承担的相遇、交易、调查、休整、冲突或情感转折,关联人物目标和主线阶段;给至少一个由空间、生活规则或资源限制驱动的场景,地点再访应体现此前事件留下的变化。
载体:list;按上面的要求拆分具体字段和条目。
12. 写作约束
锁定布局动线、视听范围、出入口、作息、食宿补给、控制权和危险规则;记录当前状态与改动原因,不在不同章节随意改变尺寸或增加出口。无资料处标记待确认及影响,不能将缺项伪装为完整设定。
载体:list;按上面的要求拆分具体字段和条目。
结构化与保存
只输出结构化 JSON,不要写 MD 正文。单对象顶层字段 locationProfileData,多个对象用 locationProfiles 数组;每个对象为 {name,tag,tagline,sections},section 使用 {kind,heading,items}(kv 的 items 为 label/text 对象,list 为字符串)或 {kind:"table",heading,head,rows}。各分区标题、顺序及内容必须完整,不得缩成摘要。
软件套用 map-progression/location.html,不要自行输出 HTML/CSS。最后按既有 outlineSaveRequest 协议输出保存请求,只有用户确认后才落盘。
交付前自检
第二版详细档案标准:不是展示简介。基本身份、生活与供给、运行机制、权限与例外、失败后果、当前时点、知情范围、关联对象及写作场景均须具体;每个重要机制给出可核验的条件和后果,而非只增加段落数量。 数值闭合:组织收入、成本、利润、分配与现金流分开;人员分组与总人数吻合;同一行程的距离、速度、有效行进时长和等待时间一致;人物的收入、生活费、债务与储蓄互相成立。缺少依据时给明确假设,不硬凑精确数字。 同一事实只设一个当前基准:说明章节或时点,将未来升级、人物出场、伏笔回收与当前状态分开。跨人物、组织、地图、地点、卷纲和章纲的名称、时间、位置与证据应能相互核对。关联对象写名称和作用,不自行捏造文件路径或链接。 完整不是堆字数:覆盖本类全部分区与关键字段。重要对象逐项写清对象、机制、条件、代价、变化及正文用法,不能只列名词或写一句空泛评价;同一信息不反复复制充数。 区分【已确认】【设计提案】【待确认】。新建设定允许基于题材和已有材料提出具体、内部一致的设计,不用整页待补充敷衍;补完已有设定不得改写正史。关键未知写清问题、影响与可选设计,不能编造成已确认事实。 记录必须区分【计划】与【已发生】,注明章节或时点及依据;没有正文证据不得虚构出场、解锁、埋设或回收记录。无明确章号用阶段,作者真相不得越过人物认知边界。 按题材适配:非营利组织解释收支平衡,无任务金手指写使用史,无分级力量写可验证能力边界;不适用项说明原因及等价约束,不硬套仙侠、系统或公司模板。 跨档案核对人物、势力、地点名称、时间线、交通耗时、经济口径、能力边界、关系和伏笔ID;新增提案不得静默覆盖已确认内容,冲突明确列出。 每个分区包含能够指导具体场景的细节,关键机制给触发—行动—结果—代价的示例。数字写单位、周期、依据或估算假设,不能伪造精确度;禁止省略号、略、同上、其余同理等占位。 结构化字段必须承载完整正文:每个分区、字段、表格、说明和例子均须保留,不能缩成摘要。长说明用kv条目;表格长解释保留在对应单元格,禁止因排版删除内容。 多个对象分别完整输出并保持名称匹配,禁止混用他人档案。输出预算不足时缩小批次或继续完成当前对象,不压缩必填分区,不把截断草稿冒充完整档案;沿用现有保存确认流程。
地理关系图数据
【第二版图形与正文对应规则】 本类具备空间信息时,在档案对象内增加 diagram 对象(不是另一个顶层JSON),kind=map。结构示例如下,必须换成当前设定,不照抄示例实体、坐标和数值: {"kind":"map","title":"当前世界的区域关系图","note":"设计提案;相对位置示意,非比例测绘;具体距离和通行条件以正文为准。","nodes":[{"id":"a","label":"填正文中的节点名称","x":25,"y":30,"description":"位置、作用和知情范围与正文相符"},{"id":"b","label":"填另一个真实节点名称","x":70,"y":65,"description":"不要照抄示例位置,按当前设定安排"}],"regions":[{"id":"region-a","label":"正文中已描述的区域","terrain":"land","points":[[5,5],[45,5],[45,50],[5,50]],"description":"该形状仅表达相对范围,不能与正文方位冲突"}],"routes":[{"from":"a","to":"b","label":"实际路线名称","mode":"land","detail":"逐条写距离口径、交通方式、正常耗时、通行限制与补给;未明确的标为待确认"}]} 软件据此绘制SVG,不输出原始SVG、HTML、脚本、图片链接或任意path。diagram只补充阅读,不代替任何正文分区。 坐标x、y为0—100的有限数字,左上角为(0,0);地图上方是北。nodes.id必须唯一,label与正文实体逐字对应,description保留说明与知情范围。 regions可为空;地图区域提供至少3个二维points,terrain只能是land/water/mountain/restricted。只有在正文确有范围关系时才给轮廓,不随意虚构山脉、海岸与禁区。 平面图nodes需提供width、height,均大于0;x+width和y+height不超过100。坐标是房间左上角;同层房间不得无解释重叠。只有明确存在的空间和通路才能绘制,不能为逃脱剧情额外创造门或暗道。 routes.from/to必须引用nodes.id,mode只能是land/water/passage。detail保留完整距离、耗时、条件、代价和必要假设,不能根据图形屏幕距离反推真实行程。没有交通联系就不添加连线。 note必须说明信息性质(已确认/设计提案/待确认)、作者层或角色认知层与非比例示意。新增创作允许设计内部一致的位置,但需标设计提案;补全已有文档若无足够空间依据则省略diagram,并在正文列待确认问题,禁止伪造测绘。 所有图形实体、关系与行程也须完整写入对应分区;批量档案每个对象自带自己的diagram,不能借用另一对象的地图。
地点平面图数据
【第二版图形与正文对应规则】 本类具备空间信息时,在档案对象内增加 diagram 对象(不是另一个顶层JSON),kind=floorplan。结构示例如下,必须换成当前设定,不照抄示例实体、坐标和数值: {"kind":"floorplan","title":"当前地点的空间布局图","note":"设计提案;相对位置示意,非比例测绘;具体距离和通行条件以正文为准。","nodes":[{"id":"a","label":"填正文中的空间名称","x":10,"y":15,"width":25,"height":25,"description":"填该空间实际用途与出入条件"},{"id":"b","label":"填另一个空间名称","x":50,"y":15,"width":35,"height":45,"description":"房间尺寸仅表达示意比例,不虚构精确测量"}],"regions":[],"routes":[{"from":"a","to":"b","label":"实际路线名称","mode":"passage","detail":"逐条写距离口径、交通方式、正常耗时、通行限制与补给;未明确的标为待确认"}]} 软件据此绘制SVG,不输出原始SVG、HTML、脚本、图片链接或任意path。diagram只补充阅读,不代替任何正文分区。 坐标x、y为0—100的有限数字,左上角为(0,0);地图上方是北。nodes.id必须唯一,label与正文实体逐字对应,description保留说明与知情范围。 regions可为空;地图区域提供至少3个二维points,terrain只能是land/water/mountain/restricted。只有在正文确有范围关系时才给轮廓,不随意虚构山脉、海岸与禁区。 平面图nodes需提供width、height,均大于0;x+width和y+height不超过100。坐标是房间左上角;同层房间不得无解释重叠。只有明确存在的空间和通路才能绘制,不能为逃脱剧情额外创造门或暗道。 routes.from/to必须引用nodes.id,mode只能是land/water/passage。detail保留完整距离、耗时、条件、代价和必要假设,不能根据图形屏幕距离反推真实行程。没有交通联系就不添加连线。 note必须说明信息性质(已确认/设计提案/待确认)、作者层或角色认知层与非比例示意。新增创作允许设计内部一致的位置,但需标设计提案;补全已有文档若无足够空间依据则省略diagram,并在正文列待确认问题,禁止伪造测绘。 所有图形实体、关系与行程也须完整写入对应分区;批量档案每个对象自带自己的diagram,不能借用另一对象的地图。
第二版 HTML 阅读方式
软件按分区语义自动呈现档案卡、时间线、等级阶梯、资源与关系清单,并保留完整原始对照表。只提供内容和结构化数据,不自行装饰 HTML,不省略长字段来适应排版。
设定类单对象低重复输出
每轮最多生成一个完整对象;保留全部分区、详细字段,不减少信息深度。只输出一个完整的结构化JSON围栏,不写MD正文,最后输出 outlineSaveRequest。保存请求的 content="",正文由软件从结构化数据生成;不要在保存请求中重复抄写正文。其余保存字段照常填写,不调用写入工具替代用户确认。多个待生成对象仅列未完成名称,等用户继续,不把多个完整对象挤入本轮。
已收到正文但流式中断时仍是未完成草稿,不得声明生成或保存成功。不要为避免中断删减内容或编造已完成状态。
版本历史
- 04fa564 当前 2026-11-02 16:28
- c178470 2026-10-18 23:56
- 1213bee 2026-07-19 23:48


