Swarm Janitor
Enterprise-grade cleanup tool for OpenClaw subagent management.
What It Does
Automatically identifies and cleans up orphaned subagent sessions while preserving important work through SuperMemory archival.
Core Functions
- •Scan: Analyze session directory for orphaned/abandoned subagents
- •Archive: Save transcripts to SuperMemory before deletion
- •Clean: Safely remove orphaned sessions freeing disk space
- •Report: Generate detailed cleanup reports
Safety First
This skill implements multiple safety layers:
- •✅ Never deletes active sessions — checks process status
- •✅ Dry-run mode — preview changes before executing
- •✅ SuperMemory backup — transcripts archived before deletion
- •✅ Configurable retention — customize age thresholds
- •✅ Detailed logging — full audit trail of all actions
Quick Start
# Preview what would be cleaned (dry-run) python3 scripts/swarm_janitor.py --dry-run # Archive old sessions to SuperMemory, then clean python3 scripts/swarm_janitor.py --archive --clean # Custom retention (7 days instead of default 3) python3 scripts/swarm_janitor.py --retention-days 7 --clean
Installation
- •
Copy this skill to your OpenClaw workspace:
bashcp -r skills/swarm-janitor ~/.openclaw/workspace/skills/
- •
Configure retention policy (optional):
bash# Edit config to customize nano references/config.yaml
- •
Run first scan:
bashpython3 ~/.openclaw/workspace/skills/swarm-janitor/scripts/swarm_janitor.py --dry-run
Usage Patterns
Daily Maintenance (Cron)
# Run daily at 3 AM, archive sessions older than 3 days 0 3 * * * python3 ~/.openclaw/workspace/skills/swarm-janitor/scripts/swarm_janitor.py --archive --clean --retention-days 3 >> /var/log/swarm-janitor.log 2>&1
Manual Cleanup
# See what would be deleted python3 scripts/swarm_janitor.py --dry-run --verbose # Archive transcripts to SuperMemory python3 scripts/swarm_janitor.py --archive # Clean without archiving (not recommended) python3 scripts/swarm_janitor.py --clean --no-archive # Full report python3 scripts/swarm_janitor.py --report --output json
Emergency Cleanup
# Aggressive cleanup with 1-day retention python3 scripts/swarm_janitor.py --clean --retention-days 1 --force
Configuration
See references/config.yaml for:
- •Retention policies
- •Archive destinations
- •Safety thresholds
- •Logging options
How It Works
- •Discovery: Scans
~/.openclaw/agents/main/sessions/ - •Analysis: Determines session age, activity status, size
- •Classification: Identifies orphaned vs active sessions
- •Archival: Saves transcripts to SuperMemory (if enabled)
- •Cleanup: Safely removes orphaned session files
- •Reporting: Generates summary of actions taken
Safety Mechanisms
| Check | Description |
|---|---|
| Process Check | Verifies no active process owns the session |
| Age Verification | Only processes sessions older than threshold |
| Size Limits | Warns on unusually large deletions |
| Dry-Run Default | Preview mode is default — explicit action required |
| Backup First | Archives to SuperMemory before any deletion |
Troubleshooting
Q: It says "permission denied" A: Ensure you have write access to the sessions directory
Q: Sessions not being detected A: Check the path in config.yaml matches your OpenClaw installation
Q: SuperMemory archive failing A: Verify SuperMemory skill is configured with valid API key
Enterprise Features
- •Audit Logging: All actions logged with timestamps
- •Configurable Policies: YAML-based configuration
- •Metrics Export: JSON/CSV output for monitoring
- •Dry-Run Mode: Test changes before applying
- •Retention Policies: Age-based and count-based rules
License
MIT - Created by OpenClawdad (Redclay) for the OpenClaw community.