- 文档
- 提示工程
- 人工智能
【免费下载链接】claude-code-system-prompts
All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.
Plan File Reference 是 Claude Code 系统提示(system prompt)体系中的一条系统提醒(System Reminder),用于在存在来自 Plan 模式(plan mode)的计划文件时,把计划文件的路径与完整内容注入到模型上下文中,并指示模型“若该计划与当前工作相关且尚未完成,则继续执行它”。本文以仓库中的模板文件 system-reminder-plan-file-reference.md 为主体,结合 Plan 模式工作流、批准通知、重入提醒等关联模板,完整剖析这条提醒的模板结构、变量语义、触发场景与决策逻辑,帮助开发者理解 Claude Code 如何在会话之间传递和续作计划。
一、系统提醒在 Claude Code 中的定位
Claude Code 的系统提示不是单一文本,而是由多种构件组合而成:系统提示(System Prompt)、工具描述(Tool Description)、Agent 提示(Agent Prompt)、技能(Skill)以及系统提醒(System Reminder)。系统提醒是随会话事件动态注入的短指令块,用于在特定时刻向模型补充上下文与行为约束。
Plan File Reference 属于system-reminder-*前缀模板族,其 frontmatter 元信息如下:
name: "System Reminder: Plan file reference" description: "Reference to an existing plan file" ccVersion: "2.1.18" variables: - "ATTACHMENT_OBJECT"ccVersion: "2.1.18"表明该模板随 Claude Code 2.1.18 版本引入,且根据仓库说明,所有系统提示均随每个 Claude Code 版本持续更新。它只声明了一个变量ATTACHMENT_OBJECT——即这条提醒的内容完全由调用方传入的“附件对象”驱动。
二、模板正文逐段解析
模板正文非常精炼,仅有四行有效内容:
A plan file exists from plan mode at: ${ATTACHMENT_OBJECT.planFilePath} Plan contents: ${ATTACHMENT_OBJECT.planContent} If this plan is relevant to the current work and not already complete, continue working on it.1. 路径声明行
第一行注入计划文件的存放路径(ATTACHMENT_OBJECT.planFilePath)。这行信息的作用是给模型一个明确的文件锚点,使其在需要时可以定向读取、引用或更新该文件。
2. 计划内容块
ATTACHMENT_OBJECT.planContent直接嵌入计划的完整文本。与 compact-file-reference.md 中“文件内容过大不包含、仅提示用 Read 工具按需读取”的处理方式不同,Plan File Reference 走的是全文内联策略——计划文本被直接拼入上下文,模型无需额外工具调用即可立即看到计划的全部细节。这符合“计划是当前工作的执行蓝本”这一角色定位:计划应尽可能短小精炼(见下文 Phase 4 规范),因此全文注入的上下文成本可控。
3. 行为指令行
最后一行是这条提醒的核心行为约束:
If this plan is relevant to the current work and not already complete, continue working on it.
这是一条条件性续作指令,包含两个前置判定与一个动作:
- 相关性判定:该计划是否与当前工作相关(relevant to the current work);
- 完成度判定:该计划是否尚未完成(not already complete);
- 动作:两者均满足时,继续按计划推进。
两条判定都不满足时,提醒不强制模型执行计划,模型可依据用户当前意图重新决策。
三、ATTACHMENT_OBJECT 变量的语义与来源
模板通过${ATTACHMENT_OBJECT.planFilePath}与${ATTACHMENT_OBJECT.planContent}两处引用同一对象的不同字段,说明调用方在注入时需提供如下结构:
{ "planFilePath": "/path/to/plan/file.md", // 计划文件路径 "planContent": "## Context\n...(计划全文)" }从仓库其他模板可以印证ATTACHMENT_OBJECT是系统提醒族的通用注入载体——compact-file-reference.md 同样声明了ATTACHMENT_OBJECT变量(字段为ATTACHMENT_OBJECT.filename),lines-selected-in-ide.md、file-opened-in-ide.md 等提醒也复用同一机制。可见这是 Claude Code 向提醒模板传入“上下文附件”的统一数据接口,不同提醒消费该对象的不同字段。
四、触发时机:计划文件存在的会话恢复场景
结合关联模板可以还原这条提醒的触发场景。在 Claude Code 的 Plan 模式工作流(见 system-reminder-plan-mode-workflow.md)中,模型被要求把计划增量地写入唯一的可编辑文件(Plan File Info 区块),除此之外只能执行只读动作。当计划获批后,system-reminder-plan-approved.md 会通知“User has approved your plan”,并给出计划保存路径与获批内容,允许开始编码。
Plan File Reference 则服务于计划文件已存在的另一类时刻:当模型在后续轮次(例如新会话、上下文压缩后、或用户以任意方式重新唤起工作时)面对一个已存在于磁盘上的计划文件,系统便注入该提醒,把“计划从哪来、内容是什么、该不该继续做”一次性交代清楚。
这一触发逻辑与 system-reminder-plan-mode-re-entry.md 高度互补——后者处理“用户退出 Plan 模式后再次进入”的场景,并给出了更细化的决策规则:
- 不同任务:即使是相似或相关的请求,也应覆盖(overwrite)旧计划重新开始;
- 同一任务的延续:明确是同一任务的延续或精化时,在清理过时段落的基础上修改现有计划。
两相对照可以看到 Claude Code 的完整意图:计划文件是跨轮次、跨模式传递工作上下文的第一等公民,而 Plan File Reference 负责在“无需进入 Plan 模式、直接续作”时把计划呈现给模型。
五、与 Plan 模式完整生命周期的联动
把 Plan File Reference 放回整个 Plan 模式生命周期中,可以清晰地看到它在链条中的位置:
- 进入 Plan 模式:system-reminder-plan-mode-is-active.md 声明只读约束,要求模型充分探索代码库、权衡多种方案、必要时用 AskUserQuestion 澄清,并在就绪时调用 ExitPlanMode 提交计划;
- 撰写计划:system-prompt-phase-four-of-plan-mode.md 规定最终计划的写法——以Context 章节开头说明变更动机,只保留推荐方案,文件既要能快速扫描又要足以执行,点名关键待改文件并给出代表性路径(而非逐文件枚举),复用已发现的既有函数与工具(附路径),最后必须包含端到端验证章节;
- 提交审批:tool-description-exitplanmode.md 说明 ExitPlanMode 不接收计划正文参数,而是直接读取已写入的计划文件——这正解释了为何计划文件的路径与内容对模型而言至关重要;
- 批准:system-reminder-plan-approved.md 通知计划获批、给出保存路径与获批内容(若用户编辑过则以 “Approved Plan (edited by user)” 标注);
- 后续会话续作:Plan File Reference 在此登场——会话中再次面对该计划文件时,提醒模型“相关且未完成则继续”。
若处于子代理场景,system-reminder-plan-mode-is-active-subagent.md 提供了简化版约束:通过PLAN_MODE_CONTEXT.planExists区分“已有计划文件(可读并用 Edit 工具增量修改)”与“尚无计划文件(需用 Write 工具在指定路径创建)”两种情形,并强调只读限制凌驾于其他任何指令之上。
六、两条判定的工程意义
“相关且未完成则继续”这一指令,本质上是把计划续作的决策权交给模型对当前意图的理解。从工程实现角度可以推断其设计意图:
- 避免盲目执行:计划文件可能来自较早的会话或不同的任务分支,若模型无条件执行,可能做出与用户当前诉求无关的改动;
- 避免重复规划:若计划相关且未完成,模型无需重新探索和起草,直接沿用既有计划推进即可,节省上下文与轮次;
- 保持渐进式计划:Plan 模式要求“增量构建计划”,因此计划文件在获批前可能已被多次编辑,Plan File Reference 提供的
planContent快照是模型看到的最新权威版本。
需要强调的是,本条提醒并未给出“不相关或已完成”时的替代指令——此时模型应回到对用户消息的常规处理,这也符合系统提醒“补充约束、不喧宾夺主”的设计哲学。
七、对 Agent 与 LLM 消费端的启示
对于正在构建基于 Claude Code 的自动化流程、或希望理解该系统提示集合的开发者,Plan File Reference 模板提供了几个可复用的模式:
- 模板与数据分离:提醒模板只声明
${ATTACHMENT_OBJECT.*}占位符,实际数据由宿主运行时注入,模板可随版本演进而无需改动注入方协议; - 条件指令内联:把决策条件(相关性、完成度)写进提醒正文而非外部逻辑,让模型基于完整上下文自主判断,减少宿主侧的硬编码分支;
- 路径 + 内容双冗余:同时给出文件路径与内联内容,既保证模型零成本读取,又保留按需回读文件、增量编辑的锚点;
- 家族式管理:仓库中以
system-reminder-*前缀组织的大量模板(plan-mode-workflow、plan-approved、plan-mode-re-entry、compact-file-reference 等)构成了一个可组合的提醒体系,各自聚焦单一事件,再由宿主按状态机组合注入——这套模式同样适用于自定义 Agent 的系统提示工程。
八、结语
Plan File Reference 虽只有寥寥数行,却是 Claude Code 计划持久化机制的关键一环:它以ATTACHMENT_OBJECT为载体,把计划文件的路径与全文注入上下文,并用一条条件指令让模型在“相关且未完成”时无缝续作。理解它,也就理解了 Claude Code 如何在 Plan 模式的规划、审批、重入与后续执行之间,通过一个计划文件维持工作上下文的连续性。若要深入完整工作流,可继续阅读 system-reminder-plan-mode-workflow.md、system-reminder-plan-approved.md 与 system-reminder-plan-mode-re-entry.md。
- 文档
- 提示工程
- 人工智能
【免费下载链接】claude-code-system-prompts
All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.
相关推荐
Claude Code 子代理 Plan Mode 系统提醒深度解析:只读约束、计划文件机制与澄清提问
Claude Code 子代理 Plan Mode 系统提醒深度解析:只读约束、计划文件机制与澄清提问 导读 本篇文章围绕开源仓库 claude code sy
文档提示工程人工智能Claude Code 系统提示解析:File Already in Context 提醒机制与文件读取优化
Claude Code 系统提示解析:File Already in Context 提醒机制与文件读取优化 导读 在 Claude Code 的长对话与文件操
文档提示工程人工智能Claude Code 团队协作中的计划审批等待机制:深入解析 Plan Awaiting Team-Lead Approval 系统提醒
Claude Code 团队协作中的计划审批等待机制:深入解析 Plan Awaiting Team Lead Approval 系统提醒 导读 本文聚焦 Cl
文档提示工程人工智能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考