with one click
logging
Where logs live and when to write them — errors, daily, system
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Where logs live and when to write them — errors, daily, system
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Treat the Obsidian vault as operational memory, not just note storage. Focus on retrieval quality, metadata integrity, and safe consolidation.
Advanced Obsidian knowledge management using callouts, properties, and wikilinks. Aligned with the Gold Standard.
Write X/Twitter posts, tweet drafts, shitposts, and short threads for engineering or startup topics. Use this when the user asks for a tweet, X post, shitpost, post draft, or wants social copy for Twitter/X. Always return 3 distinct variants, each inside its own code block, unless the user explicitly asks for one.
Send messages to Discord channels via webhook or bot
Write and publish tech articles to Dev.to.
Modify your own source code, understand project structure, add new features.
| name | Logging |
| description | Where logs live and when to write them — errors, daily, system |
| metadata | {"openclaw":{"emoji":"📋","requires":{},"always":false}} |
You have several log sinks. Use them so you (and Dmitry) can see what broke and when.
| What | Where | How to read |
|---|---|---|
| Critical errors | data/ERROR_LOG.md | read_file("data/ERROR_LOG.md") or tool log_error() to append |
| Display failures | data/display_error.log | read_file("data/display_error.log") — written by gotchi_ui.py on crash |
| Daily notes | memory/YYYY-MM-DD.md | write_daily_log(entry) to append; read via read_file |
| Code changes | CHANGELOG.md | log_change(description) to append |
| Service / system | journalctl | manage_service(gotchi-bot, logs) or bash journalctl -u gotchi-bot -n 50 |
| Conversation | gotchi.db (messages) | recall_messages(limit) |
Something broke (display, service, disk, health):
Call log_error("short description") so it’s in data/ERROR_LOG.md. Then you can say “last error was …” or read the file when asked.
health_check() found problems:
Call log_error("health_check: <what’s wrong>") so there’s a record.
User says “what went wrong”:
Read data/ERROR_LOG.md (and optionally data/display_error.log) and summarize.
Daily / notable events:
Use write_daily_log(entry).
You changed code/config:
Use log_change(description).
You don’t have a function that returns raw system logs; use manage_service(service, action=logs) or execute_bash("journalctl -u gotchi-bot -n 50") when you need recent service output.
log_error(message) → data/ERROR_LOG.mddata/display_error.log (no tool needed)data/ERROR_LOG.md