Skip to content
Agent Orchestration
Skill

/nav-profile

Manage user preferences and corrections for bilateral modeling. Auto-learns from session corrections. Use when user says "save my preferences", "remember I like...", or auto-triggers after corrections.

From plugin
navigator
35531 skills6 agents1 hook

Claude Code

$ npx -y skills add qf-studio/navigator --skill nav-profile --agent claude-code

SKILL.md

nav-profile.SKILL.md
name: nav-profile
description: Manage user preferences and corrections for bilateral modeling. Auto-learns from session corrections. Use when user says "save my preferences", "remember I like...", or auto-triggers after corrections.
allowed-tools: Read, Write, Edit, Bash
version: 1.0.0

Navigator Profile Skill

Manage user preferences for bilateral modeling - enabling Claude to understand and adapt to your working style, technical preferences, and past corrections.

Why This Exists (Theory of Mind)

Based on Riedl & Weidmann 2025 research on Human-AI Synergy:

  • Theory of Mind (ToM) is the key differentiator in human-AI collaboration success
  • Users with higher ToM achieve 23-29% performance boost
  • **Bilateral modeling** completes the ToM loop: Claude models you, you model Claude

This skill enables Claude to:

  • Remember your preferences across sessions
  • Learn from corrections without you repeating them
  • Adapt communication style to your level
  • Build a persistent mental model of YOU

When to Invoke

**Auto-invoke when**:

  • User says "save my preferences", "remember I like..."
  • User says "update my profile", "change my preference for..."
  • After detecting a correction pattern (auto-learn mode)
  • User says "show my profile", "what do you know about me?"

**DO NOT invoke if**:

  • User is creating a context marker (use nav-marker)
  • User wants session-specific preferences only
  • User explicitly says "just for this session"

Profile Location

`.agent/.user-profile.json` (git-ignored, session-persistent)

Execution Steps

Step 1: Determine Action

**SHOW** (viewing profile):

User: "Show my profile", "What do you remember about me?"
→ Display current profile

**UPDATE** (explicit preference):

User: "Remember I prefer functional style", "Save that I like concise explanations"
→ Update specific preference

**LEARN** (auto-detect correction):

[Internal trigger after correction detected]
→ Extract and save correction pattern

**RESET** (clear profile):

User: "Reset my profile", "Clear my preferences"
→ Confirm and delete profile

Step 2: Load or Initialize Profile

**Check if profile exists**:

if [ -f ".agent/.user-profile.json" ]; then
  echo "Profile exists"
else
  echo "No profile found, will create new"
fi

**Initialize new profile** (if not exists):

{
  "version": "1.0",
  "created": "{YYYY-MM-DD}",
  "last_updated": "{YYYY-MM-DD}",
  "preferences": {
    "communication": {
      "verbosity": "balanced",
      "confirmation_threshold": "high-stakes",
      "explanation_style": "examples"
    },
    "technical": {
      "preferred_frameworks": [],
      "code_style": "mixed",
      "testing_preference": "tdd"
    },
    "workflow": {
      "autonomous_commits": true,
      "auto_compact_threshold": 80,
      "marker_before_risky": true
    }
  },
  "corrections": [],
  "goals": []
}

Step 3A: Show Profile (If SHOW Action)

**Display current profile**:

Your Navigator Profile
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Communication Preferences:
- Verbosity: {verbosity}
- Confirmation: {confirmation_threshold} (when to verify understanding)
- Explanations: {explanation_style}

Technical Preferences:
- Preferred frameworks: {frameworks or "none set"}
- Code style: {code_style}
- Testing: {testing_preference}

Workflow Preferences:
- Autonomous commits: {autonomous_commits}
- Auto-compact at: {auto_compact_threshold}% context
- Markers before risky changes: {marker_before_risky}

Learned Corrections ({count}):
{recent_corrections_list}

Active Goals ({count}):
{active_goals_list}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Last updated: {last_updated}

Step 3B: Update Profile (If UPDATE Action)

**Parse preference from user input**:

