SkillAgentSearch skills...

agent-run-forensics

Use when asked why an agent did something, what a past session or run changed, whether tests really passed, or to verify a session summary. Answers from the recorded transcript, not memory, with trace_finder.py, trace_timeline.py and claim_checker.py.

Install / Use

npx skills add LeoYeAI/openclaw-master-skills --skill agent-run-forensics

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

82/100

Supported Platforms

Claude Code
OpenAI Codex

Tags

Our assessment of agent-run-forensics

agent-run-forensics scores 82/100 on our quality scale, 3358th of 4,625 Development & Engineering skills we index.

Its SKILL.md is 5.2 KB long, well organised into 9 sections with 1 code example: a solid amount of guidance for an agent.

With 2,149 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
26/30
Structure
17/20
Description
15/15
Adoption
14/20
Freshness
11/15

Maintenance, license and trust

  • The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 98/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

agent-run-forensics compared with similar skills

All 4 of these similar skills score higher than agent-run-forensics; compare them before choosing.

SkillScoreStarsUpdatedFormat
agent-run-forensics (this skill)by LeoYeAI822.1k4mo agoSKILL.md
taste-skillby Leonxlnx100111.2k2d agoCLAUDE.md
ai-job-searchby ai-job-search-dev10070.1k1d agoCLAUDE.md
claude-howtoby luongnv8910046.7k3d agoCLAUDE.md
lobehubby lobehub10084.2ktodayMCP Server

Frequently asked questions

How do I install agent-run-forensics?
Run npx skills add LeoYeAI/openclaw-master-skills --skill agent-run-forensics. The install tabs above show the steps for each supported agent.
Which AI agents does agent-run-forensics work with?
It is written for Claude Code and OpenAI Codex, as a SKILL.md file. Other agents that read the same format can often use it too.
Is agent-run-forensics safe to use?
It is MIT-licensed and scores 98/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is agent-run-forensics still maintained?
The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.

name: agent-run-forensics description: Use when asked why an agent did something, what a past session or run changed, whether tests really passed, or to verify a session summary. Answers from the recorded transcript, not memory, with trace_finder.py, trace_timeline.py and claim_checker.py. argument-hint: "[question about a past run] [--session ID | --trace PATH]" license: MIT metadata: version: 1.0.0 build_pattern: "Three deterministic stdlib CLIs over the session transcripts Claude Code and Codex already write (finder, timeline with a recorded/inferred causal chain, typed claim checker) plus a UserPromptSubmit hook that hands over this session's transcript path when a prompt asks about the past" distinct_from: "zero-hallucination-coder (facts about code not yet read; this is facts about work already done); self-eval (scores the quality of the current session); skill-retro (grades skill use across many sessions); collab-proof (who drove a session); session-handoff and handoff (forward-looking summaries, which this can check)"

Agent Run Forensics

Portability: 3 stdlib Python CLIs and one hook. Read-only, no network, no model calls. Secrets in transcripts are redacted in every output, with no switch to turn that off.

Agents are confidently wrong about their own history. Asked "why did you change config.yaml?", an agent answers from what it remembers, and memory drops the parts that matter: the test run that failed, the file a sed -i one-liner rewrote, the edit made after the last green run. The harness recorded all of it. This skill makes the answer come from that recording.

The rule: when a question is about something that already happened, read the trace before answering.

Workflow

# 1 - Find the run (skip if the question is about this session: the hook gives you its path)
python scripts/trace_finder.py --since 7d --touched config.yaml
# 2 - Read it: what happened, in order, and which files changed
python scripts/trace_timeline.py --trace <path> --files        # SILENT = changed, never named by the agent
python scripts/trace_timeline.py --trace <path> --grep timeout # or --errors, --file PATH, --around N
# 3 - Walk back from the step in question
python scripts/trace_timeline.py --trace <path> --why 9
# 4 - Before repeating any summary as fact, check it
python scripts/claim_checker.py --trace <path> --claim "passed:pytest" --claim "not-edited:config.yaml"

Step 3 prints two lists and you keep them apart in the answer:

| Label | Means | Example | |---|---|---| | recorded | The harness wrote it down when it happened | the command, its exit code, the agent's words in the same message | | inferred | Derived now by a named rule | prior-write, read-before-write, retry-after-failure, target-seen-in-output |

Say "the trace shows" only for recorded edges. Name an inferred edge as inferred, with its rule. The agent's own stated reason is recorded as a claim, not as the cause.

Step 4 turns each sentence of a summary into a typed claim (ran:, not-run:, passed:, failed:, edited:, not-edited:, read:). STALE means the tests passed but files changed afterwards; PARTIAL means exit 0 came from the last command of a pipe or ; chain. Exit 4 is a contradiction: correct the account first.

Hard rules

  • No trace, no answer. If the finder returns nothing (exit 2), say the run is not recorded here. Do not reconstruct it.
  • Cite steps. Every factual sentence about the run points at a step number.
  • Recorded and inferred stay separate. Never merge them into one confident sentence.
  • Shell effects are inferred unless the harness diff (bashEditDiff) confirms them. A command's text says what it was meant to do, not what it did.
  • Exit 0 of a compound line is the last command's. pytest | tee log passing says nothing about pytest.
  • Quote no secrets. Outputs are redacted; do not paste raw transcript lines around the redaction.

Scripts

| Script | Role | Exit codes | |---|---|---| | scripts/trace_finder.py | Lists recorded sessions by repo, window, touched file, text | 0 found · 2 none · 3 bad input | | scripts/trace_timeline.py | Numbered steps, --files table, --why STEP chain | 0 · 2 filter matched nothing · 3 | | scripts/claim_checker.py | Typed claims vs the recording | 0 all supported · 2 weak · 3 · 4 contradicted |

All support --help, --sample and --output json. trace_core.py is the shared parser. The plugin's UserPromptSubmit hook (hooks/forensics_hint.py) adds one line naming this session's transcript when a prompt asks about past work; disable it with AGENT_RUN_FORENSICS_HOOK=0.

References and assets

Related Skills

View on GitHub
GitHub Stars2.1k
CategoryDevelopment
Updated3mo ago
Forks325

Languages

Python

Trust signals

98/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 info