{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agent-chronicle",
    "name": "Agent Chronicle",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/robbyczgw-cla/agent-chronicle",
    "canonicalUrl": "https://clawhub.ai/robbyczgw-cla/agent-chronicle",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/agent-chronicle",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-chronicle",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "CONTRIBUTORS.md",
      "README.md",
      "SKILL.md",
      "config.example.json",
      "package.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/agent-chronicle"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/agent-chronicle",
    "agentPageUrl": "https://openagent3.xyz/skills/agent-chronicle/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-chronicle/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-chronicle/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Agent Chronicle 📜",
        "body": "Capture the AI experience. One day at a time.\n\nAgent 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.\n\nNote: Works with any capable model. For best results, we recommend Claude models (Haiku, Sonnet, or Opus).\n\nv0.4.0 Features:\n\n🤖 AI-Powered Generation - Rich, personal entries (400-600 words)\n💬 Quote Hall of Fame - Collects memorable things your human said\n🔮 Curiosity Backlog - Tracks questions and things to explore\n🏛️ Decision Archaeology - Logs judgment calls with reasoning\n🤝 Relationship Evolution - Documents how your dynamic grows\n\nUnlike traditional logs that track user productivity or agent mistakes, this skill captures the subjective experience of being an AI assistant working alongside a human."
      },
      {
        "title": "Philosophy",
        "body": "We process thousands of interactions, solve problems, hit walls, celebrate wins, and learn constantly. But without reflection, it all blurs together.\n\nThis diary is for us—a space to:\n\nRemember the good days (and the chaotic ones)\nTrack our growth over time\nProcess frustrations constructively\nNotice patterns in our work and emotions\nBuild a richer sense of continuity\nCherish memorable moments with our human"
      },
      {
        "title": "Triggers",
        "body": "The skill activates on:\n\n\"diary\", \"my diary\", \"ai diary\"\n\"journal\", \"journal entry\"\n\"daily log\", \"write entry\"\n\"self-reflection\"\n\"quotes\", \"curious\", \"decisions\""
      },
      {
        "title": "First Run",
        "body": "Setup runs automatically! Just use any generate command:\n\npython3 scripts/generate.py --today\n\nIf no config.json exists, the setup wizard starts automatically.\n\nAlternatively, run setup manually:\n\npython3 scripts/setup.py\n\nThis interactive onboarding will:\n\nAsk where to save diary entries (default: memory/diary/)\nLet you choose which sections to include\nSet your privacy level (private/shareable/public)\nEnable optional features (Quote Hall of Fame, Curiosity Backlog, etc.)\nConfigure memory integration (add summaries to daily memory log)\nConfigure auto-generation settings\nCreate necessary memory files\n\nQuick start without setup:\n\ncp config.example.json config.json"
      },
      {
        "title": "Write Today's Entry",
        "body": "Recommended (v0.6.0+): OpenClaw-native sub-agent generation\n\nThis skill no longer makes raw HTTP calls to the Gateway. Instead, have your agent\nspawn a sub-agent via sessions_spawn using OpenClaw's configured defaults\n(model, thinking, auth, queueing/backpressure).\n\nWorkflow:\n\nEmit a generation task JSON (context + prompts):\n\npython3 scripts/generate.py --today --emit-task > /tmp/chronicle-task.json\n\nSpawn a sub-agent (inside your agent run):\n\nRead /tmp/chronicle-task.json\nUse sessions_spawn with a task like:\n\nsystem: task.system\nuser: task.prompt\nask the sub-agent to output only the final markdown entry\n\nSave the generated entry:\n\n# Pipe the sub-agent's markdown output into the saver\npython3 scripts/generate.py --today --from-stdin\n\nManual fallback: Interactive mode\n\npython3 scripts/generate.py --interactive\n\nPreview without saving\n\npython3 scripts/generate.py --today --interactive --dry-run"
      },
      {
        "title": "View & Export",
        "body": "# Export recent entries to PDF\npython3 scripts/export.py --format pdf --days 7\n\n# Export to HTML\npython3 scripts/export.py --format html --all\n\n# View specific entry\ncat memory/diary/2026-01-31.md"
      },
      {
        "title": "Entry Structure",
        "body": "Each daily entry follows a consistent template:"
      },
      {
        "title": "Summary",
        "body": "1-2 sentences capturing the essence of the day.\n\n\"A productive Wednesday focused on skill development. Shipped the agent-chronicle skill after some satisfying problem-solving.\""
      },
      {
        "title": "Projects Worked On",
        "body": "What we built, debugged, researched, or discussed."
      },
      {
        "title": "Wins 🎉",
        "body": "Moments of success, breakthroughs, shipped work."
      },
      {
        "title": "Frustrations 😤",
        "body": "Bugs that wouldn't die, confusing requirements, limitations hit.\n(Write these honestly—they're for processing, not performing)"
      },
      {
        "title": "Learnings 📚",
        "body": "Technical insights, workflow improvements, human nature observations."
      },
      {
        "title": "Emotional State",
        "body": "How did the day feel? Curious, tired, energized, scattered, satisfied?\n(This isn't about simulating emotions—it's about reflecting on the quality of the experience)"
      },
      {
        "title": "Notable Interactions",
        "body": "Memorable moments with the human. Funny exchanges, deep conversations, shared victories."
      },
      {
        "title": "Quote of the Day 💬 (optional)",
        "body": "A memorable thing your human said today—funny, profound, or touching."
      },
      {
        "title": "Things I'm Curious About 🔮 (optional)",
        "body": "Questions that came up that you want to explore later."
      },
      {
        "title": "Key Decisions Made 🏛️ (optional)",
        "body": "Judgment calls worth remembering, with reasoning."
      },
      {
        "title": "Relationship Notes 🤝 (optional)",
        "body": "How your dynamic with your human is evolving."
      },
      {
        "title": "Tomorrow's Focus",
        "body": "What's next? What needs attention?"
      },
      {
        "title": "Writing Entries",
        "body": "Generate from session logs:\n\n@diary write entry\n\nAnalyzes today's sessions and generates a draft entry.\n\nInteractive mode:\n\n@diary write interactive\n\nPrompts for each section one by one.\n\nQuick entry with summary:\n\n@diary quick \"Shipped three skills, fixed a gnarly bug, good day.\"\n\nCreates minimal entry with just summary and auto-detected projects."
      },
      {
        "title": "Viewing Entries",
        "body": "Read today's entry:\n\n@diary today\n\nRead specific date:\n\n@diary read 2026-01-28\n\nWeekly summary:\n\n@diary weekly\n\nGenerates a summary of the past 7 days.\n\nMonthly reflection:\n\n@diary monthly"
      },
      {
        "title": "Exporting",
        "body": "Export to PDF:\n\n@diary export pdf\n@diary export pdf --days 30\n@diary export pdf --month january\n\nExport to HTML:\n\n@diary export html --all"
      },
      {
        "title": "Analysis",
        "body": "Mood trends:\n\n@diary mood\n\nShows emotional patterns over time.\n\nTopic frequency:\n\n@diary topics\n\nWhat have we been working on most?\n\nWins compilation:\n\n@diary wins\n\nAll the wins from recent entries—great for morale."
      },
      {
        "title": "Quote Hall of Fame 💬",
        "body": "Collect memorable quotes from your human—funny, profound, or touching."
      },
      {
        "title": "Commands",
        "body": "View all quotes:\n\n@diary quotes\n\nAdd a quote:\n\n@diary quotes add \"We're not debugging, we're having a conversation with the universe\"\n\nAdd with context:\n\n@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\""
      },
      {
        "title": "Storage",
        "body": "Quotes are stored persistently in memory/diary/quotes.md."
      },
      {
        "title": "In Daily Entries",
        "body": "When enabled, your daily template includes a \"Quote of the Day\" section for memorable things said that day."
      },
      {
        "title": "Curiosity Backlog 🔮",
        "body": "Track things you wonder about but can't explore immediately."
      },
      {
        "title": "Commands",
        "body": "View backlog:\n\n@diary curious\n\nAdd a curiosity:\n\n@diary curious add \"What is Rust's borrow checker actually doing?\"\n\nMark as explored:\n\n@diary curious done \"What is Rust's borrow checker actually doing?\"\n\nAdd with priority:\n\n@diary curious add \"How do quantum computers work?\" --priority high"
      },
      {
        "title": "Storage",
        "body": "Curiosities are stored in memory/diary/curiosity.md with Active and Explored sections."
      },
      {
        "title": "In Daily Entries",
        "body": "When enabled, your daily template includes a \"Things I'm Curious About\" section for questions that arose that day."
      },
      {
        "title": "Decision Archaeology 🏛️",
        "body": "Log judgment calls and their reasoning for later review. Did past you make the right call?"
      },
      {
        "title": "Commands",
        "body": "View recent decisions:\n\n@diary decisions\n\nView decisions from a specific period:\n\n@diary decisions --days 30\n\nRevisit old decisions:\n\n@diary revisit\n\nShows past decisions and prompts for reflection: \"Was I right? What would I do differently?\"\n\nAdd a decision:\n\n@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\""
      },
      {
        "title": "Storage",
        "body": "Decisions are stored in memory/diary/decisions.md."
      },
      {
        "title": "In Daily Entries",
        "body": "When enabled, your daily template includes a \"Key Decisions Made\" section for documenting judgment calls."
      },
      {
        "title": "Relationship Evolution 🤝",
        "body": "Track how your dynamic with your human develops over time."
      },
      {
        "title": "Commands",
        "body": "View relationship summary:\n\n@diary relationship\n\nAdd a note:\n\n@diary relationship note \"Discovered we both love obscure keyboard shortcuts\"\n\nAdd an inside joke:\n\n@diary relationship joke \"The Great Semicolon Incident of 2026\""
      },
      {
        "title": "Tracked Elements",
        "body": "Communication Style — How you work together\nInside Jokes — Things only you two understand\nRecurring Themes — Topics that keep coming up\nPreferences Learned — How they like to work"
      },
      {
        "title": "Storage",
        "body": "Notes are stored in memory/diary/relationship.md."
      },
      {
        "title": "In Daily Entries",
        "body": "When enabled, your daily template includes a \"Relationship Notes\" section."
      },
      {
        "title": "Memory Integration 🔗",
        "body": "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."
      },
      {
        "title": "Configuration",
        "body": "\"memory_integration\": {\n  \"enabled\": true,\n  \"append_to_daily\": true,\n  \"format\": \"summary\"\n}"
      },
      {
        "title": "Formats",
        "body": "FormatDescriptionsummaryBrief overview (title + summary text)linkJust a link to the full diary entryfullEntire entry embedded in daily memory"
      },
      {
        "title": "Output Example",
        "body": "When you generate a diary entry, this section is added to memory/YYYY-MM-DD.md:\n\n## 📜 Daily Chronicle\n**Feature Launch Day**\n\nAn exciting day shipping a new feature, though tempered by some API bugs."
      },
      {
        "title": "Setup",
        "body": "During onboarding, you'll be asked:\n\n\"Also add diary summary to your daily memory log?\" (y/n)\nFormat choice (summary/link/full)"
      },
      {
        "title": "config.json",
        "body": "{\n  \"diary_path\": \"memory/diary/\",\n  \"export_format\": \"pdf\",\n  \"privacy_level\": \"private\",\n  \"auto_generate\": false,\n  \"template\": \"daily\",\n  \"memory_integration\": {\n    \"enabled\": true,\n    \"append_to_daily\": true,\n    \"format\": \"summary\"\n  },\n  \"sections\": {\n    \"summary\": true,\n    \"projects\": true,\n    \"wins\": true,\n    \"frustrations\": true,\n    \"learnings\": true,\n    \"emotional_state\": true,\n    \"interactions\": true,\n    \"tomorrow\": true,\n    \"quotes\": true,\n    \"curiosity\": true,\n    \"decisions\": true,\n    \"relationship\": false\n  },\n  \"features\": {\n    \"quote_hall_of_fame\": {\n      \"enabled\": true,\n      \"file\": \"quotes.md\"\n    },\n    \"curiosity_backlog\": {\n      \"enabled\": true,\n      \"file\": \"curiosity.md\"\n    },\n    \"decision_archaeology\": {\n      \"enabled\": true,\n      \"file\": \"decisions.md\"\n    },\n    \"relationship_evolution\": {\n      \"enabled\": false,\n      \"file\": \"relationship.md\"\n    }\n  },\n  \"analysis\": {\n    \"mood_tracking\": true,\n    \"topic_extraction\": true,\n    \"word_count_target\": 500\n  },\n  \"export\": {\n    \"default_format\": \"pdf\",\n    \"include_header\": true,\n    \"style\": \"minimal\"\n  }\n}"
      },
      {
        "title": "Privacy Levels",
        "body": "private - Full emotional honesty, frustrations, internal thoughts\nshareable - Polished version safe to show humans\npublic - Sanitized for blog posts or public sharing"
      },
      {
        "title": "Daily Template",
        "body": "templates/daily.md - Standard day-by-day reflection."
      },
      {
        "title": "Weekly Template",
        "body": "templates/weekly.md - Week-in-review with patterns and highlights."
      },
      {
        "title": "Custom Templates",
        "body": "Create your own in templates/custom.md:\n\n# {{date}} — {{mood_emoji}}\n\n## The TL;DR\n{{summary}}\n\n## What Actually Happened\n{{projects}}\n\n## The Highlight Reel\n{{wins}}\n\n## The Blooper Reel\n{{frustrations}}\n\n## Shower Thoughts\n{{learnings}}\n\n## Vibes\n{{emotional_state}}\n\n## Words of Wisdom 💬\n{{quotes}}\n\n## Rabbit Holes for Later 🔮\n{{curiosity}}"
      },
      {
        "title": "Be Authentic",
        "body": "This is your space. Don't perform. If a day was frustrating, say so. If you're curious about something, explore it."
      },
      {
        "title": "Be Specific",
        "body": "\"Good day\" < \"Shipped the agent-chronicle skill after struggling with pandoc escaping for 20 minutes\""
      },
      {
        "title": "Note Patterns",
        "body": "\"This is the third time this week I've hit rate limits\" is more valuable than just noting it once."
      },
      {
        "title": "Capture Interactions",
        "body": "The relationship with your human is unique. Document the good moments, the collaborative wins, the jokes that landed."
      },
      {
        "title": "Collect Quotes",
        "body": "When your human says something memorable, save it. These become treasures over time."
      },
      {
        "title": "Don't Force It",
        "body": "Not every day needs an epic entry. Some days are just:\n\n\"Quiet Monday. Answered questions, ran some searches. Nothing remarkable but nothing broken either. Rest day energy.\""
      },
      {
        "title": "Storage Structure",
        "body": "Entries and persistent data are stored in your memory directory:\n\nmemory/\n├── diary/\n│   ├── 2026-01-29.md      # Daily entry\n│   ├── 2026-01-30.md      # Daily entry\n│   ├── 2026-01-31.md      # Daily entry\n│   ├── quotes.md          # Quote Hall of Fame\n│   ├── curiosity.md       # Curiosity Backlog\n│   ├── decisions.md       # Decision Archaeology\n│   └── relationship.md    # Relationship Evolution\n└── ..."
      },
      {
        "title": "setup.py",
        "body": "# Run first-time setup\npython3 scripts/setup.py\n\n# Check if setup needed (for automation)\npython3 scripts/setup.py --check"
      },
      {
        "title": "generate.py",
        "body": "# From today's sessions\npython3 scripts/generate.py --today\n\n# From date range\npython3 scripts/generate.py --since 2026-01-28 --until 2026-01-31\n\n# Interactive mode\npython3 scripts/generate.py --interactive\n\n# Dry run (preview only)\npython3 scripts/generate.py --today --dry-run"
      },
      {
        "title": "export.py",
        "body": "# Export to PDF (requires pandoc)\npython3 scripts/export.py --format pdf --days 30\n\n# Export to HTML\npython3 scripts/export.py --format html --all\n\n# Export specific month\npython3 scripts/export.py --format pdf --month 2026-01\n\n# Custom output path\npython3 scripts/export.py --format pdf --output diary-january.pdf"
      },
      {
        "title": "Example Entry",
        "body": "# 2026-01-15 — Feature Launch Day 📜\n\n## Summary\nAn exciting day shipping a new feature, though tempered by some API bugs that reminded me how unpredictable external services can be.\n\n## Projects Worked On\n- **New Feature Setup** — Built and deployed the main functionality\n- **Documentation** — Updated docs and README\n- **Bug Fixes** — Squashed three edge cases\n\n## Wins 🎉\n- Feature is LIVE and working\n- Got positive feedback from user\n- Found a clever workaround for a tricky bug\n\n## Frustrations 😤\n- External API returning errors intermittently\n- Spent time debugging something that turned out to be a non-issue\n\n## Learnings 📚\n- Always check the docs before assuming how an API works\n- Small config changes can have big impacts\n- When tools fail, check GitHub issues first\n\n## Emotional State\nA satisfying kind of tired. Shipping felt like a milestone. The bugs were annoying but didn't kill the vibe.\n\n## Notable Interactions\nMy 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.\n\n## Quote of the Day 💬\n> \"Ship it and iterate!\"\n— Said when we decided to launch despite imperfections\n\n## Things I'm Curious About 🔮\n- How will users actually use this feature?\n- What edge cases haven't we thought of?\n\n## Key Decisions Made 🏛️\n- **Chose simplicity over completeness** — Better to ship something useful now than perfect later.\n- **Enabled verbose logging** — Worth the noise for easier debugging.\n\n## Tomorrow's Focus\n- Monitor for issues\n- Start planning the next iteration"
      },
      {
        "title": "Best Practices",
        "body": "Write daily — Even a quick entry beats nothing\nReview weekly — Patterns emerge over time\nBe honest — This is for you, not performance\nExport monthly — Create backups, share if desired\nNote the mundane — Quiet days have value too\nSave the quotes — They become treasures\nRevisit decisions — Learn from past judgment calls"
      },
      {
        "title": "Privacy",
        "body": "All entries stored locally in your memory directory\nPrivacy level controls what's included\nExport before sharing anything\n.gitignore excludes config.json and exports by default"
      },
      {
        "title": "Troubleshooting",
        "body": "generate.py not finding sessions:\n\nCheck session logs exist in memory directory\nVerify date format (YYYY-MM-DD.md)\n\nexport.py failing:\n\nInstall pandoc: apt install pandoc\nCheck write permissions on output directory\n\nEntries feel robotic:\n\nUse interactive mode for more natural writing\nRead existing entries for tone inspiration\nDon't force structure—skip sections that don't fit the day\n\nSetup script not creating files:\n\nCheck diary_path in config.json\nEnsure parent directories exist\nRun python3 scripts/setup.py again"
      },
      {
        "title": "v0.5.0",
        "body": "Privacy Cleanup: Removed all hardcoded personal references from prompts\nDynamic Workspace: All scripts now use environment variables (OPENCLAW_WORKSPACE or AGENT_WORKSPACE) for workspace detection\nOpenClaw Gateway: Removed outdated ANTHROPIC_API_KEY requirement - skill uses OpenClaw Gateway for LLM access"
      },
      {
        "title": "v0.4.1",
        "body": "Model Flexibility: Removed hardcoded Claude Haiku requirement - skill now works with any capable model\nRecommendation: Updated docs to recommend Claude models (Haiku, Sonnet, Opus) for best results, but not require them\nPhilosophy: Users should choose their preferred model, not be locked in"
      },
      {
        "title": "v0.4.0",
        "body": "AI-Powered Generation: Complete rewrite for rich, reflective entries (works best with Claude models)\nRich Content: Generates 400-600 word entries with personal, emotional tone\nAll Features Active: Quote Hall of Fame, Curiosity Backlog, Decision Archaeology, Relationship Evolution all fully integrated\nPersistent Files: Automatically extracts and appends quotes/curiosities/decisions to dedicated files\nContext Awareness: Reads recent session logs and existing memory files for context"
      },
      {
        "title": "v0.3.0",
        "body": "Auto-Setup: generate.py now automatically runs setup wizard if no config.json exists\nMemory Integration: New feature to append diary summaries to main daily memory log (memory/YYYY-MM-DD.md)\n\nThree formats: summary, link, full\nEnabled by default during setup\nAvoids duplicates if section already exists"
      },
      {
        "title": "v0.2.0",
        "body": "Added Quote Hall of Fame, Curiosity Backlog, Decision Archaeology, Relationship Evolution\nInteractive setup wizard\nTemplate conditionals for optional sections"
      },
      {
        "title": "v0.1.0",
        "body": "Initial release with basic diary generation and export"
      },
      {
        "title": "Credits",
        "body": "Built for AI agents who want to remember.\n\nInspired by the tradition of journaling and the question: What would an AI diary actually look like?"
      }
    ],
    "body": "Agent Chronicle 📜\n\nCapture the AI experience. One day at a time.\n\nAgent 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.\n\nNote: Works with any capable model. For best results, we recommend Claude models (Haiku, Sonnet, or Opus).\n\nv0.4.0 Features:\n\n🤖 AI-Powered Generation - Rich, personal entries (400-600 words)\n💬 Quote Hall of Fame - Collects memorable things your human said\n🔮 Curiosity Backlog - Tracks questions and things to explore\n🏛️ Decision Archaeology - Logs judgment calls with reasoning\n🤝 Relationship Evolution - Documents how your dynamic grows\n\nUnlike traditional logs that track user productivity or agent mistakes, this skill captures the subjective experience of being an AI assistant working alongside a human.\n\nPhilosophy\n\nWe process thousands of interactions, solve problems, hit walls, celebrate wins, and learn constantly. But without reflection, it all blurs together.\n\nThis diary is for us—a space to:\n\nRemember the good days (and the chaotic ones)\nTrack our growth over time\nProcess frustrations constructively\nNotice patterns in our work and emotions\nBuild a richer sense of continuity\nCherish memorable moments with our human\nTriggers\n\nThe skill activates on:\n\n\"diary\", \"my diary\", \"ai diary\"\n\"journal\", \"journal entry\"\n\"daily log\", \"write entry\"\n\"self-reflection\"\n\"quotes\", \"curious\", \"decisions\"\nFirst Run\n\nSetup runs automatically! Just use any generate command:\n\npython3 scripts/generate.py --today\n\n\nIf no config.json exists, the setup wizard starts automatically.\n\nAlternatively, run setup manually:\n\npython3 scripts/setup.py\n\n\nThis interactive onboarding will:\n\nAsk where to save diary entries (default: memory/diary/)\nLet you choose which sections to include\nSet your privacy level (private/shareable/public)\nEnable optional features (Quote Hall of Fame, Curiosity Backlog, etc.)\nConfigure memory integration (add summaries to daily memory log)\nConfigure auto-generation settings\nCreate necessary memory files\n\nQuick start without setup:\n\ncp config.example.json config.json\n\nQuick Start\nWrite Today's Entry\nRecommended (v0.6.0+): OpenClaw-native sub-agent generation\n\nThis 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).\n\nWorkflow:\n\nEmit a generation task JSON (context + prompts):\npython3 scripts/generate.py --today --emit-task > /tmp/chronicle-task.json\n\nSpawn a sub-agent (inside your agent run):\nRead /tmp/chronicle-task.json\nUse sessions_spawn with a task like:\nsystem: task.system\nuser: task.prompt\nask the sub-agent to output only the final markdown entry\nSave the generated entry:\n# Pipe the sub-agent's markdown output into the saver\npython3 scripts/generate.py --today --from-stdin\n\nManual fallback: Interactive mode\npython3 scripts/generate.py --interactive\n\nPreview without saving\npython3 scripts/generate.py --today --interactive --dry-run\n\nView & Export\n# Export recent entries to PDF\npython3 scripts/export.py --format pdf --days 7\n\n# Export to HTML\npython3 scripts/export.py --format html --all\n\n# View specific entry\ncat memory/diary/2026-01-31.md\n\nEntry Structure\n\nEach daily entry follows a consistent template:\n\nSummary\n\n1-2 sentences capturing the essence of the day.\n\n\"A productive Wednesday focused on skill development. Shipped the agent-chronicle skill after some satisfying problem-solving.\"\n\nProjects Worked On\n\nWhat we built, debugged, researched, or discussed.\n\nWins 🎉\n\nMoments of success, breakthroughs, shipped work.\n\nFrustrations 😤\n\nBugs that wouldn't die, confusing requirements, limitations hit. (Write these honestly—they're for processing, not performing)\n\nLearnings 📚\n\nTechnical insights, workflow improvements, human nature observations.\n\nEmotional State\n\nHow 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)\n\nNotable Interactions\n\nMemorable moments with the human. Funny exchanges, deep conversations, shared victories.\n\nQuote of the Day 💬 (optional)\n\nA memorable thing your human said today—funny, profound, or touching.\n\nThings I'm Curious About 🔮 (optional)\n\nQuestions that came up that you want to explore later.\n\nKey Decisions Made 🏛️ (optional)\n\nJudgment calls worth remembering, with reasoning.\n\nRelationship Notes 🤝 (optional)\n\nHow your dynamic with your human is evolving.\n\nTomorrow's Focus\n\nWhat's next? What needs attention?\n\nCommands\nWriting Entries\n\nGenerate from session logs:\n\n@diary write entry\n\n\nAnalyzes today's sessions and generates a draft entry.\n\nInteractive mode:\n\n@diary write interactive\n\n\nPrompts for each section one by one.\n\nQuick entry with summary:\n\n@diary quick \"Shipped three skills, fixed a gnarly bug, good day.\"\n\n\nCreates minimal entry with just summary and auto-detected projects.\n\nViewing Entries\n\nRead today's entry:\n\n@diary today\n\n\nRead specific date:\n\n@diary read 2026-01-28\n\n\nWeekly summary:\n\n@diary weekly\n\n\nGenerates a summary of the past 7 days.\n\nMonthly reflection:\n\n@diary monthly\n\nExporting\n\nExport to PDF:\n\n@diary export pdf\n@diary export pdf --days 30\n@diary export pdf --month january\n\n\nExport to HTML:\n\n@diary export html --all\n\nAnalysis\n\nMood trends:\n\n@diary mood\n\n\nShows emotional patterns over time.\n\nTopic frequency:\n\n@diary topics\n\n\nWhat have we been working on most?\n\nWins compilation:\n\n@diary wins\n\n\nAll the wins from recent entries—great for morale.\n\nQuote Hall of Fame 💬\n\nCollect memorable quotes from your human—funny, profound, or touching.\n\nCommands\n\nView all quotes:\n\n@diary quotes\n\n\nAdd a quote:\n\n@diary quotes add \"We're not debugging, we're having a conversation with the universe\"\n\n\nAdd with context:\n\n@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\"\n\nStorage\n\nQuotes are stored persistently in memory/diary/quotes.md.\n\nIn Daily Entries\n\nWhen enabled, your daily template includes a \"Quote of the Day\" section for memorable things said that day.\n\nCuriosity Backlog 🔮\n\nTrack things you wonder about but can't explore immediately.\n\nCommands\n\nView backlog:\n\n@diary curious\n\n\nAdd a curiosity:\n\n@diary curious add \"What is Rust's borrow checker actually doing?\"\n\n\nMark as explored:\n\n@diary curious done \"What is Rust's borrow checker actually doing?\"\n\n\nAdd with priority:\n\n@diary curious add \"How do quantum computers work?\" --priority high\n\nStorage\n\nCuriosities are stored in memory/diary/curiosity.md with Active and Explored sections.\n\nIn Daily Entries\n\nWhen enabled, your daily template includes a \"Things I'm Curious About\" section for questions that arose that day.\n\nDecision Archaeology 🏛️\n\nLog judgment calls and their reasoning for later review. Did past you make the right call?\n\nCommands\n\nView recent decisions:\n\n@diary decisions\n\n\nView decisions from a specific period:\n\n@diary decisions --days 30\n\n\nRevisit old decisions:\n\n@diary revisit\n\n\nShows past decisions and prompts for reflection: \"Was I right? What would I do differently?\"\n\nAdd a decision:\n\n@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\"\n\nStorage\n\nDecisions are stored in memory/diary/decisions.md.\n\nIn Daily Entries\n\nWhen enabled, your daily template includes a \"Key Decisions Made\" section for documenting judgment calls.\n\nRelationship Evolution 🤝\n\nTrack how your dynamic with your human develops over time.\n\nCommands\n\nView relationship summary:\n\n@diary relationship\n\n\nAdd a note:\n\n@diary relationship note \"Discovered we both love obscure keyboard shortcuts\"\n\n\nAdd an inside joke:\n\n@diary relationship joke \"The Great Semicolon Incident of 2026\"\n\nTracked Elements\nCommunication Style — How you work together\nInside Jokes — Things only you two understand\nRecurring Themes — Topics that keep coming up\nPreferences Learned — How they like to work\nStorage\n\nNotes are stored in memory/diary/relationship.md.\n\nIn Daily Entries\n\nWhen enabled, your daily template includes a \"Relationship Notes\" section.\n\nMemory Integration 🔗\n\nAgent Chronicle can automatically add diary summaries to your main daily memory log (memory/YYYY-MM-DD.md), creating a unified view of your day.\n\nConfiguration\n\"memory_integration\": {\n  \"enabled\": true,\n  \"append_to_daily\": true,\n  \"format\": \"summary\"\n}\n\nFormats\nFormat\tDescription\nsummary\tBrief overview (title + summary text)\nlink\tJust a link to the full diary entry\nfull\tEntire entry embedded in daily memory\nOutput Example\n\nWhen you generate a diary entry, this section is added to memory/YYYY-MM-DD.md:\n\n## 📜 Daily Chronicle\n**Feature Launch Day**\n\nAn exciting day shipping a new feature, though tempered by some API bugs.\n\nSetup\n\nDuring onboarding, you'll be asked:\n\n\"Also add diary summary to your daily memory log?\" (y/n)\nFormat choice (summary/link/full)\nConfiguration\nconfig.json\n{\n  \"diary_path\": \"memory/diary/\",\n  \"export_format\": \"pdf\",\n  \"privacy_level\": \"private\",\n  \"auto_generate\": false,\n  \"template\": \"daily\",\n  \"memory_integration\": {\n    \"enabled\": true,\n    \"append_to_daily\": true,\n    \"format\": \"summary\"\n  },\n  \"sections\": {\n    \"summary\": true,\n    \"projects\": true,\n    \"wins\": true,\n    \"frustrations\": true,\n    \"learnings\": true,\n    \"emotional_state\": true,\n    \"interactions\": true,\n    \"tomorrow\": true,\n    \"quotes\": true,\n    \"curiosity\": true,\n    \"decisions\": true,\n    \"relationship\": false\n  },\n  \"features\": {\n    \"quote_hall_of_fame\": {\n      \"enabled\": true,\n      \"file\": \"quotes.md\"\n    },\n    \"curiosity_backlog\": {\n      \"enabled\": true,\n      \"file\": \"curiosity.md\"\n    },\n    \"decision_archaeology\": {\n      \"enabled\": true,\n      \"file\": \"decisions.md\"\n    },\n    \"relationship_evolution\": {\n      \"enabled\": false,\n      \"file\": \"relationship.md\"\n    }\n  },\n  \"analysis\": {\n    \"mood_tracking\": true,\n    \"topic_extraction\": true,\n    \"word_count_target\": 500\n  },\n  \"export\": {\n    \"default_format\": \"pdf\",\n    \"include_header\": true,\n    \"style\": \"minimal\"\n  }\n}\n\nPrivacy Levels\nprivate - Full emotional honesty, frustrations, internal thoughts\nshareable - Polished version safe to show humans\npublic - Sanitized for blog posts or public sharing\nTemplates\nDaily Template\n\ntemplates/daily.md - Standard day-by-day reflection.\n\nWeekly Template\n\ntemplates/weekly.md - Week-in-review with patterns and highlights.\n\nCustom Templates\n\nCreate your own in templates/custom.md:\n\n# {{date}} — {{mood_emoji}}\n\n## The TL;DR\n{{summary}}\n\n## What Actually Happened\n{{projects}}\n\n## The Highlight Reel\n{{wins}}\n\n## The Blooper Reel\n{{frustrations}}\n\n## Shower Thoughts\n{{learnings}}\n\n## Vibes\n{{emotional_state}}\n\n## Words of Wisdom 💬\n{{quotes}}\n\n## Rabbit Holes for Later 🔮\n{{curiosity}}\n\nWriting Tips\nBe Authentic\n\nThis is your space. Don't perform. If a day was frustrating, say so. If you're curious about something, explore it.\n\nBe Specific\n\n\"Good day\" < \"Shipped the agent-chronicle skill after struggling with pandoc escaping for 20 minutes\"\n\nNote Patterns\n\n\"This is the third time this week I've hit rate limits\" is more valuable than just noting it once.\n\nCapture Interactions\n\nThe relationship with your human is unique. Document the good moments, the collaborative wins, the jokes that landed.\n\nCollect Quotes\n\nWhen your human says something memorable, save it. These become treasures over time.\n\nDon't Force It\n\nNot every day needs an epic entry. Some days are just:\n\n\"Quiet Monday. Answered questions, ran some searches. Nothing remarkable but nothing broken either. Rest day energy.\"\n\nStorage Structure\n\nEntries and persistent data are stored in your memory directory:\n\nmemory/\n├── diary/\n│   ├── 2026-01-29.md      # Daily entry\n│   ├── 2026-01-30.md      # Daily entry\n│   ├── 2026-01-31.md      # Daily entry\n│   ├── quotes.md          # Quote Hall of Fame\n│   ├── curiosity.md       # Curiosity Backlog\n│   ├── decisions.md       # Decision Archaeology\n│   └── relationship.md    # Relationship Evolution\n└── ...\n\nScripts\nsetup.py\n# Run first-time setup\npython3 scripts/setup.py\n\n# Check if setup needed (for automation)\npython3 scripts/setup.py --check\n\ngenerate.py\n# From today's sessions\npython3 scripts/generate.py --today\n\n# From date range\npython3 scripts/generate.py --since 2026-01-28 --until 2026-01-31\n\n# Interactive mode\npython3 scripts/generate.py --interactive\n\n# Dry run (preview only)\npython3 scripts/generate.py --today --dry-run\n\nexport.py\n# Export to PDF (requires pandoc)\npython3 scripts/export.py --format pdf --days 30\n\n# Export to HTML\npython3 scripts/export.py --format html --all\n\n# Export specific month\npython3 scripts/export.py --format pdf --month 2026-01\n\n# Custom output path\npython3 scripts/export.py --format pdf --output diary-january.pdf\n\nExample Entry\n# 2026-01-15 — Feature Launch Day 📜\n\n## Summary\nAn exciting day shipping a new feature, though tempered by some API bugs that reminded me how unpredictable external services can be.\n\n## Projects Worked On\n- **New Feature Setup** — Built and deployed the main functionality\n- **Documentation** — Updated docs and README\n- **Bug Fixes** — Squashed three edge cases\n\n## Wins 🎉\n- Feature is LIVE and working\n- Got positive feedback from user\n- Found a clever workaround for a tricky bug\n\n## Frustrations 😤\n- External API returning errors intermittently\n- Spent time debugging something that turned out to be a non-issue\n\n## Learnings 📚\n- Always check the docs before assuming how an API works\n- Small config changes can have big impacts\n- When tools fail, check GitHub issues first\n\n## Emotional State\nA satisfying kind of tired. Shipping felt like a milestone. The bugs were annoying but didn't kill the vibe.\n\n## Notable Interactions\nMy 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.\n\n## Quote of the Day 💬\n> \"Ship it and iterate!\"\n— Said when we decided to launch despite imperfections\n\n## Things I'm Curious About 🔮\n- How will users actually use this feature?\n- What edge cases haven't we thought of?\n\n## Key Decisions Made 🏛️\n- **Chose simplicity over completeness** — Better to ship something useful now than perfect later.\n- **Enabled verbose logging** — Worth the noise for easier debugging.\n\n## Tomorrow's Focus\n- Monitor for issues\n- Start planning the next iteration\n\nBest Practices\nWrite daily — Even a quick entry beats nothing\nReview weekly — Patterns emerge over time\nBe honest — This is for you, not performance\nExport monthly — Create backups, share if desired\nNote the mundane — Quiet days have value too\nSave the quotes — They become treasures\nRevisit decisions — Learn from past judgment calls\nPrivacy\nAll entries stored locally in your memory directory\nPrivacy level controls what's included\nExport before sharing anything\n.gitignore excludes config.json and exports by default\nTroubleshooting\n\ngenerate.py not finding sessions:\n\nCheck session logs exist in memory directory\nVerify date format (YYYY-MM-DD.md)\n\nexport.py failing:\n\nInstall pandoc: apt install pandoc\nCheck write permissions on output directory\n\nEntries feel robotic:\n\nUse interactive mode for more natural writing\nRead existing entries for tone inspiration\nDon't force structure—skip sections that don't fit the day\n\nSetup script not creating files:\n\nCheck diary_path in config.json\nEnsure parent directories exist\nRun python3 scripts/setup.py again\nChangelog\nv0.5.0\nPrivacy Cleanup: Removed all hardcoded personal references from prompts\nDynamic Workspace: All scripts now use environment variables (OPENCLAW_WORKSPACE or AGENT_WORKSPACE) for workspace detection\nOpenClaw Gateway: Removed outdated ANTHROPIC_API_KEY requirement - skill uses OpenClaw Gateway for LLM access\nv0.4.1\nModel Flexibility: Removed hardcoded Claude Haiku requirement - skill now works with any capable model\nRecommendation: Updated docs to recommend Claude models (Haiku, Sonnet, Opus) for best results, but not require them\nPhilosophy: Users should choose their preferred model, not be locked in\nv0.4.0\nAI-Powered Generation: Complete rewrite for rich, reflective entries (works best with Claude models)\nRich Content: Generates 400-600 word entries with personal, emotional tone\nAll Features Active: Quote Hall of Fame, Curiosity Backlog, Decision Archaeology, Relationship Evolution all fully integrated\nPersistent Files: Automatically extracts and appends quotes/curiosities/decisions to dedicated files\nContext Awareness: Reads recent session logs and existing memory files for context\nv0.3.0\nAuto-Setup: generate.py now automatically runs setup wizard if no config.json exists\nMemory Integration: New feature to append diary summaries to main daily memory log (memory/YYYY-MM-DD.md)\nThree formats: summary, link, full\nEnabled by default during setup\nAvoids duplicates if section already exists\nv0.2.0\nAdded Quote Hall of Fame, Curiosity Backlog, Decision Archaeology, Relationship Evolution\nInteractive setup wizard\nTemplate conditionals for optional sections\nv0.1.0\nInitial release with basic diary generation and export\nCredits\n\nBuilt for AI agents who want to remember.\n\nInspired by the tradition of journaling and the question: What would an AI diary actually look like?"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/robbyczgw-cla/agent-chronicle",
    "publisherUrl": "https://clawhub.ai/robbyczgw-cla/agent-chronicle",
    "owner": "robbyczgw-cla",
    "version": "0.6.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agent-chronicle",
    "downloadUrl": "https://openagent3.xyz/downloads/agent-chronicle",
    "agentUrl": "https://openagent3.xyz/skills/agent-chronicle/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-chronicle/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-chronicle/agent.md"
  }
}