name: mini-diary
description: AI-powered minimal diary with smart auto-tagging and optional cloud sync. Perfect for daily journaling, work logs, or project tracking.
allowed-tools: Bash(mini-diary:*)
๐ Mini Diary Skill
Your AI-powered mini diary. Small footprint, smart features.
โจ Features
๐ Simple Daily Logging: Clean Markdown format with date, weather, notes, and todos
๐ท๏ธ Smart Auto-Tagging: AI analyzes content and adds relevant tags automatically
๐ Powerful Search: Search by tags, date, or content with context
๐ Basic Statistics: Tag frequency and completion rate tracking
โ๏ธ Cloud Sync Ready: Optional NextCloud integration with detailed guide
๐ Open Format: Plain Markdown files - you own your data
๐ Quick Start
Installation
# Install via ClawHub
clawhub install mini-diary
Basic Usage
# Add a note (auto-tagging happens automatically)
mini-diary add "Met with client about P1S delivery"
# Add a todo item (use [ ] for pending, [x] for completed)
# The todo will be added to the current day's todo section
echo "- [ ] Follow up with supplier" >> ~/diary.md
echo "- [x] Submit monthly report" >> ~/diary.md
# Search by tag
mini-diary search --tag "๐ฆ"
# Search by date
mini-diary search --date "2024-02-22"
# Search in content
mini-diary search "client meeting"
# View statistics
mini-diary search --stats
# List all available tags
mini-diary search --list-tags
๐ Diary Format
Mini Diary uses a simple Markdown format:
# ๐ My Diary
## ๐
2024-02-22 Thursday
### ๐ Notes
- Met with client about P1S delivery ๐ฆ๐
- Fixed heating issue on X1C printer ๐ง๐
- Submitted monthly invoice ๐ฐ
### โ
Todos
- [ ] Follow up with supplier
- [x] Update inventory spreadsheet
โ Managing Todos
Adding Todos
Since todos are simple Markdown task lists, you can add them directly:
# Add a pending todo
echo "- [ ] Call client for follow-up" >> ~/diary.md
# Add a completed todo
echo "- [x] Submit weekly report" >> ~/diary.md
# Add multiple todos
cat >> ~/diary.md << 'EOF'
- [ ] Order more filament
- [x] Backup server data
- [ ] Schedule team meeting
EOF
Todo Best Practices
Start with date: Ensure you're adding to the correct day's section
Use clear descriptions: "Call John re: P1S delivery" not just "Call John"
Update status: Change
[ ]to[x]when completedReview daily: Check todos at start/end of each day
Finding Todos
# Search for pending todos
grep "\[ \]" ~/diary.md
# Search for completed todos
grep "\[x\]" ~/diary.md
# Count todos by status
grep -c "\[ \]" ~/diary.md # Pending count
grep -c "\[x\]" ~/diary.md # Completed count
๐ท๏ธ Auto-Tagging System
The AI automatically adds tags based on content:
| Tag | Meaning | Example Triggers |
|-----|---------|------------------|
| ๐ | Family | home, family, household |
| ๐ฐ | Finance | invoice, payment, accounting |
| ๐ฆ | Order | order, purchase, stock |
| ๐ | Shipping | shipping, delivery, logistics |
| ๐ป | Tech | software, system, computer |
| ๐ง | Support | repair, fix, issue, problem |
| ๐ | Bambu | bambu, 3d print, printer |
| ๐ | Form | form, report, data, spreadsheet |
| ๐ | Daily | (default for routine notes) |
โ๏ธ NextCloud Integration (Optional)
Setup
- Set environment variable:
export NEXTCLOUD_SYNC_DIR="/path/to/nextcloud/diary"
- Mini Diary will automatically sync to this directory.
โ ๏ธ Important Notes
File Permissions: NextCloud requires specific file ownership:
# After copying files to NextCloud directory:
chown www-data:www-data /path/to/diary.md
# Or using Docker:
docker exec nextcloud_app chown www-data:www-data /var/www/html/data/...
Scan Command Required: NextCloud won't detect changes automatically:
docker exec nextcloud_app php occ files:scan [username]
โ๏ธ Configuration
Environment Variables
# Diary file location
export DIARY_FILE="$HOME/my-diary.md"
# NextCloud sync directory
export NEXTCLOUD_SYNC_DIR="/path/to/nextcloud"
# Custom tag definitions (JSON file)
export TAGS_CONFIG="/path/to/tags.json"
Custom Tags
Create a JSON file to define custom tags:
{
"custom_tags": {
"project-x": "๐",
"urgent": "โ ๏ธ",
"meeting": "๐ฅ"
},
"rules": {
"project-x": ["project x", "px", "feature"],
"urgent": ["urgent", "asap", "important"],
"meeting": ["meeting", "call", "discussion"]
}
}
๐ Advanced Usage
Weekly Report
# Generate weekly summary
mini-diary search --date $(date -d "last week" +%Y-%m-%d) --stats
Tag Analysis
# See most used tags
mini-diary search --stats | grep -A5 "Tag Statistics"
Export Data
# Export to CSV for analysis
grep "^- " diary.md | sed 's/^- //' > notes.csv
๐ง Troubleshooting
Common Issues
Tags not appearing: Check content keywords match tag rules
NextCloud files not showing: Did you run the scan command?
Permission errors: Check file ownership in NextCloud directory
Search not working: Ensure diary file exists and has content
Debug Mode
# Enable debug output
export MINI_DIARY_DEBUG=1
mini-diary add "test note"
๐ค Contributing
Found a bug? Have a feature request? Contributions welcome!
Fork the repository
Create a feature branch
Submit a pull request
๐ License
MIT License - see LICENSE file for details.
๐ Acknowledgments
Built with OpenClaw
Inspired by real-world need for simple, smart journaling
Thanks to all contributors and users
Mini Diary - Because journaling should be simple, smart, and yours.