| name | topic-os |
| description | Install, bootstrap, maintain, and uninstall OpenClaw Telegram Topic OS for deterministic topic rehydration. Use when a user asks to install from the Topic OS repository, bootstrap/map a Telegram forum topic, enable/disable automatic maintenance (daily morning summary + weekly health check), run health checks/reports, or uninstall Topic OS. Do not use for unrelated project operations, general cron management outside Topic OS jobs, or non-topic workflows. |
Topic OS
Use these scripts as source of truth:
{baseDir}/../../scripts/install-to-openclaw-workspace.sh
{baseDir}/../../scripts/enable-topic-os-in-agents.sh
{baseDir}/../../scripts/bootstrap-topic.sh
{baseDir}/../../scripts/topic-map.sh
{baseDir}/../../scripts/lint-project-capsules.sh
{baseDir}/../../scripts/doctor-topic-os.sh
{baseDir}/../../scripts/report-topic.sh
{baseDir}/../../scripts/maintenance-daily-summary.sh
{baseDir}/../../scripts/maintenance-weekly-health.sh
{baseDir}/../../scripts/uninstall-topic-os.sh
{baseDir}/../../scripts/update-topic-os.sh
Use when
- User asks to install Topic OS from repository.
- User asks to bootstrap a Telegram forum topic.
- User asks to enable/disable automatic maintenance for Topic OS.
- User asks for Topic OS health checks or topic reports.
- User asks to uninstall Topic OS.
- User asks to update Topic OS.
Do not use when
- Request is unrelated to Telegram topic mapping/rehydration.
- Request is generic cron setup not tied to Topic OS.
- Request is project development work unrelated to Topic OS scripts.
Required behavior
Output contract (strict)
- Prefer script output over narration.
- Do not reveal internal paths, clone locations, shell steps, or implementation details unless user explicitly asks.
- For install completion, send only the exact install block defined below (no intro/outro, no bullets before/after).
- For
bootstrap <slug>, return script output verbatim.
- For install/uninstall/maintenance actions, keep user-facing text concise and decision-oriented.
-
On install request:
- run
install-to-openclaw-workspace.sh
- run
enable-topic-os-in-agents.sh
- success criteria: scripts installed, AGENTS block present, topic-map preserved if existing.
-
On install request, do not send pre-execution narration.
After install, keep user-facing output simple and do not mention internal install details (clone path, workspace internals, script names).
Send exactly this block and nothing else:
✅ Topic OS installed
🛠️ Enable maintenance + reporting?
This includes:
- daily morning summary
- weekly health check
Reply: yes or no
-
If user replies yes, create exactly two cron jobs:
topic-os-daily-morning-summary at 09:00 UTC
topic-os-weekly-health-check at Monday 08:55 UTC
- success criteria: both jobs exist with exact names and schedules.
- then reply with exactly:
✅ Maintenance + reporting enabled
You can now run: bootstrap <slug> in this topic.
-
If user replies no, do not create those cron jobs.
⚪ Maintenance + reporting not enabled
You can still run: bootstrap <slug> in this topic.
-
On bootstrap request:
- parse exact commands:
bootstrap <slug>, bind <slug>, map <slug>
- if one of these patterns is present, execute immediately (no clarifying question)
- treat
<slug> as literal slug input; do not reinterpret user intent or propose alternatives
- run
bootstrap-topic.sh <groupId> <threadId> <slug>
- if slug is omitted, use fallback
topic-<threadId>
- return
bootstrap-topic.sh output verbatim
- success criteria: mapping exists and capsule file exists.
-
On health/report request:
- use
lint-project-capsules.sh, doctor-topic-os.sh, or report-topic.sh
- success criteria: output is short, actionable, Telegram-friendly.
-
On uninstall request:
- remove Topic OS maintenance cron jobs (exact names above)
- set source dir first:
TOPIC_OS_SOURCE_DIR="${TOPIC_OS_SOURCE_DIR:-$HOME/.openclaw/topic-os-source}"
- run uninstall from source clone (
$TOPIC_OS_SOURCE_DIR/scripts/uninstall-topic-os.sh)
- if user asks full cleanup, run
$TOPIC_OS_SOURCE_DIR/scripts/uninstall-topic-os.sh --purge-data --yes (must remove Topic OS data + source clone paths)
- success criteria: Topic OS scripts removed, AGENTS block removed, Topic OS cron jobs removed.
-
Update flow:
- support
update topic os / update topic-os requests by running update-topic-os.sh check-and-apply
- non-breaking updates auto-apply
- breaking updates require yes/no confirmation
- if user replies
yes to a breaking update prompt, run update-topic-os.sh apply
- if user replies
no, skip update and acknowledge briefly
-
Keep user-facing wording simple: “daily morning summary” and “weekly health check”.
-
If user intent is ambiguous (not clearly install/bootstrap/maintenance/uninstall/update), ask one short clarifying question before running scripts.
Exception: if input matches bootstrap|bind|map <slug>, it is not ambiguous.