---
name: new-convo-handoff
version: 1.0.0
description: 新对话上下文交接指令生成器。当用户因上下文过长/想新开对话继续某个长项目、问"新开对话怎么写 Prompt""启动指令怎么写""怎么把上下文交接给新会话"时说。触发词包括：新开对话、新对话、上下文太长、启动指令、handoff、交接上下文、怎么写prompt给新会话。触发后，AI 自动扫描当前项目的关键文档（框架/PRD/设计稿/约束文件），抽取真源文件指针、隐性规则（已否决清单/口头约定/失真点）、跨文件同步规则、速查表，生成一份可直接粘贴进新对话首条消息的"启动指令" Markdown（指针式，不复制真源内容），让新会话无需复述历史对话即可承接工作。
agent_created: true
---

# 新对话上下文交接指令生成器

## 何时触发

用户出现以下任意信号时启用本 skill：
- 明确说"新开对话""新对话""上下文太长/太满，开个新会话"
- 问"新开对话怎么写 Prompt""启动指令怎么写""怎么把上下文交接给新会话"
- 提到 handoff / 上下文交接 / 让另一个会话接着干

目标：产出一份**指针式**启动指令文档（指针 + 隐性规则 + 时效自检，不复制真源内容），用户把它整篇粘贴到新对话首条消息，新会话即可按指针读取项目真源、继承全部约束，然后等用户交代具体任务。

## 核心原则

- **指针优先，禁止复制（2026-08-04 第一性原理重构）**：启动指令 = 指针 + 防破坏清单 + 时效自检。真源文件里已有的约束细节（色值、字号、功能清单、优先级等）**一律不复制进指令，只给文件名和章节号**——复制即产生第二真相源，产出即开始漂移。
- **启动指令的边际价值 = 真源里没写的东西**：只写三类内容——① 读哪些文件（指针）；② 隐性规则（同步规则、已否决清单、冲突裁决顺序、口头约定）；③ 时效自检。真源已覆盖的内容交还给真源。
- **不依赖对话历史**：新会话按指针读完真源 + 隐性规则清单，即等效于继承上下文。
- **单一真相来源优先**：先找到项目的总纲/框架/README，它是指针的锚点；指令本身永远不是真相来源。
- **同步规则显性化**：项目里"改 A 必须同步改 B"的隐性规矩，必须写进启动指令——这是新会话最大的破坏来源，也是本 skill 的核心价值。
- **长度上限**：正文（不含场景示例）≤60 行。指令越长遵守率越低，冷启动成本越高；超限时优先砍"看起来像是从真源抄来的"内容。
- **可粘贴即用**：输出是纯 Markdown，开头就是"复制以下内容到新对话首条消息"。

## 生成工作流

### Step 1 · 锁定项目根目录
- 默认用当前 workspace 根目录。
- 若当前对话不是项目对话（如临时闲聊），用 AskUserQuestion 确认要交接的项目路径。

### Step 2 · 盘点关键文档
用 Glob + Read 扫描，识别以下类型（按项目实际存在情况取舍）：
- **总纲/框架/需求框架**：`需求框架_*.md`、`README.md`、`ARCHITECTURE.md`、`*.framework.md`
- **详细规格**：`*PRD*.md`、`*规范*.md`、`*spec*.md`
- **设计/实现**：`设计稿*/`、`*设计*.md`、配色/Token 文件
- **裁决/审查记录**：`*交叉审查*`、`*审查报告*`、`*裁决*`
- **记忆/状态**：`.workbuddy/memory/` 下的 MEMORY.md、近期日期日志（提取已确认决策）

为每个文件写一句"用途注解"（读它能解决什么）。

**兜底规则**：若项目没有明确的"总纲/框架"文件（如空 workspace、临时对话），则退回读取 `README.md` 与 `.workbuddy/memory/MEMORY.md` 作为约束来源；两者皆无时，仅依据近期日期日志与用户口头约束生成，并在输出顶部标注"⚠️ 未找到框架文件，约束可能不完整"。

**扫描成本控制**：对超大文件（如 >50KB 的 PRD）只读关键章节（开头摘要、约束/Token 段、变更记录），不要整篇 Read，避免 token 浪费。

### Step 3 · 确定真源指针与裁决顺序（不复制约束细节）
从总纲 + 约束文件 + 近期日志中确认：
- **唯一真相来源是哪份文件**、多文件冲突时以谁为准（只写文件名 + 裁决顺序，不抄内容）
- 每个真源文件的一句话用途注解（读它能解决什么）

**只允许写入指令的"约束类"内容**（即真源里没有的隐性知识）：
- 已移除/已否决的功能清单（避免新会话复活）——若真源已明确标注则只写指针
- 口头约定、未落文档的规矩（如"PRD 禁写技术词"若未写进 PRD 模板）
- 已知的真源滞后/失真点（如"需求框架 v4 已过时，以 PRD 为准"）

**禁止写入**：色值、字号、功能清单、章节内容摘要、优先级列表——这些属于真源，只写"见 `配色方案.md`""见 PRD §3.8"。

### Step 4 · 抽取"跨文件同步规则"
识别隐性耦合，写为"改 X 必须同步改 Y"清单。例：
- 改 Token → 全局同步所有 :root 块
- 改 PRD → 同步对应设计稿
- 新增文件 → 更新索引页
- 改需求框架 → 先确认再同步各端 PRD

### Step 5 · 生成速查表
做一张表：`你想做什么 | 先读 | 再读/同步更新`，覆盖项目主要改动类型。这是新会话最高频使用的部分。

