OpenClaw Cron Guardrails
by @jackal092927
Create, review, repair, or route OpenClaw cron jobs and other scheduled agent actions with safe defaults and explicit delivery/session routing. Use when the...
clawhub install openclaw-cron-guardrailsπ About This Skill
name: openclaw-cron-guardrails description: Create, review, repair, or route OpenClaw cron jobs and other scheduled agent actions with safe defaults and explicit delivery/session routing. Use when the user asks in natural language for reminders, alarms, recurring nudges, periodic scans, daily/nightly jobs, repeated prompt injection into the current session/thread, or any
openclaw cron add/edit/run workflow. Especially use this in multi-channel setups (for example Discord + Feishu) or when delivery routing, channel=last, sessionTarget, timeoutSeconds, thread targeting, or natural-language schedule parsing could go wrong.
OpenClaw Cron Guardrails
Use this skill when the user wants a scheduled or repeated action, even if they never say cron.
What this skill is for
This skill is a guardrails layer for scheduled agent actions.
Treat OpenClaw cron as:
The timer is usually not the hard part. The hard part is choosing the right task type, session target, and delivery target.
Use this workflow
1. Classify the request. 2. Choose the safest job pattern. 3. Explain what will happen. 4. Create, inspect, or modify the job. 5. Verify after creation/edit.
First classify the request
Choose one bucket first:
1. Plain reminder
Remind me in 20 minutes to replymain + systemEvent2. Recurring reminder
Remind me every morning to check my calendarmain + systemEvent3. Internal worker
Run a nightly scan and keep the results localisolated + delivery.mode:none4. Scheduled visible delivery
Post the daily summary to Discord at 9amisolated + explicit delivery.channel + explicit delivery.tolast in multi-channel setups.5. Session/thread push or prompt injection
Push the current thread every 10 minutes6. Diagnose / repair existing cron
Why did this job not deliver? / Fix this cronSafe defaults
Use these defaults unless the user clearly wants something else:
main + systemEventisolated + no-deliverisolated + explicit channel + explicit totztimeoutSeconds >= 180When to ask instead of guessing
Ask a focused clarification if any of these are unclear:
channel given but to missingDo not hide ambiguity with clever defaults when the job could post to the wrong place.
Output contract
When helping with a cron request, prefer this response order:
1. detected task type 2. chosen safe pattern 3. exact command or exact JSON/tool payload 4. why this pattern is safe 5. verification step
Keep the top-level explanation short and predictable.
Verification after create/edit
Always verify after creating or editing a job:
1. openclaw cron list
2. openclaw cron runs --id
3. if safe, openclaw cron run
4. confirm:
sessionTargetnoneRepair workflow
When repairing an existing job:
1. read the existing job 2. inspect recent runs 3. classify the failure 4. fix the root cause, not just the symptom
Common failure buckets:
For a fuller triage flow, read references/diagnostics.md.
What to read
Read only what you need.
Beta-essential references
references/intent-routing.md β intent buckets and normalization schemareferences/patterns.md β safe default patternsreferences/pitfalls.md β common failure modes and anti-patternsreferences/public-examples.md β prompt-first examples for real user requestsDeeper references
references/integration-modes.md β natural-language vs normalized-intent vs spec-first integration pathsreferences/diagnostics.md β structured triage and repair flowreferences/nl-parser-examples.md β natural-language parser examplesreferences/intent-to-spec-examples.md β normalized intent β cron spec examplesreferences/spec-examples.md β cron spec JSON examplesreferences/target-helpers.md β explicit target string guidanceScope boundary
Do not turn this skill into a universal prompt-understanding layer.
Its job is to:
Upstream products or base models may do richer prompt understanding than this skill does. That is fine. Prefer stable interfaces over trying to cover every possible natural-language corner case here.
Scripts
Use scripts when the user wants a deterministic, reusable cron definition instead of ad-hoc flag assembly.
Parse / normalize
scripts/parse_nl_intent.pyscripts/intent_to_cron_spec.pyValidate / render / create
scripts/validate_cron_spec.pyscripts/render_cron_command.pyscripts/create_cron.pyInspect / doctor / repair
scripts/lint_existing_crons.pyscripts/cron_fix.pyscripts/cron_doctor.pyNon-goals
This skill is not:
Prefer explicit, boring, reproducible cron definitions over clever shorthand.