compound-engineering
Compound Engineering
Make your AI agent learn automatically. Extract learnings from sessions, update memory files, and compound knowledge over time.
The idea: Your agent reviews its own work, extracts patterns and lessons, and updates its instructions. Tomorrow's agent is smarter than today's.
Quick Start
# Review last 24 hours and update memory
npx compound-engineering review
# Create hourly memory snapshot
npx compound-engineering snapshot
# Set up automated nightly review (cron)
npx compound-engineering setup-cron
How It Works
The Compound Loop
┌─────────────────────────────────────────┐
│ DAILY WORK │
│ Sessions, chats, tasks, decisions │
└────────────────┬────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ NIGHTLY REVIEW (10:30 PM) │
│ • Scan all sessions from last 24h │
│ • Extract learnings and patterns │
│ • Update MEMORY.md and AGENTS.md │
│ • Commit and push changes │
└────────────────┬────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ NEXT DAY │
│ Agent reads updated instructions │
│ Benefits from yesterday's learnings │
└─────────────────────────────────────────┘
What Gets Extracted
- Patterns: Recurring approaches that worked
- Gotchas: Things that failed or caused issues
- Preferences: User preferences discovered
- Decisions: Key decisions and their reasoning
- TODOs: Unfinished items to remember
Clawdbot Integration
Automatic Hourly Memory
Add to your HEARTBEAT.md:
# Hourly Memory Snapshot
Every hour, append a brief summary to memory/YYYY-MM-DD.md:
- What was accomplished
- Key decisions made
- Anything to remember
Or use cron:
# Add to clawdbot config or crontab
0 * * * * clawdbot cron run compound-hourly
Nightly Review Job
Add this cron job to Clawdbot:
{
"id": "compound-nightly",
"schedule": "30 22 * * *",
"text": "Review all sessions from the last 24 hours. For each session, extract: 1) Key learnings and patterns, 2) Mistakes or gotchas to avoid, 3) User preferences discovered, 4) Unfinished items. Update MEMORY.md with a summary. Update memory/YYYY-MM-DD.md with details. Commit changes to git."
}
Manual Review Command
When you want to trigger a review manually:
Review the last 24 hours of work. Extract:
1. **Patterns that worked** - approaches to repeat
2. **Gotchas encountered** - things to avoid
3. **Preferences learned** - user likes/dislikes
4. **Key decisions** - and their reasoning
5. **Open items** - unfinished work
Update:
- MEMORY.md with significant long-term learnings
- memory/YYYY-MM-DD.md with today's details
- AGENTS.md if workflow changes needed
Commit changes with message "compound: daily review YYYY-MM-DD"
Memory File Structure
MEMORY.md (Long-term)
# Long-Term Memory
## Patterns That Work
- When doing X, always Y first
- User prefers Z approach for...
## Gotchas to Avoid
- Don't do X without checking Y
- API Z has rate limit of...
## User Preferences
- Prefers concise responses
- Timezone: PST
- ...
## Project Context
- Main repo at /path/to/project
- Deploy process is...
memory/YYYY-MM-DD.md (Daily)
# 2026-01-28 (Tuesday)
## Sessions
- 09:00 - Built security audit tool
- 14:00 - Published 40 skills to MoltHub
## Decisions
- Chose to batch publish in parallel (5 sub-agents)
- Security tool covers 6 check categories
## Learnings
- ClawdHub publish can timeout, retry with new version
- npm publish hangs sometimes, may need to retry
## Open Items
- [ ] Finish remaining MoltHub uploads
- [ ] Set up analytics tracker
Hourly Snapshots
For more granular memory, create hourly snapshots:
# Creates memory/YYYY-MM-DD-HH.md every hour
*/60 * * * * echo "## $(date +%H):00 Snapshot" >> ~/clawd/memory/$(date +%Y-%m-%d).md
Or have the agent do it via heartbeat by checking time and appending to daily file.
The Compound Effect
Week 1: Agent knows basics
Week 2: Agent remembers your preferences
Week 4: Agent anticipates your needs
Month 2: Agent is an expert in your workflow
Knowledge compounds. Every session makes future sessions better.
Setup Scripts
Nightly Review (launchd - macOS)
<!-- ~/Library/LaunchAgents/com.clawdbot.compound-review.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "...">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.clawdbot.compound-review</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/clawdbot</string>
<string>cron</string>
<string>run</string>
<string>compound-nightly</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>22</integer>
<key>Minute</key>
<integer>30</integer>
</dict>
</dict>
</plist>
Hourly Memory (crontab)
# Add with: crontab -e
0 * * * * /opt/homebrew/bin/clawdbot cron run compound-hourly 2>&1 >> ~/clawd/logs/compound.log
Best Practices
- Review before sleep - Let the nightly job run when you're done for the day
- Don't over-extract - Focus on significant learnings, not noise
- Prune regularly - Remove outdated info from MEMORY.md monthly
- Git everything - Memory files should be version controlled
- Trust the compound - Effects are subtle at first, dramatic over time
Built by LXGIC Studios - @lxgicstudios
Built by LXGIC Studios
- GitHub: github.com/lxgicstudios/ai-compound
- Twitter: @lxgicstudios