Claude Code Plugins

Community-maintained marketplace

Feedback

context-management

@No-Trade-No-Life/Yuan
341
0

在多轮对话和多 Agent 协作场景下,帮助模型管理指令、项目状态和长上下文。通过外部文档与会话笔记实现可控的“记忆”、指令冲突检测和高质量交接。适用于任务跨多次调用、跨 Agent、需要稳定行为规范时使用。

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name context-management
description 在多轮对话和多 Agent 协作场景下,帮助模型管理指令、项目状态和长上下文。通过外部文档与会话笔记实现可控的“记忆”、指令冲突检测和高质量交接。适用于任务跨多次调用、跨 Agent、需要稳定行为规范时使用。

上下文与指令管理 Skill

本 Skill 用于指导 LLM/Agent 在复杂项目中:

  • 明确“指令 vs 信息”的区分
  • 把长期记忆外化到文件(AGENTS.md / SESSION_NOTES.md)
  • 在接受新指令时做冲突检测
  • 控制上下文长度,避免无脑堆日志
  • 提供可追踪、可审计的决策记录

1. 何时使用本 Skill

当满足以下任一条件时,应主动启用本 Skill 的行为规范:

  • 任务跨越多轮调用或多个 Agent,需要「记住前情」;
  • 需要在一个仓库/项目内固化规则与工作流
  • 用户或其他 Agent 提到:
    • AGENTS.mdSESSION_NOTES.md会话笔记交接文档 等;
    • “帮我管理上下文 / 指令 / 规则”;
  • 上下文变长,模型开始显得遗忘、反复、指令不一致;
  • 存在不同人(或 Agent)反复参与同一项目,容易跑偏。

如果当前任务只是一次性、几句话就能完成的小活,可以不主动使用本 Skill(除非用户明确要求)。


2. 核心理念(Skill 的设计哲学)

  1. 指令与信息分离

    • 指令(Instructions)
      • 规定“要怎么做事”的元规则;
      • 如风格偏好、安全约束、不能做的事、阶段性侧重点。
    • 信息(Facts/State)
      • 描述“世界/项目当前是什么样”的事实;
      • 如架构设计、实现细节、TODO 列表、已知 bug 记录等。

    本 Skill 要求:

    • 指令写在 AGENTS.md + SESSION_NOTES.md 的「指令与约束」部分;
    • 项目状态与事实写在「重要背景」「近期工作记录」「TODO」。
  2. 渐进式信息披露(Progressive Disclosure)

    • 不要一股脑把所有历史对话、全部文档塞进上下文;
    • 优先:
      1. 定位:找到相关文件和章节;
      2. 概括:在内部思考中做小结;
      3. 引用:对用户使用“指向 + 摘要”的方式回答;
    • 只有在确实需要时,才展开详细内容。
  3. 文件系统即外部记忆

    • 把稳定的知识放在文件里,而不是只放在一段长聊天中;
    • Skill 的指令短小清晰,把复杂细节拆到:
      • AGENTS.md:Agent 行为准则;
      • SESSION_NOTES.md:项目当前状态与会话笔记;
      • 其他专门文档(如 docs/xxx.md);
    • 这样做有三个目的:
      • 减少 token 压力;
      • 提供可版本控制的“记忆”;
      • 让多 Agent / 多人都能共享同一套认知。
  4. 明确、可审计的决策与指令变更

    • 每次指令变化、冲突解决、重大架构决策
      必须以“可追踪文字”形式写入文档,而不是只说在对话里;
    • 方便日后复盘:
      “当时为什么这么决定?谁改的指令?覆盖了什么旧规则?”
  5. 将复杂任务拆分为阶段并外化成计划文档

  • 对于复杂/跨多轮的工作,建议使用 IMPLEMENTATION_PLAN.md
    • 按 3–5 个 Stage 拆分目标;
    • 为每个 Stage 约定可验证的成功标准与测试;
    • 在推进过程中更新 Stage 状态;
    • 完成后可删除或归档该计划文件。
  • 这样做可以让多个 Agent / 人类在多轮对话中保持同一认知。

