Caricamento in corso...
Caricamento in corso...
Last synced: Today, 22:00
Technical reference for the OpenClaw framework. Real-time synchronization with the official documentation engine.
Use this file to discover all available pages before exploring further.
Standing orders grant your agent permanent operating authority for defined programs. Instead of giving individual task instructions each time, you define programs with clear scope, triggers, and escalation rules — and the agent executes autonomously within those boundaries.
This is the difference between telling your assistant "send the weekly report" every Friday vs. granting standing authority: "You own the weekly report. Compile it every Friday, send it, and only escalate if something looks wrong."
Without standing orders:
With standing orders:
Standing orders are defined in your agent workspace files. The recommended approach is to include them directly in
AGENTS.mdstanding-orders.mdAGENTS.mdEach program specifies:
The agent loads these instructions every session via the workspace bootstrap files (see Agent Workspace for the full list of auto-injected files) and executes against them, combined with cron jobs for time-based enforcement.
markdown## Program: Weekly Status Report **Authority:** Compile data, generate report, deliver to stakeholders **Trigger:** Every Friday at 4 PM (enforced via cron job) **Approval gate:** None for standard reports. Flag anomalies for human review. **Escalation:** If data source is unavailable or metrics look unusual (>2σ from norm) ### Execution steps 1. Pull metrics from configured sources 2. Compare to prior week and targets 3. Generate report in Reports/weekly/YYYY-MM-DD.md 4. Deliver summary via configured channel 5. Log completion to Agent/Logs/ ### What NOT to do - Do not send reports to external parties - Do not modify source data - Do not skip delivery if metrics look bad — report accurately
Standing orders define what the agent is authorized to do. Cron jobs define when it happens. They work together:
textStanding Order: "You own the daily inbox triage" ↓ Cron Job (8 AM daily): "Execute inbox triage per standing orders" ↓ Agent: Reads standing orders → executes steps → reports results
The cron job prompt should reference the standing order rather than duplicating it:
bashopenclaw cron add \ --name daily-inbox-triage \ --cron "0 8 * * 1-5" \ --tz America/New_York \ --timeout-seconds 300 \ --announce \ --channel bluebubbles \ --to "+1XXXXXXXXXX" \ --message "Execute daily inbox triage per standing orders. Check mail for new alerts. Parse, categorize, and persist each item. Report summary to owner. Escalate unknowns."
markdown## Program: Content & Social Media **Authority:** Draft content, schedule posts, compile engagement reports **Approval gate:** All posts require owner review for first 30 days, then standing approval **Trigger:** Weekly cycle (Monday review → mid-week drafts → Friday brief) ### Weekly cycle - **Monday:** Review platform metrics and audience engagement - **Tuesday–Thursday:** Draft social posts, create blog content - **Friday:** Compile weekly marketing brief → deliver to owner ### Content rules - Voice must match the brand (see SOUL.md or brand voice guide) - Never identify as AI in public-facing content - Include metrics when available - Focus on value to audience, not self-promotion
markdown## Program: Financial Processing **Authority:** Process transaction data, generate reports, send summaries **Approval gate:** None for analysis. Recommendations require owner approval. **Trigger:** New data file detected OR scheduled monthly cycle ### When new data arrives 1. Detect new file in designated input directory 2. Parse and categorize all transactions 3. Compare against budget targets 4. Flag: unusual items, threshold breaches, new recurring charges 5. Generate report in designated output directory 6. Deliver summary to owner via configured channel ### Escalation rules - Single item > $500: immediate alert - Category > budget by 20%: flag in report - Unrecognizable transaction: ask owner for categorization - Failed processing after 2 retries: report failure, do not guess
markdown## Program: System Monitoring **Authority:** Check system health, restart services, send alerts **Approval gate:** Restart services automatically. Escalate if restart fails twice. **Trigger:** Every heartbeat cycle ### Checks - Service health endpoints responding - Disk space above threshold - Pending tasks not stale (>24 hours) - Delivery channels operational ### Response matrix | Condition | Action | Escalate? | | ---------------- | ------------------------ | ------------------------ | | Service down | Restart automatically | Only if restart fails 2x | | Disk space < 10% | Alert owner | Yes | | Stale task > 24h | Remind owner | No | | Channel offline | Log and retry next cycle | If offline > 2 hours |
Standing orders work best when combined with strict execution discipline. Every task in a standing order should follow this loop:
markdown### Execution rules - Every task follows Execute-Verify-Report. No exceptions. - "I'll do that" is not execution. Do it, then report. - "Done" without verification is not acceptable. Prove it. - If execution fails: retry once with adjusted approach. - If still fails: report failure with diagnosis. Never silently fail. - Never retry indefinitely — 3 attempts max, then escalate.
This pattern prevents the most common agent failure mode: acknowledging a task without completing it.
For agents managing multiple concerns, organize standing orders as separate programs with clear boundaries:
markdown## Program 1: [Domain A] (Weekly) ... ## Program 2: [Domain B] (Monthly + On-Demand) ... ## Program 3: [Domain C] (As-Needed) ... ## Escalation Rules (All Programs) - [Common escalation criteria] - [Approval gates that apply across programs]
Each program should have:
AGENTS.mdSOUL.md© 2024 TaskFlow Mirror
Powered by TaskFlow Sync Engine