Context compression for long coding sessions. Creates checkpoints (state snapshots) and maintains them as you work. Invoke at session start to auto-load the current checkpoint.
Context compression at natural breakpoints, not reactive to token limits.
Session Start (invoke skill):
ā /coihuin-compress
ā Auto-detect: run `chkcc current`
ā If current exists: read checkpoint file, resume work
ā If no current: offer to create or set one
During Session:
ā Continuous maintenance (update checkpoint as you work)
ā "delta" for explicit progress markers
ā "archive" when work complete
Checkpoint Operations (create/delta/archive):
ā Write checkpoint files
ā Auto-commit: security scan ā atomic commits ā checkpoint always included
This is the core principle. Don't wait for "delta" commands. Update the checkpoint as you work:
| When This Happens | Update This Section |
|---|---|
| Decision made | ā Decisions |
| File created/modified/deleted | ā Artifact Trail |
| Task completed | ā Play-By-Play, Current State |
| Blocker hit | ā Breadcrumbs, Next Actions |
| Direction changes | ā Session Intent, Next Actions |
Update immediately, not in batches. Small, frequent updates keep the checkpoint alive in your working memory.
| State | Location | Meaning |
|---|---|---|
| current | checkpoints/active/ |
The ONE checkpoint being actively worked on |
| active | checkpoints/active/ |
In-progress work (not immediate focus) |
| archived | checkpoints/archive/ |
Completed work |
chkcc current <checkpoint> # Set as current
chkcc current # Show current
chkcc current --clear # Clear current
chkcc status # Show all active with summaries
Auto-detect and load current checkpoint when skill is invoked.
Trigger: /coihuin-compress at session start (no arguments)
How:
chkcc current to check for existing current checkpointcheckpoints/active/INDEX.md for available checkpointsCreate new state snapshot.
Trigger: "checkpoint", "create checkpoint"
How:
checkpoint-format.md for structurecheckpoints/active/<name>.mdcheckpoints/active/INDEX.mdForce a structured update when you want visibility into what changed.
Trigger: "delta", "update checkpoint"
How:
## Delta: <timestamp> section to checkpointNote: With continuous maintenance, explicit deltas are less necessary. Use when you want a clear marker of progress.
Complete work and move to historical storage.
Trigger: "archive"
How:
What was achieved? Any learnings worth preserving?
## Completion section with status, outcome, learnings, datecheckpoints/archive/checkpoints/active/INDEX.mdcheckpoints/LEARNINGS.mdValidation: Cannot archive checkpoints with active children (use --force to override).
Checkpoint operations (create, delta, archive) trigger automatic commits. The checkpoint and commit are paired ā when work is significant enough to checkpoint, it's significant enough to commit.
checkpoints/.Security scan
.env, credentials, API keys, tokensAnalyze uncommitted changes
git status to see all staged and unstaged changesAuto-commit each atomic unit
Checkpoint commit message derivation
chore for checkpoint maintenance, or match the work type (feat, fix, etc.)<type>(<scope>): <subject from session intent/current state>
<Problem statement ā what this solves>
<Key decisions or trade-offs if relevant>
Checkpoint: <checkpoint-id>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Only interrupt when:
Do NOT ask for:
When work diverges into parallel streams, offer options:
Strong signals (any one suggests fork):
Weak signals (two+ together suggest fork):
When detected, present options:
parent for lineage)Not a fork: Trivial fixes, config changes, supporting changes for main work.
checkpoints/
āāā active/
ā āāā INDEX.md
ā āāā chk-*.md
āāā archive/
ā āāā chk-*.md
āāā LEARNINGS.md # Accumulated insights from archives
| File | Purpose |
|---|---|
checkpoint-format.md |
Checkpoint structure specification |
index-format.md |
INDEX.md structure specification |
LEARNINGS.md |
Accumulated learnings from archived checkpoints |
Before finalizing updates, verify: