用途
mobile-nav-plan 用于把「一个应用想法」或「一个已有的 React Native 应用」转化为一份导航架构方案,称为 Nav Read。它的定位是:导航即信息架构。该技能只产出一份确定的、可直接对应 Expo Router 的 app/ 目录规划的路由树,然后停止——不写任何屏幕代码。
主要能力
- 生成 Nav Read:包含平台、标签(tabs)、带容器标注的路由树、入口点、弹层(sheets,或标注为 none)、深度链接、Android 返回键方案、最大点击次数(max-taps)等要素。
- 容器决策:对每个屏幕依次判断 tab root → push → modal → bottom sheet → full-screen modal,先匹配者胜出。
- 对争议性决策给出理由:标签数量、FAB 决策(存在,或在有创建动作的应用中「不出现」)、任何全屏模态、任何 BackHandler 例外、以及每个用 sheet 而非 modal 的屏幕,各用一句话说明。
- 自检:对照 navigation.md §4 的机械检查清单,报告方案中偏离的规则及原因。
- 持久化:可将 Nav Read 写入 MOBILE-DESIGN.md(创建或刷新 ## Nav Read 章节,若已存在则报告差异)。
- 对已有应用输出 DIFF:对比当前路由树与建议路由树,并标记所有触及「绝不静默更改」清单的变更(路由名称、深度链接、标签顺序)。
使用方式
该技能按固定流程执行:
- 栈嗅探(Stack sniff):在已有项目中读取 package.json / app.json / 当前 app/(或 navigator)树,以及若存在的 MOBILE-DESIGN.md;全新对话则跳到第 2 步。
- App Read 要点:确定应用类型、受众、目标平台与层级、平台姿态(一句话;完整 App Read 属于 mobile-taste)。若应用类型确实模糊,只问一个问题。
- 枚举待办任务(jobs-to-be-done):在挑选容器之前,先列出用户的常去目的地以及创建/编辑任务。标签来自这份清单,绝不来自 Home/Search/+/Alerts/Profile 模板(tell #24)。
- 对每个屏幕运行决策树(navigation.md §2)。
- 按规范格式输出 Nav Read(navigation.md §1)。
- 对争议性决策逐条给出理由。
- 对照机械检查清单自检,报告偏离的规则及原因。
- 持久化:提出将 Nav Read 写入 MOBILE-DESIGN.md;对已有应用额外输出路由树 DIFF。
方法细节位于 ../_shared/references/navigation.md(容器决策树、Expo Router 约定、机械检查、三个完整示例);被引用的 tells(如 #24)位于 ../_shared/references/tells.md。产出 Nav Read 前需完整阅读这两份文件。
适用场景
- 从零开始规划一个移动应用的导航结构。
- 为已有的 React Native 应用重新梳理或提出导航重构方案。
- 需要一份可直接映射到 Expo Router app/ 目录的路由规划。
- 需要明确深度链接、Android 返回键行为、弹层与模态选择等导航细节。
限制
- 不产出屏幕原型图,不产出组件代码。唯一产物是 Nav Read(以及用户主动要求时的空路由文件脚手架:_layout.tsx 文件与匹配路由树的空屏幕,内部不放任何内容)。
- 对已有应用的导航重构属于「提案」,实施需在批准后交由 mobile-redesign-app 完成。
- 每个容器选择都必须引用决策树步骤,「感觉对」不构成理由。
- 关于收费、价格、平台支持范围、效果等具体信息,资料中暂未提供。