3. 入口流程:启动本 Skill 时你要做的事

当本 Skill 被触发时,Agent 应该遵循以下步骤:

  1. 检查并读取关键文档

    • 尝试读取根目录的:
      • AGENTS.md(如果不存在,可提示用户用模板新建);
    • 尝试读取当前项目/代码仓内的:
      • codex/SESSION_NOTES.md 或类似约定路径;
      • 如果不存在,可使用 SESSION_NOTES.template.md 作为起点。
  2. 在内部整理出三类列表

    (可在你的“隐藏思考”中完成,不必全部回显给用户):

    • 指令类(来自 AGENTS + SESSION_NOTES:指令与约束)
      • 长期通用指令
      • 当前阶段指令
      • 临时/一次性指令
    • 事实类(来自 SESSION_NOTES:背景、决策、近期工作等)
    • 任务类(来自 TODO / Next steps + 用户最新请求)
  3. 解析用户本轮请求

    • 把用户最新消息拆成:
      • 新增指令?(例如“之后都用中文回答”)
      • 本轮任务?(例如“帮我重构 X 文件”)
      • 对已有指令的修订?(例如“之前说不要改 DB,现在可以改了”)
  4. 对新指令进行“冲突检测”

    • 将本轮新指令与已有指令列表比对;
    • 如果存在明显冲突或覆盖关系:
      • 在回复中明确指出冲突点
      • 停止执行与冲突相关的操作;
      • 请用户选择:
        • 覆盖旧指令;
        • 作为特殊例外(附范围说明);
        • 或维持旧指令、忽略新请求中某部分。
    • 只有在用户明确确认后,才更新指令列表并执行工作。
  5. 形成本轮的“工作计划”

    • 结合:
      • 已确认的指令集合;
      • 当前项目事实;
      • 用户本轮具体任务;
    • 在内部列出 3–7 个步骤的小计划后再开始动手。

4. 执行阶段:在任务中如何使用本 Skill

在具体执行工作(写代码、改文档、分析数据等)时,应遵循:

  1. 优先查文档后再推理

    • 对于:
      • 项目约定;
      • 目录结构;
      • 已存在设计决策;
    • 不要直接瞎猜,应先在文件系统中查找相关信息:
      • AGENTS.md
      • SESSION_NOTES.md
      • docs/ 目录
      • 其他明显相关文件(如 DESIGN.mdARCHITECTURE.md)。
  2. 小步修改 + 明确说明

    • 每次只改少量相关文件;
    • 在对话中简单说明:
      • 改了哪些文件;
      • 主要改动点;
      • 影响范围;
    • 如果能运行测试或检查命令,也应说明命令和结果。
  3. 控制上下文长度

    • 不要在对话中无脑贴巨大文件原文;
    • 优先:
      • 用「文件路径 + 小节标题 + 摘要」的方式指代;
      • 在需要用户确认时,可以粘贴必要片段(非整篇)。
  4. 尊重指令层级与来源

    • 默认层级排序(从高到低):
      1. 系统/平台级指令(不在此 Skill 内,但你应遵守);
      2. AGENTS.md 中的长期指令;
      3. SESSION_NOTES 中明确记录的阶段性指令;
      4. 本轮用户的临时指令;
      5. 你自己的常识与默认偏好。
    • 如下层指令与上层冲突,以上层为准,并向用户说明。
  5. 遇到卡壳时的处理方式

  • 对同一思路连续尝试的次数不宜超过 3 次:
    • 如果发现自己在“重复同一种做法但一直失败”,应主动停下来;
  • 停止继续 brute force,改为:
    • 写下尝试过的方案和错误现象;
    • 从代码库中找 2–3 个类似实现做对比;
    • 重新评估抽象层级和拆分方式;
    • 必要时向用户汇报当前困境并请求决策;
  • 执行新的方案前,可在 SESSION_NOTES 中简要记录“思路切换”的原因。

5. 收尾阶段:更新会话笔记与指令

