Learning to Learn (OpenMAIC)
THU-MAIC/OpenMAIC
A Chinese-language skill that embeds learning strategies like retrieval practice and self-explanation as a parallel goal inside an OpenMAIC subject lesson, without making study skills the topic.
Manage user preferences and corrections for bilateral modeling.
$ npx skills add qf-studio/navigator --skill nav-profile -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install qf-studio/navigator nav-profile --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/nav-profile .claude/skills/nav-profile && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "nav-profile" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-profile into .claude/skills/nav-profile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-profile", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/qf-studio/navigator/tree/main/skills/nav-profileType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add qf-studio/navigator --skill nav-profile -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install qf-studio/navigator nav-profile --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/nav-profile .agents/skills/nav-profile && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nav-profile" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-profile into .agents/skills/nav-profile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-profile", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qf-studio/navigator --skill nav-profile -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install qf-studio/navigator nav-profile --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/nav-profile .cursor/skills/nav-profile && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "nav-profile" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-profile into .cursor/skills/nav-profile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-profile", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/qf-studio/navigator.git --path skills/nav-profile--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add qf-studio/navigator --skill nav-profile -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install qf-studio/navigator nav-profile --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/nav-profile .gemini/skills/nav-profile && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "nav-profile" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-profile into .gemini/skills/nav-profile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-profile", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install qf-studio/navigator nav-profileInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add qf-studio/navigator --skill nav-profile -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/nav-profile .github/skills/nav-profile && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "nav-profile" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-profile into .github/skills/nav-profile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-profile", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qf-studio/navigator --skill nav-profile -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install qf-studio/navigator nav-profile --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/nav-profile .opencode/skills/nav-profile && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "nav-profile" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-profile into .opencode/skills/nav-profile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-profile", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
nav-profileManage user preferences and corrections for bilateral modeling.
Nav Profile is an agent skill from qf-studio/navigator. 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.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `functions/preference_extractor.py`, `functions/profile_manager.py` and `functions/test_profile_manager.py`).
The repository describes itself as: Finish What You Start — Context engineering for Claude Code. Sessions last 20+ exchanges instead of crashing at 7. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3bb9eac. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBashFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Nav Profile loads about 3.1k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 645 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, BashAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from qf-studio/navigator at commit 3bb9eac, republished under its MIT licence (© qf-studio). 645 words, ~3,123 tokens.
.claude/skills/nav-profile/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Manage user preferences for bilateral modeling - enabling Claude to understand and adapt to your working style, technical preferences, and past corrections.
Based on Riedl & Weidmann 2025 research on Human-AI Synergy:
This skill enables Claude to:
Auto-invoke when:
DO NOT invoke if:
.agent/.user-profile.json (git-ignored, session-persistent)
SHOW (viewing profile):
User: "Show my profile", "What do you remember about me?"
→ Display current profileUPDATE (explicit preference):
User: "Remember I prefer functional style", "Save that I like concise explanations"
→ Update specific preferenceLEARN (auto-detect correction):
[Internal trigger after correction detected]
→ Extract and save correction patternRESET (clear profile):
User: "Reset my profile", "Clear my preferences"
→ Confirm and delete profileCheck if profile exists:
if [ -f ".agent/.user-profile.json" ]; then
echo "Profile exists"
else
echo "No profile found, will create new"
fiInitialize 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": []
}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}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: conciseMap 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.IMPORTANT: This action triggers automatically - no explicit skill invocation needed.
When to detect corrections (monitor ALL conversations):
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 ..." → PreferenceWhen 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 said/generated}",
"corrected_to": "{what user wanted}",
"pattern": "{generalized rule}",
"confidence": "high|medium|low"
}Add to corrections list:
profile.corrections.push(correction);
// Keep last 20 corrections (rolling window)
if (profile.corrections.length > 20) {
profile.corrections.shift();
}Silently acknowledge (don't interrupt flow):
[Internal log: Correction saved to profile]Sync to Knowledge Graph (if enabled in config):
PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT:-$(cat "${NAVIGATOR_CONFIG_HOME:-${XDG_CONFIG_HOME:-$HOME/.config}/navigator}/plugin-root" 2>/dev/null)}"
[ -d "$PLUGIN_DIR/skills" ] || PLUGIN_DIR="$HOME/.claude/plugins/marketplaces/navigator-marketplace"
# Check if knowledge graph integration is enabled
if [ -f ".agent/knowledge/graph.json" ]; then
# Convert correction to memory
python3 "$PLUGIN_DIR/skills/nav-graph/functions/correction_to_memory.py" \
--action convert-one \
--correction-json '{"pattern": "{pattern}", "context": "{context}", "confidence": "{confidence}"}' \
--graph-path .agent/knowledge/graph.json
# [Internal log: Correction synced to knowledge graph as memory]
fiThis creates a pitfall/pattern/learning memory in the knowledge graph, making the correction available via "What do we know about X?" queries.
Periodically surface learnings (every 5 corrections):
📚 I've learned from your corrections:
- REST endpoints should use plural nouns
- You prefer functional components over class components
- TypeScript strict mode is required
These will be applied in future sessions.Confirm before delete:
⚠️ This will delete your Navigator profile:
- {X} saved preferences
- {Y} learned corrections
- {Z} active goals
This cannot be undone.
Delete profile? [y/N]If confirmed:
rm .agent/.user-profile.jsonConfirm deletion:
✅ Profile deleted
Future sessions will start fresh.
To rebuild, use "Save my preferences" as you work.If user mentions a goal:
User: "I'm working on the OAuth feature"
→ Add/update goal in profileGoal structure:
{
"name": "oauth-feature",
"started": "{YYYY-MM-DD}",
"context": "OAuth implementation for user login",
"status": "in-progress",
"last_mentioned": "{YYYY-MM-DD}"
}Goal cleanup (auto-archive goals not mentioned in 7 days):
// Move to completed if not mentioned recently
goals.forEach(goal => {
if (daysSince(goal.last_mentioned) > 7) {
goal.status = "completed-or-abandoned";
}
});For explicit actions (SHOW, UPDATE, RESET): Show confirmation message.
For auto-learn (LEARN): Silent acknowledgment, periodic summaries.
{
"version": "1.0",
"created": "2025-12-09",
"last_updated": "2025-12-09",
"preferences": {
"communication": {
"verbosity": "concise|balanced|detailed",
"confirmation_threshold": "always|high-stakes|never",
"explanation_style": "examples|theory|both"
},
"technical": {
"preferred_frameworks": ["react", "express", "etc"],
"code_style": "functional|oop|mixed",
"testing_preference": "tdd|bdd|manual"
},
"workflow": {
"autonomous_commits": true|false,
"auto_compact_threshold": 70-90,
"marker_before_risky": true|false
}
},
"corrections": [
{
"date": "2025-12-09",
"context": "creating API endpoint",
"original": "Created /user endpoint",
"corrected_to": "Should be /users (plural)",
"pattern": "REST endpoints use plural nouns",
"confidence": "high"
}
],
"goals": [
{
"name": "oauth-feature",
"started": "2025-12-07",
"context": "OAuth implementation for user login",
"status": "in-progress",
"last_mentioned": "2025-12-09"
}
]
}Loads profile automatically:
### Step 3.5: Load User Profile
If `.agent/.user-profile.json` exists:
- Load preferences into context
- Apply confirmation threshold
- Note active goals
- Show: "Loaded preferences from profile"Preserves profile reference:
## Profile State
- Preferences loaded: ✅
- Corrections this session: {count}
- Goals active: {goal_names}Respect profile settings:
// Before showing verification checkpoint
if (profile.preferences.communication.confirmation_threshold === "never") {
// Skip verification
} else if (profile.preferences.communication.confirmation_threshold === "high-stakes") {
// Only verify for complex operations
}Correction patterns to detect:
| User Pattern | Extracted Learning |
|---|---|
| "No, I meant..." | Direct correction |
| "Actually, prefer..." | Preference correction |
| "Not X, use Y" | Substitution correction |
| "Always do X" | Rule establishment |
| "Never do Y" | Anti-pattern |
| "I like when you..." | Positive preference |
| "Stop doing X" | Negative preference |
Confidence scoring:
Profile is:
.agent/.user-profile.json)Profile does NOT store:
Profile management succeeds when:
Good profile usage:
Avoid:
This skill enables bilateral Theory of Mind - Claude understanding you as well as you understanding Claude 🧠
© qf-studio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files in skills/nav-profile of qf-studio/navigator.
Open the folder on GitHubat commit 3bb9eac
Nav Profile next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Nav Profile this skillqf-studio/navigator | 355 | — | ~3.1k | Automated safety check: Notes | MIT | |
| Learning to Learn (OpenMAIC)THU-MAIC/OpenMAIC | 40k | — | ~502 | Automated safety check: Pass | MIT | |
| Adapting Transfer Learning Modelsjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Optimizing Deep Learning Modelsjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~989 | Automated safety check: Pass | MIT | |
| Evaluating Machine Learning Modelsforyourhealth111-pixel/Vibe-Skills | 3.6k | — | ~390 | Automated safety check: Pass | MIT | |
| Explaining Machine Learning Modelsforyourhealth111-pixel/Vibe-Skills | 3.6k | — | ~383 | Automated safety check: Pass | MIT |
THU-MAIC/OpenMAIC
A Chinese-language skill that embeds learning strategies like retrieval practice and self-explanation as a parallel goal inside an OpenMAIC subject lesson, without making study skills the topic.
jeremylongshore/tons-of-skills-marketplace
Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.
jeremylongshore/tons-of-skills-marketplace
Optimize deep learning models using Adam, SGD, and learning rate scheduling to improve accuracy and reduce training time.
foryourhealth111-pixel/Vibe-Skills
Evaluate trained machine learning models with the right metrics and comparison logic.
foryourhealth111-pixel/Vibe-Skills
Explain trained machine learning models through feature attribution, local explanations, and behavior summaries.
jeremylongshore/tons-of-skills-marketplace
Build train machine learning models with automated workflows.
qf-studio/navigator
Load Navigator documentation navigator when starting development session, resuming work, or beginning new feature.
qf-studio/navigator
Create REST/GraphQL API endpoint with validation, error handling, and tests.
qf-studio/navigator
Generate backend tests (unit, integration, mocks) for existing code.
qf-studio/navigator
Create database migration with schema changes and rollback. An agent skill from qf-studio/navigator.
qf-studio/navigator
Create React/Vue component with TypeScript, tests, and styles.
qf-studio/navigator
Generate frontend component tests (React Testing Library, Vue Test Utils, snapshot) for existing components.
Manage user preferences and corrections for bilateral modeling. Nav Profile is an agent skill from qf-studio/navigator. Manage user preferences and corrections for bilateral modeling.
Nav Profile fits situations like: user says save my preferences; remember I like..; auto-triggers after corrections.
Run `npx skills add qf-studio/navigator --skill nav-profile -a claude-code`. Or copy the skill folder (skills/nav-profile in qf-studio/navigator) into .claude/skills/nav-profile in your project. Claude Code loads it when a task matches its description.
Run `npx skills add qf-studio/navigator --skill nav-profile -a codex`. Or copy the skill folder (skills/nav-profile in qf-studio/navigator) into .agents/skills/nav-profile in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add qf-studio/navigator --skill nav-profile -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nav-profile, .gemini/skills/nav-profile, .github/skills/nav-profile and .opencode/skills/nav-profile in your project.
Going by SKILL.md and its folder, Nav Profile needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Nav Profile is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Nav Profile: Learning to Learn (OpenMAIC) (THU-MAIC/OpenMAIC, 40k stars), Adapting Transfer Learning Models (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Optimizing Deep Learning Models (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Evaluating Machine Learning Models (foryourhealth111-pixel/Vibe-Skills, 3.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
qf-studio (a GitHub organization) maintains it in qf-studio/navigator, which has 355 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 8, 2026.
Source: qf-studio/navigator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.