← Back to Skills Marketplace
luyu925065781

Daily Diary

by luyu925065781 · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
248
Downloads
0
Stars
1
Active Installs
2
Versions
Install in OpenClaw
/install daily-diary
Description
AI-assisted daily diary system. Automatically review the day's conversations, extract key events, decisions, and insights, then generate a structured diary d...
README (SKILL.md)

Daily Diary

Generate structured diary entries by reviewing conversation history.

Workflow

Diary generation follows these steps:

  1. Review today's conversations → extract topics, achievements, decisions, insights
  2. Generate draft → fill structured template, write in first person
  3. Deliver to user → present draft with prompts for additions
  4. Archive → save to ~/diary/YYYY/MM/YYYY-MM-DD.md

Step 1: Review Conversations

Scan all conversations from today. Extract:

  • Topics discussed — projects, domains, problems worked on
  • Concrete achievements — tasks completed, features shipped, issues resolved
  • Key decisions — choices made and their rationale
  • Challenges — blockers, bugs, frustrations encountered
  • Insights — ideas, lessons learned, perspectives shifted

Sensitive data filter — ALWAYS strip all credentials, keys, personal identity information, server addresses, and configuration file contents from extracted content before including in diary. Redact paths containing usernames to ~/. Content the user explicitly marked as confidential must also be excluded.

Step 2: Generate Draft

Write in first person ("I"). Tone: warm, natural, like writing to future self.

Use this structure:

📔 YYYY-MM-DD Diary

