Install
openclaw skills install incident-replayPost-mortem analysis for AI agent failures. Capture state, reconstruct timelines, identify root causes. When your agent breaks, know what happened, why, and...
openclaw skills install incident-replayPost-mortem analysis for AI agent failures. Capture state, reconstruct timelines, identify root causes. When your agent breaks, know what happened, why, and how to prevent it.
Post-mortem analysis for AI agent failures. Capture state, reconstruct timelines, identify root causes.
When your agent breaks, you need to know what happened, why, and how to prevent it next time. Incident Replay captures workspace state at points in time, detects when things go wrong, reconstructs the sequence of events, and classifies root causes with actionable remediation steps.
Your agent crashed overnight. Files are missing. The config looks wrong. The logs are a wall of text. What happened? When? Why?
Without forensics tooling, post-mortem analysis is manual detective work: diffing files by hand, grepping logs, guessing at causation. Incident Replay automates the mechanics so you can focus on understanding.
incident_capture.py)incident_replay.py)incident_report.py)# 1. Configure
cp config_example.json incident_config.json
# Edit workspace root, triggers, log patterns
# 2. Take a baseline snapshot
python3 incident_capture.py --config incident_config.json --snapshot --label baseline
# 3. ... agent does work, something breaks ...
# 4. Take a post-incident snapshot
python3 incident_capture.py --config incident_config.json --snapshot --label post-incident
# 5. See what changed
python3 incident_capture.py --config incident_config.json \
--diff incident_data/snapshots/SNAP1.json incident_data/snapshots/SNAP2.json
# 6. Check triggers
python3 incident_capture.py --config incident_config.json \
--triggers incident_data/snapshots/SNAP1.json incident_data/snapshots/SNAP2.json
# 7. Full analysis — creates an incident with timeline, root cause, remediation
python3 incident_replay.py --config incident_config.json \
--analyze incident_data/snapshots/SNAP1.json incident_data/snapshots/SNAP2.json \
--title "Agent crashed during deployment"
# 8. Generate incident report
python3 incident_report.py --config incident_config.json --incident INC-0001
# 9. View all incidents and patterns
python3 incident_replay.py --config incident_config.json --incidents
python3 incident_replay.py --config incident_config.json --patterns
python3 incident_report.py --config incident_config.json --summary
from incident_capture import Capturer, Snapshot, _load_config
from incident_replay import Analyzer
cfg = _load_config("incident_config.json")
cap = Capturer(cfg)
analyzer = Analyzer(cfg)
# Take snapshots
before = cap.take_snapshot(label="before")
# ... agent runs ...
after = cap.take_snapshot(label="after")
# Analyse
changes = cap.diff_snapshots(before, after)
triggers = cap.check_triggers(before, after)
decisions = analyzer.extract_decisions(after)
timeline = analyzer.build_timeline(
[before, after],
triggers=[t.to_dict() for t in triggers],
changes=changes,
)
# Create incident
incident = analyzer.create_incident(
title="Agent failed during task X",
timeline=timeline,
triggers=[t.to_dict() for t in triggers],
file_changes=changes,
decisions=decisions,
)
print(f"Created {incident.id}: {incident.root_cause}")
| File | Purpose |
|---|---|
incident_capture.py | State snapshot and change detection |
incident_replay.py | Timeline reconstruction, analysis, incident management |
incident_report.py | Report generation (markdown, JSON) |
config_example.json | Full configuration template |
LIMITATIONS.md | What this tool doesn't do |
LICENSE | MIT License |
See config_example.json for the complete reference. Key areas:
WORKSPACE_ROOT — Directory to monitorINCLUDE/EXCLUDE_PATTERNS — What files to captureTRIGGERS — Conditions that flag incidents (log patterns, file changes, content scans)ROOT_CAUSE_CATEGORIES — Classification categories with descriptions and remediationDECISION_MARKERS — Regex patterns to extract agent decisions from logsLOG_FILES — Which files to scan for decision chainsMIT — See LICENSE file.
Configuration is loaded from a JSON file. This is safe to share — no code execution.
.json file — raises ValueError if given a non-JSON pathThis software is provided "AS IS", without warranty of any kind, express or implied.
USE AT YOUR OWN RISK.
By downloading, installing, or using this software, you acknowledge that you have read this disclaimer and agree to use the software entirely at your own risk.
DATA DISCLAIMER: This software processes and stores data locally on your system. The author(s) are not responsible for data loss, corruption, or unauthorized access resulting from software bugs, system failures, or user error. Always maintain independent backups of important data. This software does not transmit data externally unless explicitly configured by the user.
| 🐛 Bug Reports | TheShadowyRose@proton.me |
| ☕ Ko-fi | ko-fi.com/theshadowrose |
| 🛒 Gumroad | shadowyrose.gumroad.com |
| @TheShadowyRose | |
| 🐙 GitHub | github.com/TheShadowRose |
| 🧠 PromptBase | promptbase.com/profile/shadowrose |
Built with OpenClaw — thank you for making this possible.
🛠️ Need something custom? Custom OpenClaw agents & skills starting at $500. If you can describe it, I can build it. → Hire me on Fiverr