Context management
Skill sefaertunc/Worclaude/.claude/skills/context-management
CLI scaffolding tool that generates tailored .claude/ workflow infrastructure for Claude Code projects
npx -y skills add sefaertunc/Worclaude --skill context-managementAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Context budget awareness, when to compact, when to clear, subagent offloading
SKILL.md
6.9 KB, as published. Nobody here has run it
Context Management
Note: The bash examples below are reference snippets. If you enable
disableSkillShellExecutionin Claude Code settings (v2.1.101+), any inline shell execution from skills is blocked. These fenced examples are safe to read; copy-paste them into your terminal to run.
The 70% Rule
Context windows are finite. When you estimate you've used roughly 70% of available context, it's time to act. Don't wait until you're out of room — you lose the ability to reason well before you hit the hard limit.
Signs you're running low:
- You've read many large files in this session
- You've had a long back-and-forth conversation
- You're working on a second or third major task
- Responses are getting slower or less coherent
Three Tools, Different Jobs
/compact — Compress and continue
Use when: you're mid-task and need more room but want to keep working. What it does: summarizes conversation history, freeing context. Pair with: PostCompact hook that re-reads CLAUDE.md and PROGRESS.md automatically.
After compaction, always re-orient:
- What task am I working on?
- What branch am I on?
- What did I just do?
/clear — Fresh start
Use when: you're starting a genuinely new task with no relationship to the current one. What it does: wipes conversation entirely. Caution: you lose ALL context. Make sure PROGRESS.md is updated first.
Subagents — Offload without losing context
Use when: a side task would pollute your main context (research, testing, file generation). What it does: spawns a separate context that does work and returns results. Your main context stays clean.
Decision Matrix
| Situation | Action |
|---|---|
| ~70% context, mid-task | /compact |
| Task complete, starting unrelated work | /clear |
| Need to research something tangential | Subagent |
| Need to run tests while continuing design | Subagent |
| Context feels sluggish, responses degrading | /compact |
| Long debugging session, found the fix | /compact, then implement |
PostCompact Hook
The workflow installs a PostCompact hook that runs:
cat CLAUDE.md && cat docs/spec/PROGRESS.md 2>/dev/null || true
On Windows, this command runs in Git Bash (installed with Git for Windows).
This ensures you never lose your bearings after compaction. The hook fires automatically — you don't need to re-read these files manually.
Session Persistence
The workflow automatically maintains session continuity:
SessionStart Hook (automatic)
When a new Claude Code session opens, a hook automatically injects:
- CLAUDE.md — project conventions and rules
- PROGRESS.md — current project state
- The most recent session summary from
.claude/sessions/
You don't need to manually re-read these. The hook handles it. Use /start for additional context (handoff files, agent routing).
Session Summaries
Session summaries are written to .claude/sessions/ by:
/commit-push-pr— writes a summary before committing (completed work)/end— writes a summary before the handoff commit (in-progress work)
These are local files (gitignored) that bridge the gap between sessions. They're automatically picked up by the next session's SessionStart hook.
The Continuity Chain
Session 1: work → /commit-push-pr → writes session summary → push
Session 2: SessionStart hook → reads summary → knows what happened → /start for extras
If the session summary is missing or stale, /start still reads PROGRESS.md and handoff files as fallback. The system degrades gracefully.
Hook Profiles
Control which hooks fire via the WORCLAUDE_HOOK_PROFILE environment variable:
| Profile | Hooks Active | Use When |
|---|---|---|
minimal | SessionStart, PostCompact only | Exploring, learning, minimal overhead |
standard | All hooks (default) | Normal development |
strict | All hooks + TypeScript checking | Pre-release, team CI, maximum safety |
Set in your shell:
export WORCLAUDE_HOOK_PROFILE=minimal # lightweight
export WORCLAUDE_HOOK_PROFILE=standard # default (same as unset)
export WORCLAUDE_HOOK_PROFILE=strict # maximum enforcement
Or per-session:
WORCLAUDE_HOOK_PROFILE=strict claude
The default is standard if the variable is not set. You don't need to do
anything for normal development — the default just works.
Token Budgets (Reference)
Approximate values from Claude Code v2.1.88 source (March 2026). These may change between releases.
| Resource | Budget |
|---|---|
| Context window (default) | 200,000 tokens |
| Context window (Opus 4.6 / Sonnet 4.6 with 1M) | 1,000,000 tokens |
| Max output tokens (Sonnet 4.6) | 32,000 default, 128,000 upper limit |
| Max output tokens (Opus 4.6) | 64,000 default, 128,000 upper limit |
| Tool presence overhead | ~500 tokens (added when any tools are enabled) |
| Post-compact file restore | 5 files max, 50,000 token budget, 5,000 per file |
| Post-compact skills restore | 25,000 token budget, 5,000 per skill |
| Compact summary output | 20,000 tokens max |
| CLAUDE.md total budget | ~40,000 characters across all loaded instruction files |
| MEMORY.md (native, ~/.claude/) | 200 lines / 25,000 bytes |
Practical takeaways:
- After compaction, only 5 files are restored at 5k tokens each. Structure your work so the most important files are recently read.
- Skills over 5k tokens get truncated after compaction. Keep skills focused.
- The 70% rule still applies — these numbers help you estimate when you'll hit it.
Context Budget Tiers
Monitor your context usage and adjust behavior accordingly:
| Tier | Context Free | Behavior |
|---|---|---|
| PEAK | >75% | Normal operation — read files freely, keep full context |
| GOOD | 50-75% | Be selective about file reads — summarize large files |
| DEGRADING | 25-50% | Summarize before reading new files, consider /compact |
| CRITICAL | <25% | Save state immediately, /compact, reload only essentials |
Heuristics (you cannot measure exact tokens):
- Many large file reads in this session = likely DEGRADING
- Long conversation with multiple tasks = likely DEGRADING
- Just started or just compacted = likely PEAK
Gotchas
- Compacting doesn't free as much context as you think. If you've read 20 large files, compaction helps but won't get you back to fresh. Consider /clear if the task is done.
- Subagents don't share your conversation context. They start fresh. Give them explicit instructions and file paths — don't assume they know what you know.
- Don't compact right before a complex merge or refactor. You'll lose the nuanced understanding of the changes you've been building up.
- After /compact, always verify your understanding before making changes. The summary may have lost important details.