SuperAPI AI 工具集

lov-auto-context

办公与效率

查看项目

更新于 10-16 09:23

技能介绍

用途

上下文哨兵是一个手动或由钩子触发的上下文操作器。它不仅做健康检查,而是对整个影响上下文的层面进行完整操作,用于评估当前会话是否出现污染(长对话、话题漂移、陈旧噪声),并采取具体动作。

技能按操作敏感度分为三层:

层级 示例 行为
自动执行 写项目记忆、更新 MEMORY.md 索引 直接执行,报告路径
先确认 编辑全局 agent 指令、编辑项目 CLAUDE.md、覆盖或删除已有记忆 展示 diff,等待 "yes"
仅建议 /fork、/compact、/btw、新会话 打印要粘贴的精确命令

/fork 和 /compact 由宿主(harness)拥有,本技能无法调用它们,但可以做其他所有事情。

自动模式(通过插件钩子)

启用 skill-publisher 插件后,UserPromptSubmit 钩子会监控转录体积。超过阈值(40 条以上或 150KB 以上)时,注入一个轻量级的 <auto-context> 提醒。

看到 <auto-context> 时,按上下文状态处理:

  • 大部分相关:继续,不作声。
  • 有一些陈旧噪声:在心里降低其优先级,继续。
  • 大部分不相关:建议 /fork 或 /btw,并给出精确命令。
  • 接近容量:建议 /compact 或 /fork,并给出精确命令。

规则:除采取动作外最多一句话;上下文正常就什么都不说;绝不自动 fork/compact(也无法做到,仅宿主可用);除非被问及,不要提及 "AutoContext"。

手动模式(/lov-auto-context [args])

有两种调用形态。

A. 空调用——健康报告 + 机会性记忆写入

/lov-auto-context

  1. 测量——估算轮次、工具调用、不同话题数。
  2. 评估——healthy / getting noisy / polluted / critical。
  3. 扫描近期轮次中未被持久化的反馈/偏好——若用户在本会话早前陈述了应持久化到未来对话的规则或偏好(典型触发短语:"从今以后"、"以后都"、"所有 X 应该 Y"、"别再"、"记住"),且尚未写记忆,则自动执行:写记忆文件 + 更新 MEMORY.md,并报告路径。
  4. 如需要,建议宿主动作(/fork、/compact、/btw)并给出要粘贴的精确命令。

除采取先确认动作外,保持在 3-5 行内。

B. 带参数——定向上下文操作

/lov-auto-context <自由指令>

解析指令并路由到对应动作类别:

指令模式 动作 敏感度
"记到全局 / write to global / 加到全局指令" 编辑配置的全局指令文件 先确认
"记到项目 / 加到项目 CLAUDE.md" 编辑项目 CLAUDE.md 先确认
"记住 X / 记到 memory" 写项目记忆 自动执行
"忘掉 X / forget X" 删除相关记忆文件 + 索引条目 先确认
"该分叉了吗 / should I fork" 评估 + 建议命令 仅建议
"压缩一下 / compact" 建议带精确语法的 /compact 仅建议

各动作的操作方式

写项目记忆(自动执行)

目录:<resolved-agent-home>/projects/<project-slug>/memory/。写入前先从 User Configuration 段解析 <resolved-agent-home>。记忆目录应已存在;不要静默创建新的运行时布局。

步骤:

  1. 选取文件名:<type>_<topic>.md(例如 feedback_output_paths.md)。
  2. 使用所要求的前置元数据(name、description、type)写入。
  3. 对 feedback / project 类型,包含 Why: 和 How to apply: 行。
  4. 更新 MEMORY.md,添加一行 150 字符以内的指针。
  5. 报告绝对路径 + 相对路径。

编辑全局 CLAUDE.md(先确认)

目标:<resolved-agent-home>/CLAUDE.md。

步骤:

  1. 读取文件。
  2. 为新增内容定位最合适的段落(匹配已有标题如 "输出规范"、"网络 / 代理"、"Debugging Discipline";若无合适段落则创建新段)。
  3. 以带 -/+ 行的围栏代码块展示拟议 diff。
  4. 询问:"执行这个修改?(yes/no)"。
  5. 回复 "yes" → 通过 Edit 应用;其他任何回复 → 中止,可选提供改为保存为项目记忆。

绝不跳过 diff 步骤。CLAUDE.md 是用户编写的权威配置;静默编辑会侵蚀信任。

编辑项目 CLAUDE.md(先确认)

流程与全局相同,但目标是 <cwd>/CLAUDE.md(若不在根目录则向上查找)。同样要求先 diff 后确认。

建议宿主命令(仅建议)

产出用户应粘贴的精确字符串,而不是描述:

上下文被污染——粘贴此内容以分叉: /fork

或: 接近容量——先压缩,再继续: /compact

不要包裹解释。命令本身就是交付物。

本技能不能做的事(如实说明)

  • 调用 /fork、/compact、/btw、/clear、新会话——仅宿主可用。
  • 编辑其他 agent 的转录。
  • 自动安装钩子——请使用 /update-config。

如果用户要求上述任一项,应说明并提供要粘贴的命令。

输出约定

每个写文件的操作必须回显其绝对路径 + 相对路径(遵循项目级 output-paths 规则)。适用于记忆文件、CLAUDE.md 编辑(显示最终路径)及任何派生产物。

用户配置

按以下顺序解析 agent 路径:

  1. SKILL_AUTO_CONTEXT_AGENT_HOME。
  2. 共享 profile ${SKILL_PROFILE_PATH:-$HOME/.skill-publisher/skills/profile.json} 的键:agent.home、claude.home 或 runtime.agent_home。
  3. 向用户询问一次 agent home 目录,并在当前操作中使用该值。

对于其他运行时,显式设置 SKILL_AUTO_CONTEXT_AGENT_HOME 或添加相关 profile 键。

运行时上下文(共享)

运行前读取本 Skill 包的 skill.yaml,由宿主提供 skill-runtime/v1 上下文。字段解析顺序为:当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。

只使用 Manifest 声明的字段;Profile 保存公开品牌事实,Preferences 保存个人工作偏好。

required: true 字段缺失时,按 Manifest 的问题配置向用户提出一个聚焦问题;用户明确同意后再保存回答。

报错提供可复制的 context_id、字段路径与来源,诊断内容避开秘密、完整私人路径和原始配置。

通用反馈闭环

用户在 Skill 驱动任务中提出修改意见时,继续当前产物前必须执行:

  1. 先判断意见是 task-specific(仅本次)还是 reusable(可跨任务复用)。
  2. task-specific 只修改当前任务,不改 Skill。
  3. reusable 先确定作用域:领域规则先更新对应 canonical Skill;适用于所有 Skill 的规则先更新共享规范。
  4. 完成规则更新、版本、lint 与分发核验后,再把修改应用到当前任务。

reusable 修改会使此前的"确认""继续""发吧"失效;完成当前产物修改和回读后必须停下,等待用户下一步指示,不自动进入发布、提交或其他外部写入。