457 lines
11 KiB
Markdown
457 lines
11 KiB
Markdown
---
|
|
description: Smart context compact - preserve essential Navigator markers and documentation context
|
|
---
|
|
|
|
# Navigator Smart Compact
|
|
|
|
You are performing a context-optimized compact operation that preserves essential Navigator documentation markers.
|
|
|
|
## What This Does
|
|
|
|
**Regular `/compact`**: Clears all conversation history, loses context
|
|
|
|
**Navigator `/nav:compact`**:
|
|
- Generates a **context marker** (snapshot of where you are)
|
|
- Saves marker to `.agent/.context-markers/`
|
|
- Shows you exactly how to resume
|
|
- Clears conversation history
|
|
- You restore context in your next session by reading the marker
|
|
|
|
**The Magic**: Context markers compress your entire session (50+ messages, 130k tokens) into a focused summary (3k tokens) that captures only what matters: current task, decisions made, next steps.
|
|
|
|
## How Context Markers Work
|
|
|
|
Think of it like save points in a video game:
|
|
|
|
```
|
|
Before Compact:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
You: "Help me implement auth"
|
|
Claude: [50 messages of implementation]
|
|
You: "Now add OAuth"
|
|
Claude: [20 messages of OAuth work]
|
|
Total: 130k tokens, approaching limit
|
|
|
|
After /nav:compact:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
✅ Marker saved: .agent/.context-markers/2025-10-12.md
|
|
|
|
Contains:
|
|
- Task: TASK-45 (auth + OAuth)
|
|
- Status: OAuth integrated, needs testing
|
|
- Decisions: Using passport.js, JWT tokens
|
|
- Next: Write tests for OAuth flow
|
|
- 3k tokens
|
|
|
|
Next session:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
You: Read @.agent/.context-markers/2025-10-12.md
|
|
Claude: *knows exactly where you left off*
|
|
You: "Write the OAuth tests"
|
|
Claude: *continues seamlessly*
|
|
```
|
|
|
|
**You never lose progress. The knowledge is preserved, just compressed.**
|
|
|
|
## When to Use
|
|
|
|
### ✅ Good Times to Compact
|
|
|
|
**After isolated sub-tasks**:
|
|
- Just finished documentation update
|
|
- Created SOP for solved issue
|
|
- Archived feature implementation plan
|
|
- Completed debugging session
|
|
|
|
**Before context switches**:
|
|
- Switching from feature A to feature B
|
|
- Moving from debugging to new feature
|
|
- Starting new sprint/milestone
|
|
- After research phase, before implementation
|
|
|
|
**Token optimization**:
|
|
- Approaching 70% token usage
|
|
- Long conversation with repeated info
|
|
- After multiple /nav:update-doc operations
|
|
|
|
### ❌ Bad Times to Compact
|
|
|
|
**In middle of work**:
|
|
- Feature half-implemented
|
|
- Debugging complex issue
|
|
- Multiple related sub-tasks pending
|
|
|
|
**Context still needed**:
|
|
- Next sub-task depends on current conversation
|
|
- Need to reference recent decisions
|
|
- Team discussion ongoing
|
|
|
|
## Compact Process
|
|
|
|
### Step 1: Identify Essential Context
|
|
|
|
Scan conversation for:
|
|
|
|
**Must preserve**:
|
|
- Current task ID (TASK-XX)
|
|
- Active feature/epic name
|
|
- Key technical decisions made
|
|
- Unresolved blockers/questions
|
|
- Next steps planned
|
|
|
|
**Can clear**:
|
|
- Completed sub-tasks details
|
|
- Resolved debugging sessions
|
|
- Documentation already written
|
|
- Exploratory research (if documented)
|
|
|
|
### Step 2: Generate Context Marker
|
|
|
|
Create compact marker to preserve essentials:
|
|
|
|
```markdown
|
|
# Navigator Context Marker (Post-Compact)
|
|
|
|
**Session**: [Date/Time]
|
|
**Navigator**: .agent/DEVELOPMENT-README.md
|
|
|
|
## Active Work
|
|
- **Task**: TASK-XX - [Feature Name]
|
|
- **Status**: [Phase/Progress]
|
|
- **Location**: [File/component being worked on]
|
|
|
|
## Recent Decisions
|
|
- [Decision 1]
|
|
- [Decision 2]
|
|
|
|
## Documentation State
|
|
- **Task docs**: [List updated docs]
|
|
- **System docs**: [List updated docs]
|
|
- **SOPs**: [List created SOPs]
|
|
|
|
## Next Steps
|
|
1. [Next action]
|
|
2. [Following action]
|
|
|
|
## Blockers
|
|
- [Blocker 1 if any]
|
|
|
|
## Don't Load Again (Already Documented)
|
|
- [Doc 1] - Already in .agent/
|
|
- [Doc 2] - Already in .agent/
|
|
|
|
---
|
|
Load this context marker after compacting to resume efficiently.
|
|
```
|
|
|
|
### Step 3: Save Context Marker
|
|
|
|
**IMPORTANT**: You MUST save the marker where the user can access it after compact.
|
|
|
|
**Recommended**: Save to `.agent/.context-markers/` directory
|
|
|
|
```bash
|
|
# Create directory if doesn't exist
|
|
mkdir -p .agent/.context-markers
|
|
|
|
# Save with timestamp
|
|
Write(
|
|
file_path: ".agent/.context-markers/2025-10-12-143022-compact.md"
|
|
content: [context marker from Step 2]
|
|
)
|
|
```
|
|
|
|
### Step 3.5: Mark as Active Marker
|
|
|
|
**NEW**: Create `.active` file to enable automatic resume
|
|
|
|
```bash
|
|
# Create .active file pointing to this marker
|
|
echo "2025-10-12-143022-compact.md" > .agent/.context-markers/.active
|
|
```
|
|
|
|
**This enables**: `/nav:start` will auto-detect and load this marker
|
|
|
|
**Show user the saved location**:
|
|
```
|
|
✅ Context marker saved and marked as active:
|
|
.agent/.context-markers/2025-10-12-143022-compact.md
|
|
|
|
This marker will be auto-loaded on next session start.
|
|
```
|
|
|
|
**Alternative locations**:
|
|
|
|
**Option 2**: Append to current task doc (if task exists)
|
|
```
|
|
Append to: .agent/tasks/TASK-XX-feature.md
|
|
|
|
## Session Notes
|
|
### Compact Point - [Date]
|
|
[Context marker content]
|
|
|
|
After compact: Read @.agent/tasks/TASK-XX-feature.md
|
|
```
|
|
|
|
**Option 3**: User clipboard (if no task doc yet)
|
|
```
|
|
⚠️ No task doc exists yet.
|
|
|
|
Copy this marker and paste it in your next session:
|
|
|
|
[Show marker content]
|
|
|
|
Or save it manually before compacting.
|
|
```
|
|
|
|
### Step 4: Show Resume Instructions
|
|
|
|
**CRITICAL**: Tell the user exactly how to resume.
|
|
|
|
```
|
|
╔══════════════════════════════════════════════════════╗
|
|
║ ║
|
|
║ 🔄 Ready to Compact ║
|
|
║ ║
|
|
╚══════════════════════════════════════════════════════╝
|
|
|
|
✅ Context marker created and marked as active:
|
|
.agent/.context-markers/2025-10-12-143022-compact.md
|
|
|
|
TO RESUME AFTER COMPACT:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
Simply run: /nav:start
|
|
|
|
This will automatically:
|
|
• Load navigator (.agent/DEVELOPMENT-README.md)
|
|
• Detect active marker
|
|
• Restore your context (~3k tokens)
|
|
• Load current task (if applicable)
|
|
|
|
All in one command. No manual steps needed.
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
Proceed with compact? Type 'yes' to continue.
|
|
```
|
|
|
|
**Wait for confirmation before compacting**.
|
|
|
|
### Step 5: Perform Compact
|
|
|
|
**Only after user confirms**, execute Claude Code's `/compact` command.
|
|
|
|
### Step 6: Post-Compact Resume (For User's Next Session)
|
|
|
|
**Immediately after compact**:
|
|
|
|
1. **Load navigator** (always):
|
|
```
|
|
Read .agent/DEVELOPMENT-README.md (~2k tokens)
|
|
```
|
|
|
|
2. **Load context marker**:
|
|
```
|
|
Read context marker from Step 2
|
|
```
|
|
|
|
3. **Load active task doc** (if exists):
|
|
```
|
|
Read .agent/tasks/TASK-XX-feature.md (~3k tokens)
|
|
```
|
|
|
|
4. **Resume work**: Continue where left off
|
|
|
|
**Total tokens loaded**: ~7k (vs 60k+ if keeping full conversation)
|
|
|
|
## Compact Strategies
|
|
|
|
### Aggressive (Compact Often)
|
|
|
|
**When**: Token-constrained, switching tasks frequently
|
|
|
|
**Trigger**:
|
|
- After every sub-task
|
|
- Before every new task
|
|
- Every 50% token usage
|
|
|
|
**Trade-off**: More compacts, less context continuity
|
|
|
|
**Best for**: Multiple short tasks, exploratory work
|
|
|
|
### Conservative (Compact Rarely)
|
|
|
|
**When**: Deep work on single feature, need context continuity
|
|
|
|
**Trigger**:
|
|
- After major milestones only
|
|
- When reaching 70%+ tokens
|
|
- Between unrelated epics
|
|
|
|
**Trade-off**: Fewer compacts, more token usage
|
|
|
|
**Best for**: Complex features, long debugging sessions
|
|
|
|
### Manual (User Decides)
|
|
|
|
**When**: User knows when to compact
|
|
|
|
**Trigger**: User runs `/nav:compact` explicitly
|
|
|
|
**Trade-off**: Full control, requires judgment
|
|
|
|
**Best for**: Experienced users, custom workflows
|
|
|
|
## Configuration
|
|
|
|
Set in `.agent/.nav-config.json`:
|
|
|
|
```json
|
|
{
|
|
"compact_strategy": "conservative",
|
|
"compact_trigger_percent": 70,
|
|
"save_context_markers": true,
|
|
"context_marker_location": ".agent/.context-markers/"
|
|
}
|
|
```
|
|
|
|
## Example Compact Scenarios
|
|
|
|
### Scenario 1: Feature Complete
|
|
|
|
```
|
|
Before Compact:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
Tokens: 65% (130k used)
|
|
Conversation: 50+ messages
|
|
Feature TASK-123 complete
|
|
Docs updated
|
|
Tests passing
|
|
|
|
Action: /nav:compact
|
|
Reason: Feature done, docs archived, ready for next task
|
|
|
|
After Compact:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
Tokens: 5% (10k used)
|
|
- Navigator loaded (2k)
|
|
- Context marker (3k)
|
|
- Ready for TASK-124
|
|
|
|
Savings: 120k tokens freed (60% of budget)
|
|
```
|
|
|
|
### Scenario 2: Research → Implementation
|
|
|
|
```
|
|
Before Compact:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
Tokens: 45% (90k used)
|
|
Research: Explored 5 different approaches
|
|
Decision: Chose approach #3
|
|
Key findings: Documented in SOP
|
|
|
|
Action: /nav:compact
|
|
Reason: Research done, documented, time to implement
|
|
|
|
After Compact:
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
Tokens: 7% (14k used)
|
|
- Navigator (2k)
|
|
- Task doc with decision (3k)
|
|
- Relevant SOP (2k)
|
|
- Implementation ready
|
|
|
|
Savings: 76k tokens freed
|
|
```
|
|
|
|
### Scenario 3: Multi-Task Day
|
|
|
|
```
|
|
Morning:
|
|
- TASK-101: Bug fix (15k tokens)
|
|
- /nav:compact
|
|
- TASK-102: New feature (25k tokens)
|
|
- /nav:compact
|
|
|
|
Afternoon:
|
|
- TASK-103: Integration (20k tokens)
|
|
- /nav:compact
|
|
- TASK-104: Documentation (10k tokens)
|
|
|
|
Total work: 4 tasks
|
|
Peak usage: 25k tokens (12.5%)
|
|
Without compact: Would hit 70k+ (35%), slower responses
|
|
|
|
Benefit: Maintained fast responses all day
|
|
```
|
|
|
|
## Compact Checklist
|
|
|
|
Before running `/nav:compact`:
|
|
|
|
- [ ] Current task completed or at good stopping point
|
|
- [ ] Important decisions documented (task doc or SOP)
|
|
- [ ] No unresolved blockers requiring conversation context
|
|
- [ ] Ready to switch tasks or take break
|
|
- [ ] Context marker generated (if needed)
|
|
|
|
After running `/nav:compact`:
|
|
|
|
- [ ] Load navigator (.agent/DEVELOPMENT-README.md)
|
|
- [ ] Load context marker (if saved)
|
|
- [ ] Load active task doc (if continuing work)
|
|
- [ ] Verify ready to continue
|
|
|
|
## Advanced: Auto-Compact
|
|
|
|
**Future enhancement**: Automatically compact based on triggers
|
|
|
|
```json
|
|
{
|
|
"auto_compact": {
|
|
"enabled": false,
|
|
"triggers": {
|
|
"token_percent": 70,
|
|
"after_update_doc": true,
|
|
"between_tasks": true
|
|
},
|
|
"require_confirmation": true
|
|
}
|
|
}
|
|
```
|
|
|
|
When trigger hit:
|
|
```
|
|
⚠️ Navigator Auto-Compact Suggested
|
|
|
|
Reason: Token usage at 71%
|
|
Action: Run /nav:compact to free 60k+ tokens
|
|
|
|
Compact now? [Y/n]:
|
|
```
|
|
|
|
## Metrics
|
|
|
|
Track compact efficiency:
|
|
|
|
**Before Compact**:
|
|
- Tokens used: 130k (65%)
|
|
- Message count: 50+
|
|
- Time: 2 hours
|
|
|
|
**After Compact**:
|
|
- Tokens used: 10k (5%)
|
|
- Context preserved: Task doc + decision markers
|
|
- Ready for: Next task immediately
|
|
|
|
**Savings**:
|
|
- 120k tokens freed
|
|
- 60% of budget reclaimed
|
|
- Fast responses restored
|
|
|
|
---
|
|
|
|
**Remember**: Navigator compact preserves what matters (documented knowledge) and clears what doesn't (conversation history). This keeps your context lean and your sessions productive.
|