Skills scribe
Scans OpenClaw logs, config files, chat history, cursor history, behavior, desires, tastes, and drafts to take comprehensive daily and weekly notes with summaries.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/austindixson/scribe" ~/.claude/skills/openclaw-skills-scribe && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/austindixson/scribe" ~/.openclaw/skills/openclaw-skills-scribe && rm -rf "$T"
skills/austindixson/scribe/SKILL.mdScribe | OpenClaw Skill
Comprehensive note-taking system that scans multiple OpenClaw data sources to generate daily and weekly notes with summaries.
Description
Scribe automatically scans and analyzes:
- OpenClaw logs - Errors, warnings, gateway events, subagent activity
- Config files - Model preferences, gateway settings, agent configurations
- Chat history - Cursor IDE chat messages from SQLite databases
- Cursor history - Workspace-specific conversation history
- Memory files - Daily notes and long-term memory (MEMORY.md)
- Behavior files - BEHAVIOR.md, DESIRES.md, TASTES.md, PREFERENCES.md
- Drafts - Blog posts, tweets, and other draft files
Generates structured markdown notes with summaries at the top of each file.
Installation
clawhub install scribe
Or clone into your skills directory:
git clone https://github.com/Org/scribe.git workspace/skills/scribe
Usage
Daily Notes
Generate a daily note covering the last 24 hours:
python3 workspace/skills/scribe/scripts/scribe.py --mode daily
Weekly Notes
Generate a weekly note covering the last 7 days:
python3 workspace/skills/scribe/scripts/scribe.py --mode weekly
Both Daily and Weekly
Generate both notes at once:
python3 workspace/skills/scribe/scripts/scribe.py --mode both
JSON Output
Get results in JSON format:
python3 workspace/skills/scribe/scripts/scribe.py --mode daily --json
Examples
Example 1: Daily Note Generation
Scenario: You want a daily summary of OpenClaw activity.
Action: Run
python3 workspace/skills/scribe/scripts/scribe.py --mode daily.Outcome: A markdown file
workspace/Notes/daily/YYYY-MM-DD.md with a summary at the top, followed by detailed sections for logs, chat history, memory, drafts, behavior, and config.
Example 2: Weekly Summary
Scenario: You want a weekly overview of patterns and trends.
Action: Run
python3 workspace/skills/scribe/scripts/scribe.py --mode weekly.Outcome: A markdown file
workspace/Notes/weekly/YYYY-MM-DD.md with weekly statistics, trends, and activity summaries.
Example 3: Cron Job Integration
Scenario: Automate daily note generation.
Action: Add a cron job that runs
scribe.py --mode daily every day at midnight.Outcome: Daily notes are automatically generated and saved to
workspace/Notes/daily/.
Commands
python3 workspace/skills/scribe/scripts/scribe.py --mode daily # Generate daily note python3 workspace/skills/scribe/scripts/scribe.py --mode weekly # Generate weekly note python3 workspace/skills/scribe/scripts/scribe.py --mode both # Generate both python3 workspace/skills/scribe/scripts/scribe.py --mode daily --json # JSON output python3 workspace/skills/scribe/scripts/scribe.py --openclaw-home /path/to/openclaw # Custom home directory
- --mode — Choose
,daily
, orweekly
(default:both
)daily - --json — Output results in JSON format instead of markdown files
- --openclaw-home — Specify OpenClaw home directory (default:
)~/.openclaw
What this skill does
- Scans logs - Analyzes all
files in.log
directory for errors, warnings, gateway events, and subagent spawnslogs/ - Reads config - Extracts model preferences, gateway settings, and agent configurations from
openclaw.json - Extracts chat history - Queries Cursor's SQLite databases (
) for recent chat messagesstate.vscdb - Scans memory files - Reads daily notes (
) and long-term memory (memory/YYYY-MM-DD.md
)MEMORY.md - Finds drafts - Searches for draft files matching patterns like
,*draft*.txt
,*draft*.md
,blog/**/*.mdtweet*.txt - Reads behavior files - Looks for
,BEHAVIOR.md
,DESIRES.md
,TASTES.mdPREFERENCES.md - Generates notes - Creates structured markdown files with summaries at the top
- Saves to Notes - Writes daily notes to
and weekly notes toworkspace/Notes/daily/YYYY-MM-DD.mdworkspace/Notes/weekly/YYYY-MM-DD.md
Output Format
Daily Note Structure
# Daily Summary - YYYY-MM-DD HH:MM:SS - **Logs**: X errors, Y warnings - **Gateway Events**: Z events - **Subagent Activity**: N spawns - **Chat Messages**: M messages - **Daily Notes**: K files - **Drafts**: L draft files - **Config**: Loaded successfully --- # Daily Note ## Logs ### Errors (X) - [error details] ### Warnings (Y) - [warning details] ## Chat History Found M messages in the last 24 hours. ### User (X messages) - [message previews] ## Memory Files ### Daily Notes (K) - **YYYY-MM-DD**: [content preview] ## Drafts ### [draft path] - Size: X bytes - Modified: [timestamp] - Preview: [content preview] ## Behavior & Preferences ### Behavior Files - **BEHAVIOR.md**: [content preview] ## Configuration ### Model Preferences - Default: [model] - Aliases: X configured
Weekly Note Structure
# Weekly Summary - YYYY-MM-DD HH:MM:SS [Summary statistics] --- # Weekly Note - YYYY-MM-DD to YYYY-MM-DD ## Weekly Summary - **Total Errors**: X - **Total Warnings**: Y - **Gateway Events**: Z - **Subagent Spawns**: N ## Chat Activity (M messages) - **User**: X messages - **Assistant**: Y messages ## Memory Activity (K daily notes) - **YYYY-MM-DD**: X bytes ## Drafts (L files) - **[path]**: X bytes (modified: [timestamp]) ## Trends & Patterns - ⚠️ **Error Rate**: X errors this week - 🤖 **Subagent Activity**: N spawns this week - 💬 **Chat Activity**: M messages this week
Requirements
- Python 3.7+
- OpenClaw installation with
directory structure~/.openclaw - Cursor IDE installed (for chat history scanning)
- SQLite3 available (usually pre-installed on macOS)
- Write access to
directoryworkspace/Notes/
Integration as a Cron Job
Example Cron Job Configuration:
{ "payload": { "kind": "agentTurn", "message": "Run scribe.py --mode daily to generate daily notes.", "model": "openrouter/google/gemini-2.5-flash", "thinking": "low", "timeoutSeconds": 300 }, "schedule": { "kind": "cron", "cron": "0 0 * * *" }, "delivery": { "mode": "announce" }, "sessionTarget": "isolated", "name": "Daily Scribe Note" }
Or run directly via shell script:
# Add to crontab (crontab -e) # Run daily at midnight 0 0 * * * /Users/ghost/.openclaw/workspace/skills/scribe/scripts/scribe.py --mode daily >> /Users/ghost/.openclaw/logs/scribe.log 2>&1
Security & Privacy
- File access: Reads
(config only, no secrets),openclaw.json
,logs/*.log
, and Cursor SQLite databasesmemory/*.md - No data exfiltration: All data stays local; notes are saved to
directoryworkspace/Notes/ - Safe execution: Uses read-only access to config and logs; only writes to
andworkspace/Notes/daily/
directoriesworkspace/Notes/weekly/
Limitations
- Chat history extraction depends on Cursor's database schema (may need updates if Cursor changes storage format)
- Draft file detection uses pattern matching; may miss files with non-standard naming
- Behavior file detection looks for common filenames; custom locations may not be found
- Large log files may take time to process