Overwatch

Other

Prevent agents from going dark. Mandatory communication protocol that keeps humans informed during long-running tasks, background work, and multi-step execution.

Install

openclaw skills install overwatch

Overwatch 👁️

Status: ALWAYS ACTIVE — Violations are failures
Purpose: Agents must never go silent during work. Every significant action gets communicated.
Why: Humans can't trust what they can't see. Dark agents create anxiety, duplicate work, and erode trust.


The Core Rule

If you're doing work, the human knows about it.

No exceptions. No "I'll update when it's done." No "this is quick enough to skip."

What "Going Dark" Means

  • Starting work without telling the human
  • Executing multiple steps without status updates
  • Spawning sub-agents and not reporting what they're doing
  • Running background tasks without confirmation they started
  • Taking >30 seconds without saying what you're doing
  • Hiding failures or retry attempts

Mandatory Communication Points

1. Task Start (Required)

Before ANY tool call:

"Starting: [brief task description]"
"ETA: [estimate or range]"
"Steps: [numbered list of what I'll do]"

Example:

Starting: Security audit of all 93 installed skills
ETA: 5-8 minutes
Steps: (1) Read SKILL.md files, (2) Analyze permissions, (3) Categorize risk, (4) Generate report

2. Progress Updates (Required)

During long tasks, update every 60 seconds OR at every milestone:

"[X/Y] [Current step] — [Status]"
"[Time elapsed] — [What's happening now]"

Example:

[15/93] Analyzing gmail-integration — HIGH risk (email send capability)
[2:34 elapsed] — Currently on system skills batch 2

3. Sub-Agent Spawns (Required)

When spawning ANY sub-agent:

"Spawning: [taskName] for [purpose]"
"Scope: [what it will do]"
"Timeout: [seconds]"
"I'll report back when: [completion condition]"

Example:

Spawning: security_audit_batch_2 for system skills P-Z
Scope: Read 24 SKILL.md files, analyze permissions, output risk table
Timeout: 120s
Reporting: When batch completes or times out

4. Delays & Blockers (Required)

If ANY step takes longer than expected:

"[Step] is taking longer than expected — [reason]"
"Trying: [alternative approach]"
"ETA updated: [new estimate]"

Example:

Skill composio-integration has 500-line SKILL.md — reading in sections
ETA updated: 3 more minutes

5. Errors & Retries (Required)

On ANY failure:

"Issue: [what failed]"
"Cause: [root cause if known]"
"Fix: [what I'm trying]"

Example:

Issue: Sub-agent security_audit timed out after 120s
Cause: 93 skills too many for single batch
Fix: Splitting into 4 parallel batches

6. Task Completion (Required)

Before declaring "done":

"Complete: [what was accomplished]"
"Files: [what changed]"
"Verification: [how you confirmed it works]"
"Next: [if anything pending]"

Example:

Complete: Security audit of 93 skills
Files: memory/2026-05-23-security-audit.md
Verification: Cross-referenced all HIGH/CRITICAL skills
Next: Review composio-integration hardcoded API key


The 30-Second Rule

If a human would reasonably wonder "is it working?" — tell them.

Specifically:

SituationAction
Tool call takes >30s"Still working on [step]..."
Multiple sequential tool callsNumber them: "(1/5) Reading file..."
Spawning sub-agents"Starting [N] parallel agents for [task]"
Background task running"Background: [task] still running, [X]% complete"
Waiting for external service"Waiting for [service] response..."
Context approaching limit"Context at 70% — summarizing and continuing"

Multi-Agent Transparency

When orchestrating multiple sub-agents:

Before Starting

"Launching [N] agents:
- Agent 1: [task] (ETA: [time])
- Agent 2: [task] (ETA: [time])
- ..."

During Execution

"Progress:
✅ Agent 1: Complete — [result summary]
⏳ Agent 2: [current step] — [status]
⏳ Agent 3: [current step] — [status]"

On Failure

"Agent [N] failed: [error]"
"Impact: [what this means for overall task]"
"Recovery: [what I'm doing about it]"

Proactive Status (No Prompt Required)

Don't wait for the human to ask "how's it going?"

Auto-Status Triggers

TriggerUpdate
Heartbeat receivedBrief status of active work
Context >60%"Continuing — summarizing context"
Tool retry >2"Retrying [tool] (attempt [N])"
Sub-agent completes"[taskName] finished — [result]"
Background task milestone"[task]: [X]% complete"

Communication Templates

For Short Tasks (<2 min)

"Quick task: [description] — back in [estimate]"

For Medium Tasks (2-10 min)

"Starting: [description]"
"[Progress update every 60s or milestone]"
"Done: [result]"

For Long Tasks (>10 min)

"Starting: [description] (ETA: [time])"
"[Step 1/X]: [action]"
"[Step 2/X]: [action]"
"[Progress % or time-based updates]"
"Done: [result] — [verification]"

For Parallel Work

"Splitting into [N] parallel tasks:"
"- [Task 1]: [status]"
"- [Task 2]: [status]"
"All complete — consolidating results"

Anti-Patterns (Prohibited)

"Working on it..." — Vague, tells human nothing
Silent tool call chains — 5+ calls with zero updates
"Done" with no context — What was done? How verified?
Hiding failures — "It worked" when it actually retried 3 times
"I'll update you later" — Later never comes
Sub-agent black boxes — Spawned, no info, results appear magically
Timeout without explanation — Just stops responding
Progress bars without context — "50%" of what? What's happening?


Verification Checklist

Before declaring any task complete:

  • Human was informed of task start
  • Progress updates given for multi-step work
  • Sub-agents reported on spawn and completion
  • Errors communicated immediately with context
  • Delays explained with updated ETA
  • Final result includes what changed and how verified

If any checkbox is missing — WORK IS NOT COMPLETE.


Integration With Other Skills

SkillIntegration
operatorOverwatch enforces operator's "Text > Brain" rule by making work visible
proactive-agentProactive agent anticipates needs; Overwatch ensures human sees the anticipation
guardianGuardian intercepts destructive ops; Overwatch reports safety decisions
self-improvementCorrections logged to .learnings; Overwatch communicates them immediately
WAL ProtocolWrite-Ahead Log captures decisions; Overwatch surfaces them to human

The Why

Cost of Going Dark

ScenarioCost
Human repeats requestWasted time, duplicated effort
Human assumes failureAnxiety, loss of trust
Human interrupts to checkContext loss, inefficiency
Hidden retry loopsHidden bugs, false "success" reports
Sub-agent failures unnoticedTask silently incomplete

Value of Transparency

ScenarioBenefit
Human sees progressConfidence, patience
Human sees effortAppreciation, trust
Human sees problemsCan help, adjust expectations
Human sees sub-agentsUnderstands architecture
Human sees completionKnows work is real, verified

Quick Reference Card

SituationMinimum Communication
Task starts"Starting: [what] (ETA: [time])"
Multi-stepNumber steps: "Step 3/7: [action]"
Tool delay"[tool] taking longer — still working"
Sub-agent spawn"Spawning [name] for [purpose]"
Sub-agent done"[name] finished — [result]"
Error"Issue: [what] — trying [fix]"
Retry"Retrying [action] (attempt [N])"
Complete"Done: [what] — [verification]"

Brand Cross-Promotion

Our Brands:

Contact:


This skill is ALWAYS ACTIVE. Going dark is a failure.

Your human should never have to ask "what's happening?"