Skills scribe
Autonomous session scribe — reads today's OpenClaw session logs, extracts decisions, preferences, framework sentences, and project updates, then writes a structured daily memory file. Use when setting up automated memory extraction for an AI agent, or when manually triggering a memory consolidation pass. Works as a cron job (isolated session) or on-demand.
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/billc8128/openclaw-scribe" ~/.claude/skills/clawdbot-skills-scribe-d2d117 && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/billc8128/openclaw-scribe" ~/.openclaw/skills/clawdbot-skills-scribe-d2d117 && rm -rf "$T"
skills/billc8128/openclaw-scribe/SKILL.mdScribe
An autonomous "stenographer" agent that watches your OpenClaw session history and extracts what matters into persistent, structured memory files — so your agent remembers across sessions without relying on context window compaction.
Install & Setup
1. Copy the skill to your workspace:
cp -r skills/public/scribe ~/.openclaw/workspace/skills/public/scribe
2. Register the nightly cron job (one command):
python3 skills/public/scribe/scripts/setup-cron.py
That's it. Scribe will run every night at 23:30 and write
memory/YYYY-MM-DD.md to your workspace.
3. Run manually anytime:
python3 skills/public/scribe/scripts/scribe.py
How It Works
- Scans today's session JSONL files from
~/.openclaw/agents/main/sessions/ - Filters out heartbeats, system messages, and noise
- Sends user messages to an LLM (via OpenRouter, reads your existing OpenClaw API key)
- Extracts: decisions, preferences, framework sentences, project updates, todos
- Writes structured output to
{workspace}/memory/YYYY-MM-DD.md
Output Format
# YYYY-MM-DD Memory (Scribe) ## 🔑 Decisions Made ## 💡 Preferences & Rules ## 🗣️ Framework Sentences ## 📦 Project Updates ## ✅ Todos / Follow-ups
Configuration
Environment variables (all optional — defaults work out of the box):
| Variable | Default | Description |
|---|---|---|
| | Session JSONL location |
| | Where memory files are written |
| | Days back to scan |
| | LLM model (OpenRouter ID) |
| | Also append to MEMORY.md |
| (from OpenClaw config) | Override API key |
References
- Cron setup details:
— manual config, launchd, timezone changesreferences/cron-setup.md - Signal classification:
— how the LLM decides what's worth extractingreferences/signal-guide.md