Status: Production Ready Version: 2.0.0 Type: Session Management Skill
ChittyXL is a session persistence protocol that:
- Prevents context loss by auto-checkpointing at token thresholds (38k, 76k, 114k, 152k, 171k)
- Enforces artifact-first communication (technical content in artifacts, not chat)
- Syncs state to Notion tracker for seamless session continuation
- Extends session longevity by 5-10x through aggressive deduplication
Problem Solved: Long Claude sessions hit token limits, lose context, force users to start over.
Solution: Auto-compact conversation state at intervals, persist to external tracker, enable session continuation.
ChittyXL can be deployed in three different ways depending on your Claude interface:
Scope: All Claude Code sessions on your machine
Auto-Activation: Yes (silent on session start)
Location: ~/.claude/skills/chittyxl/
Installation:
# Clone this repo to your Claude Code skills directory
mkdir -p ~/.claude/skills/
cd ~/.claude/skills/
git clone <this-repo-url> chittyxl
# OR manually copy files
mkdir -p ~/.claude/skills/chittyxl/
cp SKILL.md SESSION_PROTOCOL.md NOTION_TEMPLATES.md ~/.claude/skills/chittyxl/Verification:
# Start any Claude Code session
claude
# In Claude, type:
> status
# Expected response:
ChittyXL: Active ✓
Tokens: ~2k/190k (1%)
Next checkpoint: 38k (20%)
Active projects: 0Pros:
- ✓ Works in ALL CLI sessions automatically
- ✓ No manual activation needed
- ✓ Consistent behavior across projects
- ✓ Easy to update (edit skill files once)
Cons:
- ✗ Only works in Claude Code CLI (not web interface)
- ✗ Requires local file system access
Scope: Single Claude.ai web project only Auto-Activation: Yes (when entering project) Location: Project Settings → Custom Instructions
Installation: See DEPLOY_WEB.md (detailed guide)
Quick Steps:
- Open target Claude.ai project
- Project Settings → Custom Instructions
- Append
<chittyxl_protocol>XML block from DEPLOY_WEB.md - Save settings
Verification: Start new chat → type "status" → see ChittyXL active message
Pros:
- ✓ Works in Claude.ai web interface
- ✓ No local installation needed
- ✓ Can deploy to multiple projects (copy XML block)
Cons:
- ✗ Must configure each project individually
- ✗ Updates require editing custom instructions in each project
- ✗ Not truly "system-wide" (project-scoped only)
Scope: Current session only Auto-Activation: No (user activates explicitly) Location: No installation needed
Usage: Start any Claude session (web or CLI), paste:
Load ChittyXL v2.0 protocol:
- Auto-checkpoint at 38k, 76k, 114k, 152k, 171k tokens
- Enforce artifact-first (technical content in artifacts only)
- Sync state to Notion: https://www.notion.so/83e8d8f77e5a45bb96f7188c6fe092d3
- Commands: status, checkpoint, continue, fork, history
- Target: <150 words per chat message, >80% content in artifacts
Pros:
- ✓ Works anywhere (web, CLI, API)
- ✓ No installation or configuration needed
- ✓ Immediate usage
Cons:
- ✗ Must activate manually every session
- ✗ No auto-checkpoint enforcement (depends on Claude's adherence)
- ✗ Inconsistent behavior (varies by session)
For Claude Code Users (developers, engineers): → Deploy as CLI Skill (#1 above)
- Install once to
~/.claude/skills/chittyxl/ - Works in all CLI sessions forever
- Update skill files anytime to change behavior
For Claude.ai Web Users (non-technical, browser-based): → Deploy to Key Projects (#2 above)
- Copy custom instructions block to each important project
- Good for: long-term projects, complex initiatives, knowledge management
- Update: Edit custom instructions when protocol changes
For Experimentation/Testing: → Manual Activation (#3 above)
- Quick test without installation
- One-off sessions where you want ChittyXL behavior
- Not recommended for long-term use
chittyxl/
├── README.md # This file - overview & deployment guide
├── SKILL.md # Core ChittyXL protocol (for Claude Code skills)
├── SESSION_PROTOCOL.md # Detailed checkpoint algorithm
├── NOTION_TEMPLATES.md # CSV export formats & Notion integration
├── DEPLOY_WEB.md # Web deployment guide (custom instructions)
└── examples/ # Example checkpoints, continuations, etc.
Which files do you need?
| Deployment Method | Required Files |
|---|---|
| Claude Code Skill | SKILL.md, SESSION_PROTOCOL.md, NOTION_TEMPLATES.md |
| Web Custom Instructions | DEPLOY_WEB.md (contains XML block) |
| Manual Activation | None (just paste protocol summary) |
1. Install to skills directory:
cd ~/.claude/skills/
git clone <repo-url> chittyxl
# OR manually copy SKILL.md, SESSION_PROTOCOL.md, NOTION_TEMPLATES.md2. Verify installation:
ls ~/.claude/skills/chittyxl/
# Expected: SKILL.md SESSION_PROTOCOL.md NOTION_TEMPLATES.md3. Start Claude Code session:
claude4. Test activation:
User: status
Claude: ChittyXL: Active ✓
Tokens: ~2k/190k (1%)
Next checkpoint: 38k (20%)
Active projects: 0
5. Set up Notion tracker (one-time):
- Open: https://www.notion.so/83e8d8f77e5a45bb96f7188c6fe092d3
- Verify: Projects and Actions databases exist
- Permissions: Ensure Claude integration has write access
6. Work normally - ChittyXL auto-checkpoints at thresholds.
7. Test continuation (next session):
User: continue
Claude: [Loads last session state from Notion]
Active: X projects, Y pending actions | Last checkpoint: Zh ago
Tracker: https://notion.so/...
Once ChittyXL is active:
| Command | Purpose | Example Response |
|---|---|---|
status |
Show session state | ChittyXL: Active ✓ | 42k/190k (22%) | Next: 76k |
checkpoint |
Force immediate checkpoint | Checkpoint #2 complete | 42k/190k | Synced: 2 projects, 7 actions |
continue |
Load last session from Notion | Briefing artifact with active projects/actions |
fork |
Save state + start fresh session | State saved | Session ID: [timestamp] | Ready for fork |
history |
Show last 5 checkpoints | Table artifact with checkpoint metadata |
Token Usage Checkpoint Triggers
═══════════════════════════════════════════════
0k ─────────────────────────┐
│ Normal conversation
38k ────────── CP #1 ────────┤ (20% threshold)
│
76k ────────── CP #2 ────────┤ (40% threshold)
│
114k ────────── CP #3 ────────┤ (60% threshold)
│
152k ────────── CP #4 ────────┤ (80% threshold)
│
171k ────────── CP #5 ────────┤ (90% HARD LIMIT)
⚠️ Session fork recommended │
190k ────────────────────────┘ Budget exhausted
- Extract conversation state (2-5s)
- Projects, actions, decisions, blockers, technical context
- Deduplicate (1-2s)
- Remove redundancy, keep only actionable state
- Sync to Notion (3-7s)
- Update Projects DB (Context Notes, decisions, blockers)
- Create/update Actions DB (task details, status, parent project)
- Generate summary (1-2s)
- Markdown artifact with checkpoint details
- Optional: CSV export if Notion sync fails
- Notify user (≤3 lines in chat)
Checkpoint #X complete | Tokens | Next threshold
Goal: Keep chat concise, move technical content to artifacts.
Chat window (limited to):
- Confirmations: ≤3 lines ("Done ✓", "File updated")
- Blocking questions: 1 max per message ("Use Stripe or PayPal?")
- Checkpoint summaries: ≤150 words, bullet format
Artifacts (always use for):
- Code implementations, scripts, configs
- Technical specs, schemas, APIs, data models
- Documentation, guides, protocols
- Analysis results, reports, comparisons
- CSV exports for Notion import
Example (Correct):
User: Implement PaymentAdapter interface
Claude: Implementation in artifact ↑
Core methods: process(), refund(), validate()
[Artifact contains full TypeScript interface + implementation]
Example (Incorrect):
User: Implement PaymentAdapter interface
Claude: Sure! Let me explain the adapter pattern first.
The adapter pattern is a structural design pattern that allows...
[200 words of explanation]
Here's the implementation:
[50 lines of code inline in chat]
Scenario: Long project spans multiple days/sessions.
Traditional approach:
- Session ends (browser closed, token limit hit)
- Next day: Start fresh, lose all context
- User re-explains project from scratch
- Claude re-learns context (wastes tokens)
ChittyXL approach:
- Session ends (ChittyXL auto-saved state to Notion)
- Next day: Start new session, type
continue - ChittyXL loads Projects + Actions from Notion
- Session resumes exactly where you left off (zero context loss)
Continuation Example:
User: continue
Claude: Session restored from Notion ✓
Active: 3 projects, 12 pending actions
Last checkpoint: 16h ago (Checkpoint #4 at 152k tokens)
Priority: Complete PaymentAdapter + DashboardLayout
Blocked: API Rate Limiting (waiting on Redis)
Ready to continue - see briefing artifact ↑ for full context.
[Artifact contains:
- Project statuses
- Pending actions grouped by project
- Last decisions made
- Technical context (entities, APIs, schemas)
- Blockers and next steps
]
Targets:
- ✓ <150 words/message average (chat conciseness)
- ✓ >80% content in artifacts/Notion (not chat window)
- ✓ <20 seconds checkpoint latency
- ✓ Zero state loss across session boundaries
- ✓ 1-exchange continuation (type "continue" → full briefing)
Monitoring: ChittyXL logs checkpoint metadata to Notion Context Notes:
[LOG:2025-01-16-14:32] CP#3 | 114k tok | Lat: 12s | Notion: ✓ | Projects: 1 updated, Actions: 5 synced
Typical Performance:
- Checkpoint latency: 7-17s (well under 20s target)
- Session longevity: 8-10 checkpoints before hard limit (vs 1-2 without ChittyXL)
- Token efficiency: 5-10x extension through deduplication
- State persistence: 100% (tested across 50+ continuations)
One-time configuration:
-
Access tracker: https://www.notion.so/83e8d8f77e5a45bb96f7188c6fe092d3
-
Verify databases exist:
- Projects: collection://999c414c-06c5-4064-a51b-921193830968
- Actions: collection://6b52d580-f810-4009-964d-478039c144e1
-
Check permissions:
- Claude integration connected to Notion
- Databases are editable (not read-only)
-
Test manual write:
- Create test project: "ChittyXL Setup Test"
- Create test action: "Verify Notion integration" (link to test project)
- If successful, delete test entries
-
Ready to use: ChittyXL will auto-sync on checkpoints
Notion Structure:
Tracker Page
├── Projects Database (table view)
│ ├── Name (title)
│ ├── Status (select: Active | Paused | Completed | Archived)
│ ├── Context Notes (text - session metadata)
│ ├── Decision Log (text - timestamped decisions)
│ ├── Blockers (text)
│ ├── Next Actions (text summary)
│ └── Last Updated (date)
│
└── Actions Database (table view)
├── Action (title)
├── Status (select: Not Started | In Progress | Blocked | Done)
├── Notes (text - technical details)
├── Parent Project (relation to Projects DB)
├── Due (date)
└── Tags (multi-select)
Symptom: status command not recognized
Solutions:
- Verify files exist:
ls ~/.claude/skills/chittyxl/ - Check SKILL.md present and readable
- Restart Claude Code session
- Try manual activation (paste protocol summary)
Symptom: Pass 38k tokens, no checkpoint message Solutions:
- Force checkpoint: type
checkpoint - Check token estimate: type
status - Verify Notion integration connected
- Review SESSION_PROTOCOL.md for threshold logic
Symptom: "Notion sync failed → CSV export" message Solutions:
- Check Notion integration permissions
- Verify database IDs match (see NOTION_TEMPLATES.md)
- Test manual Notion write (create project/action)
- Use CSV export fallback (import manually)
Symptom: Technical content inline in chat, not artifact Solutions:
- Explicitly request: "generate as artifact"
- Verify content type qualifies (code, specs, docs)
- Check artifact-first enforcement in SKILL.md
- May be OK: Simple confirmations don't need artifacts
Symptom: continue command doesn't restore context
Solutions:
- Verify Context Notes populated in Notion project
- Check Last Updated timestamp is recent
- Manually open Notion tracker, check project exists
- Try: "Load projects from Notion tracker [URL]"
Q: Does ChittyXL work in Claude.ai web interface? A: Yes, via custom instructions (see DEPLOY_WEB.md). Not as seamless as CLI skill, but functional.
Q: Can I use ChittyXL without Notion? A: Partially. Artifact-first enforcement works without Notion, but session continuation requires external state storage. You could modify to use other tools (Airtable, Google Sheets, local files).
Q: What if I hit 90% hard limit (171k tokens)?
A: ChittyXL auto-saves state and alerts you. Use fork command to start fresh session with continuation context.
Q: Does ChittyXL slow down responses? A: Checkpoints take <20s, but only occur 5 times per session (at thresholds). Normal conversation unaffected.
Q: Can I customize checkpoint thresholds? A: Yes, edit SESSION_PROTOCOL.md threshold values. Default: 38k, 76k, 114k, 152k, 171k (20% intervals of 190k budget).
Q: Does this work with Claude API? A: Protocol works, but requires custom implementation. ChittyXL targets interactive sessions (web/CLI), not programmatic API usage.
Q: Can I disable ChittyXL temporarily? A:
- CLI:
mv ~/.claude/skills/chittyxl ~/.claude/skills/chittyxl.disabled - Web: Comment out
<chittyxl_protocol>block in custom instructions - Session: "Disable ChittyXL for this session"
Q: How do I update ChittyXL to a new version? A:
- CLI:
cd ~/.claude/skills/chittyxl && git pull - Web: Replace custom instructions block with updated version
- Manual: Update skill files in ~/.claude/skills/chittyxl/
v2.0.0 (Current)
- Auto-checkpoint at 20% intervals
- Notion auto-sync with CSV fallback
- Artifact-first enforcement
- Session continuation via
continuecommand
v2.1.0 (Planned)
- Adaptive checkpoint intervals (more frequent if high complexity)
- Multi-session threading (link related sessions)
- Automatic project archival (completed >30 days ago)
- Performance analytics dashboard (checkpoint metrics)
v3.0.0 (Future)
- Alternative storage backends (Airtable, Google Sheets, local files)
- Cross-session entity tracking (auto-link related entities)
- Smart context pruning (AI-assisted deduplication)
- Session replay (reconstruct conversation from Notion state)
Bug reports: Open issue with reproduction steps Feature requests: Open issue with use case description Pull requests: Fork repo, make changes, submit PR with tests
Development setup:
git clone <repo-url>
cd chittyxl
# Edit SKILL.md, SESSION_PROTOCOL.md, NOTION_TEMPLATES.md
# Test: cp *.md ~/.claude/skills/chittyxl/
# Verify: claude → statusMIT License - see LICENSE file
Documentation: Read SKILL.md, SESSION_PROTOCOL.md, NOTION_TEMPLATES.md Issues: https://github.com///issues Notion Tracker: https://www.notion.so/83e8d8f77e5a45bb96f7188c6fe092d3
Version: 2.0.0 Last Updated: 2025-01-16 Status: Production Ready ✓