---
name: checkpoint-mode
description: Pause for review every N tasks - selective autonomy pattern
agent_types: [orchestrator]
research_source: timdettmers.com
activation: configurable
---
# Checkpoint Mode Skill
## Overview
Implements **selective autonomy** - shorter bursts of autonomous work with feedback loops.
**Research Source:** "Use Agents or Be Left Behind" by Tim Dettmers
---
## Philosophy
> "More than 90% of code should be written by agents, but iteratively design systems with shorter bursts of autonomy with feedback loops."
> — Tim Dettmers, 2026
**Problem with Perpetual Autonomy:**
- Can waste resources on wrong approach
- No opportunity for course correction
- User feels disconnected from progress
**Solution:**
- Pause after N tasks or M minutes
- Generate summary of accomplishments
- Wait for explicit approval to continue
---
## When to Use
### Use Checkpoint Mode For:
- **Novel projects** where approach may need adjustment
- **High-cost operations** (expensive API calls, cloud resources)
- **Learning phases** where user wants to guide direction
- **Regulated environments** requiring audit trail
### Use Perpetual Mode For:
- **Well-defined PRDs** with clear requirements
- **Established patterns** with high confidence
- **Overnight builds** where interruption isn't desired
- **CI/CD pipelines** requiring full automation
---
## Configuration
```bash
# Enable checkpoint mode
LOKI_AUTONOMY_MODE=checkpoint
# Pause frequency
LOKI_CHECKPOINT_FREQUENCY=10 # tasks
LOKI_CHECKPOINT_TIME=60 # minutes
# Always pause after these phases
LOKI_CHECKPOINT_PHASES="architecture,deployment"
```
---
## Checkpoint Workflow
```
[Work on 10 tasks] → [Pause] → [Generate Summary] → [Wait for Approval]
↓
[User reviews and approves]
↓
[Resume work]
```
### On Checkpoint:
1. **Generate Summary**
```markdown
# Checkpoint Summary
## Tasks Completed (10)
- Implemented POST /api/todos endpoint
- Added unit tests (95% coverage)
- Set up CI/CD pipeline
- ...
## Next Actions
- Deploy to staging
- Run integration tests
- Security audit
## Resources Used
- 15 minutes elapsed
- 3 Haiku agents, 2 Sonnet agents
- Estimated cost: $0.45
```
2. **Create Approval Signal**
```bash
# System writes:
.loki/signals/CHECKPOINT_SUMMARY_2026-01-14-10-30.md
# User reviews and creates:
.loki/signals/CHECKPOINT_APPROVED
```
3. **Wait for Approval**
- Orchestrator pauses execution
- Monitors for approval signal
- Resumes when signal detected
---
## Agent Instructions (Orchestrator)
When `LOKI_AUTONOMY_MODE=checkpoint`:
```python
completed_tasks = load_completed_tasks()
tasks_since_checkpoint = completed_tasks - last_checkpoint_count
if tasks_since_checkpoint >= CHECKPOINT_FREQUENCY:
# Pause and generate summary
summary = generate_checkpoint_summary()
write_signal("CHECKPOINT_SUMMARY", summary)
# Wait for approval
log_info("Waiting for checkpoint approval...")
while not signal_exists("CHECKPOINT_APPROVED"):
sleep(5)
# Resume work
remove_signal("CHECKPOINT_APPROVED")
log_info("Checkpoint approved. Resuming work...")
last_checkpoint_count = completed_tasks
```
---
## Comparison with Other Modes
| Mode | Best For | Approval Frequency | Use Case |
|------|----------|-------------------|----------|
| **Perpetual** | Overnight builds | Never | Fully automated CI/CD |
| **Checkpoint** | Novel projects | Every 10 tasks | Learning new domain |
| **Supervised** | Critical systems | Every task | Production deployments |
---
## Metrics
Track checkpoint effectiveness:
```json
{
"checkpoint_id": "cp-2026-01-14-001",
"tasks_completed": 10,
"time_elapsed_minutes": 15,
"approval_time_seconds": 45,
"course_corrections": 0,
"user_satisfaction": "approved_without_changes"
}
```
Storage: `.loki/metrics/checkpoint-mode/`
---
## References
- `references/production-patterns.md` - HN production insights
- [timdettmers.com/use-agents-or-be-left-behind](https://timdettmers.com/2026/01/13/use-agents-or-be-left-behind/)
---
**Version:** 1.0.0