임의의 자동 컴팩션 대신 논리적 간격에서 수동 컨텍스트 압축을 제안하여 작업 단계를 통해 컨텍스트를 보존합니다.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add affaan-m/everything-claude-code --skill strategic-compact --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Strategic Compact?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/affaan-m-strategic-compact-7166366f)More formats (shields.io, HTML) on the badges page.
---
name: strategic-compact
description: 임의의 자동 컴팩션 대신 논리적 간격에서 수동 컨텍스트 압축을 제안하여 작업 단계를 통해 컨텍스트를 보존합니다.
origin: ECC
---
# 전략적 컴팩트 스킬
임의의 자동 컴팩션에 의존하지 않고 워크플로우의 전략적 지점에서 수동 `/compact`를 제안합니다.
## 활성화 시점
- 컨텍스트 제한에 근접하는 긴 세션을 실행할 때 (200K+ 토큰)
- 다단계 작업을 수행할 때 (조사 -> 계획 -> 구현 -> 테스트)
- 같은 세션 내에서 관련 없는 작업 간 전환할 때
- 주요 마일스톤을 완료하고 새 작업을 시작할 때
- 응답이 느려지거나 일관성이 떨어질 때 (컨텍스트 압박)
## 전략적 컴팩션이 필요한 이유
자동 컴팩션은 임의의 지점에서 실행됩니다:
- 종종 작업 중간에 실행되어 중요한 컨텍스트를 잃음
- 논리적 작업 경계를 인식하지 못함
- 복잡한 다단계 작업을 중단할 수 있음
논리적 경계에서의 전략적 컴팩션:
- **탐색 후, 실행 전** -- 조사 컨텍스트를 압축하고 구현 계획은 유지
- **마일스톤 완료 후** -- 다음 단계를 위한 새로운 시작
- **주요 컨텍스트 전환 전** -- 다른 작업 시작 전에 탐색 컨텍스트 정리
## 작동 방식
`suggest-compact.js` 스크립트는 PreToolUse (Edit/Write)에서 실행되며 다음을 수행합니다:
1. **도구 호출 추적** -- 세션 내 도구 호출 횟수를 카운트
2. **임계값 감지** -- 설정 가능한 임계값에서 제안 (기본값: 50회)
3. **주기적 알림** -- 임계값 이후 25회마다 알림
## Hook 설정
**플러그인으로 설치한 경우**: 별도 설정이 필요 없습니다. 플러그인의 `hooks/hooks.json`이 이미 `suggest-compact.js`를 등록합니다(훅 ID `pre:edit-write:suggest-compact`, `standard` 및 `strict` 훅 프로파일에서 활성). 아래 블록을 `~/.claude/settings.json`에 복사하지 마세요 — 플러그인 설치에는 `~/.claude/scripts/`가 존재하지 않으며, 플러그인 훅을 중복하면 이중 실행이 발생합니다(`${CLAUDE_PLUGIN_ROOT}`는 사용자 `settings.json`에서 해석되지 않습니다).
**수동 설치**(`./install.sh`)인 경우 `~/.claude/settings.json`에 추가합니다:
```json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"hooks": [{ "type": "command", "command": "node ~/.claude/scripts/hooks/suggest-compact.js" }]
},
{
"matcher": "Write",
"hooks": [{ "type": "command", "command": "node ~/.claude/scripts/hooks/suggest-compact.js" }]
}
]
}
}
```
## 구성
환경 변수:
- `COMPACT_THRESHOLD` -- 첫 번째 제안까지의 도구 호출 횟수 (기본값: 50)
## 컴팩션 결정 가이드
컴팩션 시기를 결정하기 위해 이 표를 사용하세요:
| 단계 전환 | 컴팩션? | 이유 |
|-----------------|----------|-----|
| 조사 -> 계획 | 예 | 조사 컨텍스트는 부피가 크고, 계획이 증류된 결과물 |
| 계획 -> 구현 | 예 | 계획은 TodoWrite 또는 파일에 있으므로 코드를 위한 컨텍스트 확보 |
| 구현 -> 테스트 | 경우에 따라 | 테스트가 최근 코드를 참조하면 유지; 포커스 전환 시 컴팩션 |
| 디버깅 -> 다음 기능 | 예 | 디버그 추적이 관련 없는 작업의 컨텍스트를 오염시킴 |
| 구현 중간 | 아니오 | 변수명, 파일 경로, 부분 상태를 잃는 비용이 큼 |
| 실패한 접근 후 | 예 | 새 접근을 시도하기 전에 막다른 길의 추론을 정리 |
## 컴팩션에서 유지되는 것
무엇이 유지되는지 이해하면 자신 있게 컴팩션할 수 있습니다:
| 유지됨 | 손실됨 |
|----------|------|
| CLAUDE.md 지침 | 중간 추론 및 분석 |
| TodoWrite 작업 목록 | 이전에 읽은 파일 내용 |
| 메모리 파일 (`~/.claude/memory/`) | 다단계 대화 컨텍스트 |
| Git 상태 (커밋, 브랜치) | 도구 호출 기록 및 횟수 |
| 디스크의 파일 | 구두로 언급된 세밀한 사용자 선호도 |
## 모범 사례
1. **계획 후 컴팩션** -- TodoWrite에서 계획이 확정되면 새로 시작하기 위해 컴팩션
2. **디버깅 후 컴팩션** -- 계속하기 전에 에러 해결 컨텍스트 정리
3. **구현 중간에는 컴팩션하지 않기** -- 관련 변경 사항의 컨텍스트 보존
4. **제안을 읽기** -- Hook이 *언제*를 알려주고, *할지* 여부는 당신이 결정
5. **컴팩션 전에 기록** -- 컴팩션 전에 중요한 컨텍스트를 파일이나 메모리에 저장
6. **요약과 함께 `/compact` 사용** -- 커스텀 메시지 추가: `/compact Focus on implementing auth middleware next`
## 관련 항목
- [The Longform Guide](https://x.com/affaanmustafa/status/2014040193557471352) -- 토큰 최적화 섹션
- 메모리 영속성 Hook -- 컴팩션에서 살아남는 상태를 위해
- `continuous-learning` 스킬 -- 세션 종료 전 패턴 추출
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!