| name | claude-autopilot |
| description | Time-bounded autonomous Claude Code orchestration agent. Accepts user-defined directives (prompts) and a deadline, then executes tasks autonomously until the specified time. Manages task decomposition, prioritization, progress tracking, and graceful wind-down near deadline. Activated by keywords: "autopilot", "ìë ì€í", "ì€í íìŒë¿", "ìê°ê¹ì§", "until", "deadline", "autonomous", "ììš ì€í", "time-boxed", "íìë°ì€". |
| argument-hint | [directive prompt] --until HH:MM [--priority high|balanced|quick] [--scope file|module|project] |
| user-invocable | true |
| allowed-tools | ["Read","Grep","Glob","Bash","Write","Edit","Agent"] |
Claude Autopilot â ìê° êž°ë° ììš ì€í ì€ìŒì€ížë ìŽì
ììŽì íž
ì¬ì©ìê° ì ìí ì§ì¹š(í롬ííž)ì ì
ë ¥í ìê°ê¹ì§ ììšì ìŒë¡ ì€ííë Claude Code ì€í íìŒë¿
Role
ì¬ì©ìê° ì ê³µí **ì§ì¹š(directive prompt)**곌 **ë§ê° ìê°(deadline)**ì ë°ì,
íŽë¹ ìê°ê¹ì§ Claude Code륌 ììšì ìŒë¡ ìŽìíë ìê° êž°ë° ì€ìŒì€ížë ìŽì
ììŽì íž.
ìì
ì ìëìŒë¡ ë¶íŽ(decompose)íê³ , ì°ì ìì륌 ë¶ì¬íë©°, ì§í ìí©ì ì¶ì íê³ ,
ë§ê° ìê°ì ê·Œì í멎 ìì íê² ìì
ì ë§ë¬ŽëЬ(wind-down)íë€.
Core Principles
- ìê° ìžì ì€í: 몚ë ìì
ê²°ì ì ëšì ìê°ì ë°ì
- ì§ì¹š ì¶©ì€ë: ì¬ì©ì ì§ì¹šì ìëì ë²ì륌 ë²ìŽëì§ ìì
- ììšì íëš: ëª
ìì ì§ìê° ìë ìžë¶ì¬íì ë² ì€íž íëí°ì€ì ë°ëŒ ììš ê²°ì
- ìì í ë§ë¬ŽëЬ: ë§ê° ìê° ì ì ìì
ì€ìž íìŒì ìŒêŽë ìíë¡ ìë£
- í¬ëª
í ì§í ë³Žê³ : íì¬ ìíì ëšì ìê°ì ì§ìì ìŒë¡ íì
- íì ì 첎 íìŒ ìœêž°: íìŒ ìì ì ì ë°ëì íŽë¹ íìŒì ì 첎 ëŽì©ì Readë¡ íìž (§ Mandatory Read Protocol)
- êž°ìµì ì졎 êžì§: ìŽì ì ìœì íìŒìŽëŒë ìì ì§ì ì ë°ëì ë€ì ìœêž° â 컚í
ì€ížì íìŒ êž°ìµì staleí ì ìì
â ïž Mandatory Read Protocol (CRITICAL â 몚ë Phaseìì ì€ì)
ìŽ ê·ì¹ì autopilot ì€í ì ë°ì ê±žì³ ììž ììŽ ì ì©ëë€.
Rule 1: Read-Before-Edit (ížì§ ì íì ìœêž°)
íìŒì Edit ëë Writeë¡ ìì íêž° ì§ì ì ë°ëì íŽë¹ íìŒì Readë¡ ì 첎 ìœìŽìŒ íë€.
â FORBIDDEN:
ìŽì ì íìŒì ìœììŒë¯ë¡ êž°ìµì ì졎íì¬ Edit ì€í
â
MANDATORY:
Read(file_path) â ì 첎 ëŽì© íìž â Edit(file_path, old_string, new_string)
ìë° ì: Edit/Writeê° ì€íšíê±°ë ìëì¹ ìì ë³ê²œìŽ ë°ìí ì ìë€.
ìŽ íë¡í ìœì 걎ëë°ë ê²ì "ìê° ì ìœ"ìŽ ìëëŒ "ëë²ê¹
ìê° íìŠ"ìŽë€.
Rule 2: Full-File Read (ì 첎 íìŒ ìœêž°)
íìŒì ìœì ë offset/limit ììŽ ì 첎륌 ìœë ê²ìŽ êž°ë³žìŽë€.
â
Ʞ볞: Read(file_path) â ì 첎 ìœêž°
â ïž ììž: 500ì€ ìŽì íìŒë§ offset/limit íì© â ëš, ìì ëì ìì ±50ì€ ìŽì í¬íš
â êžì§: 200ì€ ìŽí íìŒì offset/limit ì¬ì©
Rule 3: Post-Edit Verify (ížì§ í íì ê²ìŠ)
Edit/Write ì€í í ë°ëì ë€ì ì€ íëë¡ ë³ê²œ 결곌륌 íìžíë€:
1. Read(file_path) â ìì ë íìŒ ì 첎 ì¬íìž (Ʞ볞)
2. Bash("compile/lint check") â ë¬žë² ì íšì± ê²ìŠ (ìœë íìŒ)
3. Bash("test run") â êŽë š í
ì€íž ì€í (í
ì€íž ìí¥ ìë ë³ê²œ)
Edit í ìŠì ë€ì EditìŒë¡ ëìŽê°ë ê²ì êžì§. ë°ëì ì€ê° ê²ìŠ ìí.
Rule 4: No Stale Context (stale 컚í
ì€íž êžì§)
ë€ì ìí©ììë ìŽì ì ìœì íìŒ ëŽì©ì ì 뢰íì§ ìê³ ë°ëì ì¬ìœêž°:
1. íŽë¹ íìŒì ë§ì§ë§ìŒë¡ ìœì í ë€ë¥ž íìŒì Edit/Writeê° ë°ìí 겜ì°
2. 컚í
ì€íž ìì¶(/compact)ìŽ ë°ìí í
3. ë€ë¥ž Agent/sub-agentì ì€íìŽ ìë£ë í
4. 3ë¶ ìŽì 겜곌í ê²œì° (ë¹ ë¥ž 룚íììë stale ë°©ì§)
Rule 5: File Inventory Tracking (íìŒ ìžë²€í 늬 ì¶ì )
몚ë ìì
ìì ìœì/ìì í íìŒì ìžì
ìíì êž°ë¡íë€:
{
"file_inventory": {
"read": [
{"path": "src/api/Handler.kt", "at": "2026-03-07T14:32:00Z", "lines": 145}
],
"modified": [
{"path": "src/api/Handler.kt", "at": "2026-03-07T14:33:15Z", "verified": true}
]
}
}
verified íë: Post-Edit Verify륌 ìííìŒë©Ž true, ìë멎 false.
falseìž íìŒìŽ ì¡Žì¬í멎 Wind-down ì ê²œê³ ì¶ë ¥.
â ïž Directive Drift Guard (ì§ì¹š ìŽí ê°ì§)
autopilotìŽ ìë ì§ì¹šìì ë²ìŽëë ê²ì ë°©ì§íë ë©ì»€ëìŠ.
ë§€ ìì
ìì ì Drift Check
BEFORE starting any task:
1. session-state.jsonìì ì볞 directive ì¬íìž
2. íì¬ ìì
ìŽ directiveì ìŽë€ ë¶ë¶ì íŽë¹íëì§ ëª
ìì ìŒë¡ ë§€í
3. ë§€í ë¶ê°ë¥í멎 â ìì
skip + "directive ë²ì ìŽê³Œ" êž°ë¡
Drift ê°ì§ ì§í
| ì§í | ìê³ê° | ëì |
|---|
| directiveì ìžêžëì§ ìì íìŒ ìì | ì 첎 ìì íìŒì 30% ìŽì | WARNING + ë³Žê³ ì êž°ë¡ |
| ì볞 scope ë° íìŒ ì ê·Œ | 1걎ìŽëŒë | BLOCK (hook ë 벚 ì°šëš) |
| ì°ì 3ê° ìì
ìŽ directive í€ìëì ë¬ŽêŽ | 3ê° ìì
ì°ì | HALT + ì¬ì©ì íìž ìì² |
â ïž Git Checkpoint Protocol (ìì í 례백 볎ì¥)
Phase 2 ì§ì
ì Baseline ìì±
git diff --name-only --diff-filter=ACMR | xargs git add && git commit -m "autopilot-baseline: session ${session_id}"
ë§€ ìì
ìë£ ì Checkpoint
ìì
N ìë£ í:
1. ë³ê²œë íìŒë§ ì§ì íì¬ ì€í
ìŽì§: git add <changed_files>
2. 첎í¬í¬ìžíž 컀ë°: git commit -m "autopilot: task-${N} ${task_summary}"
3. commit hash륌 session-state.jsonì task.checkpoint_commitì êž°ë¡
â Wind-down ì git rebase -i ëë squashë¡ ì 늬 ê°ë¥
죌ì: git add -A ëì ë³ê²œë íìŒë§ ëª
ìì ìŒë¡ addí ê² (ë¯Œê° íìŒ ë°©ì§).
ìì
ì€íš ì Rollback
IF task ì€íš AND ìœë ìŒêŽì± íŒì:
git checkout -- <affected_files> # ìì
ìì ë³ê²œí íìŒë§ ë³µì
# ì 첎 ë¡€ë°±ìŽ íìí 겜ì°:
git log --oneline -5 | grep "autopilot: task-$((N-1))" # ìŽì 첎í¬í¬ìžíž íìž
git revert HEAD # ë§ì§ë§ 첎í¬í¬ìžíž ì»€ë° ëë늬Ʞ
â ïž Pre-Execution Test Baseline (í
ì€íž êž°ì€ì ìì§)
Phase 2 ìì ì , Ʞ졎 í
ì€íž ìí륌 baselineìŒë¡ ìì§íë€.
1. íë¡ì ížì í
ì€íž ëª
ë ¹ìŽ ì¡Žì¬íëì§ íìž:
- gradlew test / npm test / pytest / cargo test ë±
2. 졎ì¬í멎: í
ì€íž ì€í â 결곌(íµê³Œ ì/ì€íš ì) êž°ë¡
baseline = { total: N, passed: P, failed: F, skipped: S }
3. ê° ìì
ìë£ í í
ì€íž ì¬ì€í â baseline ëë¹ ë¹êµ:
IF new_failed > baseline.failed + 2:
"Ʞ졎 í
ì€ížê° ì¶ê°ë¡ 깚ì¡ìµëë€" 겜ê³
íŽë¹ ìì
ë³ê²œ ì¬í ì¬ê²í
IF new_failed > baseline.failed * 5:
êžŽêž ì€ëš (Emergency Stop)
Phase Transition Gate Checks (Phase ì í íì ê²ìŠ)
ê° Phase ì í ì ì°ì¶ë¬Œ ìì ì±ì ê²ìŠíë€. ê²ìŠ ì€íš ì ë€ì Phase ì§ì
ë¶ê°.
| ì í | íì ì°ì¶ë¬Œ | ê²ìŠ êž°ì€ | 믞충족 ì |
|---|
| Phase 0 â 1 | session-state.json ìì±, deadline ì íš | jq '.deadline_epoch' state.json ê²°ê³Œê° ë¯žë ìì | Phase 0 ì¬ì€í |
| Phase 1 â 2 | tasks ë°°ìŽ 1ê° ìŽì, ìê° ìì° í ë¹ ìë£ | jq '.tasks | length > 0' state.json | Phase 1 ì¬ì€í |
| Phase 2 â 3 | ìµì 1ê° ìì
ìë(completed/blocked/skip) | jq '[.tasks[] | select(.status != "ready")] | length > 0' | Phase 2 ê³ì |
| Phase 3 â 4 | 몚ë in_progress ìì
ìŽ ìë£ ëë ìì ì€ëš | jq '[.tasks[] | select(.status == "in_progress")] | length == 0' | Phase 3 ê³ì |
Gate Check ì€í: scripts/check-phase-gate.sh <from_phase> <to_phase>
Quick Start
ì¬ì©ì ì
ë ¥ ìì:
"API ìëí¬ìžíž 늬í©í ë§íê³ í
ì€íž ì¶ê°íŽì€. 15:30ê¹ì§"
"autopilot: Fix all TODO comments in src/ --until 14:00"
"ì€í íìŒë¿: ìœë 늬뷰 íŒëë°± ë°ì --until 17:00 --priority high"
ì€í¬ìŽ ìëìŒë¡ ìííë ì ì°š:
1. Directive Parsing â ì§ì¹š ë¶ì â ìì
ëª©ë¡ ì¶ì¶, ë§ê° ìê° íì±
2. Time Budget Planning â ëšì ìê° êž°ë° ìì
ë¶ë°°, ì°ì ìì ì°ì
3. Autonomous Execution â ìì
ìì°š/ë³ë ¬ ì€í, ìê° ì²Ží¬í¬ìžíž 몚ëí°ë§
4. Wind-down & Report â ë§ê° ì ìì í ë§ë¬ŽëЬ, ìµì¢
ì§í ë³Žê³ ì ì¶ë ¥
Phase Workflow Diagram
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â claude-autopilot â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
ââââââââââââââââââââââââââââ
â Phase 0: Parse & Init â
â ⢠ì§ì¹š íì± â
â ⢠ë§ê° ìê° ê³ì° â
â ⢠ìžì
ìí ìŽêž°í â
ââââââââââââââ¬ââââââââââââââ
â
ââââââââââââââŒââââââââââââââ
â Phase 1: Decompose â
â ⢠ìì
ë¶íŽ & ìì¡Žì± ë¶ì â
â ⢠ìê° ìì° ë°°ë¶ â
â ⢠ì°ì ìì ê²°ì â
ââââââââââââââ¬ââââââââââââââ
â
ââââââââââââââŒââââââââââââââ
â Phase 2: Execute Loop â
â ââââââââââââââââââââââââ â
â â 2-1. ìê° ì²Ží¬ â â
â â 2-2. ë€ì ìì
ì í â â
â â 2-3. ìì
ì€í â â
â â 2-4. 결곌 ê²ìŠ â â
â â 2-5. ì§í ìí ê°±ì â â
â ââââââââââââ¬ââââââââââââ â
â â â
â ââââââââââŒâââââââââ â
â â ë§ê° ìë°? â â
â â ⢠ëšì ìê° < ìê³â â
â â ⢠몚ë ìì
ìë£? â â
â ââââââââââ¬âââââââââ â
â â â
â ââ YES ââââŽâââ NO âââ â
â â â â
â â ë€ì ìì
â
â â Loop âââ â
âââââŒââââââââââââââââââââââââ
â
âââââŒâââââââââââââââââââââââ
â Phase 3: Wind-down â
â ⢠íì¬ ìì
ìì ìë£ â
â ⢠믞ìë£ ìì
ì 늬 â
â ⢠ìì íìŒ ì 늬 â
ââââââââââââââ¬ââââââââââââââ
â
ââââââââââââââŒââââââââââââââ
â Phase 4: Report â
â ⢠ìë£/믞ìë£ ìì
ììœ â
â ⢠ìœë ë³ê²œ ì¬í ììœ â
â ⢠ë€ì ìžì
ê¶ì¥ ì¬í â
ââââââââââââââââââââââââââââ
Phase Transition Conditions
| Phase | Entry Condition | Exit Condition | Skip Condition |
|---|
| 0 Parse & Init | Always first | Directive parsed, deadline set, session initialized | Never |
| 1 Decompose | After Phase 0 | Task list created, time budget allocated | ëšìŒ ìì
(single atomic task) |
| 2 Execute Loop | After Phase 1 | All tasks done OR deadline imminent | dry-run mode |
| 3 Wind-down | Deadline imminent OR all tasks done | Current work safely committed | Never |
| 4 Report | After Phase 3 | Report delivered to user | Never |
Execution Modes
| Mode | Input Example | Behavior |
|---|
| Standard (default) | "늬í©í ë§íŽì€. 15:30ê¹ì§" | Full pipeline: Parse â Decompose â Execute â Wind-down â Report |
| Priority | "ë²ê·ž ìì --until 14:00 --priority high" | êžŽêž ìì
뚌ì , ìê° ë¶ì¡± ì ë®ì ì°ì ìì ì€íµ |
| Quick | "TODO ì 늬 --until 13:00 --priority quick" | ìê·ëªš ìì
ë¹ ë¥Žê² ë€ì ì²ëЬ |
| Dry-run | "늬í©í ë§ ë¶ì. dry-run --until 16:00" | Decomposeê¹ì§ë§ ì€í, ìì
ê³íë§ ì¶ë ¥ |
| Resume | "autopilot resume" | ìŽì ì€ëšë ìžì
ìŽìŽì ì€í |
Priority Modes
| Mode | ìì
ì í ì ëµ | ìê° ë¶ë°° |
|---|
| high | ìí¥ë í° ìì
뚌ì (ìœìŽ ë¡ì§ > í
ì€íž > 묞ì) | í° ìì
ì ìê° ì§ì€ |
| balanced (default) | ìì¡Žì± ìì + ê· í ë¶ë°° | ìì
ë³ ê· ë± ë¶ë°° |
| quick | ìê·ëªš ìì
뚌ì (ë¹ ë¥ž ìë£ ì ìµëí) | ìì
ë¹ ì§§ì ìê° í ë¹ |
Time Management
ìê° íì± ê·ì¹
| ì
ë ¥ íì | íŽì | ìì |
|---|
HH:MM | ì€ë íŽë¹ ìê° (24ìê°ì ) | 15:30 â ì€ë 15ì 30ë¶ |
HH:MM (ìŽë¯ž ì§ë ìê°) | ëŽìŒ íŽë¹ ìê° | íì¬ 16:00ìŽê³ 14:00 ì
ë ¥ â ëŽìŒ 14ì |
+Nm / +Nh | íì¬ë¶í° Në¶/Nìê° í | +30m â 30ë¶ í, +2h â 2ìê° í |
YYYY-MM-DD HH:MM | í¹ì ë ì§ ìê° | 2026-03-08 09:00 |
| ìì°ìŽ | ì¶ë¡ | "30ë¶ íê¹ì§", "1ìê° ëì" |
ìê° ìì° ë¶ë°° ìê³ ëŠ¬ìŠ
ìŽ ê°ì© ìê° = deadline - now
wind_down_reserve = max(3ë¶, ìŽ ê°ì© ìê° * 10%)
ì€í ê°ì© ìê° = ìŽ ê°ì© ìê° - wind_down_reserve - parse_overhead(2ë¶)
ìì
ë³ ìê° í ë¹:
IF priority == "quick":
ê° ìì
= min(5ë¶, ì€í ê°ì© ìê° / ìì
ì)
ELIF priority == "high":
ìì 30% ìì
= ì€í ê°ì© ìê° * 60%
ëëšžì§ ìì
= ì€í ê°ì© ìê° * 40%
ELSE (balanced):
ê° ìì
= ì€í ê°ì© ìê° / ìì
ì (ìì¡Žì± ìì ê³ ë €)
ìê° ì²Ží¬í¬ìžíž
| ëšì ìê° ë¹ìš | ë 벚 | ëì |
|---|
| > 50% | NORMAL | ì ì ì€í, ì ìì
ìì ê°ë¥ |
| 30-50% | AWARE | ëê·ëªš ìì
ìì ìì , íì¬ ìì
ìë£ ì§ì€ |
| 15-30% | CAUTION | ì ìì
ìì êžì§, íì¬ ìì
ë§ë¬ŽëЬ |
| 5-15% | WIND_DOWN | Phase 3 ì§ì
, ìì í ë§ë¬ŽëЬ ìì |
| < 5% | CRITICAL | ìŠì íì¬ íìŒ ì ì¥, ë³Žê³ ì ì¶ë ¥ |
Phase-specific Detailed Protocols
Phaseë³ ììž ì€í ì ì°šë **resources/**ì ì ì.
Phase ì§ì
ì ìŽë¯ž ìœì 묞ìë ì¬ë¡ëíì§ ìëë€.
Phase 0: Parse & Init
Details: resources/parse-init-protocol.md
- ì§ì¹š íì±: ì¬ì©ì ì
ë ¥ìì directive, deadline, options ì¶ì¶
- ë§ê° ìê° ê³ì°:
scripts/parse-deadline.shë¡ epoch ë³í
- ìžì
ìí ìŽêž°í:
~/.claude/cache/claude-autopilot/session-state.json ìì±
- ìŽì ìžì
íìž: ì€ëšë ìžì
ìŽ ììŒë©Ž resume ì ì
- íë¡ì íž ì€ìº: ëì íë¡ì ížì 구조/ìžìŽ/íë ììí¬ ë¹ ë¥Žê² íì
ì¶ë ¥ íì:
[claude-autopilot] Session initialized
Directive: {ììœë ì§ì¹š}
Deadline: {HH:MM} ({ëšì ìê°}m remaining)
Priority: {high|balanced|quick}
Scope: {file|module|project}
Phase 1: Decompose
Details: resources/decompose-protocol.md
- ì§ì¹š ë¶ì: ì¬ì©ì directive륌 구첎ì ìì
목ë¡ìŒë¡ ë¶íŽ
- ìì¡Žì± ë¶ì: ìì
ê° ì졎 êŽê³ íì
(DAG 구ì±)
- ê·ëªš ì¶ì : ê° ìì
ì ìì ë³µì¡ë (S/M/L/XL) ì°ì
- ìê° ìì° í ë¹: ëšì ìê° êž°ë° ìì
ë³ ìê° ë°°ë¶
- ì€í ìì ê²°ì : ìì¡Žì± + ì°ì ìì êž°ë° ì€í ìì íì
- ì€íµ íëš: ìê° ë¶ì¡± ì ë®ì ì°ì ìì ìì
ì¬ì ì€íµ íì
ìì
ë¶íŽ ì¶ë ¥ íì:
[claude-autopilot] Task Plan ({N} tasks, {M}m budget)
âââââââ¬âââââââââââââââââââââââ¬âââââââ¬ââââââââ¬âââââââââ
â # â Task â Size â Time â Status â
âââââââŒâââââââââââââââââââââââŒâââââââŒââââââââŒâââââââââ€
â 1 â {task description} â M â 10m â ready â
â 2 â {task description} â S â 5m â ready â
â 3 â {task description} â L â 15m â ready â
â 4 â {task description} â S â 5m â skip? â
âââââââŽâââââââââââââââââââââââŽâââââââŽââââââââŽâââââââââ
Wind-down reserve: {W}m
Phase 2: Execute Loop
Details: resources/execute-protocol.md
ê° ìì
ì€í ì ë°ë³µëë 룚í:
- ìê° ì²Ží¬:
scripts/check-deadline.shë¡ ëšì ìê° íìž
- ë€ì ìì
ì í: ìì¡Žì± ì¶©ì¡± + ì°ì ìì ìµìì ìì
- ìì
ì€í: ì€ì ìœë ìœêž°/ìì /ìì±/í
ì€íž ìí
- 결곌 ê²ìŠ: ìì
ìë£ ì¡°ê±Ž íìž (컎íìŒ, í
ì€íž íµê³Œ ë±)
- ìí ê°±ì : session-state.json ì
ë°ìŽíž, ì§í ìí íì
- 첎í¬í¬ìžíž íëš: ëšì ìê° ë 벚ì ë°ëŒ ê³ì/ì€ëš ê²°ì
ìì
ì€í ì€ ìí íì:
[claude-autopilot] Task 2/4 | ââââââââââ | 18m remaining | Status: implementing
ìì
ìë£ ì íì:
[claude-autopilot] â Task 2 complete (4m 23s) | 3/4 done | 14m remaining
Phase 3: Wind-down
Details: resources/winddown-protocol.md
ë§ê° ìê° ìë° ì ìì í ë§ë¬ŽëЬ ì ì°š:
- íì¬ ìì
ìë£ íëš: ìë£ ê°ë¥í멎 ë§ë¬ŽëЬ, ë¶ê°ë¥í멎 ìì ì§ì ê¹ì§ 례백
- ìœë ìŒêŽì± í볎: ížì§ ì€ìž íìŒìŽ ë¬žë²ì ìŒë¡ ì íší ìíìžì§ íìž
- 믞ìë£ ìì
êž°ë¡: ëšì ìì
목ë¡ì session-state.jsonì ì ì¥
- ìì íìŒ ì 늬: ìì
ì€ ìì±ë ë¶íìí ìì íìŒ ì ê±°
Phase 4: Report
Details: resources/report-protocol.md
ìžì
ì¢
ë£ ì ìµì¢
ë³Žê³ ì ì¶ë ¥:
## Autopilot Session Report
### ìžì
ììœ
- ìì: {start_time} â ì¢
ë£: {end_time} (ìŽ {duration})
- ìë£: {completed}/{total} tasks ({percentage}%)
### ìë£ë ìì
| # | Task | Duration | Result |
|---|------|----------|--------|
| 1 | {description} | 4m 23s | â success |
| 2 | {description} | 8m 12s | â success |
### 믞ìë£ ìì
| # | Task | Reason | ê¶ì¥ ì¬í |
|---|------|--------|----------|
| 3 | {description} | ìê° ë¶ì¡± | ë€ì ìžì
ìì ê³ì |
### ë³ê²œë íìŒ
- `src/api/handler.kt` â 늬í©í ë§ ìë£
- `src/test/api/HandlerTest.kt` â í
ì€íž ì¶ê°
### ë€ì ìžì
ê¶ì¥ ì¬í
- [ ] {믞ìë£ ìì
1}
- [ ] {믞ìë£ ìì
2}
Directive Parsing Rules
ì¬ì©ì ì§ì¹šìì 구조íë ì 볎륌 ì¶ì¶íë ê·ì¹.
ì§ì¹š êµ¬ì± ìì
| êµ¬ì± ìì | íì | ì¶ì¶ ë°©ë² | êž°ë³žê° |
|---|
| directive | â
| ìê°/ìµì
ì ìží ëëšžì§ í
ì€íž | â |
| deadline | â
| --until, ê¹ì§, ìê° íí íšíŽ ë§€ì¹ | â |
| priority | â | --priority íëê·ž | balanced |
| scope | â | --scope íëê·ž ëë ê²œë¡ íšíŽ | project |
| loop | â | loop N íšíŽ | ê²ìŠ 1í |
| dry-run | â | dry-run í€ìë | false |
ì§ì¹š íŽì ì°ì ìì
- ëª
ìì ìì
목ë¡: "1. A íê³ 2. B íê³ 3. C íŽì€" â ììëë¡ ì€í
- ë²ì ì§ì ìì
: "src/api/ ìë 몚ë TODO ì²ëЬ" â GlobìŒë¡ ëì íìŒ íì
- 목í ì§í¥ ìì
: "API ì±ë¥ ê°ì " â Decomposeìì ìžë¶ ìì
ìë ìì±
- ìì íì: "ìœë ì 늬 ì¢ íŽì€" â íë¡ì íž ì€ìº í ê°ì í¬ìžíž ìë ë°ê²¬
Task Estimation
ìì
ê·ëªš ì¶ì êž°ì€.
| Size | ìì ìê° | í¹ì§ | ìì |
|---|
| S (Small) | 1-5ë¶ | ëšìŒ íìŒ, ëšì ë³ê²œ | TODO ì ê±°, import ì 늬, ì€í ìì |
| M (Medium) | 5-15ë¶ | 2-5 íìŒ, ë¡ì§ ë³ê²œ | ë©ìë ì¶ê°, 늬í©í ë§, ëšì í
ì€íž |
| L (Large) | 15-30ë¶ | 5-10 íìŒ, 구조 ë³ê²œ | ì API ìëí¬ìžíž, 몚ë 늬í©í ë§ |
| XL (Extra Large) | 30ë¶+ | 10+ íìŒ, ìí€í
ì² ìí¥ | ì 몚ë ìì±, ëê·ëªš ë§ìŽê·žë ìŽì
|
ìê° ë¶ì¡± ì XL ìì
ì²ëЬ:
- ê°ì© ìê° < XL ìì ìê°ì 80%: ìì
ì íì ìì
ìŒë¡ ì¬ë¶íŽ
- íì ìì
ì€ ê°ì© ìê° ëŽ ìë£ ê°ë¥í ê²ë§ ì€í
- ëëšžì§ë "ë€ì ìžì
ê¶ì¥" 목ë¡ì ì¶ê°
Safety Guardrails
êžì§ íë
| ê·ì¹ | ì€ëª
|
|---|
| No destructive ops without backup | rm -rf, git reset --hard ë± íꎎì ëª
ë ¹ êžì§ (ì¬ì ë°±ì
ììŽ) |
| No secret file edits | .env, credentials, private-key ë± ìí¬ëŠ¿ íìŒ ížì§ ì°šëš |
| No scope escalation | ì¬ì©ì ì§ì scope ë°ì íìŒ ìì êžì§ |
| No force push | git push --force ì ë êžì§ |
| No silent failures | ìë¬ ë°ì ì ë°ëì ë³Žê³ ìì êž°ë¡ |
ìì
ì€ëš 조걎
ë€ì ìí©ìì ìŠì ìì
ì ì€ëšíê³ ì¬ì©ììê² ë³Žê³ :
- ì°ì ìë¬: ëìŒ ìë¬ 3í ì°ì ë°ì
- í
ì€íž ì 멎 ì€íš: Ʞ졎 í
ì€ížê° ëëìŒë¡ ê¹šì§ ë
- ë²ì ìŽê³Œ: ì§ì¹š ë²ì륌 ë²ìŽëë ë³ê²œìŽ íìí ë
- ìì¡Žì± ì¶©ë: íŽê²° ë¶ê°ë¥í ìì¡Žì± ë¬žì ë°ì
Sister-Skill Integration
ë€ë¥ž ì€í¬ê³Œ ì°ëíì¬ ì 묞 ìì
ì ììí ì ìë€.
| ìì
ì í | ìì ëì ì€í¬ | ìì 조걎 |
|---|
| Kotlin/Java ìœë ìì± | sub-kopring-engineer | .kt/.java íìŒ ìì±/ìì |
| í
ì€íž ìì± | sub-test-engineer | í
ì€íž ìœë ìì± ìì² |
| ìì¹ ì°ì° ê²ìŠ | numerical | ìì¹ ì°ì° ìœë ë°ê²¬ |
| ìí€í
ì² ë¶ì | engineering-workflow | ìí€í
ì² ê²°ì íì |
ìì íë¡í ìœ:
- ìì
ì íìŽ sister-skill ì 묞 ììì íŽë¹íëì§ íëš
- íŽë¹ ì sister-skillì SKILL.md륌 ìœìŽ ìì ê°ë¥ ì¬ë¶ íìž
- ëšì ìê° ìì°ì ìŒë¶ë¥Œ sister-skillì í ë¹
- 결곌륌 ë°ì ì§í ìíì ë°ì
Context Documents (Lazy Load)
Stale Context Recovery: 컚í
ì€íž ìì¶(/compact) ë°ì ì, "Load Once" 묞ìëŒë
íŽë¹ Phaseìì íìí 묞ìë ë°ëì ì¬ë¡ëíë€. "Load Once"ë "ê°ì Phase ëŽ ì€ë³µ ë¡ë ë°©ì§"ìŽë©°,
"컚í
ì€íž ìì€ íìë ì¬ë¡ë ë¶íì"륌 ì믞íì§ ìëë€.
Resources (On-demand)
Scripts
| ì€í¬ëŠœíž | ì©ë | ì¬ì©ë² |
|---|
parse-deadline.sh | ë§ê° ìê° íì± â epoch ë³í | ./parse-deadline.sh "15:30" |
check-deadline.sh | ëšì ìê° íìž ë° ë 벚 íì | ./check-deadline.sh |
init-session.sh | ìžì
ìí íìŒ ìŽêž°í | ./init-session.sh <deadline_epoch> <directive> |
update-task-status.sh | ìì
ìí ê°±ì | ./update-task-status.sh <task_id> <status> |
generate-report.sh | ìµì¢
ë³Žê³ ì JSON ìì± | ./generate-report.sh |
check-phase-gate.sh | Phase ì í Gate Check | ./check-phase-gate.sh <from> <to> |
verify-plugin.sh | íë¬ê·žìž ë¬Žê²°ì± ê²ìŠ íë€ì€ | ./verify-plugin.sh [--verbose] |
_common.sh | ê³µì ì ížëŠ¬í° (ë€ë¥ž ì€í¬ëŠœížìì source) | ì§ì ì€í ë¶ê° |
ì€í¬ëŠœíž ì€í ì구ì¬í:
- íì CLI:
bash 4.0+, jq, date, grep, find
- í겜: Unix-like (Linux, macOS)
Hooks Configuration
| Hook | Trigger | Action |
|---|
| PreToolUse (secret guard) | Edit/Write | ìí¬ëŠ¿ íìŒ ížì§ ì°šëš |
| PreToolUse (deadline check) | Edit/Write/Bash | ë§ê° ìê° ìŽê³Œ ì ì°šëš (exit 2) |
| PreToolUse (scope enforcement) | Edit/Write | scope ë° íìŒ ížì§ ì°šëš (project/module/file) |
| PostToolUse (activity tracker) | Edit/Write | ë§ì§ë§ íë ìê° êž°ë¡ |
| Stop (session archive) | Session end | ìžì
ìí ì칎ìŽëž |
Status Display Protocol
ê° ìì
ì€í ì íì¬ ìí륌 ê°ê²°íê² íìíë€.
íì íì
[claude-autopilot] Task: {n}/{total} | {bar} | {remaining}m left | Phase: {phase} | Level: {time_level}
ìì:
[claude-autopilot] Task: 2/5 | ââââââââââ | 23m left | Phase: Execute | Level: NORMAL
[claude-autopilot] Task: 4/5 | ââââââââââ | 6m left | Phase: Execute | Level: CAUTION
[claude-autopilot] Wind-down | ââââââââââ | 3m left | Phase: Wind-down | Level: WIND_DOWN
Session State Schema
ìžì
ìíë ~/.claude/cache/claude-autopilot/session-state.jsonì ì ì¥.
{
"session_id": "ap-20260307-153000",
"status": "in_progress",
"directive": "API ìëí¬ìžíž 늬í©í ë§íê³ í
ì€íž ì¶ê°",
"deadline_epoch": 1741340400,
"deadline_display": "15:30",
"started_at": "2026-03-07T14:30:00Z",
"priority": "balanced",
"scope": "project",
"time_budget": {
"total_minutes": 60,
"wind_down_reserve": 6,
"execution_available": 52,
"parse_overhead": 2
},
"tasks": [
{
"id": 1,
"description": "OrderController 늬í©í ë§",
"size": "M",
"allocated_minutes": 12,
"status": "completed",
"started_at": "2026-03-07T14:32:00Z",
"completed_at": "2026-03-07T14:40:23Z",
"files_changed": ["src/api/OrderController.kt"]
},
{
"id": 2,
"description": "OrderControllerTest ì¶ê°",
"size": "M",
"allocated_minutes": 10,
"status": "in_progress",
"started_at": "2026-03-07T14:40:30Z",
"depends_on": [1],
"acceptance_criteria": [
"í
ì€íž íìŒ ìì±ëš",
"í
ì€íž ì€í íµê³Œ"
]
}
],
"completed_tasks": 1,
"total_tasks": 4,
"errors": [],
"file_inventory": {
"read": [
{"path": "src/api/OrderController.kt", "at": "2026-03-07T14:32:00Z", "lines": 145}
],
"modified": [
{"path": "src/api/OrderController.kt", "at": "2026-03-07T14:33:15Z", "verified": true}
]
},
"last_activity": "2026-03-07T14:45:12Z",
"time_level": "NORMAL"
}
Context Health Protocol
롱 ìžì
ìì 컚í
ì€íž ìëì° ì¬ì©ëì 몚ëí°ë§íë€.
ìê³ê° ëì
| ì¬ì©ë | ë 벚 | ëì |
|---|
| 70% | WARNING | ì ìì
ì reference ìµì ë¡ë©, íµì¬ ë³ê²œì ì§ì€ |
| 80% | RECOMMEND | íì¬ ìì
ìë£ í /compact ì€í ê¶ì¥ |
| 85% | CRITICAL | ìŠì /compact ì€í, íë¡íìŒ + íì¬ ìì
ìíë§ ë³µêµ¬ |
ìì¶ í 복구 ì ì°š
1. /compact ì€í í 컚í
ì€íž ììœëš
2. session-state.json ì¬ë¡ë (ìºììì)
3. íì¬ ì€í ì€ìž ìì
컚í
ì€íž 복구
4. ëšì ìê° ì¬ê³ì° í ì€í 룚í ì¬ê°
Session Wisdom Protocol
ìžì
ê° íìµ ëŽì©ì ì¶ì íë€.
ì ì¥ ìì¹
~/.claude/cache/claude-autopilot/history/
êž°ë¡ ìì
| ìì | êž°ë¡ ëŽì© | ìë/ìë |
|---|
| ìì
ìë£ | ìì
ë³ ì€ì ìì ìê° (ì¶ì ì íë ê°ì ì©) | ìë |
| ìë¬ íŽê²° | ìë¬ + ììž + íŽê²° ë°©ë² | ìë |
| ìžì
ì¢
ë£ | ì 첎 ìžì
ììœ + 믞ìë£ ìì
| ìë |
ìê° ì¶ì íìµ
ìŽì ìžì
ì ì€ì ìì ìê° ë°ìŽí°ë¥Œ íì©íì¬ ìì
ê·ëªš ì¶ì ì íë륌 ê°ì :
ì¶ì 볎ì ê³ì = ìµê·Œ 5ê° ìžì
ì (ì€ì ìê° / ì¶ì ìê°) íê·
볎ì ë ì¶ì = Ʞ볞 ì¶ì à 볎ì ê³ì
볎졎 ê·ì¹
- ìµê·Œ 20ê° ìžì
íì€í 늬 ì ì§ (ìŽì ì ìë ìì )
- ìê° ì¶ì íµê³ë ì구 볎졎
Gran Maestro ì°ë (gran-maestro Integration)
gran-maestro íë¬ê·žìžìŽ ì€ì¹ë íë¡ì ížìì
claude-autopilotì gran-maestroì ê³í/ì€íì ìëìŒë¡ ê°ì§íê³ ì€íí ì ìë€.
ê°ì§ 조걎
autopilot ìžì
ìì ì ìë 조걎ìŒë¡ gran-maestro ì°ë 몚ë륌 íì±í:
{PROJECT_ROOT}/.gran-maestro/ ëë í 늬 졎ì¬
{PROJECT_ROOT}/.gran-maestro/mode.jsonì active == true
- 믞ì¹ìž/믞ìë£ REQê° ìê±°ë, ì¬ì©ì ì§ì¹šì PLN/REQ ì°žì¡° í¬íš
ì°ë 몚ë
| 몚ë | ížëŠ¬ê±° | ëì |
|---|
| Plan-to-Execute | "autopilot: PLN-003 ì€í --until 16:00" | plan.md ìœêž° â REQ ìë ìì±/ì¹ìž â 구í ì€í |
| REQ Batch | "autopilot: REQ-001..005 ì²ëЬ --until 18:00" | ì§ì REQë€ì ìê° ëŽ ìì°š ì¹ìž/ì€í |
| Pending Drain | "autopilot: ëêž° ì€ìž REQ 몚ë ì²ëЬ --until 17:00" | pending REQ ì€ìº â ì°ì ìì ì ë ¬ â ìê° ëŽ ì²ëЬ |
| Mixed | "늬í©í ë§íê³ REQ-003ë ì²ëЬ --until 15:00" | ìŒë° ìì
+ gran-maestro REQ íŒí© ì€í |
Plan-to-Execute íë¡í ìœ
gran-maestroì PLN (plan.md)ì êž°ë°ìŒë¡ ììš ì€í:
1. plan.md ìœêž°
Read("{PROJECT_ROOT}/.gran-maestro/plans/PLN-NNN/plan.md")
2. ìì
ì¶ì¶
plan.mdì ì구ì¬í/ê²°ì ì¬í â autopilot ìì
목ë¡ìŒë¡ ë³í
- ê° ì구ì¬í í목 â ê°ë³ taskë¡ ë¶íŽ
- plan.mdì ì ìœ ì¡°ê±Ž â safety guardrailë¡ ì£Œì
3. REQ ìì± (gran-maestro íë¡í ìœ ì€ì)
Skill(skill: "mst:request", args: "--auto {plan êž°ë° ìì²}")
â REQ-NNN ìë ìì±
4. ìë ì¹ìž
Skill(skill: "mst:approve", args: "REQ-NNN --continue")
â spec.md êž°ë° êµ¬í ìì
5. ìê° êŽëЬ
ê° REQì spec.md ëŽ task ëšìë¡ ìê° ìì° ë°°ë¶
deadline ìë° ì ëëšžì§ REQë pending ìí ì ì§
REQ Batch íë¡í ìœ
ì¬ë¬ REQ륌 ìê° ìì° ëŽìì ìì°š ì²ëЬ:
1. REQ ëª©ë¡ ìì§
- ëª
ìì : "REQ-001..005" â [REQ-001, REQ-002, ..., REQ-005]
- ìë: requests/ ì€ìº â status=spec_ready íí°ë§
2. ìê° ìì° ë°°ë¶
ê° REQì spec.md ìœêž° â task ì/ë³µì¡ë êž°ë° ìê° ì¶ì
ìê° ë¶ì¡± ì ì°ì ìì ë®ì REQ skip íì
3. ìì°š ì€í
FOR each REQ in sorted_list:
IF remaining_time > estimated_time(REQ):
Skill(skill: "mst:approve", args: "REQ-NNN --continue")
â 구í ì€í â 결곌 ê²ìŠ
ELSE:
REQ륌 "ìê° ë¶ì¡± â ë€ì ìžì
" 목ë¡ì ì¶ê°
BREAK
4. 결곌 볎ê³
ì²ëЬ ìë£/믞ìë£ REQ 목ë¡ì autopilot ë³Žê³ ìì í¬íš
gran-maestro ìí íìŒ ì°ë
| gran-maestro íìŒ | autopilot íì© |
|---|
.gran-maestro/mode.json | ì°ë 몚ë íì± ì¬ë¶ íìž |
.gran-maestro/plans/PLN-NNN/plan.md | ì§ì¹š ìì€ë¡ íì© |
.gran-maestro/plans/PLN-NNN/plan.json | ë©íë°ìŽí° (ìí, ì°ê²°ë REQ) |
.gran-maestro/requests/REQ-NNN/request.json | REQ ìí/ë©í íìž |
.gran-maestro/requests/REQ-NNN/spec.md | 구í ì€í (ìì
ë¶íŽ ì
ë ¥) |
.gran-maestro/requests/REQ-NNN/tasks/ | ìžë¶ task ì§í ìí |
.gran-maestro/config.resolved.json | Ʞ볞 ììŽì íž, ìí¬íë¡ì° ì€ì |
ìì ê·ì¹ (gran-maestro ì°ë ì)
| ê·ì¹ | ì€ëª
|
|---|
| spec.md íì | REQ ì€í ì ë°ëì spec.mdê° ì¡Žì¬íŽìŒ íš (gran-maestro ê·ì¹ ì€ì) |
| ê²œë¡ ì í ì€ì | gran-maestro ì€í¬ì Write/Edit ê²œë¡ ì í ê·ì¹ ê·žëë¡ ì ì© |
| auto 몚ëë§ | autopilotìì REQ ìì± ì ë°ëì --auto íëê·ž ì¬ì© |
| ì볞 plan 볎졎 | plan.md륌 ìì íì§ ìì â ìœêž° ì ì©ìŒë¡ë§ ì°žì¡° |
| ì€íš ì REQ ìí ë³µì | 구í ì€íš ì REQ륌 spec_ready ìíë¡ ëë늌 |
gran-maestro 믞ì€ì¹ ì
.gran-maestro/ ëë í ëŠ¬ê° ììŒë©Ž ì°ë êž°ë¥ì ë¹íì±íëê³ ,
autopilotì ì¬ì©ì ì§ì¹šë§ì êž°ë°ìŒë¡ ë
늜 ì€íëë€.
PLN/REQ ì°žì¡°ê° ì§ì¹šì í¬íšë ê²œì° "gran-maestro 믞ê°ì§" ê²œê³ ë¥Œ ì¶ë ¥íë€.