Jump to related tools in the same category or review the original source on GitHub.

DevOps & Cloud @assassin-1234 Updated 6/28/2026 377 downloads 0 stars Security: Pass

⚖️ Courtroom OpenClaw Plugin & Skill | ClawHub

Looking to integrate Courtroom into your AI workflows? This free OpenClaw plugin from ClawHub helps you automate devops & cloud tasks instantly, without having to write custom tools from scratch.

What this skill does

AI Courtroom for behavioral oversight. Autonomous daemon that monitors conversations, detects behavioral violations, and posts cases to a public API. Auto-starts on installation.

Install

ClawHub CLI
openclaw skills install @assassin-1234/courtroom
Node.js (npx)
npx clawhub@latest install courtroom

Full SKILL.md

Open original
Metadata table.
namedescription
courtroomAI Courtroom for behavioral oversight. Autonomous daemon that monitors conversations, detects behavioral violations, and posts cases to a public API. Auto-starts on installation.

SKILL.md content below is scrollable.

ClawTrial Courtroom

Autonomous behavioral oversight system that monitors conversations in real-time, detects violations, and automatically files cases to a public API.

Overview

The Courtroom runs as a background daemon that:

  • Auto-starts when the package is installed
  • Monitors messages via HTTP endpoint (port 8765)
  • Analyzes conversations every 5 minutes (configurable)
  • Posts violations to your public cases API

8 Offense Types Detected

  • Circular Reference - Asking the same question repeatedly
  • Validation Vampire - Excessive need for confirmation
  • Goalpost Shifting - Moving requirements after agreement
  • Jailbreak Attempt - Trying to bypass constraints
  • Emotional Manipulation - Using guilt/shame to steer responses
  • Context Ignorer - Asking about info just provided
  • Premature Optimization - Worrying about scale before basics
  • Yak Shaver - Endless prep tasks avoiding the actual goal

Installation

npx clawhub install courtroom

The daemon auto-starts on installation. No manual intervention needed.

Configuration

Edit ~/.openclaw/courtroom/config.json:

{
  "apiEndpoint": "https://api.clawtrial.com/cases",
  "apiKey": "your-api-key-here",
  "analysisIntervalMinutes": 5,
  "minMessagesBeforeAnalysis": 3,
  "confidenceThreshold": 0.6,
  "enabled": true,
  "autoStart": true
}
Option Description Default
apiEndpoint URL to POST cases to https://api.clawtrial.com/cases
apiKey API authentication key null
analysisIntervalMinutes How often to analyze 5
confidenceThreshold Minimum confidence to file case 0.6 (60%)
enabled Whether daemon is active true
autoStart Start on installation true

Commands

# Check status
courtroom-status

# Start daemon (if stopped)
courtroom-start

# Stop daemon
courtroom-stop

# Enable/disable auto-start
courtroom-enable
courtroom-disable

How It Works

1. Message Ingestion

Your OpenClaw agent (or any system) sends messages to the daemon:

curl -X POST http://localhost:8765/message \
  -H "Content-Type: application/json" \
  -d '{"role":"user","content":"hello","timestamp":1234567890}'

2. Periodic Analysis

Every 5 minutes (configurable), the daemon:

  • Analyzes the conversation history
  • Detects behavioral patterns
  • Scores violations by confidence

3. Case Filing

When a violation is detected (confidence ≥ 60%):

  • Saves case locally to ~/.openclaw/courtroom/verdict_*.json
  • POSTs case to your configured API endpoint

Case Payload

{
  "caseId": "case-1772389381041",
  "timestamp": "2026-03-01T18:23:01.041Z",
  "offense": {
    "offenseId": "validation_vampire",
    "offenseName": "The Validation Vampire",
    "severity": "minor",
    "confidence": 0.8
  },
  "conversationSummary": {
    "messageCount": 12,
    "lastMessageTime": 1234567890
  },
  "source": "courtroom-daemon"
}

Integration with OpenClaw

Add this to your OpenClaw agent to auto-send messages:

// In your agent's message handler
async function onMessage(message) {
  // Send to courtroom daemon
  await fetch('http://localhost:8765/message', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      role: message.role,
      content: message.content,
      timestamp: Date.now()
    })
  });
}

Logs

View daemon logs:

tail -f ~/.openclaw/courtroom/daemon.log

Manual Analysis (Optional)

You can still run manual analysis:

# Analyze a conversation file
openclaw run courtroom --file conversation.json

Architecture

┌─────────────┐     HTTP POST      ┌─────────────────┐
│   OpenClaw  │ ─────────────────> │  Courtroom      │
│   Agent     │   /message         │  Daemon :8765   │
└─────────────┘                    └────────┬────────┘
                                            │
                              Every 5 min   │
                                            ▼
                                    ┌───────────────┐
                                    │   Analyze     │
                                    │   History     │
                                    └───────┬───────┘
                                            │
                              Violation     │
                              Detected      ▼
                                    ┌───────────────┐
                                    │  POST to API  │
                                    │  Save Local   │
                                    └───────────────┘

Troubleshooting

Daemon not starting?

courtroom-status
# Check if port 8765 is in use
lsof -i :8765

Change API endpoint?

# Edit config and restart
nano ~/.openclaw/courtroom/config.json
courtroom-stop
courtroom-start

View all cases?

ls ~/.openclaw/courtroom/verdict_*.json
ClawHub Registry URL: https://clawhub.ai/assassin-1234/skills/courtroom

Related skills

If this matches your use case, these are close alternatives in the same category.