MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Load Navigator documentation navigator when starting development session, resuming work, or beginning new feature.
$ npx skills add qf-studio/navigator --skill nav-start -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install qf-studio/navigator nav-start --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-start .claude/skills/nav-start && 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-start" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-start into .claude/skills/nav-start/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-start", 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-startType 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-start -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install qf-studio/navigator nav-start --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-start .agents/skills/nav-start && 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-start" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-start into .agents/skills/nav-start/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-start", 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-start -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install qf-studio/navigator nav-start --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-start .cursor/skills/nav-start && 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-start" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-start into .cursor/skills/nav-start/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-start", 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-start--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-start -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install qf-studio/navigator nav-start --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-start .gemini/skills/nav-start && 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-start" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-start into .gemini/skills/nav-start/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-start", 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-startInstalls 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-start -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-start .github/skills/nav-start && 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-start" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-start into .github/skills/nav-start/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-start", 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-start -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-start --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-start .opencode/skills/nav-start && 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-start" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-start into .opencode/skills/nav-start/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-start", 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-startLoad Navigator documentation navigator when starting development session, resuming work, or beginning new feature.
Nav Start is an agent skill from qf-studio/navigator. Load Navigator documentation navigator when starting development session, resuming work, or beginning new feature. Use when user mentions starting work, beginning session, resuming after break, or checking project status.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `functions/auto_updater.py`, `functions/test_auto_updater.py` and `functions/test_workflow_detector.py`).
It sits in Agent Workflows. 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.
12 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:
ReadBashFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3bashghclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
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 Start loads about 4.7k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 1,239 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, 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); the scripts in this folder are not scanned.
The full file from qf-studio/navigator at commit 3bb9eac, republished under its MIT licence (© qf-studio). 1,239 words, ~4,748 tokens.
.claude/skills/nav-start/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Load the Navigator documentation navigator to start your development session with optimized context.
Invoke this skill when the user:
DO NOT invoke if:
/nav:start command this conversationBefore doing anything else, check whether the SessionStart hook has already injected Navigator context into this session. The hook emits a sentinel string on success:
<!-- nav-session-start-injected:v1 -->If the sentinel is present in your system context (it appears inside a SessionStart system reminder block at the very top of the conversation):
→ Fast path activated. Do NOT execute Steps 1–7. The data those steps would Read is already in your context window. Skip directly to Step 8 (Display Session Summary) and render it using the injected data.
This eliminates ~6 Read tool invocations per session start and saves ~1.5-2k tokens of tool-call ceremony. The user-visible output must be byte-identical to the legacy path — they should not be able to tell which mode produced it.
If the sentinel is absent (legacy project without the hook, hook disabled
in .agent/.nav-config.json, or hook crashed):
→ Legacy path. Execute Steps 1–7 as documented below. Same behavior as pre-v6.9.0.
Detection rule of thumb: If you can read the string nav-session-start-injected
anywhere in the system reminders that opened this conversation, you are on the
fast path.
Check if user is running latest Navigator version:
# Run version checker (optional - doesn't block session start)
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"
if [ -f "$PLUGIN_DIR/scripts/check-version.sh" ]; then
bash "$PLUGIN_DIR/scripts/check-version.sh"
# Note: Exit code 1 means update available, but don't block session
# Exit code 0 means up to date
# Exit code 2 means cannot check (network issue)
fiVersion check behavior:
Never block session start due to version check.
Run exactly this one command. It reads auto_update from the project config, checks the
latest release, and updates the plugin only when one is available. It prints one JSON object.
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"
python3 "$PLUGIN_DIR/skills/nav-start/functions/auto_updater.py"Report only what that JSON says. Never write an update line from memory or a template:
"status": "updated" → ✅ Navigator updated from <current_version> to <new_version>. Restart Claude Code to load it. (values copied from the JSON)"status": "failed" → ⚠️ <message>. Update by hand: claude plugin update navigator@navigator-marketplace"up-to-date", "disabled", "skipped", or the command did not run → say nothing about updatesSince v8 the Navigator mod also shows a read-only toast at session start when a newer release
exists (TASK-81). It never updates by itself; this step and claude plugin update do.
Never block session start because of this step.
Check if .agent/DEVELOPMENT-README.md exists:
if [ ! -f ".agent/DEVELOPMENT-README.md" ]; then
echo "❌ Navigator not initialized in this project"
echo ""
echo "Run /nav:init to set up Navigator structure first."
exit 1
fiIf not found, inform user to run /nav:init first.
Read the navigator file:
Read(
file_path: ".agent/DEVELOPMENT-README.md"
)This is the lightweight index (~2k tokens) that tells you:
Check if there's an active marker from previous /nav:compact:
if [ -f ".agent/.context-markers/.active" ]; then
marker_file=$(cat .agent/.context-markers/.active)
echo "🔄 Active context marker detected!"
echo ""
echo "Marker: $marker_file"
echo ""
echo "This marker was saved during your last /nav:compact."
echo "Load it to continue where you left off?"
echo ""
echo "[Y/n]:"
fiIf user confirms (Y or Enter):
Read(file_path: ".agent/.context-markers/{marker_file}").active file: rm .agent/.context-markers/.activeIf user declines (n):
.active fileRead configuration:
Read(
file_path: ".agent/.nav-config.json"
)Parse:
project_management: Which PM tool (linear, github, jira, none)task_prefix: Task ID format (TASK, GH, LIN, etc.)team_chat: Team notifications (slack, discord, none)tom_features: ToM configuration (if present, v5.0.0+)Check if project config version matches plugin version:
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"
DRIFT_RESULT=$(python3 "$PLUGIN_DIR/skills/nav-start/functions/auto_updater.py" --check-drift 2>/dev/null || echo '{"has_drift": false}')
HAS_DRIFT=$(echo "$DRIFT_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('has_drift', False))" 2>/dev/null)
if [ "$HAS_DRIFT" = "True" ]; then
DRIFT_MSG=$(echo "$DRIFT_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('message', ''))" 2>/dev/null)
echo ""
echo "⚠️ VERSION DRIFT DETECTED"
echo " $DRIFT_MSG"
echo ""
fiVersion drift occurs when:
Display warning if drift detected:
⚠️ VERSION DRIFT DETECTED
Project config (v5.5.0) behind plugin (v5.7.0). Run "update my CLAUDE.md" to sync.This helps users understand why skills may behave unexpectedly.
Check if knowledge graph exists and is enabled:
if [ -f ".agent/knowledge/graph.json" ]; then
# Get graph stats
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"
GRAPH_STATS=$(python3 "$PLUGIN_DIR/skills/nav-graph/functions/graph_manager.py" --action stats --graph-path .agent/knowledge/graph.json 2>/dev/null)
echo "$GRAPH_STATS"
fiDisplay graph summary in session output:
📚 Knowledge Graph: Active
Nodes: {total_nodes} | Memories: {memory_count}
Concepts: {concept_count} indexedSurface relevant memories (v6.17.0+: injected automatically):
The SessionStart hook now enforces auto_surface_relevant — when the
sentinel is present (fast path), a ## Relevant Memories block is already
in your context, produced by memory_recall.py --auto (concepts from open
task nodes + active marker, resolved memories excluded). Render it as:
💡 Relevant Memories:
- PITFALL: "Auth changes often break session tests" (90%)
- PATTERN: "Always run unit tests before integration" (85%)Legacy path only (sentinel absent): run the recall CLI manually:
python3 "$PLUGIN_DIR/skills/nav-graph/functions/memory_recall.py" \
--auto --agent-dir .agent --graph-path .agent/knowledge/graph.json \
--limit 5 --format compactEmpty output → omit the block. Disable via
knowledge_graph.auto_surface_relevant: false in .agent/.nav-config.json
(max_session_memories caps the count).
If graph doesn't exist:
📚 Knowledge Graph: Not initialized
Run "Initialize knowledge graph" to enableIMPORTANT: This step MUST be executed, not just documented.
Check if user profile exists:
if [ -f ".agent/.user-profile.json" ]; then
echo "📋 User profile found"
else
echo "No user profile. Using defaults."
fiIf profile exists, READ IT NOW:
Read(
file_path: ".agent/.user-profile.json"
)After reading, APPLY these preferences for the session:
Verbosity (preferences.communication.verbosity):
concise: Keep responses brief, code-firstbalanced: Normal explanations (default)detailed: Thorough explanations with contextConfirmation threshold (preferences.communication.confirmation_threshold):
always: Show verification checkpoints for all skillshigh-stakes: Only for backend-endpoint, database-migration, frontend-component (default)never: Skip verification checkpointsFrameworks (preferences.technical.preferred_frameworks):
Corrections (corrections[]):
Display profile summary in session output:
🧠 Theory of Mind: Active
Profile: Loaded ({corrections_count} corrections, {goals_count} goals)
Verbosity: {verbosity}
Checkpoints: {confirmation_threshold}If profile doesn't exist:
🧠 Theory of Mind: Active (no profile yet)
Say "save my preferences" to create oneIf PM tool is Linear:
# Check if Linear MCP available
# Try to list assigned issuesIf PM tool is GitHub:
gh issue list --assignee @me --limit 10 2>/dev/nullIf PM tool is none: Skip task checking.
Run the OpenTelemetry session statistics script:
# Resolve the installed plugin directory
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"
python3 "$PLUGIN_DIR/skills/nav-start/scripts/otel_session_stats.py"This script:
Benefits of OTel integration:
Show the Navigator ASCII logo and session summary.
Display the logo using these exact ANSI color codes:
# Colors: Blue N, Red A, Blue V (Navigator arrow)
BLUE='\033[1;34m'
RED='\033[1;31m'
WHITE='\033[1;37m'
GRAY='\033[90m'
NC='\033[0m'
printf "${BLUE}███╗ ██╗${NC} ${RED} █████╗ ${NC}${BLUE}██╗ ██╗${NC}\n"
printf "${BLUE}████╗ ██║${NC} ${RED}██╔══██╗${NC}${BLUE}██║ ██║${NC}\n"
printf "${BLUE}██╔██╗ ██║${NC} ${RED}███████║${NC}${BLUE}██║ ██║${NC} ${WHITE}v6.0.0${NC}\n"
printf "${BLUE}██║╚██╗██║${NC} ${RED}██╔══██║${NC}${BLUE}╚██╗ ██╔╝${NC} ${GRAY}Knowledge Graph${NC}\n"
printf "${BLUE}██║ ╚████║${NC} ${RED}██║ ██║${NC}${BLUE} ╚████╔╝ ${NC}\n"
printf "${BLUE}╚═╝ ╚═══╝${NC} ${RED}╚═╝ ╚═╝${NC}${BLUE} ╚═══╝ ${NC}\n"Then show the session info:
📖 Navigator: Loaded
🎯 PM: [PM tool or "Manual"]
✅ Optimization: Active
🧠 ToM: [Profile status from Step 5.6]
📚 Graph: [Knowledge graph status from Step 5.5]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 DOCUMENTATION LOADED (MEASURED)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Navigator (.agent/DEVELOPMENT-README.md):
Size: [nav_bytes] bytes = [nav_tokens] tokens
CLAUDE.md (auto-loaded):
Size: [claude_bytes] bytes = [claude_tokens] tokens
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total documentation: [total_tokens] tokens
Available for work: [available] tokens ([percent]%)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 On-demand loading strategy:
Load task doc when needed: +3-5k tokens
Load system doc if needed: +4-6k tokens
Load SOP if helpful: +2-3k tokens
Total with all docs: ~[total + 15]k tokens
vs Traditional (all upfront): ~150k tokens
Savings: ~[150 - total - 15]k tokens
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔹 WORKFLOW ENFORCEMENT (MANDATORY)
Before responding to ANY task, show:
┌─────────────────────────────────────┐
│ WORKFLOW CHECK │
├─────────────────────────────────────┤
│ Loop trigger: [YES/NO] │
│ Complexity: [0.X] │
│ Mode: [LOOP/TASK/DIRECT] │
└─────────────────────────────────────┘
Loop triggers: "run until done", "do all", "keep going"
Task triggers: multi-file, refactor, new feature
Skipping this check = WORKFLOW VIOLATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔹 Navigator WORKFLOW REMINDER
1. Workflow enforcement
- ✅ ALWAYS show WORKFLOW CHECK on tasks
- Loop Mode: NAVIGATOR_STATUS each iteration
- Task Mode: Phase tracking (RESEARCH→COMPLETE)
2. Navigator-first loading
- ✅ Loaded: .agent/DEVELOPMENT-README.md
- Next: Load ONLY relevant task/system docs
3. Use agents for research
- Multi-file searches: Use Task agent (saves 60-80% tokens)
- Code exploration: Use Explore agent
4. Context management
- Run nav-compact skill after isolated sub-tasks
- Context markers save your progress
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[FIRST SESSION FEATURES DISPLAY - v5.6.0+]
Check if this is first session after install/update:
```bash
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"
FIRST_SESSION_MARKER=".agent/.features-shown-$(cat .agent/.nav-config.json | python3 -c "import sys,json; print(json.load(sys.stdin).get('version',''))" 2>/dev/null)"
if [ ! -f "$FIRST_SESSION_MARKER" ]; then
echo ""
python3 "$PLUGIN_DIR/skills/nav-features/functions/feature_manager.py" show --first-session
echo ""
echo "💡 Toggle features: 'show my features' or 'disable loop_mode'"
echo ""
touch "$FIRST_SESSION_MARKER"
fiShows feature table on:
Do NOT show if:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[If tasks found from PM tool, list them here]
[If no tasks found:] No active tasks found. What would you like to work on?
## Predefined Functions
### scripts/otel_session_stats.py
**Purpose**: Display real-time session statistics via OpenTelemetry
**When to call**: After loading navigator, before presenting session summary
**Requirements**:
- CLAUDE_CODE_ENABLE_TELEMETRY=1 (optional - shows setup if disabled)
- Metrics available from current session (shows waiting message if not)
**Execution**:
```bash
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"
python3 "$PLUGIN_DIR/skills/nav-start/scripts/otel_session_stats.py"Output: Formatted statistics with:
Error Handling:
This skill uses:
Fast-path source (v6.9.0+): the SessionStart op at
hooks/ops/session_start.py (dispatched by hooks/nav_dispatch.py from the
plugin manifest) pre-loads all of the above into the session before the
skill runs.
Navigator not found:
❌ Navigator not initialized
Run /nav:init to create .agent/ structure first.PM tool configured but not working:
⚠️ [PM Tool] configured but not accessible
Check authentication or run setup guide.Config file malformed:
⚠️ .agent/.nav-config.json is invalid JSON
Fix syntax or run /nav:init to regenerate.Session start is successful when:
This skill provides the same functionality as /nav:start command but with:
/ syntax)If user prefers manual invocation, they can still use /nav:start command (both work in hybrid mode).
© 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 (scripts) in skills/nav-start of qf-studio/navigator.
Open the folder on GitHubat commit 3bb9eac
Nav Start 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 Start this skillqf-studio/navigator | 355 | — | ~4.7k | Automated safety check: Notes | MIT | |
| MCP Server Builderanthropics/skills | 180k | 63 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 38k | 10 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Using Superpowersfarm-fe/farm | 5.6k | 36 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Executing Plans Inlineobra/superpowers | 297k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| Skill CreatorAzure/azqr | 796 | 89 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
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.
qf-studio/navigator
Clear conversation context while preserving knowledge via context marker.
Categories
Load Navigator documentation navigator when starting development session, resuming work, or beginning new feature. Nav Start is an agent skill from qf-studio/navigator. Load Navigator documentation navigator when starting development session, resuming work, or beginning new feature.
Nav Start fits situations like: user mentions starting work; beginning session; resuming after break; checking project status.
Run `npx skills add qf-studio/navigator --skill nav-start -a claude-code`. Or copy the skill folder (skills/nav-start in qf-studio/navigator) into .claude/skills/nav-start in your project. Claude Code loads it when a task matches its description.
Run `npx skills add qf-studio/navigator --skill nav-start -a codex`. Or copy the skill folder (skills/nav-start in qf-studio/navigator) into .agents/skills/nav-start 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-start -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-start, .gemini/skills/nav-start, .github/skills/nav-start and .opencode/skills/nav-start in your project.
Going by SKILL.md and its folder, Nav Start needs Python for the scripts in its folder and the command-line tools its instructions call (python3, bash, gh and claude). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Bash.
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Nav Start is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k 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 Start: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 297k 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.