Files
AI_template/.claude/skills/strategic-compact/SKILL.md
olekhondera db5ba04fb9 feat: expand agents (10), skills (20), and hooks (11) with profile system
Agents:
- Add YAML frontmatter (model, tools) to all 7 existing agents
- New agents: planner (opus), build-error-resolver (sonnet), loop-operator (sonnet)

Skills:
- search-first: research before building (Adopt/Extend/Compose/Build)
- verification-loop: full quality gate pipeline (Build→TypeCheck→Lint→Test→Security→Diff)
- strategic-compact: when and how to run /compact effectively
- autonomous-loops: 6 patterns for autonomous agent workflows
- continuous-learning: extract session learnings into instincts

Hooks:
- Profile system (minimal/standard/strict) via run-with-profile.sh
- config-protection: block linter/formatter config edits (standard)
- suggest-compact: remind about /compact every ~50 tool calls (standard)
- auto-tmux-dev: suggest tmux for dev servers (standard)
- session-save/session-load: persist and restore session context (Stop/SessionStart)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 20:16:20 +02:00

94 lines
3.3 KiB
Markdown

---
name: strategic-compact
description: Guide for when and how to run /compact effectively — preserving critical context while freeing token budget. Use at phase transitions, before large implementations, or when context is bloated.
disable-model-invocation: true
---
# Strategic Compact
Evaluate whether `/compact` should be run now, and if so, prepare for it.
## Context
Current conversation state:
!`echo "Working directory: $(pwd)" && echo "Git branch: $(git branch --show-current 2>/dev/null)" && echo "Modified files: $(git diff --name-only 2>/dev/null | wc -l | tr -d ' ')" && echo "Staged files: $(git diff --cached --name-only 2>/dev/null | wc -l | tr -d ' ')"`
## When to Compact
Use this decision table:
| Trigger | Should Compact? | Priority |
|---------|----------------|----------|
| Phase transition (planning → implementation) | Yes | High |
| Starting a new major feature | Yes | High |
| After completing a large task (before next) | Yes | Medium |
| Context feels sluggish or repetitive | Yes | Medium |
| Mid-implementation (code partially written) | **No** — finish first | - |
| Debugging an active issue | **No** — need full context | - |
| Waiting for user input | Maybe — depends on context size | Low |
### Do NOT compact when:
- You're in the middle of writing code (partial state will be lost)
- You're debugging and need the full error trail
- You have uncommitted understanding of complex relationships
- The user just gave important instructions that aren't saved to files
## Pre-Compact Checklist
Before running `/compact`, ensure critical context survives:
### 1. Save state to files
Information that exists only in conversation will be lost. Save to appropriate places:
- **Implementation plan** → Update or create a task list
- **Decisions made** → Record in `RECOMMENDATIONS.md` or ADR
- **Current phase/status** → Verify `docs/phases-plan.md` is current
- **Known issues** → Document in code comments or issues
### 2. Commit work in progress
```bash
# Check for uncommitted changes
git status
# If meaningful changes exist, commit them
git add -A && git commit -m "wip: [what was in progress]"
```
### 3. Verify anchors
Ensure these files are up-to-date (they'll be re-read after compact):
- `RULES.md` — project conventions
- `RECOMMENDATIONS.md` — current decisions and constraints
- `docs/phases-plan.md` — phase status
### 4. Write a compact summary
Create a brief note of what survives compaction vs. what's re-derivable:
**Survives** (in files):
- Project rules and recommendations
- Code changes (committed)
- Documentation updates
**Lost** (conversation-only):
- Reasoning chains and trade-off discussions
- Rejected approaches and why
- Nuanced context from user messages
## After Compact
After `/compact` runs:
1. Re-read `RULES.md` and `RECOMMENDATIONS.md`
2. Check task list for current progress
3. Review `git log --oneline -5` for recent context
4. Resume work from the task list
## Token Optimization Tips
- **Before compact**: Write meaningful commit messages — they're your post-compact memory
- **File references**: Use `file:line` references instead of pasting code blocks
- **Avoid re-reading**: Once you've read a file, note the key facts — don't re-read it
- **Trim conversation**: If the user asks a tangential question, answer it concisely without pulling in the full project context