上下文哨兵 · Context Sentinel

SkillDocs & knowledge

Manual or hook-triggered context operator. Evaluates the current session for pollution (long conversations, topic drift, stale noise), AND takes concrete context-shaping actions: writing project memory, updating global or project CLAUDE.md (with diff + confirm), and recommending harness commands like /fork, /compact, /btw. Covers the full surface of context-affecting operations Claude can reach — direct file edits are auto-executed or confirmed based on sensitivity; harness-only commands (/fork etc.) are surfaced as one-click suggestions.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the 上下文哨兵 · Context Sentinel skill

What this skill tells your AI

The instructions your AI receives, as published by lovstudio/skills in skills/auto-context/SKILL.md and read by ahel’s review.

Not just a health check — a full operator over everything that shapes context. Three layers by action sensitivity:

LayerExamplesBehavior
Auto-executewrite project memory, update MEMORY.md indexDo it, report path
Confirm-firstedit global agent instructions, edit project CLAUDE.md, overwrite/delete existing memoryShow diff, wait for "yes"
Suggest-only/fork, /compact, /btw, new sessionPrint the exact command to paste

The harness owns /fork and /compact; this skill cannot invoke them. But it can do everything else and will.

Auto Mode (via Plugin Hook)

When the skill-publisher plugin is enabled, a UserPromptSubmit hook monitors transcript size. Above threshold (40+ entries or 150KB+), it injects a lightweight <auto-context> reminder.

When you see <auto-context>:

Context StateAction
Mostly relevantContinue, say nothing
Some stale noiseMentally deprioritize, proceed
Mostly irrelevantSuggest /fork or /btw with exact command
Near capacitySuggest /compact or /fork with exact command

Rules:

  • 1 sentence max unless acting.
  • If context is fine, say nothing.
  • Never auto-fork/auto-compact (can't anyway — harness-only).
  • Don't mention "AutoContext" unless asked.

Manual Mode (/lov-auto-context [args])

Two call shapes:

A. Bare call — health report + opportunistic memory write

/lov-auto-context
  1. Measure — estimate turns, tool calls, distinct topics
  2. Assess — healthy / getting noisy / polluted / critical
  3. Scan recent turns for unpersisted feedback/preferences — if the user stated a rule or preference earlier in the session that should persist to future conversations (typical trigger phrases: "从今以后", "以后都", "所有 X 应该 Y", "别再", "记住"), and no memory was written, auto-execute: write the memory file + update MEMORY.md. Report the path.
  4. Recommend harness actions if needed (/fork, /compact, /btw) with the exact command to paste.

Keep to 3-5 lines unless taking confirm-first actions.

B. With arguments — targeted context operation

/lov-auto-context <free-form instruction>

Parse the instruction and route to the right action class:

Instruction patternActionSensitivity
"记到全局 / write to global / 加到全局指令"edit the configured global instructions fileConfirm-first
"记到项目 / 加到项目 CLAUDE.md"edit project CLAUDE.mdConfirm-first
"记住 X / 记到 memory"write project memoryAuto-execute
"忘掉 X / forget X"remove relevant memory file + index entryConfirm-first
"该分叉了吗 / should I fork"evaluate + suggest commandSuggest-only
"压缩一下 / compact"suggest /compact with exact syntaxSuggest-only

Action: Write Project Memory (auto-execute)

Directory: <resolved-agent-home>/projects/<project-slug>/memory/. Resolve <resolved-agent-home> from the User Configuration section before writing. The memory directory should already exist; do not create a new runtime layout silently.

Procedure:

  1. Pick filename: <type>_<topic>.md (e.g. feedback_output_paths.md).
  2. Write with the required frontmatter (name, description, type).
  3. For feedback / project types, include **Why:** and **How to apply:** lines.
  4. Update MEMORY.md with one-line pointer under 150 chars.
  5. Report the absolute + relative path.

Action: Edit Global CLAUDE.md (confirm-first)

Target: <resolved-agent-home>/CLAUDE.md.

Procedure:

  1. Read the file.
  2. Locate the best section for the addition (match existing heading like "输出规范", "网络 / 代理", "Debugging Discipline"; or create a new section if none fits).
  3. Show the proposed diff as a fenced block with -/+ lines.
  4. Ask: "执行这个修改?(yes/no)"
  5. On "yes" → apply via Edit. On anything else → abort, optionally offer to save as project memory instead.

Never skip the diff step. CLAUDE.md is user-authored authoritative config; silent edits erode trust.

Action: Edit Project CLAUDE.md (confirm-first)

Same flow as global, but target is <cwd>/CLAUDE.md (walk up if not at root). Same diff-then-confirm requirement.

Action: Suggest Harness Commands (suggest-only)

Produce the exact string the user should paste, not a description:

context polluted — paste this to fork:
/fork

or

approaching capacity — compact first, then continue:
/compact

Do not wrap in explanations. The command is the deliverable.

What this skill cannot do (be honest about it)

  • Invoke /fork, /compact, /btw, /clear, new session — harness-only.
  • Edit another agent's transcript.
  • Auto-install hooks — use /update-config for that.

If the user asks for one of these, say so and give them the command to paste.

Output convention

Every action that writes a file must echo its absolute + relative path (per project-wide output-paths rule). Applies to memory files, CLAUDE.md edits (show final path), and any derived artifacts.

User Configuration

Resolve agent paths in this order:

  1. SKILL_AUTO_CONTEXT_AGENT_HOME.
  2. Shared profile ${SKILL_PROFILE_PATH:-$HOME/.skill-publisher/skills/profile.json} keys: agent.home, claude.home, or runtime.agent_home.
  3. Ask the user once for the agent home directory and use that value for the current operation.

For alternate runtimes, set SKILL_AUTO_CONTEXT_AGENT_HOME explicitly or add the relevant profile key.

Runtime context (shared)

运行前读取本 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 与分发核验后,再把修改应用到当前任务。
  5. reusable 修改会使此前的“确认”“继续”“发吧”失效;完成当前产物修改和回读后必须停下,等待用户下一步指示,不自动进入发布、提交或其他外部写入。

Signals

GitHub stars
66
Forks
17
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
lov-auto-context
Source
github.com/lovstudio/skills