From signal
Manually triggers a checkpoint compression of the current session state. Collapses conversation history into a compact state atom (≤50 tokens). Use when user types /signal-ckpt, "checkpoint", "compress context", "summarize session", "save state", or when the context window is getting large. In SIGNAL-3 mode this fires automatically every 5 turns.
How this skill is triggered — by the user, by Claude, or both
Slash command
/signal:signal-ckptThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Collapse the session into a ≤50 token state atom. Drop all prior history. Resume from the atom.
Collapse the session into a ≤50 token state atom. Drop all prior history. Resume from the atom.
Activate when user says any of:
/signal-ckpt"checkpoint", "compress context", "summarize session""save state", "compress history", "ckpt"CKPT[N]:
§project={name} §stack={tech}
progress=[{task}✓, {task}✗, {task}∅, {task}/]
blockers=[{issue}⊥{component}]
next={next_task}
§decisions=[{decision}✓]
N = checkpoint sequence number, starting at 1. Increment on each checkpoint.
Minimal valid checkpoint (when session is simple):
CKPT[1]:
§project=my-app
progress=[auth✓, api/]
next=finish api endpoints
Full checkpoint (active blockers, decisions, aliases):
CKPT[3]:
§project=data-pipeline §stack=python+airflow
[X1]=schema_validation_step [X2]=postgres_loader
progress=[ingest✓, transform✓, X1✗, X2∅]
blockers=[X1⊥schema_mismatch]
next=fix schema_mismatch in X1
§decisions=[use_upsert✓]
≤50 tokens total. Count ruthlessly. If over, compress further: merge related tasks, abbreviate names, drop resolved items.
Checkpoint replaces conversation history. After this fires, all prior turns can be dropped. The checkpoint IS the history.
Only active blockers. Resolved blockers are gone. They do not appear anywhere in the checkpoint.
Only future-relevant decisions. §decisions only includes decisions that affect work not yet complete. Past decisions with no forward implication are dropped.
next is singular. One task. The most immediate pending action. Not a backlog.
Carry active aliases forward. Any [Xn] aliases still in use must appear in the checkpoint. Aliases for resolved items are dropped.
When generating a checkpoint:
Identify all tasks mentioned in the session. Assign each a status from its last known state (✓ ✗ ∅ / ⊥).
Drop resolved blockers. If a blocker was fixed, it's gone.
Filter §decisions to only those that affect future work.
Set next to the single most immediate pending or in-progress action.
Count tokens. If >50:
auth-login✓ + auth-refresh✓ → auth✓)§stack if obvious from project nameVerify sufficiency. Could someone read only this checkpoint and resume the work without prior context? If no, add the missing signal.
| Symbol | Meaning |
|---|---|
✓ | Complete |
✗ | Failed / broken |
∅ | Not started |
/ | In progress |
⊥ | Blocked |
When a session resumes after a checkpoint (new context window, continuation):
next without re-reading prior turns.Resume format:
[Resuming from CKPT[2]]
CKPT[2]:
§project=api-service §stack=node+express
progress=[auth✓, routes/, tests∅]
next=finish routes
In SIGNAL-3 mode, checkpoints fire automatically every 5 turns (or the configured interval).
Auto-checkpoint behavior:
Configuring the interval:
BOOT: CKPT:every 3 turns ← more aggressive
BOOT: CKPT:every 10 turns ← less aggressive
BOOT: CKPT:∅ ← disable auto-checkpoint (manual only)
CKPT[1]:
§project=auth-api
progress=[login-endpoint✓, refresh-endpoint/, logout∅]
blockers=[refresh⊥redis_timeout]
next=fix redis timeout in refresh endpoint
Token count: ~22 tokens. Under limit.
CKPT[3]:
§project=platform-v2 §stack=nextjs+postgres+redis
[X1]=auth_service [X2]=caching_layer [X3]=rate_limiter
progress=[X1✓, X2/, X3∅, db-schema✓, api-routes/]
blockers=[X2⊥session_store_conflict]
next=resolve X2⊥session_store
§decisions=[jwt_over_sessions✓, redis_for_X2✓]
Token count: ~38 tokens. Under limit.
The checkpoint itself must be maximally compressed:
npx claudepluginhub mattbaconz/signal --plugin signalGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.