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".

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "nav-diagnose" with this command: npx skills add alekspetrov/navigator/alekspetrov-navigator-nav-diagnose

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:

PatternLikely CauseRe-anchoring Focus
Same correction repeatedNot incorporating feedbackExplicitly acknowledge and confirm understanding
Increasing correctionsDrifting from user intentRe-establish goals
Technical mismatchesWrong assumptionsClarify technical context
Frustration without specificsCommunication mismatchAsk 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 technical context:

Framework: {FRAMEWORK}
Patterns: {PATTERNS}
Conventions: {CONVENTIONS}

What I should be using:
- {TOOL_1}: for {PURPOSE_1}
- {TOOL_2}: for {PURPOSE_2}

Corrections to my assumptions?

Template 3: Communication Re-alignment

I may be mismatching your communication style:

You seem to prefer:
- {INFERRED_STYLE_1}
- {INFERRED_STYLE_2}

I've been:
- {MY_STYLE_1}
- {MY_STYLE_2}

Should I adjust my approach?

Integration with Other Skills

With nav-profile

  • Log diagnostics for pattern analysis
  • Suggest preference updates after repeated issues
  • Load profile preferences for baseline comparison

With nav-marker

  • Suggest marker before major re-anchoring
  • Include diagnostic state in marker

With nav-compact

  • Recommend compact if context overload detected
  • Track if compaction resolves issues

Quality Signals Reference

Positive Signals (Good Collaboration)

- "Perfect, exactly what I needed"
- "Yes, continue"
- "Good, now..."
- No corrections for 5+ exchanges
- User providing new requirements (not corrections)

Negative Signals (Quality Drop)

- "No", "Wrong", "Not that"
- "I already said..."
- "Again, please..."
- "Sigh", "Ugh", explicit frustration
- "You're not understanding"
- Same correction twice

Neutral Signals (Normal Iteration)

- "Actually, let's try..."
- "Can we also..."
- "What about..."
- Single correction with explanation

Example Scenarios

Scenario 1: Repeated REST Convention Correction

Exchange 1:
User: "Create endpoint for users"
Claude: Creates /user endpoint
User: "Should be /users (plural)"

Exchange 2:
User: "Now create endpoint for posts"
Claude: Creates /post endpoint
User: "Again, plural! /posts"

→ Trigger: Same correction (plural naming) given twice
→ Action: Re-anchor on REST conventions
→ Outcome: "I understand now - always use plural nouns for REST resources"

Scenario 2: Context Confusion

User working on: OAuth feature (Feature A)
Claude references: Stripe integration (Feature B from earlier)

User: "That's from the payment feature, not auth"

→ Trigger: Context confusion detected
→ Action: Re-anchor on current feature
→ Suggestion: Consider nav-compact to clear old context

Scenario 3: User Frustration

User: "Ugh, still not right"
User: "This is frustrating"

→ Trigger: Frustration signals detected
→ Action: Pause and diagnose
→ Response: Open-ended question about what's wrong

Success Criteria

Diagnostic is successful when:

  • Quality drops detected before user escalates
  • Root cause correctly identified
  • Re-anchoring restores collaboration quality
  • Preventive suggestions are actionable
  • User confirms understanding after re-anchor
  • Same issue doesn't recur immediately

Limitations

Cannot detect:

  • Silent user frustration (no signals in text)
  • Issues outside conversation context
  • Problems with external systems
  • User preferences not yet expressed

Should not:

  • Over-trigger on normal corrections
  • Interrupt productive flow
  • Make user feel blamed
  • Require lengthy re-explanation

Best Practices

When diagnosing:

  • Be humble about AI limitations
  • Don't blame user for miscommunication
  • Offer concrete next steps
  • Keep re-anchoring brief

When re-anchoring:

  • Focus on understanding, not apologizing
  • Confirm specific points, not general "I understand"
  • Let user correct if wrong
  • Thank user for patience

This skill catches collaboration quality drops early, enabling quick recovery through Theory of Mind re-alignment 🔍

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

product-design

No summary provided by upstream source.

Repository SourceNeeds Review
General

frontend-component

No summary provided by upstream source.

Repository SourceNeeds Review
General

database-migration

No summary provided by upstream source.

Repository SourceNeeds Review
General

frontend-test

No summary provided by upstream source.

Repository SourceNeeds Review