Skip to content
Back to skills

Instruction Anchor Guard

ASecurity

"name: instruction-anchor-guard version: 1.1.0 description:

  • 16 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 7, 2026
toolsgoapi

Works with

  • api

Security analysis

A100/100

Scanned June 7, 2026

npx -y skills add modbender/skill-library-mcp --skill instruction-anchor-guard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Instruction Anchor Guard?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Instruction Anchor Guard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-instruction-anchor-guard/badge)](https://www.skillsdirectory.com/skills/modbender-instruction-anchor-guard)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Instruction Anchor Guard
description: "name: instruction-anchor-guard version: 1.1.0 description:
  Preserve user-critical instructions across long sessions and context
  compaction. Use when users mark constraints as important/must/always/..."
---

---
name: instruction-anchor-guard
version: 1.1.0
description: Preserve user-critical instructions across long sessions and context compaction. Use when users mark constraints as important/must/always/never/highest-priority/rules, and enforce anchor checks before and after compaction to prevent plan drift.
metadata:
  openclaw:
    emoji: "[ANCHOR]"
    category: resilience
---

# Instruction Anchor Guard

Prevent loss or drift of user-critical constraints during compaction, session restart, or long multi-turn tasks.

## When To Trigger

Trigger when any of these appear:
- User marks an instruction as important, critical, must, always, never, highest priority, rule, or constraint
- A task has more than 3 steps and spans multiple turns
- Compaction happened (or is likely) and the task has non-negotiable requirements
- Agent behavior shows possible drift from prior explicit user constraints

## Anchor Ledger Schema

Store anchors in first available path:
1. `memory/anchors.md`
2. `memory/instruction-anchors.md`
3. `.anchors.md` (workspace root fallback only)

Entry schema (append-only, one section per anchor):
```markdown
## Anchor: <id>
- **source**: <session-id|message-id|user>
- **instruction**: <canonical instruction text>
- **verbatim**: <short quote from user>
- **priority**: P0 | P1 | P2
- **scope**: global | session | task:<id> | channel:<id>
- **createdAt**: <ISO-8601 timestamp>
- **expiresAt**: <ISO-8601 timestamp or "never">
- **status**: active | paused | expired | superseded
- **signature**: <stable hash of canonical instruction>
- **supersedes**: <anchor-id or none>
```

## Workflow

### 1) Capture
- Parse latest user message for candidate anchor statements
- Keep only instruction/constraint content; remove examples/chatter
- Assign default values:
  - priority: P1 (unless user says critical/highest -> P0)
  - scope: session (unless user explicitly asks global/task scope)
  - expiresAt: session end (unless user explicitly sets never/date)

### 2) Confirm for Broad Anchors
- If scope is `global` or priority is `P0`, ask a one-line confirmation before persisting
- Do not auto-promote P2/P1 to P0 without explicit user intent

### 3) Persist
- Append anchor entry to ledger
- If new anchor conflicts with old same-scope anchor, mark old one `superseded`
- Never rewrite history silently; keep audit trail

### 4) Rehydrate (each turn and after compaction)
- Load active anchors (status=active and not expired)
- Build an in-memory `ANCHOR_SET` sorted by priority and recency
- Inject `ANCHOR_SET` into planning phase before tool execution

### 5) Drift Check (before final answer and before destructive actions)
- Compare current plan against active anchors
- On conflict:
  - P0 conflict: stop and correct plan immediately
  - P1 conflict: auto-correct and note adjustment
  - P2 conflict: continue only if no user-level contradiction
- Emit `DRIFT_CHECK` block in response

## Conflict Resolution

Priority order:
1. System and safety policy
2. User anchors (P0 > P1 > P2)
3. Current-turn temporary preferences

Tie-breakers:
- More specific scope wins (`task` > `session` > `global`) if same priority
- Newer anchor wins if same priority and same scope
- Explicit user override wins only when safety is not violated

## Output Template

When anchors exist, include this compact block:

```markdown
ANCHORS_ACTIVE
| ID | P | Scope | Expires | Instruction |
|----|---|-------|---------|-------------|
| anchor-001 | P0 | global | never | Never perform destructive data deletion without confirmation |

PLAN_GUARD
- Current action: <action>
- Conflicts: none | <anchor ids>
- Decision: clear | corrected | paused-awaiting-user

DRIFT_CHECK
- Last anchor sync: <timestamp>
- Drift: no | yes
- Fix applied: <none|what changed>
```

## Safety Boundaries

- Never store tokens, API keys, passwords, cookies, or auth headers
- Never store raw personal data unless strictly required by user instruction
- Redact sensitive literals as `[REDACTED]`
- Store constraints, not datasets
- Do not execute destructive commands solely because an anchor exists; still require explicit confirmation for destructive actions

## Expiry and Maintenance

- Mark `expired` when `expiresAt < now`
- Support control intents:
  - `/anchors list`
  - `/anchors pause <id>`
  - `/anchors resume <id>`
  - `/anchors delete <id>`
  - `/anchors pin <id> never`
- Rotate ledger when > 200 entries into `memory/anchors-archive-YYYY-MM.md`

## Integration Notes

- Pair with `memory-self-heal` for retry/fallback after drift correction
- Pair with `task-execution-guard` to enforce anchor checks at each milestone
- Keep this skill deterministic and concise; avoid free-form interpretation when conflict exists

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.