☀️ Today's Summary
(One sentence capturing the day's main thread)

✅ Achievements
- Achievement 1
- Achievement 2

🧭 Key Decisions
- Decision: rationale and conclusion

💡 Reflections
(Insights or lessons extracted from conversations)

📋 Tomorrow's Plan
- [ ] Task 1
- [ ] Task 2

🎯 One-Line Mood
(Leave blank for user to fill)

🏷️ Tags
#tag1 #tag2 #tag3

Quality rules:

  • Be specific with details, avoid generic summaries
  • Preserve the user's original phrasing when it captures something well
  • Extract 3-5 topic tags from content (domains like #AI, #product; types like #decision, #milestone; moods like #productive, #focused)
  • Omit sections with no content rather than filling with filler
  • Double-check that no sensitive data made it into the draft before delivery

Writing style:

  • State facts directly. Drop filler phrases like "Additionally", "It is worth noting", "In this context"
  • Vary sentence length. Short punchy sentences, then longer ones with detail. Mix it up, avoid mechanical repetition
  • Do not inflate significance. "Finished security hardening" not "Completed a landmark security upgrade marking a new era for the system"
  • Use concrete facts over vague attribution. "Deployed rate limiting" not "Took a series of critical measures"
  • Have opinions and warmth. Diaries are personal — say "Hit a nasty bug today" or "Really happy with this solution"

Step 3: Deliver to User

Append this footer to every diary draft:

---
💬 To complete your entry:
1. How was your mood today? (one sentence is fine)
2. Anything to add or change?
3. Reply ✅ to archive as-is

Step 4: Archive

User response Action
Adds content Merge additions, then save
Replies ✅ or "ok" Save immediately
No reply within 24h Save as draft (status: unreviewed)

Save path: ~/diary/YYYY/MM/YYYY-MM-DD.md

Append status line at end of file:

---
*Generated by [agent-name] at HH:MM | Status: confirmed/unreviewed*

Empty Day Handling

When no conversations exist for today:

  1. Briefly inform user: "No conversation records today."
  2. Offer 2 guided prompts from the reference file. See quick-prompts.md.
  3. If user responds, build entry from their input.
  4. If no response, skip today's entry.

Guided Prompts

When the user says they have nothing to write, or when conversation content is thin, use prompts from quick-prompts.md to draw out content.

Rules: pick at most 2-3 questions per session. Choose based on the day's conversation topics. Keep the tone light — journaling should never feel like homework.

Cron Setup

Add to cron/jobs.json for automated daily triggers:

{
  "name": "daily-diary",
  "schedule": { "expr": "0 20 * * *", "kind": "cron", "tz": "Asia/Shanghai" },
  "sessionTarget": "isolated",
  "payload": {
    "kind": "agentTurn",
    "message": "It's evening diary time. Review today's conversations and generate a diary draft following the daily-diary skill workflow.",
    "timeoutSeconds": 180
  },
  "delivery": { "channel": "feishu", "mode": "announce", "to": "chat:\x3Cgroup-id>" }
}

Adjust tz, channel, and to for your setup.

Storage Structure

~/diary/
├── YYYY/
│   └── MM/
│       └── YYYY-MM-DD.md
└── weekly/          (future: auto-generated weekly summaries)

Security

  • Filter all sensitive data (credentials, personal identity info, etc.) before writing. When uncertain, omit.
  • Diary files are local-only. Never transmit beyond the configured delivery channel.
  • May read user personality files to match writing style, but never copy raw content into entries.
  • Never access system configuration or credential directories unrelated to diary generation.
  • Only deliver to the conversation owner. Drafts remain drafts until user confirms.

Scope

This skill ONLY:

  • Reads conversation history for content extraction
  • Creates and edits files within ~/diary/
  • Delivers diary drafts through the user's configured channel

This skill NEVER:

  • Modifies files outside the diary directory (reading personality files for tone matching is allowed)
  • Sends diary content to external services or third parties
  • Deletes diary entries without explicit user approval
  • Stores any sensitive information in diary text
  • Makes network requests beyond the configured delivery channel
Usage Guidance
This skill appears to be what it says (an instruction-only diary generator) but has two practical worries you should address before enabling it: (1) clarify and restrict what 'all conversations' means — confine sources to your personal conversations only (no group chats or third-party feeds) and explicitly opt in to any shared channels; (2) fix the delivery configuration — the cron example posts to a group (Feishu) which conflicts with the skill's privacy statement. Also: test the redaction behavior thoroughly with dummy data (ensure credentials, IPs, file contents are removed), limit file permissions on ~/diary (e.g., chmod 600), and only enable scheduled runs after you confirm delivery targets and scopes. If in doubt, run the skill manually rather than enabling cron automation.
Capability Analysis
Type: OpenClaw Skill Name: daily-diary Version: 1.0.1 The daily-diary skill is a well-documented tool for generating journal entries from conversation history. It includes explicit security instructions in SKILL.md to filter sensitive data (credentials, PII, and server addresses) and restricts file operations to a specific local directory (~/diary/). There is no evidence of data exfiltration, malicious execution, or prompt injection intended to bypass security controls.
Capability Assessment
Purpose & Capability
The name/description (daily diary from conversation history) matches the declared actions (read conversations, generate drafts, save to ~/diary). However the provided cron example targets a group delivery channel (Feishu group announcement), which contradicts the SKILL.md claim that drafts are delivered only to the conversation owner; that mismatch is unexplained and disproportionate to a personal diary skill.
Instruction Scope
Instructions tell the agent to 'scan all conversations from today' but do not strictly define which conversation sources (private DMs, group chats, external integrations) are in-scope. The skill repeatedly relies on the agent to 'ALWAYS strip' credentials and sensitive items before writing or delivering — this is a high-risk, manual requirement because a mistake could leak secrets. The cron example's delivery to a group chat is an explicit scope creep risk (could broadcast private content if misconfigured).
Install Mechanism
Instruction-only skill with no install spec, no binaries, and no code files — minimal filesystem/install risk. Nothing will be downloaded or executed automatically by an installer.
Credentials
No environment variables, credentials, or config paths are requested. The declared ability to read 'user personality files' for tone-matching is stated as limited; that access is plausible for the stated purpose but should be scoped and consented to by the user.
Persistence & Privilege
always is false and the skill does not request elevated or persistent system privileges. It writes only under ~/diary according to the instructions; however, any automated cron setup is user-driven and could change delivery targets if misconfigured.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install daily-diary
  3. After installation, invoke the skill by name or use /daily-diary
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
- Clarified and simplified sensitive data filtering: now described as excluding all credentials, keys, identity info, server addresses, and configuration data. - Security and privacy sections consolidated for readability; specific file patterns and technical details moved to summary statements. - Explicitly stated that the skill never modifies files outside the diary directory, and only reads personality files for tone matching when needed. - General wording streamlined and redundant text removed in multiple sections; core workflow, templates, and guidance unchanged. - No changes to actual diary workflow, prompts, or main features.
v1.0.0
Initial release. - Review daily conversations and generate structured diary drafts - First-person writing with customizable template - Sensitive data filtering (API keys, credentials, IPs, etc.) - Cron-based evening prompts with guided questions - Tag-based organization and local markdown archiving - User review workflow before finalizing entries
Metadata
Slug daily-diary
Version 1.0.1
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 2
Frequently Asked Questions

What is Daily Diary?

AI-assisted daily diary system. Automatically review the day's conversations, extract key events, decisions, and insights, then generate a structured diary d... It is an AI Agent Skill for Claude Code / OpenClaw, with 248 downloads so far.

How do I install Daily Diary?

Run "/install daily-diary" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Daily Diary free?

Yes, Daily Diary is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Daily Diary support?

Daily Diary is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Daily Diary?

It is built and maintained by luyu925065781 (@luyu925065781); the current version is v1.0.1.

💬 Comments