### Step 6 · 写文件命名规则（可选，但强烈建议）
若项目文件有编号/前缀体系（如 00=组件规范、08=聊天主界面），列出映射表，新会话才不会改错文件。

### Step 7 · 组装并输出

**文件命名规则**（2026-08-02 起，用户偏好）：
- 命名格式：`新对话启动指令_<项目名>_<YYYY-MM-DD>.md`，例：`新对话启动指令_项目名_2026-08-02.md`
- `<项目名>` 取 workspace 根目录名或项目通用简称（如项目名、素材库），简短可读；日期为生成当天日期
- **同一天生成多版**：追加 `_v2`、`_v3` 后缀区分，例：`新对话启动指令_项目名_2026-08-02_v2.md`
- 子系统变体在日期后加用途后缀，例：`新对话启动指令_项目名_2026-08-02_改设计稿.md`
- 写入位置：项目根目录；若项目有 `outputs/` 目录则写 `outputs/` 下
- **保留旧版不覆盖**（含旧的 `新对话启动指令_vX.md` 历史文件），便于新会话对比演进

用下方模板组装后写入文件，同时把全文回显给用户。

### Step 8 · 告知用法
提示用户：下次新开对话，把该文件内容整篇粘贴为**首条消息**，新会话会自动读文件、注入上下文，然后在"我要做的是"处填具体任务。

## 输出模板（Markdown 骨架）

```markdown
# 新对话启动指令（<项目名> · YYYY-MM-DD）

> 粘贴以下内容到新对话首条消息。AI 会自动读取所有文件，然后等你交代任务。
>
> **时效自检（新会话必做）**：本指令生成于 YYYY-MM-DD。执行两项检查——① **指针悬空检查**：下方列出的真源文件是否都还存在、未改名（用 Glob 验证）——悬空即提醒用户重新生成本指令；② **隐性规则复核**：若某真源文件晚于本指令生成日期被修改（`ls -l` 比对 mtime），则「隐性规则」清单中引用过该文件的条目可能失效，需人工复核，**但指针本身不过期，不需要仅因此重新生成**。若当前环境无文件工具（如纯网页对话），跳过自检并告知用户。

---

项目路径：`<项目绝对路径>/`

## 唯一真相来源（按阅读顺序排列）
1. `<总纲/框架文件>` — 用途一句话
2. `<详细规格1>` — 用途一句话
3. `<详细规格2>` — 用途一句话
（按"先总后分"排序；约束细节读文件本身，本指令不复制）

**冲突裁决顺序**：<文件A> > <文件B> > <文件C>（⚠️ 裁决顺序 ≠ 阅读顺序——很多项目是"分压总"，如 PRD 优先于需求框架，按项目实际填写）

## 隐性规则（真源未覆盖，必须遵守）
- 已否决/已移除：<清单，防止复活>
- 口头约定：<如"PRD 禁写技术词">
- 已知失真点：<如"需求框架 v4 滞后，以 PRD 为准">

## 修改/同步规则（改 X 必须同步改 Y）
- 改 Token 必须全局同步：<真源文件 + 影响范围>
- 改 PRD 必须同步对应设计稿
- 涉及多端改动 → 并行启动 Agent，各自先读总纲+对应 PRD

## 快速速查表
| 你想做什么 | 先读 | 再读/同步 |
|-----------|------|----------|
| 改某功能 | `文件A §章节` | `文件B` |
| ... | ... | ... |

## 文件命名规则（如有）
| 编号/前缀 | 含义 |
|----------|------|
| 00 | ... |
| 08 | ... |

## 我要做的是：
> 【在这里填写你的具体任务，参考下方场景示例】

### 场景 A：改某个章节/规格
（示例占位）

### 场景 B：改某个实现/设计稿
（示例占位）

### 场景 C：新增功能
（示例占位，列出需同步的文件清单）
```

## 维护说明
- 项目重大变更后，**重新运行本 skill 生成新版本**（按当日日期命名，同一天多次生成时版本后缀递增），旧版保留作对比。不要依赖用户记忆——长项目建议配一个 automation（如每周或每次大改后触发），自动生成新版启动指令。
- 指针式结构下，真源内容变更**不需要**重新生成指令（指针不过期）；只有以下情况需要重新生成：真源文件本身改名/删除/拆分、隐性规则变化、同步关系变化、新增已否决功能。
- 若项目有多个子系统（如硬件端/小程序端/后台），可为每个子系统单独生成一份变体（参考"修改设计稿专用"变体模式），在总纲指令里相互引用。
- 不要把本 skill 生成的内容当成最终交付物本身——它只是"让新会话接手"的桥梁。

## 参考样本（软引用，先校验存在；⚠️ 仅参考结构，禁止模仿其内容密度）
若项目历史中已有更早的启动指令（如旧版 `新对话启动指令_vX.md`），可作为参考：
- **重要**：旧样本若是指针式重构**之前**的复制式快照，其约束细节往往大量照抄真源，正是本 skill 现在禁止的写法。**只参考其章节骨架、速查表格式、场景示例的写法；不得模仿其"核心约束"段的复制密度**，生成内容以「核心原则」为准，样本与原则冲突时以原则为准。
- 历史 `vX` 命名仅作存档，**新文件不要再沿用 `vX` 命名**。
**使用前先用 Glob 确认路径存在**：存在则读取参考结构；若不存在（项目已清理/迁移），跳过本步，不报错。
