Enforces Law 2 (Plan Is Sacred) of the 7 Laws of AI Agent Discipline. Detects when a session has drifted away from its stated goal by scoring recent tool activity against the '## Goal' section of task_plan.md, so drift is caught mid-session instead of at end-of-session reflection.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add naimkatiman/continuous-improvement --skill goal-monitor --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Goal Monitor?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/naimkatiman-goal-monitor)More formats (shields.io, HTML) on the badges page.
---
name: goal-monitor
tier: "2"
description: Enforces Law 2 (Plan Is Sacred) of the 7 Laws of AI Agent Discipline. Detects when a session has drifted away from its stated goal by scoring recent tool activity against the '## Goal' section of task_plan.md, so drift is caught mid-session instead of at end-of-session reflection.
origin: continuous-improvement
user-invocable: true
---
# Goal Monitor — Continuous Drift Detection
A "Clear Goal" discipline: a stated goal is only useful if something keeps checking the work against it. `task_plan.md` captures the goal once; this skill turns it into a recurring check so a session that has quietly wandered off into unrelated files surfaces the drift while there is still budget to course-correct.
## When to Activate
- After a long stretch of edits, before claiming progress on the original goal.
- When you suspect the work has sprawled across unrelated areas of the codebase.
- Before a checkpoint or handoff, to confirm the session stayed on its stated goal.
- Any time the goal in `task_plan.md` and the actual tool activity might have diverged.
## Core Concept
Law 2 says the plan is sacred. But "sacred" is hollow if nothing measures adherence. Goal Monitor scores the most recent observations against the goal and reports one of three states:
```
ON GOAL — recent activity relates to the goal (score >= threshold)
DRIFT — most recent activity is unrelated, or touched forbidden paths
NO DATA — not enough observations in the window yet
```
The score is the fraction of recent observations whose tool name, input, or output references a goal keyword — or whose edited path falls under a goal-scope glob.
## Goal Source
The check reads, in order:
1. `task_plan.md` in the project root (seeded by `ci_plan_init` / `/planning-with-files`).
2. `~/.claude/instincts/<project-hash>/goal.md` (fallback for non-repo sessions).
3. An explicit `goal_file` argument, if provided.
The plan needs a `## Goal` section. Two optional sections sharpen the signal:
```markdown
## Goal
Implement OAuth login with JWT session tokens for the auth service.
## Goal Keywords
oauth, jwt, login, session
## Goal Scope
paths: src/auth/**, test/auth/**
forbidden: src/marketing/**
```
When `## Goal Keywords` is absent, keywords are auto-extracted from the goal prose (stopwords and short tokens dropped). `## Goal Scope` is optional: `paths` globs count as on-goal matches; `forbidden` globs are a hard drift signal even when keywords also match.
## How to Invoke
The check is exposed as the `ci_goal_check` MCP tool (expert mode) and the `/goal-check` slash command:
```
ci_goal_check # score the last 30 observations against task_plan.md
ci_goal_check limit=50 # widen the window
ci_goal_check goal_file=docs/x.md # score against a specific plan file
```
## Acting on the Result
- **ON GOAL** — proceed; the plan and the work agree.
- **DRIFT** — stop and decide explicitly: either steer back to the goal, or, if the goal has legitimately changed, update the `## Goal` section so the plan stays the single source of truth. Do not silently let the work and the plan disagree — that is exactly the Law 2 violation this skill exists to catch.
- **NO DATA** — keep working; the observation window is still filling.
## Limitations
- Keyword scoring is lexical, not semantic: a goal that says "login" will not match activity that only ever says "authentication". Add synonyms to `## Goal Keywords` when vocabulary diverges.
- A deliberately broad goal ("refactor the whole repo") will score nearly everything as on-goal. Use `## Goal Scope` to add precision when the goal is narrow.
## Pairs With
- **`proceed-with-the-recommendation`** (orchestrator, Law 2) — run a goal check at phase boundaries to confirm the plan still matches the work.
- **planning-with-files** — the `## Goal` section this skill reads is the same one that workflow writes.
- **`strategic-compact`** — before compacting a long session, a goal check confirms what the session was actually about.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!