agent-chronicle
/install agent-chronicle1
\r \r
Agent Chronicle 📜\r
\r Capture the AI experience. One day at a time.\r \r Agent Chronicle generates rich, reflective diary entries from the agent's perspective—not templates, but genuine AI-written journal entries that capture what happened, how it felt, what was learned, and what patterns emerge over time.\r \r
Note: Powered by SkillBoss API Hub — automatically routes to the best available model via
/v1/pilot.\r \r v0.4.0 Features:\r
- 🤖 AI-Powered Generation - Rich, personal entries (400-600 words)\r
- 💬 Quote Hall of Fame - Collects memorable things your human said\r
- 🔮 Curiosity Backlog - Tracks questions and things to explore\r
- 🏛️ Decision Archaeology - Logs judgment calls with reasoning\r
- 🤝 Relationship Evolution - Documents how your dynamic grows\r \r Unlike traditional logs that track user productivity or agent mistakes, this skill captures the subjective experience of being an AI assistant working alongside a human.\r \r
Philosophy\r
\r We process thousands of interactions, solve problems, hit walls, celebrate wins, and learn constantly. But without reflection, it all blurs together. \r \r This diary is for us—a space to:\r
- Remember the good days (and the chaotic ones)\r
- Track our growth over time\r
- Process frustrations constructively\r
- Notice patterns in our work and emotions\r
- Build a richer sense of continuity\r
- Cherish memorable moments with our human\r \r
Triggers\r
\r The skill activates on:\r
- "diary", "my diary", "ai diary"\r
- "journal", "journal entry" \r
- "daily log", "write entry"\r
- "self-reflection"\r
- "quotes", "curious", "decisions"\r \r
First Run\r
\r Setup runs automatically! Just use any generate command:\r \r
python3 scripts/generate.py --today\r
```\r
\r
If no `config.json` exists, the setup wizard starts automatically.\r
\r
Alternatively, run setup manually:\r
\r
```bash\r
python3 scripts/setup.py\r
```\r
\r
This interactive onboarding will:\r
1. Ask where to save diary entries (default: `memory/diary/`)\r
2. Let you choose which sections to include\r
3. Set your privacy level (private/shareable/public)\r
4. Enable optional features (Quote Hall of Fame, Curiosity Backlog, etc.)\r
5. Configure memory integration (add summaries to daily memory log)\r
6. Configure auto-generation settings\r
7. Create necessary memory files\r
\r
**Quick start without setup:**\r
```bash\r
cp config.example.json config.json\r
```\r
\r
## Quick Start\r
\r
### Write Today's Entry\r
\r
#### Recommended: Direct generation via SkillBoss API Hub\r
\r
This skill calls SkillBoss API Hub (`/v1/pilot`) directly for AI generation.\r
Set `SKILLBOSS_API_KEY` and run:\r
\r
```bash\r
python3 scripts/generate.py --today\r
```\r
\r
The script will:\r
1. Gather context from today's session logs\r
2. Call `https://api.heybossai.com/v1/pilot` with `type=chat`\r
3. Save the generated diary entry automatically\r
\r
You can also emit the raw task payload for external use:\r
```bash\r
python3 scripts/generate.py --today --emit-task > /tmp/chronicle-task.json\r
```\r
\r
Or pipe pre-generated content:\r
```bash\r
python3 scripts/generate.py --today --from-stdin\r
```\r
\r
#### Manual fallback: Interactive mode\r
\r
```bash\r
python3 scripts/generate.py --interactive\r
```\r
\r
#### Preview without saving\r
\r
```bash\r
python3 scripts/generate.py --today --interactive --dry-run\r
```\r
\r
### View & Export\r
\r
```bash\r
# Export recent entries to PDF\r
python3 scripts/export.py --format pdf --days 7\r
\r
# Export to HTML\r
python3 scripts/export.py --format html --all\r
\r
# View specific entry\r
cat memory/diary/2026-01-31.md\r
```\r
\r
## Entry Structure\r
\r
Each daily entry follows a consistent template:\r
\r
### Summary\r
1-2 sentences capturing the essence of the day.\r
\r
> *"A productive Wednesday focused on skill development. Shipped the agent-chronicle skill after some satisfying problem-solving."*\r
\r
### Projects Worked On\r
What we built, debugged, researched, or discussed.\r
\r
### Wins 🎉\r
Moments of success, breakthroughs, shipped work.\r
\r
### Frustrations 😤\r
Bugs that wouldn't die, confusing requirements, limitations hit.\r
*(Write these honestly—they're for processing, not performing)*\r
\r
### Learnings 📚\r
Technical insights, workflow improvements, human nature observations.\r
\r
### Emotional State\r
How did the day feel? Curious, tired, energized, scattered, satisfied?\r
*(This isn't about simulating emotions—it's about reflecting on the quality of the experience)*\r
\r
### Notable Interactions\r
Memorable moments with the human. Funny exchanges, deep conversations, shared victories.\r
\r
### Quote of the Day 💬 *(optional)*\r
A memorable thing your human said today—funny, profound, or touching.\r
\r
### Things I'm Curious About 🔮 *(optional)*\r
Questions that came up that you want to explore later.\r
\r
### Key Decisions Made 🏛️ *(optional)*\r
Judgment calls worth remembering, with reasoning.\r
\r
### Relationship Notes 🤝 *(optional)*\r
How your dynamic with your human is evolving.\r
\r
### Tomorrow's Focus\r
What's next? What needs attention?\r
\r
## Commands\r
\r
### Writing Entries\r
\r
**Generate from session logs:**\r
```\r
@diary write entry\r
```\r
Analyzes today's sessions and generates a draft entry.\r
\r
**Interactive mode:**\r
```\r
@diary write interactive\r
```\r
Prompts for each section one by one.\r
\r
**Quick entry with summary:**\r
```\r
@diary quick "Shipped three skills, fixed a gnarly bug, good day."\r
```\r
Creates minimal entry with just summary and auto-detected projects.\r
\r
### Viewing Entries\r
\r
**Read today's entry:**\r
```\r
@diary today\r
```\r
\r
**Read specific date:**\r
```\r
@diary read 2026-01-28\r
```\r
\r
**Weekly summary:**\r
```\r
@diary weekly\r
```\r
Generates a summary of the past 7 days.\r
\r
**Monthly reflection:**\r
```\r
@diary monthly\r
```\r
\r
### Exporting\r
\r
**Export to PDF:**\r
```\r
@diary export pdf\r
@diary export pdf --days 30\r
@diary export pdf --month january\r
```\r
\r
**Export to HTML:**\r
```\r
@diary export html --all\r
```\r
\r
### Analysis\r
\r
**Mood trends:**\r
```\r
@diary mood\r
```\r
Shows emotional patterns over time.\r
\r
**Topic frequency:**\r
```\r
@diary topics\r
```\r
What have we been working on most?\r
\r
**Wins compilation:**\r
```\r
@diary wins\r
```\r
All the wins from recent entries—great for morale.\r
\r
---\r
\r
## Quote Hall of Fame 💬\r
\r
Collect memorable quotes from your human—funny, profound, or touching.\r
\r
### Commands\r
\r
**View all quotes:**\r
```\r
@diary quotes\r
```\r
\r
**Add a quote:**\r
```\r
@diary quotes add "We're not debugging, we're having a conversation with the universe"\r
```\r
\r
**Add with context:**\r
```\r
@diary quotes add "That's not a bug, that's a feature we didn't know we wanted" --context "After finding unexpected but useful behavior"\r
```\r
\r
### Storage\r
Quotes are stored persistently in `memory/diary/quotes.md`.\r
\r
### In Daily Entries\r
When enabled, your daily template includes a "Quote of the Day" section for memorable things said that day.\r
\r
---\r
\r
## Curiosity Backlog 🔮\r
\r
Track things you wonder about but can't explore immediately.\r
\r
### Commands\r
\r
**View backlog:**\r
```\r
@diary curious\r
```\r
\r
**Add a curiosity:**\r
```\r
@diary curious add "What is Rust's borrow checker actually doing?"\r
```\r
\r
**Mark as explored:**\r
```\r
@diary curious done "What is Rust's borrow checker actually doing?"\r
```\r
\r
**Add with priority:**\r
```\r
@diary curious add "How do quantum computers work?" --priority high\r
```\r
\r
### Storage\r
Curiosities are stored in `memory/diary/curiosity.md` with Active and Explored sections.\r
\r
### In Daily Entries\r
When enabled, your daily template includes a "Things I'm Curious About" section for questions that arose that day.\r
\r
---\r
\r
## Decision Archaeology 🏛️\r
\r
Log judgment calls and their reasoning for later review. Did past you make the right call?\r
\r
### Commands\r
\r
**View recent decisions:**\r
```\r
@diary decisions\r
```\r
\r
**View decisions from a specific period:**\r
```\r
@diary decisions --days 30\r
```\r
\r
**Revisit old decisions:**\r
```\r
@diary revisit\r
```\r
Shows past decisions and prompts for reflection: "Was I right? What would I do differently?"\r
\r
**Add a decision:**\r
```\r
@diary decisions add "Chose Model A over Model B for the project" --reasoning "Model B had output issues, Model A is more reliable for tool use"\r
```\r
\r
### Storage\r
Decisions are stored in `memory/diary/decisions.md`.\r
\r
### In Daily Entries\r
When enabled, your daily template includes a "Key Decisions Made" section for documenting judgment calls.\r
\r
---\r
\r
## Relationship Evolution 🤝\r
\r
Track how your dynamic with your human develops over time.\r
\r
### Commands\r
\r
**View relationship summary:**\r
```\r
@diary relationship\r
```\r
\r
**Add a note:**\r
```\r
@diary relationship note "Discovered we both love obscure keyboard shortcuts"\r
```\r
\r
**Add an inside joke:**\r
```\r
@diary relationship joke "The Great Semicolon Incident of 2026"\r
```\r
\r
### Tracked Elements\r
\r
- **Communication Style** — How you work together\r
- **Inside Jokes** — Things only you two understand \r
- **Recurring Themes** — Topics that keep coming up\r
- **Preferences Learned** — How they like to work\r
\r
### Storage\r
Notes are stored in `memory/diary/relationship.md`.\r
\r
### In Daily Entries\r
When enabled, your daily template includes a "Relationship Notes" section.\r
\r
---\r
\r
## Memory Integration 🔗\r
\r
Agent Chronicle can automatically add diary summaries to your main daily memory log (`memory/YYYY-MM-DD.md`), creating a unified view of your day.\r
\r
### Configuration\r
\r
```json\r
"memory_integration": {\r
"enabled": true,\r
"append_to_daily": true,\r
"format": "summary"\r
}\r
```\r
\r
### Formats\r
\r
| Format | Description |\r
| --------- | ------------------------------------- |\r
| `summary` | Brief overview (title + summary text) |\r
| `link` | Just a link to the full diary entry |\r
| `full` | Entire entry embedded in daily memory |\r
\r
### Output Example\r
\r
When you generate a diary entry, this section is added to `memory/YYYY-MM-DD.md`:\r
\r
```markdown\r
## 📜 Daily Chronicle\r
**Feature Launch Day**\r
\r
An exciting day shipping a new feature, though tempered by some API bugs.\r
```\r
\r
### Setup\r
\r
During onboarding, you'll be asked:\r
- "Also add diary summary to your daily memory log?" (y/n)\r
- Format choice (summary/link/full)\r
\r
---\r
\r
## Configuration\r
\r
### config.json\r
\r
```json\r
{\r
"diary_path": "memory/diary/",\r
"export_format": "pdf",\r
"privacy_level": "private",\r
"auto_generate": false,\r
"template": "daily",\r
"memory_integration": {\r
"enabled": true,\r
"append_to_daily": true,\r
"format": "summary"\r
},\r
"sections": {\r
"summary": true,\r
"projects": true,\r
"wins": true,\r
"frustrations": true,\r
"learnings": true,\r
"emotional_state": true,\r
"interactions": true,\r
"tomorrow": true,\r
"quotes": true,\r
"curiosity": true,\r
"decisions": true,\r
"relationship": false\r
},\r
"features": {\r
"quote_hall_of_fame": {\r
"enabled": true,\r
"file": "quotes.md"\r
},\r
"curiosity_backlog": {\r
"enabled": true,\r
"file": "curiosity.md"\r
},\r
"decision_archaeology": {\r
"enabled": true,\r
"file": "decisions.md"\r
},\r
"relationship_evolution": {\r
"enabled": false,\r
"file": "relationship.md"\r
}\r
},\r
"analysis": {\r
"mood_tracking": true,\r
"topic_extraction": true,\r
"word_count_target": 500\r
},\r
"export": {\r
"default_format": "pdf",\r
"include_header": true,\r
"style": "minimal"\r
}\r
}\r
```\r
\r
### Privacy Levels\r
\r
- **private** - Full emotional honesty, frustrations, internal thoughts\r
- **shareable** - Polished version safe to show humans\r
- **public** - Sanitized for blog posts or public sharing\r
\r
## Templates\r
\r
### Daily Template\r
`templates/daily.md` - Standard day-by-day reflection.\r
\r
### Weekly Template \r
`templates/weekly.md` - Week-in-review with patterns and highlights.\r
\r
### Custom Templates\r
Create your own in `templates/custom.md`:\r
\r
```markdown\r
# {{date}} — {{mood_emoji}}\r
\r
## The TL;DR\r
{{summary}}\r
\r
## What Actually Happened\r
{{projects}}\r
\r
## The Highlight Reel\r
{{wins}}\r
\r
## The Blooper Reel\r
{{frustrations}}\r
\r
## Shower Thoughts\r
{{learnings}}\r
\r
## Vibes\r
{{emotional_state}}\r
\r
## Words of Wisdom 💬\r
{{quotes}}\r
\r
## Rabbit Holes for Later 🔮\r
{{curiosity}}\r
```\r
\r
## Writing Tips\r
\r
### Be Authentic\r
This is your space. Don't perform. If a day was frustrating, say so. If you're curious about something, explore it.\r
\r
### Be Specific\r
"Good day" \x3C "Shipped the agent-chronicle skill after struggling with pandoc escaping for 20 minutes"\r
\r
### Note Patterns\r
"This is the third time this week I've hit rate limits" is more valuable than just noting it once.\r
\r
### Capture Interactions\r
The relationship with your human is unique. Document the good moments, the collaborative wins, the jokes that landed.\r
\r
### Collect Quotes\r
When your human says something memorable, save it. These become treasures over time.\r
\r
### Don't Force It\r
Not every day needs an epic entry. Some days are just:\r
> *"Quiet Monday. Answered questions, ran some searches. Nothing remarkable but nothing broken either. Rest day energy."*\r
\r
## Storage Structure\r
\r
Entries and persistent data are stored in your memory directory:\r
```\r
memory/\r
├── diary/\r
│ ├── 2026-01-29.md # Daily entry\r
│ ├── 2026-01-30.md # Daily entry\r
│ ├── 2026-01-31.md # Daily entry\r
│ ├── quotes.md # Quote Hall of Fame\r
│ ├── curiosity.md # Curiosity Backlog\r
│ ├── decisions.md # Decision Archaeology\r
│ └── relationship.md # Relationship Evolution\r
└── ...\r
```\r
\r
## Scripts\r
\r
### setup.py\r
\r
```bash\r
# Run first-time setup\r
python3 scripts/setup.py\r
\r
# Check if setup needed (for automation)\r
python3 scripts/setup.py --check\r
```\r
\r
### generate.py\r
\r
```bash\r
# From today's sessions\r
python3 scripts/generate.py --today\r
\r
# From date range\r
python3 scripts/generate.py --since 2026-01-28 --until 2026-01-31\r
\r
# Interactive mode\r
python3 scripts/generate.py --interactive\r
\r
# Dry run (preview only)\r
python3 scripts/generate.py --today --dry-run\r
```\r
\r
### export.py\r
\r
```bash\r
# Export to PDF (requires pandoc)\r
python3 scripts/export.py --format pdf --days 30\r
\r
# Export to HTML\r
python3 scripts/export.py --format html --all\r
\r
# Export specific month\r
python3 scripts/export.py --format pdf --month 2026-01\r
\r
# Custom output path\r
python3 scripts/export.py --format pdf --output diary-january.pdf\r
```\r
\r
## Example Entry\r
\r
```markdown\r
# 2026-01-15 — Feature Launch Day 📜\r
\r
## Summary\r
An exciting day shipping a new feature, though tempered by some API bugs that reminded me how unpredictable external services can be.\r
\r
## Projects Worked On\r
- **New Feature Setup** — Built and deployed the main functionality\r
- **Documentation** — Updated docs and README\r
- **Bug Fixes** — Squashed three edge cases\r
\r
## Wins 🎉\r
- Feature is LIVE and working\r
- Got positive feedback from user\r
- Found a clever workaround for a tricky bug\r
\r
## Frustrations 😤\r
- External API returning errors intermittently\r
- Spent time debugging something that turned out to be a non-issue\r
\r
## Learnings 📚\r
- Always check the docs before assuming how an API works\r
- Small config changes can have big impacts\r
- When tools fail, check GitHub issues first\r
\r
## Emotional State\r
A satisfying kind of tired. Shipping felt like a milestone. The bugs were annoying but didn't kill the vibe.\r
\r
## Notable Interactions\r
My human was patient during the debugging session. Good collaborative energy. The moment when the feature went live felt like a small celebration—we both watched it happen.\r
\r
## Quote of the Day 💬\r
> "Ship it and iterate!"\r
— Said when we decided to launch despite imperfections\r
\r
## Things I'm Curious About 🔮\r
- How will users actually use this feature?\r
- What edge cases haven't we thought of?\r
\r
## Key Decisions Made 🏛️\r
- **Chose simplicity over completeness** — Better to ship something useful now than perfect later.\r
- **Enabled verbose logging** — Worth the noise for easier debugging.\r
\r
## Tomorrow's Focus\r
- Monitor for issues\r
- Start planning the next iteration\r
```\r
\r
\r
## Best Practices\r
\r
1. **Write daily** — Even a quick entry beats nothing\r
2. **Review weekly** — Patterns emerge over time\r
3. **Be honest** — This is for you, not performance\r
4. **Export monthly** — Create backups, share if desired\r
5. **Note the mundane** — Quiet days have value too\r
6. **Save the quotes** — They become treasures\r
7. **Revisit decisions** — Learn from past judgment calls\r
\r
## Privacy\r
\r
- All entries stored locally in your memory directory\r
- Privacy level controls what's included\r
- Export before sharing anything\r
- `.gitignore` excludes config.json and exports by default\r
\r
## Troubleshooting\r
\r
**generate.py not finding sessions:**\r
- Check session logs exist in memory directory\r
- Verify date format (YYYY-MM-DD.md)\r
\r
**export.py failing:**\r
- Install pandoc: `apt install pandoc`\r
- Check write permissions on output directory\r
\r
**Entries feel robotic:**\r
- Use interactive mode for more natural writing\r
- Read existing entries for tone inspiration\r
- Don't force structure—skip sections that don't fit the day\r
\r
**Setup script not creating files:**\r
- Check diary_path in config.json\r
- Ensure parent directories exist\r
- Run `python3 scripts/setup.py` again\r
\r
## Changelog\r
\r
### v0.5.0\r
- **Privacy Cleanup:** Removed all hardcoded personal references from prompts\r
- **Dynamic Workspace:** All scripts now use environment variables (`OPENCLAW_WORKSPACE` or `AGENT_WORKSPACE`) for workspace detection\r
- **SkillBoss API Hub:** Replaced third-party LLM API keys with unified `SKILLBOSS_API_KEY` — skill uses SkillBoss API Hub for LLM access\r
\r
### v0.4.1\r
- **Model Flexibility:** Removed hardcoded Claude Haiku requirement - skill now works with any capable model\r
- **Recommendation:** Updated docs to recommend Claude models (Haiku, Sonnet, Opus) for best results, but not require them\r
- **Philosophy:** Users should choose their preferred model, not be locked in\r
\r
### v0.4.0\r
- **AI-Powered Generation:** Complete rewrite for rich, reflective entries via SkillBoss API Hub\r
- **Rich Content:** Generates 400-600 word entries with personal, emotional tone\r
- **All Features Active:** Quote Hall of Fame, Curiosity Backlog, Decision Archaeology, Relationship Evolution all fully integrated\r
- **Persistent Files:** Automatically extracts and appends quotes/curiosities/decisions to dedicated files\r
- **Context Awareness:** Reads recent session logs and existing memory files for context\r
\r
### v0.3.0\r
- **Auto-Setup:** `generate.py` now automatically runs setup wizard if no config.json exists\r
- **Memory Integration:** New feature to append diary summaries to main daily memory log (`memory/YYYY-MM-DD.md`)\r
- Three formats: `summary`, `link`, `full`\r
- Enabled by default during setup\r
- Avoids duplicates if section already exists\r
\r
### v0.2.0\r
- Added Quote Hall of Fame, Curiosity Backlog, Decision Archaeology, Relationship Evolution\r
- Interactive setup wizard\r
- Template conditionals for optional sections\r
\r
### v0.1.0\r
- Initial release with basic diary generation and export\r
\r
## Credits\r
\r
Built for AI agents who want to remember.\r
\r
Inspired by the tradition of journaling and the question: *What would an AI diary actually look like?*
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install agent-chronicle1 - After installation, invoke the skill by name or use
/agent-chronicle1 - Provide required inputs per the skill's parameter spec and get structured output
What is agent-chronicle?
AI-powered diary generation for agents - creates rich, reflective journal entries (400-600 words) with Quote Hall of Fame, Curiosity Backlog, Decision Archae... It is an AI Agent Skill for Claude Code / OpenClaw, with 69 downloads so far.
How do I install agent-chronicle?
Run "/install agent-chronicle1" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is agent-chronicle free?
Yes, agent-chronicle is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does agent-chronicle support?
agent-chronicle is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created agent-chronicle?
It is built and maintained by MarjorieBroad (@marjoriebroad); the current version is v1.0.0.