User: "Remember I prefer functional style"
→ Category: technical
→ Field: code_style
→ Value: functional

User: "I like concise explanations"
→ Category: communication
→ Field: verbosity
→ Value: concise

**Map common expressions to profile fields**:

| User Says | Category | Field | Value | |-----------|----------|-------|-------| | "concise", "brief", "short" | communication | verbosity | concise | | "detailed", "thorough" | communication | verbosity | detailed | | "always confirm" | communication | confirmation_threshold | always | | "skip confirmations" | communication | confirmation_threshold | never | | "functional style" | technical | code_style | functional | | "OOP style" | technical | code_style | oop | | "prefer React" | technical | preferred_frameworks | [append "react"] | | "prefer Express" | technical | preferred_frameworks | [append "express"] |

**Update and save**:

// Update specific field
profile.preferences[category][field] = value;
profile.last_updated = "{YYYY-MM-DD}";

// Write to file
Write(".agent/.user-profile.json", JSON.stringify(profile, null, 2));

**Confirm update**:

✅ Profile updated!

Changed: {category}.{field}
From: {old_value}
To: {new_value}

This will affect future sessions.

Step 3C: Auto-Learn Correction (If LEARN Action) [AUTO-TRIGGER]

**IMPORTANT**: This action triggers automatically - no explicit skill invocation needed.

**When to detect corrections** (monitor ALL conversations):

  • User says "No, I meant...", "Actually...", "Not X, use Y"
  • User repeats a correction they gave before
  • User shows frustration at repeated mistake

**Trigger patterns to watch for**:

"No, ..." → Direct correction
"I said ..." → Repeated instruction
"Actually, ..." → Clarification
"Not X, Y" → Substitution
"Always use ..." → Rule establishment
"Never do ..." → Anti-pattern
"I prefer ..." → Preference

**When detected**:

User: "No, I meant plural /users not /user"
→ Correction detected: REST naming convention preference
→ Auto-save to profile (silent)

**Extract correction pattern**:

correction = {
  "date": "{YYYY-MM-DD}",
  "context": "{what we were doing}",
  "original": "{what I s
Read more
@qf-studio
Ships withnavigator

Finish What You Start Sessions that last. AI that learns. Features that ship.

35531 skills6 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
355
Star history of qf-studio/navigator on GitHub, a chart by star-history.com

Other skills on navigator.

backend-endpoint

backend-endpoint

Create REST/GraphQL API endpoint with validation, error handling, and tests. Auto-invoke when user says "add endpoint", "create…

@qf-studio@qf-studioInstall Skill
backend-test

backend-test

Generate backend tests (unit, integration, mocks) for existing code. Auto-invoke when user says "write test for", "add test",…

@qf-studio@qf-studioInstall Skill
database-migration

database-migration

Create database migration with schema changes and rollback. Auto-invoke when user says "create migration", "add table", "modify…

@qf-studio@qf-studioInstall Skill
frontend-component

frontend-component

Create React/Vue component with TypeScript, tests, and styles. Auto-invoke when user says "create component", "add component",…

@qf-studio@qf-studioInstall Skill
frontend-test

frontend-test

Generate frontend component tests (React Testing Library, Vue Test Utils, snapshot) for existing components. Auto-invoke when…

@qf-studio@qf-studioInstall Skill
nav-brief

nav-brief

Render a one-screen intent brief (Goal/Scope/Approach/Limits/Verify/Won't-do/Contradiction) before implementing ambiguous…

@qf-studio@qf-studioInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

clawdis2w393k
@steipete@steipeteInstall Skill
computer-use

computer-use

Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…

orca2w111k
@stablyai@stablyaiInstall Skill
agentmail

agentmail

Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…

paperclip2w109k
@paperclipai@paperclipaiInstall Skill
adr-create

adr-create

Create a new Architecture Decision Record with sequential numbering and AgentDB registration

@ruvnet@ruvnetInstall Skill

Questions about nav-profile.

Which coding agents can use nav-profile?
nav-profile installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.