This Skill Catches Silent Drift

Yesterday a sneaky little skill showed up on r/PromptEngineering, built to catch something most of us never notice. This Redditor, who posts as Parking-Kangaroo-63, built it after watching an agent hand back a polished, correct-looking answer. The problem: it was answering a task that wasn’t the task anymore. A summary drops a “never” from an earlier instruction. An API version slides from v2 to v3 without anyone announcing it. An old assumption hardens into a decision nobody actually made. Nothing in the final message screams “something’s off,” which is exactly the problem.

The skill is called Context Drift Auditor, and it treats a running conversation like a contract that needs a checkup before anything risky happens. It’s meant for long agent tasks, prompt version changes, and any workflow where a stale or silently dropped requirement could change the output.

Here’s the twist. It runs two modes, but both do the exact same rigorous work behind the curtain. Compact Mode, the default for ordinary turns, still performs the full internal check. It just prints less: a drift table, a rebuilt context packet, and a decision. Full Mode is mandatory the moment something risky enters the picture. Think compaction, side effects, a prompt or schema swap, a real scope change, or drift the audit already caught. So the shortcut isn’t “skip the check.” It’s “check every single time, just talk less about it when nothing’s wrong.”

The second twist is how it settles arguments between an old version of the context and a new one. Most setups just trust whatever message came in last. This skill refuses that shortcut. The user owns goals and constraints. The repo or tool owns what the code currently does. A named external source owns current facts. A vague later tweak like “make the header blue” can’t quietly erase a privacy rule set three turns earlier. A clear, scoped instruction can override an old limit on purpose, but a vague one never gets that power. Your codebase can tell the model what’s true right now. It can’t cancel a requirement the user actually asked for.

Here’s the mini-workflow the skill runs every time it’s triggered:

  • 🔍 Fast-path check: single-turn, read-only, no retrieval, no mutable facts? It bails out immediately with one line and skips the ceremony.
  • 📋 Cumulative baseline: instead of trusting the latest message, it pulls the full accumulated contract. Every binding rule, scope line, and open question established so far comes along.
  • 🗂️ Ledger extraction: each requirement, fact, assumption, and decision gets its own row. Exact wording, source, and scope get logged, no guessing at status yet.
  • 🚦 Drift and gate: items get tagged UNCHANGED, DROPPED, ALTERED, SUPERSEDED, or CONTRADICTED. The skill then picks a gate, PROCEED, ASK FIRST, or STOP among them, and cites the exact ledger IDs behind that call.

The author is careful to say this isn’t a security boundary. It’s prompt-level defense-in-depth, not a locked door. For high-stakes moves, like file writes or API mutations, the skill recommends a separate evaluator or a fresh subagent instead. That way the same model isn’t grading its own summary.

Pro tip: steal the field-scoped authority idea even if you never install the skill. Next time you’re compressing a long context window, ask explicitly, “did I just let a repo observation override a user requirement?” That one question catches a surprising number of silent regressions before they ship.

Second pro tip: watch for the difference between SUPERSEDED and CONTRADICTED in your own workflows. A clear later instruction that explicitly replaces an earlier one is fine to act on. A vague one that just happens to conflict is not. It deserves a question back to the user instead of a guess.

One caveat worth flagging: this is a prompt-based audit, not a formal verification tool. It relies on the model correctly classifying its own context. A genuinely confused model could still misjudge a drift status, so treat it as a strong second pair of eyes, not a guarantee.

Compare that to the usual fix, which is just re-summarizing the conversation and hoping nothing important got cut. A plain summary has no memory of what was binding versus optional, no source tracking, and no gate before the next action. This skill’s whole pitch is that those three things are exactly what a long agent run needs to survive compression intact.

I was honestly impressed by how much of this maps to real production pain. Anyone who has run a long agent chain has felt the “technically correct, actually wrong” moment this skill is built to prevent. If you’ve fought this exact problem, the original thread has more detail on how the author represents superseded requirements without hoarding the whole transcript forever.

Go check out the full skill definition and the platform behind it, and steal the field-scoped authority table for your own agents. 🏴‍☠

Context Drift Auditor skill.md
by u/Parking-Kangaroo-63 in PromptEngineering

Scroll to Top