Mini Diary
by @printxdreams
AI-powered minimal diary with smart auto-tagging and optional cloud sync. Perfect for daily journaling, work logs, or project tracking.
clawhub install mini-diaryπ About This Skill
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
π 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.mdSearch 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 --statsList 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.mdAdd a completed todo
echo "- [x] Submit weekly report" >> ~/diary.mdAdd multiple todos
cat >> ~/diary.md << 'EOF'
[ ] Order more filament
[x] Backup server data
[ ] Schedule team meeting
EOF
Todo Best Practices
1. Start with date: Ensure you're adding to the correct day's section 2. Use clear descriptions: "Call John re: P1S delivery" not just "Call John" 3. Update status: Change[ ] to [x] when completed
4. Review daily: Check todos at start/end of each dayFinding Todos
# Search for pending todos
grep "\[ \]" ~/diary.mdSearch for completed todos
grep "\[x\]" ~/diary.mdCount 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
1. Set environment variable:
export NEXTCLOUD_SYNC_DIR="/path/to/nextcloud/diary"
2. 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.mdOr 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
1. Tags not appearing: Check content keywords match tag rules 2. NextCloud files not showing: Did you run the scan command? 3. Permission errors: Check file ownership in NextCloud directory 4. 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!
1. Fork the repository 2. Create a feature branch 3. Submit a pull request
π License
MIT License - see LICENSE file for details.
π Acknowledgments
Mini Diary - Because journaling should be simple, smart, and yours.
βοΈ Configuration
1. Set environment variable:
export NEXTCLOUD_SYNC_DIR="/path/to/nextcloud/diary"
2. 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.mdOr 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]