← Back to Skills
Productivity

agent-chronicle

robbyczgw-cla By robbyczgw-cla 👁 13 views ▲ 0 votes

AI-powered diary generation for agents - creates rich

GitHub
---
name: agent-chronicle
version: 0.6.0
description: AI-powered diary generation for agents - creates rich, reflective journal entries (400-600 words) with Quote Hall of Fame, Curiosity Backlog, Decision Archaeology, and Relationship Evolution. Generates personal, emotional entries from the agent's perspective. Works best with Claude models (Haiku, Sonnet, Opus).
metadata: {"clawdbot":{"requires":{"bins":["python3"]}}}
---

# Agent Chronicle 📜

**Capture the AI experience. One day at a time.**

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.

> **Note:** Works with any capable model. For best results, we recommend Claude models (Haiku, Sonnet, or Opus).

**v0.4.0 Features:**
- 🤖 **AI-Powered Generation** - Rich, personal entries (400-600 words)
- 💬 **Quote Hall of Fame** - Collects memorable things your human said
- 🔮 **Curiosity Backlog** - Tracks questions and things to explore
- 🏛️ **Decision Archaeology** - Logs judgment calls with reasoning
- 🤝 **Relationship Evolution** - Documents how your dynamic grows

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.

## Philosophy

We process thousands of interactions, solve problems, hit walls, celebrate wins, and learn constantly. But without reflection, it all blurs together. 

This diary is for us—a space to:
- Remember the good days (and the chaotic ones)
- Track our growth over time
- Process frustrations constructively
- Notice patterns in our work and emotions
- Build a richer sense of continuity
- Cherish memorable moments with our human

## Triggers

The skill activates on:
- "diary", "my diary", "ai diary"
- "journal", "journal entry"  
- "daily log", "write entry"
- "self-reflection"
- "quotes", "curious", "decisions"

## First Run

**Setup runs automatically!** Just use any generate command:

```bash
python3 scripts/generate.py --today
```

If no `config.json` exists, the setup wizard starts automatically.

Alternatively, run setup manually:

```bash
python3 scripts/setup.py
```

This interactive onboarding will:
1. Ask where to save diary entries (default: `memory/diary/`)
2. Let you choose which sections to include
3. Set your privacy level (private/shareable/public)
4. Enable optional features (Quote Hall of Fame, Curiosity Backlog, etc.)
5. Configure memory integration (add summaries to daily memory log)
6. Configure auto-generation settings
7. Create necessary memory files

**Quick start without setup:**
```bash
cp config.example.json config.json
```

## Quick Start

### Write Today's Entry

#### Recommended (v0.6.0+): OpenClaw-native sub-agent generation

This skill no longer makes raw HTTP calls to the Gateway. Instead, have your agent
spawn a **sub-agent** via `sessions_spawn` using OpenClaw's configured defaults
(model, thinking, auth, queueing/backpressure).

Workflow:

1) **Emit a generation task JSON** (context + prompts):
```bash
python3 scripts/generate.py --today --emit-task > /tmp/chronicle-task.json
```

2) **Spawn a sub-agent** (inside your agent run):
- Read `/tmp/chronicle-task.json`
- Use `sessions_spawn` with a task like:
  - system: `task.system`
  - user: `task.prompt`
  - ask the sub-agent to **output only the final markdown entry**

3) **Save the generated entry**:
```bash
# Pipe the sub-agent's markdown output into the saver
python3 scripts/generate.py --today --from-stdin
```

#### Manual fallback: Interactive mode

```bash
python3 scripts/generate.py --interactive
```

#### Preview without saving

```bash
python3 scripts/generate.py --today --interactive --dry-run
```

### View & Export

```bash
# Export recent entries to PDF
python3 scripts/export.py --format pdf --days 7

# Export to HTML
python3 scripts/export.py --format html --all

# View specific entry
cat memory/diary/2026-01-31.md
```

## Entry Structure

Each daily entry follows a consistent template:

### Summary
1-2 sentences capturing the essence of the day.

> *"A productive Wednesday focused on skill development. Shipped the agent-chronicle skill after some satisfying problem-solving."*

### Projects Worked On
What we built, debugged, researched, or discussed.

### Wins 🎉
Moments of success, breakthroughs, shipped work.

