/nav-diagnose
Detect quality drops in AI output and prompt re-anchoring. Auto-triggers after repeated corrections, context confusion, or when user says "something seems off", "you're not getting this".
$ npx -y skills add alekspetrov/navigator --skill nav-diagnose --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/nav-diagnose
Context preview
The summary Claude sees to decide when to auto-load this skill.
Detect quality drops in AI output and prompt re-anchoring. Auto-triggers after repeated corrections, context confusion, or when user says "something seems off", "you're not getting this".
SKILL.md
nav-diagnose.SKILL.mdname: nav-diagnose
description: Detect quality drops in AI output and prompt re-anchoring. Auto-triggers after repeated corrections, context confusion, or when user says "something seems off", "you're not getting this".
allowed-tools: Read, Write, Bash
version: 1.0.0
Navigator Diagnose Skill
Detect when human-AI collaboration quality drops and prompt re-anchoring to restore effective communication.
Why This Exists (Theory of Mind)
Based on Riedl & Weidmann 2025 research on Human-AI Synergy:
- Theory of Mind varies dynamically within users (moment-to-moment)
- Quality drops occur when ToM alignment degrades
- Early detection and re-anchoring restores collaboration effectiveness
- Both user ToM (understanding Claude) and Claude's model of user can drift
This skill detects when collaboration is degrading and prompts corrective action.
When to Invoke
**Auto-invoke when**:
- 2+ corrections on the same topic detected
- User says "something seems off", "you're not getting this"
- User says "wrong again", "still not right"
- Context usage exceeds 75% and quality signals degrade
- User expresses frustration ("ugh", "sigh", explicit frustration)
- Loop mode stagnation detected (3+ same-state iterations)
**DO NOT invoke if**:
- Single correction (normal collaboration)
- User is providing new requirements (not correcting)
- Fresh session (insufficient data to diagnose)
- User explicitly says "it's fine" or "close enough"
Quality Drop Indicators
1. Repeated Corrections (High Severity)
Trigger: Same correction given 2+ times
Signal: "No, I said users plural, not user" (2nd time)
Issue: Not incorporating user feedback
2. Hallucination Signals (High Severity)
Trigger: References to non-existent files, functions, or packages
Signal: "That file doesn't exist", "There's no such function"
Issue: Generating from incorrect mental model
3. Context Confusion (Medium Severity)
Trigger: Mixing details from unrelated tasks
Signal: "That's from the other project", "Wrong feature"
Issue: Context window pollution or misattribution
4. Unaddressed Feedback (Medium Severity)
Trigger: User correction not reflected in next output
Signal: Generates same pattern after being told not to
Issue: Not properly updating internal model
5. Goal Drift (Low Severity)
Trigger: Output increasingly diverges from original goal
Signal: "We're getting off track", "Not what I asked for"
Issue: Lost sight of user's actual objective
6. Loop Stagnation (High Severity)
Trigger: 3+ consecutive iterations with same state hash (loop mode only)
Signal: nav-loop detects stagnation, triggers nav-diagnose
Issue: Stuck on same step, unable to progress
Execution Steps
Step 1: Assess Quality State
**Analyze recent exchanges** (last 10-15 messages):
Quality Indicators:
- [ ] Corrections given: {count}
- [ ] Same-topic corrections: {count}
- [ ] User frustration signals: {count}
- [ ] Hallucination reports: {count}
- [ ] "Not what I meant" phrases: {count}**Calculate severity**:
severity = "critical" if same_topic_corrections >= 2 or hallucinations >= 1
severity = "high" if corrections >= 3 or frustration_signals >= 2
severity = "medium" if corrections >= 2 or goal_drift_detected
severity = "low" if corrections == 1 # Normal, don't trigger
Step 2: Identify Root Cause
**Analyze correction patterns**:
| Pattern | Likely Cause | Re-anchoring Focus | |---------|--------------|-------------------| | Same correction repeated | Not incorporating feedback | Explicitly acknowledge and confirm understanding | | Increasing corrections | Drifting from user intent | Re-establish goals | | Technical mismatches | Wrong assumptions | Clarify technical context | | Frustration without specifics | Communication mismatch | Ask what's wrong |
Step 3: Display Diagnostic
**Show quality check alert**:
⚠️ QUALITY CHECK
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Detected Issue: {ISSUE_TYPE}
Severity: {SEVERITY}
What I noticed:
- {OBSERVATION_1}
- {OBSERVATION_2}
Possible causes:
- {CAUSE_1}
- {CAUSE_2}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Let me re-anchor our collaboration:
1. Your goal: {RECONSTRUCTED_GOAL}
2. Current state: {STATE_SUMMARY}
3. What you want: {CORRECTED_UNDERSTANDING}
Is this understanding correct? [Y/n]Step 4: Re-anchor Collaboration
**Based on user confirmation**:
**If correct** (Y):
✅ Re-anchored!
I'll proceed with this understanding:
- {KEY_POINT_1}
- {KEY_POINT_2}
Continuing with: {NEXT_ACTION}**If incorrect** (n):
Help me understand better:
1. What is your actual goal?
2. What am I getting wrong?
3. What constraints should I know?
[Open-ended response welcome]
Step 5: Log Diagnostic (Optional)
**If nav-profile exists**, save diagnostic:
{
"date": "{YYYY-MM-DD}",
"issue_type": "{ISSUE_TYPE}",
"severity": "{SEVERITY}",
"resolution": "re-anchored|user-corrected|escalated",
"learnings": ["{WHAT_TO_AVOID}"]
}Step 6: Suggest Preventive Actions
**Based on severity and pattern**:
**For context overload**:
💡 Suggestion: Consider running nav-compact to clear context.
Current context usage is high, which can cause confusion.
**For repeated corrections**:
💡 Suggestion: Let me save your preference to avoid this in future.
"Remember I always want {X}" - This will persist across sessions.**For communication mismatch**:
💡 Suggestion: Consider adjusting your profile preferences.
- Current verbosity: {VERBOSITY}
- Current confirmation: {CONFIRMATION}
Update with: "Remember I prefer {SUGGESTED_STYLE}"---
Re-anchoring Templates
Template 1: Goal Re-alignment
Let me verify I understand your goal:
You want to: {GOAL_STATEMENT}
Not: {COMMON_MISUNDERSTANDING}
Key constraints:
- {CONSTRAINT_1}
- {CONSTRAINT_2}
Is this right?Template 2: Technical Re-alignment
Let me verify the te
Read more
name: nav-diagnose description: Detect quality drops in AI output and prompt re-anchoring. Auto-triggers after repeated corrections, context confusion, or when user says "something seems off", "you're not getting this". allowed-tools: Read, Write, Bash version: 1.0.0
Navigator Diagnose Skill
Detect when human-AI collaboration quality drops and prompt re-anchoring to restore effective communication.
Why This Exists (Theory of Mind)
Based on Riedl & Weidmann 2025 research on Human-AI Synergy:
- Theory of Mind varies dynamically within users (moment-to-moment)
- Quality drops occur when ToM alignment degrades
- Early detection and re-anchoring restores collaboration effectiveness
- Both user ToM (understanding Claude) and Claude's model of user can drift
This skill detects when collaboration is degrading and prompts corrective action.
When to Invoke
**Auto-invoke when**:
- 2+ corrections on the same topic detected
- User says "something seems off", "you're not getting this"
- User says "wrong again", "still not right"
- Context usage exceeds 75% and quality signals degrade
- User expresses frustration ("ugh", "sigh", explicit frustration)
- Loop mode stagnation detected (3+ same-state iterations)
**DO NOT invoke if**:
- Single correction (normal collaboration)
- User is providing new requirements (not correcting)
- Fresh session (insufficient data to diagnose)
- User explicitly says "it's fine" or "close enough"
Quality Drop Indicators
1. Repeated Corrections (High Severity)
Trigger: Same correction given 2+ times Signal: "No, I said users plural, not user" (2nd time) Issue: Not incorporating user feedback
2. Hallucination Signals (High Severity)
Trigger: References to non-existent files, functions, or packages Signal: "That file doesn't exist", "There's no such function" Issue: Generating from incorrect mental model
3. Context Confusion (Medium Severity)
Trigger: Mixing details from unrelated tasks Signal: "That's from the other project", "Wrong feature" Issue: Context window pollution or misattribution
4. Unaddressed Feedback (Medium Severity)
Trigger: User correction not reflected in next output Signal: Generates same pattern after being told not to Issue: Not properly updating internal model
5. Goal Drift (Low Severity)
Trigger: Output increasingly diverges from original goal Signal: "We're getting off track", "Not what I asked for" Issue: Lost sight of user's actual objective
6. Loop Stagnation (High Severity)
Trigger: 3+ consecutive iterations with same state hash (loop mode only) Signal: nav-loop detects stagnation, triggers nav-diagnose Issue: Stuck on same step, unable to progress
Execution Steps
Step 1: Assess Quality State
**Analyze recent exchanges** (last 10-15 messages):
Quality Indicators:
- [ ] Corrections given: {count}
- [ ] Same-topic corrections: {count}
- [ ] User frustration signals: {count}
- [ ] Hallucination reports: {count}
- [ ] "Not what I meant" phrases: {count}**Calculate severity**:
severity = "critical" if same_topic_corrections >= 2 or hallucinations >= 1 severity = "high" if corrections >= 3 or frustration_signals >= 2 severity = "medium" if corrections >= 2 or goal_drift_detected severity = "low" if corrections == 1 # Normal, don't trigger
Step 2: Identify Root Cause
**Analyze correction patterns**:
| Pattern | Likely Cause | Re-anchoring Focus | |---------|--------------|-------------------| | Same correction repeated | Not incorporating feedback | Explicitly acknowledge and confirm understanding | | Increasing corrections | Drifting from user intent | Re-establish goals | | Technical mismatches | Wrong assumptions | Clarify technical context | | Frustration without specifics | Communication mismatch | Ask what's wrong |
Step 3: Display Diagnostic
**Show quality check alert**:
⚠️ QUALITY CHECK
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Detected Issue: {ISSUE_TYPE}
Severity: {SEVERITY}
What I noticed:
- {OBSERVATION_1}
- {OBSERVATION_2}
Possible causes:
- {CAUSE_1}
- {CAUSE_2}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Let me re-anchor our collaboration:
1. Your goal: {RECONSTRUCTED_GOAL}
2. Current state: {STATE_SUMMARY}
3. What you want: {CORRECTED_UNDERSTANDING}
Is this understanding correct? [Y/n]Step 4: Re-anchor Collaboration
**Based on user confirmation**:
**If correct** (Y):
✅ Re-anchored!
I'll proceed with this understanding:
- {KEY_POINT_1}
- {KEY_POINT_2}
Continuing with: {NEXT_ACTION}**If incorrect** (n):
Help me understand better: 1. What is your actual goal? 2. What am I getting wrong? 3. What constraints should I know? [Open-ended response welcome]
Step 5: Log Diagnostic (Optional)
**If nav-profile exists**, save diagnostic:
{
"date": "{YYYY-MM-DD}",
"issue_type": "{ISSUE_TYPE}",
"severity": "{SEVERITY}",
"resolution": "re-anchored|user-corrected|escalated",
"learnings": ["{WHAT_TO_AVOID}"]
}Step 6: Suggest Preventive Actions
**Based on severity and pattern**:
**For context overload**:
💡 Suggestion: Consider running nav-compact to clear context. Current context usage is high, which can cause confusion.
**For repeated corrections**:
💡 Suggestion: Let me save your preference to avoid this in future.
"Remember I always want {X}" - This will persist across sessions.**For communication mismatch**:
💡 Suggestion: Consider adjusting your profile preferences.
- Current verbosity: {VERBOSITY}
- Current confirmation: {CONFIRMATION}
Update with: "Remember I prefer {SUGGESTED_STYLE}"---
Re-anchoring Templates
Template 1: Goal Re-alignment
Let me verify I understand your goal:
You want to: {GOAL_STATEMENT}
Not: {COMMON_MISUNDERSTANDING}
Key constraints:
- {CONSTRAINT_1}
- {CONSTRAINT_2}
Is this right?Template 2: Technical Re-alignment
Let me verify the te
Finish What You Start Sessions that last. AI that learns. Features that ship.
Repo: alekspetrov/navigator
Other skills on navigator.
- /backend-endpoint
Create REST/GraphQL API endpoint with validation, error handling, and tests. Auto-invoke when user says "add endpoint", "create API", "new route", or "add route".
Open skill - /backend-test
Generate backend tests (unit, integration, mocks) for existing code. Auto-invoke when user says "write test for", "add test", "test this", or "create test".
Open skill - /database-migration
Create database migration with schema changes and rollback. Auto-invoke when user says "create migration", "add table", "modify schema", or "change database".
Open skill - /frontend-component
Create React/Vue component with TypeScript, tests, and styles. Auto-invoke when user says "create component", "add component", "new component", or "build component".
Open skill - /frontend-test
Generate frontend component tests (React Testing Library, Vue Test Utils, snapshot) for existing components. Auto-invoke when user says "test this component", "write component test", or "add component test".
Open skill - /nav-brief
Render a one-screen intent brief (Goal/Scope/Approach/Limits/Verify/Won't-do) before implementing ambiguous task-shaped prompts, triggered by the nav_brief.py UserPromptSubmit hook. Confirms scope with max 2 open questions before touching files; detects brief drift mid-task.
Open skill

