backend-endpoint
Create REST/GraphQL API endpoint with validation, error handling, and tests. Auto-invoke when user says "add endpoint", "create…
Sync project CLAUDE.md to the installed Navigator version, preserving customizations. Use when user says "sync CLAUDE.md", "update CLAUDE.md", or when detecting outdated Navigator configuration.
$ npx -y skills add qf-studio/navigator --skill nav-sync-claude --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/nav-sync-claudeContext preview
The summary Claude sees to decide when to auto-load this skill.
Sync project CLAUDE.md to the installed Navigator version, preserving customizations. Use when user says "sync CLAUDE.md", "update CLAUDE.md", or when detecting outdated Navigator configuration.
name: nav-sync-claude description: Sync project CLAUDE.md to the installed Navigator version, preserving customizations. Use when user says "sync CLAUDE.md", "update CLAUDE.md", or when detecting outdated Navigator configuration. allowed-tools: Read, Write, Edit, Bash version: 1.0.0
Update project's CLAUDE.md to latest Navigator version (v3.1) while preserving project-specific customizations.
Invoke this skill when the user:
**DO NOT invoke** if:
Check if CLAUDE.md exists and detect version:
if [ ! -f "CLAUDE.md" ]; then echo "❌ No CLAUDE.md found in current directory" echo "" echo "Run 'Initialize Navigator in this project' first." exit 1 fi
Use `version_detector.py` to analyze CLAUDE.md:
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-sync-claude/functions/version_detector.py" CLAUDE.mdThis script checks for:
**Outputs**:
**If `current`**:
✅ CLAUDE.md is already up to date (v3.1) No migration needed.
Exit successfully.
**If `unknown`**:
⚠️ CLAUDE.md doesn't appear to be a Navigator file This might be a custom configuration. Manual review recommended. Proceed with migration anyway? [y/N]
If user declines, exit. If accepts, continue.
Always create backup before modifying:
cp CLAUDE.md CLAUDE.md.backup echo "📦 Backup created: CLAUDE.md.backup"
Use `claude_updater.py` to parse current CLAUDE.md:
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-sync-claude/functions/claude_updater.py" extract CLAUDE.md > /tmp/nav-customizations.jsonThis extracts, verbatim (multi-line values and bullets keep their line breaks):
a default the project removed stays removed)
section each one precedes, so generate puts it back in the same place
the liveness guard)
Apply latest template with extracted customizations:
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"
# Template fetching now automatic via get_template_path():
# 1. Tries GitHub (version-matched)
# 2. Falls back to bundled if offline
python3 "$PLUGIN_DIR/skills/nav-sync-claude/functions/claude_updater.py" generate \
--customizations /tmp/nav-customizations.json \
--template "$PLUGIN_DIR/templates/CLAUDE.md" \
--output CLAUDE.mdGenerate stamps `**Last Updated**` with today's date and `**Navigator Version**` with the installed plugin version (`--stamp-date` / `--stamp-version` override them). A dry run writes anywhere: `--output /tmp/CLAUDE.preview.md`. The hook-liveness guard checks the project root, never the output directory: `--project-root DIR`, else the `source_dir` that extract recorded, else the current directory. It exits 3 and leaves CLAUDE.md untouched when `.agent/.nav-runtime-state.json` is absent or older than 7 days.
**Template Source Priority**: 1. **GitHub** (version-matched): Fetches from `https://raw.githubusercontent.com/qf-studio/navigator/v{version}/templates/CLAUDE.md`
2. **Bundled** (fallback): Uses `templates/CLAUDE.md` from installed plugin
**What this does**: 1. Loads template (GitHub or bundled) 2. Replaces placeholders with extracted data 3. Preserves custom sections 4. Updates Navigator workflow to natural language 5. Removes slash command references 6. Adds skills explanation
Display changes for user review:
echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "📝 CHANGES TO CLAUDE.MD" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" # Show unified diff diff -u CLAUDE.md.backup CLAUDE.md || true echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
Show summary of changes
Finish What You Start Sessions that last. AI that learns. Features that ship.
Create REST/GraphQL API endpoint with validation, error handling, and tests. Auto-invoke when user says "add endpoint", "create…
Generate backend tests (unit, integration, mocks) for existing code. Auto-invoke when user says "write test for", "add test",…
Create database migration with schema changes and rollback. Auto-invoke when user says "create migration", "add table", "modify…
Create React/Vue component with TypeScript, tests, and styles. Auto-invoke when user says "create component", "add component",…
Generate frontend component tests (React Testing Library, Vue Test Utils, snapshot) for existing components. Auto-invoke when…
Render a one-screen intent brief (Goal/Scope/Approach/Limits/Verify/Won't-do/Contradiction) before implementing ambiguous…