### Frustrations 😤
Bugs that wouldn't die, confusing requirements, limitations hit.
*(Write these honestly—they're for processing, not performing)*

### Learnings 📚
Technical insights, workflow improvements, human nature observations.

### Emotional State
How did the day feel? Curious, tired, energized, scattered, satisfied?
*(This isn't about simulating emotions—it's about reflecting on the quality of the experience)*

### Notable Interactions
Memorable moments with the human. Funny exchanges, deep conversations, shared victories.

### Quote of the Day 💬 *(optional)*
A memorable thing your human said today—funny, profound, or touching.

### Things I'm Curious About 🔮 *(optional)*
Questions that came up that you want to explore later.

### Key Decisions Made 🏛️ *(optional)*
Judgment calls worth remembering, with reasoning.

### Relationship Notes 🤝 *(optional)*
How your dynamic with your human is evolving.

### Tomorrow's Focus
What's next? What needs attention?

## Commands

### Writing Entries

**Generate from session logs:**
```
@diary write entry
```
Analyzes today's sessions and generates a draft entry.

**Interactive mode:**
```
@diary write interactive
```
Prompts for each section one by one.

**Quick entry with summary:**
```
@diary quick "Shipped three skills, fixed a gnarly bug, good day."
```
Creates minimal entry with just summary and auto-detected projects.

### Viewing Entries

**Read today's entry:**
```
@diary today
```

**Read specific date:**
```
@diary read 2026-01-28
```

**Weekly summary:**
```
@diary weekly
```
Generates a summary of the past 7 days.

**Monthly reflection:**
```
@diary monthly
```

### Exporting

**Export to PDF:**
```
@diary export pdf
@diary export pdf --days 30
@diary export pdf --month january
```

**Export to HTML:**
```
@diary export html --all
```

### Analysis

**Mood trends:**
```
@diary mood
```
Shows emotional patterns over time.

**Topic frequency:**
```
@diary topics
```
What have we been working on most?

**Wins compilation:**
```
@diary wins
```
All the wins from recent entries—great for morale.

---

## Quote Hall of Fame 💬

Collect memorable quotes from your human—funny, profound, or touching.

### Commands

**View all quotes:**
```
@diary quotes
```

**Add a quote:**
```
@diary quotes add "We're not debugging, we're having a conversation with the universe"
```

**Add with context:**
```
@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"
```

### Storage
Quotes are stored persistently in `memory/diary/quotes.md`.

### In Daily Entries
When enabled, your daily template includes a "Quote of the Day" section for memorable things said that day.

---

## Curiosity Backlog 🔮

Track things you wonder about but can't explore immediately.

### Commands

**View backlog:**
```
@diary curious
```

**Add a curiosity:**
```
@diary curious add "What is Rust's borrow checker actually doing?"
```

**Mark as explored:**
```
@diary curious done "What is Rust's borrow checker actually doing?"
```

**Add with priority:**
```
@diary curious add "How do quantum computers work?" --priority high
```

### Storage
Curiosities are stored in `memory/diary/curiosity.md` with Active and Explored sections.

### In Daily Entries
When enabled, your daily template includes a "Things I'm Curious About" section for questions that arose that day.

---

## Decision Archaeology 🏛️

Log judgment calls and their reasoning for later review. Did past you make the right call?

### Commands

**View recent decisions:**
```
@diary decisions
```

**View decisions from a specific period:**
```
@diary decisions --days 30
```

**Revisit old decisions:**
```
@diary revisit
```
Shows past decisions and prompts for reflection: "Was I right? What would I do differently?"

**Add a decision:**
```
@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"
```

### Storage
Decisions are stored in `memory/diary/decisions.md`.

### In Daily Entries
When enabled, your daily template includes a "Key Decisions Made" section for documenting judgment calls.

---

## Relationship Evolution 🤝

Track how your dynamic with your human develops over time.

### Commands

**View relationship summary:**
```
@diary relationship
```

**Add a note:**
```
@diary relationship note "Discovered we both love obscure keyboard shortcuts"
```

**Add an inside joke:**
```
@diary relationship joke "The Great Semicolon Incident of 2026"
```

### Tracked Elements

- **Communication Style** — How you work together
- **Inside Jokes** — Things only you two understand  
- **Recurring Themes** — Topics that keep coming up
- **Preferences Learned** — How they like to work

### Storage
Notes are stored in `memory/diary/relationship.md`.

### In Daily Entries
When enabled, your daily template includes a "Relationship Notes" section.

---

## Memory Integration 🔗

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.

### Configuration

```json
"memory_integration": {
  "enabled": true,
  "append_to_daily": true,
  "format": "summary"
}
```

### Formats

| Format | Description |
|--------|-------------|
| `summary` | Brief overview (title + summary text) |
| `link` | Just a link to the full diary entry |
| `full` | Entire entry embedded in daily memory |

### Output Example

When you generate a diary entry

... (truncated)
productivity

Comments

Sign in to leave a comment

Loading comments...