/nav-init
Initialize Navigator documentation structure in a project. Auto-invokes when user says "Initialize Navigator", "Set up Navigator", "Create Navigator structure", or "Bootstrap Navigator".
$ npx -y skills add alekspetrov/navigator --skill nav-init --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/nav-init
Context preview
The summary Claude sees to decide when to auto-load this skill.
Initialize Navigator documentation structure in a project. Auto-invokes when user says "Initialize Navigator", "Set up Navigator", "Create Navigator structure", or "Bootstrap Navigator".
SKILL.md
nav-init.SKILL.mdname: nav-init
description: Initialize Navigator documentation structure in a project. Auto-invokes when user says "Initialize Navigator", "Set up Navigator", "Create Navigator structure", or "Bootstrap Navigator".
allowed-tools: Write, Bash, Read, Glob
version: 1.0.0
triggers:
- "initialize navigator"
- "init navigator"
- "set up navigator"
- "setup navigator"
- "create navigator structure"
- "bootstrap navigator"
- "start navigator project"
Navigator Initialization Skill
Purpose
Creates the Navigator documentation structure (`.agent/`) in a new project, copies templates, and sets up initial configuration.
When This Skill Auto-Invokes
- "Initialize Navigator in this project"
- "Set up Navigator documentation structure"
- "Create .agent folder for Navigator"
- "Bootstrap Navigator for my project"
What This Skill Does
1. **Checks if already initialized**: Prevents overwriting existing structure 2. **Creates `.agent/` directory structure**:
.agent/
├── DEVELOPMENT-README.md
├── .nav-config.json
├── tasks/
├── system/
├── sops/
│ ├── integrations/
│ ├── debugging/
│ ├── development/
│ └── deployment/
└── grafana/
├── docker-compose.yml
├── prometheus.yml
├── grafana-datasource.yml
├── grafana-dashboards.yml
├── navigator-dashboard.json
└── README.md3. **Copies templates**: DEVELOPMENT-README.md, config, Grafana setup 5. **Auto-detects project info**: Name, tech stack (from package.json if available) 6. **Updates CLAUDE.md**: Adds Navigator-specific instructions to project 7. **Creates .gitignore entries**: Excludes temporary Navigator files
Execution Steps
1. Check if Already Initialized
if [ -d ".agent" ]; then
echo "✅ Navigator already initialized in this project"
echo ""
echo "To start a session: 'Start my Navigator session'"
echo "To view documentation: Read .agent/DEVELOPMENT-README.md"
exit 0
fi2. Detect Project Information
Read `package.json`, `pyproject.toml`, `go.mod`, `Cargo.toml`, or similar to extract:
- Project name
- Tech stack
- Dependencies
**Fallback**: Use current directory name if no config found.
3. Create Directory Structure
Use Write tool to create:
.agent/
.agent/tasks/
.agent/system/
.agent/sops/integrations/
.agent/sops/debugging/
.agent/sops/development/
.agent/sops/deployment/
.agent/grafana/
4. Copy Templates
Copy from plugin's `templates/` directory to `.agent/`:
**DEVELOPMENT-README.md**:
- Replace `${PROJECT_NAME}` with detected project name
- Replace `${TECH_STACK}` with detected stack
- Replace `${DATE}` with current date
**`.nav-config.json`**:
{
"version": "5.5.0",
"project_name": "${PROJECT_NAME}",
"tech_stack": "${TECH_STACK}",
"project_management": "none",
"task_prefix": "TASK",
"team_chat": "none",
"auto_load_navigator": true,
"compact_strategy": "conservative",
"auto_update": {
"enabled": true,
"check_interval_hours": 1
}
}**Grafana Setup**: Copy all Grafana dashboard files to enable metrics visualization:
# Find plugin installation directory
PLUGIN_DIR="${HOME}/.claude/plugins/marketplaces/navigator-marketplace"
# Copy Grafana files if plugin has them
if [ -d "${PLUGIN_DIR}/.agent/grafana" ]; then
cp -r "${PLUGIN_DIR}/.agent/grafana/"* .agent/grafana/
echo "✓ Grafana dashboard installed"
else
echo "⚠️ Grafana files not found in plugin"
fiFiles copied:
- docker-compose.yml (Grafana + Prometheus stack)
- prometheus.yml (scrape config for Claude Code metrics)
- grafana-datasource.yml (Prometheus datasource config)
- grafana-dashboards.yml (dashboard provider config)
- navigator-dashboard.json (10-panel Navigator metrics dashboard)
- README.md (setup instructions)
5. Update Project CLAUDE.md
If `CLAUDE.md` exists:
- Append Navigator-specific sections
- Keep existing project customizations
If `CLAUDE.md` doesn't exist:
- Copy `templates/CLAUDE.md` to project root
- Customize with project info
6. Claude Code Hooks (Plugin Manifest)
**Navigator's lifecycle hooks ship with the plugin manifest** (`.claude-plugin/plugin.json`'s top-level `hooks` field) starting v6.13.0+. They are *not* merged into the project's `.claude/settings.json` — Claude Code only substitutes `${CLAUDE_PLUGIN_ROOT}` for hooks declared in a plugin manifest, so merging them into user settings (the prior approach) produced broken commands like `/hooks/X.py`.
The plugin registers the following hooks automatically when the plugin is installed:
1. **SessionStart** — injects Navigator context (navigator + active marker + config + graph + profile) into the session, eliminating ~6 Read tool calls at start (v6.9.0+) 2. **PreCompact** — writes a context marker before manual or silent auto-compact (v6.10.0+) 3. **PostCompact** — appends Claude Code's compact summary to the marker (v6.10.0+) 4. **Stop** — silent workflow-state writer; records whether WORKFLOW CHECK / NAVIGATOR_STATUS appeared (v6.11.0+) 5. **UserPromptSubmit** — workflow_enforcer (Loop/Task mode trigger detection + optional strict_block gate) 6. **PreToolUse(Read)** — nav_read_guard (bulk-read circuit breaker) 7. **PostToolUse(Edit|Write|Bash)** — token monitor (warns at 70% / 85% context usage) 8. **PostToolUse(Edit|Write)** — task→graph sync and profile correction sync (v6.11.0+)
**Nothing for nav-init to do here.** The skill no longer writes to `.claude/settings.json` for hooks.
⚠️ RESTART REQUIRED to activate hooks after plugin install/update.
Claude Code caches plugin manifest hooks at session start.
**Opt-out**: Users can disable any hook via `.agent/.nav-config.json`:
{
"session_start_hook": { "enabled": false },
"compact_hook": { "enabled": false },
"workflow_state_hook": { "enabled": false },
"task_graph_sync_hook": { "enabled": false },
"profile_sync_hook": { "enabled": false },
"workflRead more
name: nav-init description: Initialize Navigator documentation structure in a project. Auto-invokes when user says "Initialize Navigator", "Set up Navigator", "Create Navigator structure", or "Bootstrap Navigator". allowed-tools: Write, Bash, Read, Glob version: 1.0.0 triggers: - "initialize navigator" - "init navigator" - "set up navigator" - "setup navigator" - "create navigator structure" - "bootstrap navigator" - "start navigator project"
Navigator Initialization Skill
Purpose
Creates the Navigator documentation structure (`.agent/`) in a new project, copies templates, and sets up initial configuration.
When This Skill Auto-Invokes
- "Initialize Navigator in this project"
- "Set up Navigator documentation structure"
- "Create .agent folder for Navigator"
- "Bootstrap Navigator for my project"
What This Skill Does
1. **Checks if already initialized**: Prevents overwriting existing structure 2. **Creates `.agent/` directory structure**:
.agent/
├── DEVELOPMENT-README.md
├── .nav-config.json
├── tasks/
├── system/
├── sops/
│ ├── integrations/
│ ├── debugging/
│ ├── development/
│ └── deployment/
└── grafana/
├── docker-compose.yml
├── prometheus.yml
├── grafana-datasource.yml
├── grafana-dashboards.yml
├── navigator-dashboard.json
└── README.md3. **Copies templates**: DEVELOPMENT-README.md, config, Grafana setup 5. **Auto-detects project info**: Name, tech stack (from package.json if available) 6. **Updates CLAUDE.md**: Adds Navigator-specific instructions to project 7. **Creates .gitignore entries**: Excludes temporary Navigator files
Execution Steps
1. Check if Already Initialized
if [ -d ".agent" ]; then
echo "✅ Navigator already initialized in this project"
echo ""
echo "To start a session: 'Start my Navigator session'"
echo "To view documentation: Read .agent/DEVELOPMENT-README.md"
exit 0
fi2. Detect Project Information
Read `package.json`, `pyproject.toml`, `go.mod`, `Cargo.toml`, or similar to extract:
- Project name
- Tech stack
- Dependencies
**Fallback**: Use current directory name if no config found.
3. Create Directory Structure
Use Write tool to create:
.agent/ .agent/tasks/ .agent/system/ .agent/sops/integrations/ .agent/sops/debugging/ .agent/sops/development/ .agent/sops/deployment/ .agent/grafana/
4. Copy Templates
Copy from plugin's `templates/` directory to `.agent/`:
**DEVELOPMENT-README.md**:
- Replace `${PROJECT_NAME}` with detected project name
- Replace `${TECH_STACK}` with detected stack
- Replace `${DATE}` with current date
**`.nav-config.json`**:
{
"version": "5.5.0",
"project_name": "${PROJECT_NAME}",
"tech_stack": "${TECH_STACK}",
"project_management": "none",
"task_prefix": "TASK",
"team_chat": "none",
"auto_load_navigator": true,
"compact_strategy": "conservative",
"auto_update": {
"enabled": true,
"check_interval_hours": 1
}
}**Grafana Setup**: Copy all Grafana dashboard files to enable metrics visualization:
# Find plugin installation directory
PLUGIN_DIR="${HOME}/.claude/plugins/marketplaces/navigator-marketplace"
# Copy Grafana files if plugin has them
if [ -d "${PLUGIN_DIR}/.agent/grafana" ]; then
cp -r "${PLUGIN_DIR}/.agent/grafana/"* .agent/grafana/
echo "✓ Grafana dashboard installed"
else
echo "⚠️ Grafana files not found in plugin"
fiFiles copied:
- docker-compose.yml (Grafana + Prometheus stack)
- prometheus.yml (scrape config for Claude Code metrics)
- grafana-datasource.yml (Prometheus datasource config)
- grafana-dashboards.yml (dashboard provider config)
- navigator-dashboard.json (10-panel Navigator metrics dashboard)
- README.md (setup instructions)
5. Update Project CLAUDE.md
If `CLAUDE.md` exists:
- Append Navigator-specific sections
- Keep existing project customizations
If `CLAUDE.md` doesn't exist:
- Copy `templates/CLAUDE.md` to project root
- Customize with project info
6. Claude Code Hooks (Plugin Manifest)
**Navigator's lifecycle hooks ship with the plugin manifest** (`.claude-plugin/plugin.json`'s top-level `hooks` field) starting v6.13.0+. They are *not* merged into the project's `.claude/settings.json` — Claude Code only substitutes `${CLAUDE_PLUGIN_ROOT}` for hooks declared in a plugin manifest, so merging them into user settings (the prior approach) produced broken commands like `/hooks/X.py`.
The plugin registers the following hooks automatically when the plugin is installed:
1. **SessionStart** — injects Navigator context (navigator + active marker + config + graph + profile) into the session, eliminating ~6 Read tool calls at start (v6.9.0+) 2. **PreCompact** — writes a context marker before manual or silent auto-compact (v6.10.0+) 3. **PostCompact** — appends Claude Code's compact summary to the marker (v6.10.0+) 4. **Stop** — silent workflow-state writer; records whether WORKFLOW CHECK / NAVIGATOR_STATUS appeared (v6.11.0+) 5. **UserPromptSubmit** — workflow_enforcer (Loop/Task mode trigger detection + optional strict_block gate) 6. **PreToolUse(Read)** — nav_read_guard (bulk-read circuit breaker) 7. **PostToolUse(Edit|Write|Bash)** — token monitor (warns at 70% / 85% context usage) 8. **PostToolUse(Edit|Write)** — task→graph sync and profile correction sync (v6.11.0+)
**Nothing for nav-init to do here.** The skill no longer writes to `.claude/settings.json` for hooks.
⚠️ RESTART REQUIRED to activate hooks after plugin install/update. Claude Code caches plugin manifest hooks at session start.
**Opt-out**: Users can disable any hook via `.agent/.nav-config.json`:
{
"session_start_hook": { "enabled": false },
"compact_hook": { "enabled": false },
"workflow_state_hook": { "enabled": false },
"task_graph_sync_hook": { "enabled": false },
"profile_sync_hook": { "enabled": false },
"workflFinish What You Start Sessions that last. AI that learns. Features that ship.
Repo: alekspetrov/navigator
Other skills on navigator.
- /backend-endpoint
Create REST/GraphQL API endpoint with validation, error handling, and tests. Auto-invoke when user says "add endpoint", "create API", "new route", or "add route".
Open skill - /backend-test
Generate backend tests (unit, integration, mocks) for existing code. Auto-invoke when user says "write test for", "add test", "test this", or "create test".
Open skill - /database-migration
Create database migration with schema changes and rollback. Auto-invoke when user says "create migration", "add table", "modify schema", or "change database".
Open skill - /frontend-component
Create React/Vue component with TypeScript, tests, and styles. Auto-invoke when user says "create component", "add component", "new component", or "build component".
Open skill - /frontend-test
Generate frontend component tests (React Testing Library, Vue Test Utils, snapshot) for existing components. Auto-invoke when user says "test this component", "write component test", or "add component test".
Open skill - /nav-brief
Render a one-screen intent brief (Goal/Scope/Approach/Limits/Verify/Won't-do) before implementing ambiguous task-shaped prompts, triggered by the nav_brief.py UserPromptSubmit hook. Confirms scope with max 2 open questions before touching files; detects brief drift mid-task.
Open skill