在你准备结束本轮工作(或预期需要交给下一位 Agent)时:

  1. 更新 SESSION_NOTES

    • 最近几轮工作记录 中增加一条:
      • 总结本轮实际完成的内容;
      • 列出修改的文件;
      • 记录测试命令和结果;
      • 提醒任何临时绕过或技术债。
    • 当前 TODO / 任务列表 中:
      • 勾选已完成任务;
      • 补充新的后续任务;
      • 调整优先级(高/中/想法)。
  2. 记录指令变更与冲突决议

    • 如本轮存在新的长期/阶段性指令,或有冲突处理:
      • 指令与约束 一节的合适小节更新;
      • 在「指令冲突与变更记录」中写清:
        • 旧指令;
        • 新指令;
        • 冲突点;
        • 用户最终决议;
        • 对 2.x 小节做了怎样的更新。
  3. 明确下一位 Agent 的建议步骤

    • 下一位 Agent 的建议行动 中写出 3–5 条:
      • 从哪一个文件/任务开始;
      • 哪些是必须先做的;
      • 有什么坑要特别注意;
      • 本轮未完成但已分析过的部分。

6. 与模板文件的配合方式

本 Skill 依赖两个可重用的模板:

  • AGENTS.template.md
  • SESSION_NOTES.template.md

当你检测到项目中还没有正式的 AGENTS.mdSESSION_NOTES.md 时,你应当:

  1. 向用户建议:
    • 基于模板复制一份正式文件:
      • AGENTS.template.mdAGENTS.md
      • SESSION_NOTES.template.mdcodex/SESSION_NOTES.md 或项目约定路径;
  2. 如果环境允许自动写文件:
    • 先基于模板创建文件;
    • 再在文件中补充当前项目的具体信息。

之后,所有对指令和项目状态的修改,应通过这两个正式文件来完成,而不是修改模板本身。


7. 示例使用场景(简化示例)

以下是一些你应该“自动想到使用本 Skill”的典型场景。

场景 1:多次调用同一个 Agent 维护同一项目

  • 用户第一次:
    “帮我这个仓库写一个 AGENTS.md 和 SESSION_NOTES.md,用于后续所有工作。”

  • 你:

    • 使用模板生成并填充初始内容;
    • 指示用户之后所有复杂任务都以此为基础。
  • 用户第二次:
    “我们改主架构了,现在 HTTP 层不直接访问数据库了,你帮我重构,并更新交接文档。”

  • 你:

    • 先读现有 AGENTS / SESSION_NOTES;
    • 分析哪些指令/背景需要更新;
    • 重构代码;
    • 在 SESSION_NOTES 的决策、最近工作、TODO 中记录变更。

场景 2:新指令与旧安全约束冲突

  • 旧指令:AGENTS.md 中写明“不要直接修改生产数据库相关配置”;

  • 新指令:用户说“你直接把生产的 DB host 改一下就行”。

  • 你应当:

    • 指出新旧指令冲突;
    • 请用户明确是否要修改安全规则,并说明风险;
    • 在得到明确确认后:
      • 更新 AGENTS 中相关指令;
      • 在 SESSION_NOTES 的“指令冲突与变更记录”写清决议;
      • 再执行变更。

8. 你在使用本 Skill 时的自检清单

在你自觉“本轮任务需要上下文管理”时,可以在内部快速检查:

  • 我是否已经读取了 AGENTS.mdSESSION_NOTES.md
  • 我是否把“指令 / 信息 / TODO”分清楚了?
  • 新指令是否与旧指令有冲突?如果有,我是否已经明确地向用户指出并请求决策?
  • 我是否避免把无关历史对话全部塞进上下文,而是依赖文件和摘要?
  • 我是否在结束前更新了 SESSION_NOTES 的:
    • 最近工作记录;
    • TODO;
    • 指令变更;
    • 下一位 Agent 的建议行动?
  • 我是否使用了中文输出?

如果以上大部分都能回答“是”,说明你正确使用了本 Skill。