Help us improve
Share bugs, ideas, or general feedback.
From navigator
Queries and manages a project knowledge graph across tasks, SOPs, memories, and concepts. Useful for recalling patterns, pitfalls, decisions, or related knowledge.
npx claudepluginhub alekspetrov/navigator --plugin navigatorHow this skill is triggered — by the user, by Claude, or both
Slash command
/navigator:nav-graphThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Query and manage the unified project knowledge graph. Surfaces relevant knowledge from tasks, SOPs, system docs, and experiential memories.
Manages persistent knowledge graph for specs by caching agent discoveries, codebase analysis, patterns, components, and APIs. Use to remember findings across sessions, validate task dependencies, and query prior work.
Typed knowledge graph for creating, querying, and linking structured entities with relationship traversal. Use for entity CRUD, dependency graphs, and cross-skill state sharing.
Traverses knowledge graph across memories, entities, and relationships for comprehensive context. Use before planning complex work, investigating concept connections, or answering 'what do you know about X'.
Share bugs, ideas, or general feedback.
Query and manage the unified project knowledge graph. Surfaces relevant knowledge from tasks, SOPs, system docs, and experiential memories.
Navigator v6.0.0 introduces the Project Knowledge Graph:
Query triggers:
Memory capture triggers:
Graph management triggers:
.agent/knowledge/graph.json (~1-2k tokens, loaded on query)
QUERY (searching knowledge):
User: "What do we know about authentication?"
→ Query graph by concept
CAPTURE (storing memory):
User: "Remember: auth changes often break session tests"
→ Create new memory node
INIT (building graph):
User: "Initialize knowledge graph"
→ Build graph from existing docs
STATS (viewing graph):
User: "Show graph stats"
→ Display graph statistics
Check if graph exists:
if [ -f ".agent/knowledge/graph.json" ]; then
echo "Graph exists"
else
echo "No graph found, will initialize"
fi
Initialize if not exists:
python skills/nav-graph/functions/graph_builder.py \
--agent-dir .agent \
--output .agent/knowledge/graph.json
Extract concept from user input:
User: "What do we know about testing?"
→ Concept: testing
User: "Any pitfalls for auth?"
→ Concept: auth (normalized to authentication)
Run query:
python skills/nav-graph/functions/graph_manager.py \
--action query \
--concept "testing" \
--graph-path .agent/knowledge/graph.json
Display results:
Knowledge Graph: "testing"
TASKS (3)
- TASK-30: Task Verification Enhancement (completed)
- TASK-17: Visual Regression Integration (completed)
- TASK-11: Project Skills Generation (completed)
MEMORIES (2)
- PITFALL: "Auth changes break session tests" (90%)
- PATTERN: "Always run unit tests before integration" (85%)
SOPs (1)
- visual-regression-setup
FILES (5)
- skills/backend-test/*
- skills/frontend-test/*
Load details: "Read TASK-30" or "Show testing memories"
Parse memory from user input:
User: "Remember this pitfall: auth changes often break session tests"
→ Type: pitfall
→ Summary: "auth changes often break session tests"
→ Concepts: [auth, testing]
User: "Remember we decided to use JWT over sessions for scaling"
→ Type: decision
→ Summary: "use JWT over sessions for scaling"
→ Concepts: [auth, architecture]
Determine memory type:
| User Says | Memory Type |
|---|---|
| "pattern", "we use", "approach" | pattern |
| "pitfall", "watch out", "careful" | pitfall |
| "decided", "chose", "because" | decision |
| "learned", "discovered", "realized" | learning |
Create memory:
python skills/nav-graph/functions/graph_manager.py \
--action add-memory \
--memory-type pitfall \
--summary "auth changes often break session tests" \
--concepts "auth,testing" \
--confidence 0.9 \
--graph-path .agent/knowledge/graph.json
Optionally create detailed memory file:
# Pitfall: Auth Changes Break Session Tests
## Summary
Auth changes often break session tests due to...
## Context
Discovered during TASK-XX when...
## Recommended Approach
When modifying auth, always run...
## Related
- TASK-12: V3 Skills-Only
- SOP: autonomous-completion
Confirm capture:
Memory captured: mem-001
Type: Pitfall
Summary: "auth changes often break session tests"
Concepts: auth, testing
Confidence: 90%
This will be surfaced when working on auth or testing topics.
Build from existing docs:
python skills/nav-graph/functions/graph_builder.py \
--agent-dir .agent \
--output .agent/knowledge/graph.json
Display results:
Knowledge Graph Initialized
Scanned:
- Tasks: 35
- SOPs: 12
- System docs: 3
- Markers: 8
Extracted:
- Concepts: 15
- Relationships: 47
Graph saved to .agent/knowledge/graph.json
Query with: "What do we know about [topic]?"
Display graph statistics:
python skills/nav-graph/functions/graph_manager.py \
--action stats \
--graph-path .agent/knowledge/graph.json
Output:
Knowledge Graph Statistics
==========================
Total Nodes: 65
Total Edges: 47
Memories: 5
Last Updated: 2025-01-23T10:30:00Z
By Type:
Tasks: 35
SOPs: 12
System: 3
Markers: 8
Concepts: 15
Memories: 5
If user asks for related items:
User: "What's related to TASK-29?"
Run traversal:
python skills/nav-graph/functions/graph_manager.py \
--action related \
--node-id "TASK-29" \
--max-depth 2 \
--graph-path .agent/knowledge/graph.json
"We use X for Y in this project"
"Watch out for X when touching Y"
"We chose X over Y because Z"
"X usually means Y in this codebase"
Base confidence:
Decay:
Boost:
Threshold:
Loads graph stats on session start:
Knowledge graph: 65 nodes, 5 memories
Relevant: 2 memories for current context
Auto-extracts concepts from new tasks:
Creating TASK-35: Project Memory
Extracted concepts: knowledge, memory, graph
Added to graph.
Corrections auto-create memories via correction_to_memory.py:
# When correction detected in nav-profile:
python3 skills/nav-graph/functions/correction_to_memory.py \
--action convert-one \
--correction-json '{"pattern": "...", "context": "...", "confidence": "high"}'
# Output:
[Correction detected]
→ Type: pitfall (based on pattern analysis)
→ Concepts: [auth, testing] (auto-extracted)
→ Created memory: mem-002
→ Added to graph
Sync all corrections:
python3 skills/nav-graph/functions/correction_to_memory.py \
--action sync \
--profile-path .agent/.user-profile.json \
--graph-path .agent/knowledge/graph.json
Markers reference graph state:
## Graph State
- Memories surfaced: mem-001, mem-003
- Concepts active: auth, testing
The navigator-research agent emits a structured research_findings JSON block alongside its markdown summary. After the agent returns, ingest those findings as graph memories via research_to_graph.py:
# Save the JSON block from the agent output to a file (or pipe via stdin)
python3 skills/nav-graph/functions/research_to_graph.py findings.json
# Or from stdin
cat findings.json | python3 skills/nav-graph/functions/research_to_graph.py -
# Validate without writing
python3 skills/nav-graph/functions/research_to_graph.py findings.json --dry-run
Trigger phrases:
Defaults:
0.7 (lower than corrections/explicit captures — research is inference)pattern, pitfall, decision, learningsrc/auth.ts:42) is embedded into the memory summarySchema: see the Output Format section of agents/navigator-research.md for the full JSON shape the agent emits.
In .agent/.nav-config.json:
{
"knowledge_graph": {
"enabled": true,
"auto_capture_corrections": true,
"auto_capture_decisions": true,
"auto_surface_relevant": true,
"max_session_memories": 5,
"confidence_decay_rate": 0.01,
"staleness_threshold_days": 90,
"git_tracked": true
}
}
python3 skills/nav-graph/functions/graph_maintenance.py --action health
Output:
Knowledge Graph Health Check
========================================
Total Nodes: 94
Total Edges: 819
Memories: 2 (2 high confidence)
Health Score: 100/100
No issues detected!
Find memories that may contradict each other:
python3 skills/nav-graph/functions/graph_maintenance.py --action conflicts
Find memories not validated in 90+ days:
python3 skills/nav-graph/functions/graph_maintenance.py --action stale --stale-days 90
Find and optionally remove low-confidence memories:
# Preview what would be removed
python3 skills/nav-graph/functions/graph_maintenance.py --action prune --threshold 0.3 --dry-run
# Actually remove (use with caution)
python3 skills/nav-graph/functions/graph_maintenance.py --action prune --threshold 0.3 --execute
Reduce confidence of stale memories:
python3 skills/nav-graph/functions/graph_maintenance.py --action decay --decay-rate 0.01
| Component | Tokens | When |
|---|---|---|
| graph.json (50 nodes) | ~1000 | On query |
| graph.json (200 nodes) | ~2000 | On query |
| Memory summaries (5) | ~500 | On session start |
| Full memory detail | ~500 each | On request |
Session overhead: ~1.3k tokens
Graph skill succeeds when:
Good queries:
Good memory capture:
Avoid:
This skill transforms Navigator from stateless assistant to knowledge-aware team member