compact | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / compact

compact

maintained by alfredolopez80

star 74 account_tree 14 verified_user MIT License
bolt View GitHub

name: compact description: Manually trigger context save when auto-compact fails in VSCode/Cursor extensions. Use when context is high and you need to preserve state before starting fresh. triggers:

  • /compact
  • context full
  • save context
  • preserve state allowed-tools: Bash,Read

Manual Context Save (Compact Workaround)

Why This Exists

VSCode and Cursor extensions have limited hook support (GitHub issue #15021). The PreCompact hook may not trigger automatically, leading to lost context. This skill provides manual control to save state before context overflow.

When to Use

  • Context warning shows 80%+ usage
  • Working in VSCode or Cursor extension
  • Before starting a new conversation
  • When auto-compact doesn't seem to work

Execution Steps

Step 1: Detect Environment

# Check current environment
source ~/.claude/hooks/detect-environment.sh 2>/dev/null && print_env_info || echo "Environment detection unavailable"

Step 2: Get Current Session ID

The session ID is needed to save context properly:

# Try to get session ID from state
SESSION_ID=$(cat ~/.ralph/state/current-session 2>/dev/null || echo "manual-$(date +%Y%m%d-%H%M%S)")
echo "Session: $SESSION_ID"

Step 3: Extract and Save Context

# Run the pre-compact hook manually
export SESSION_ID="${SESSION_ID:-manual-$(date +%Y%m%d-%H%M%S)}"

# Create input JSON for the hook
echo "{\"hook_event_name\":\"PreCompact\",\"session_id\":\"$SESSION_ID\",\"transcript_path\":\"\"}" | \
    ~/.claude/hooks/pre-compact-handoff.sh

echo ""
echo "✅ Context saved to:"
echo "   Ledger: ~/.ralph/ledgers/CONTINUITY_RALPH-$SESSION_ID.md"
echo "   Handoff: ~/.ralph/handoffs/$SESSION_ID/"

Step 4: Verify Save

# Show the saved ledger
echo "=== SAVED LEDGER ==="
head -30 ~/.ralph/ledgers/CONTINUITY_RALPH-$SESSION_ID.md 2>/dev/null || echo "Ledger not found"

Alternative: Use Ralph CLI

If the above doesn't work, use the Ralph CLI directly:

ralph compact

This wrapper command handles all the complexity automatically.

Post-Compact Actions

After saving context:

  1. Start fresh: Use /clear or start a new conversation
  2. Restore context: The SessionStart hook will auto-load the saved ledger
  3. Verify restoration: Check that your objective is loaded

Recovery

If context was lost without saving:

# List recent ledgers
ralph ledger list

# Load a specific ledger
ralph ledger load <session-id>

# Search handoffs
ralph handoff search "keyword"

Troubleshooting

Hook not found

# Verify hooks exist
ls -la ~/.claude/hooks/pre-compact-handoff.sh
ls -la ~/.claude/hooks/detect-environment.sh

# If missing, sync from repo
ralph sync-global

Permission denied

# Make hooks executable
chmod +x ~/.claude/hooks/*.sh
chmod +x ~/.claude/scripts/*.py

Context extractor fails

# Test context extractor directly
python3 ~/.claude/scripts/context-extractor.py --project . --pretty

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 74
GitHub Forks 14
Created Jan 2026
Last Updated 4 months ago
tools tools ide plugins

Related Skills

writing-skills
chevron_right
codex
chevron_right
smart-illustrator
chevron_right
ast-index
chevron_right
packmind-standard-creator
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.