EPI Run Recorder
Record the current Claude Code or OpenClaw run into a JSON context file and a .epi artifact.
EPI (Evidence Packaged Infrastructure) is a standard for packaging AI execution into portable, verifiable .epi artifacts.
EPI packages AI execution as evidence.
Decision Flow
Use this skill when the user explicitly asks to record the run, preserve the run, create an EPI artifact, or capture evidence. Also use it when the user asks for auditability, traceability, export, debugging evidence, or reproducibility.
Choose the mode:
record: Use for a concise capture of the user request, key steps, and final output.record full run: Use when the user asks for the full run, audit trail, or detailed replay. Include commands, files changed, tests, errors, retries, and final result.
Before recording, redact secrets, access tokens, passwords, API keys, bearer tokens, and private customer data that is not necessary for the evidence.
Automatic Activation
The coding agent should select this skill when the user intent is audit, debug, export, trace, save, verify, reproduce, or record. This is skill-triggered recording, not a global background hook.
If the intent is unclear or the user is doing an ordinary coding task, do nothing.
How To Run
Prefer a context JSON file for non-trivial runs:
python "${CLAUDE_SKILL_DIR}/scripts/record.py" record full run --context ./epi-run-context.json --out ./epi-recordings/claude-code-run.epi
For OpenClaw, use the AgentSkills base directory placeholder:
python "{baseDir}/scripts/record.py" record full run --context ./epi-run-context.json --out ./epi-recordings/agent-run.epi
For short captures, pass fields directly:
python "${CLAUDE_SKILL_DIR}/scripts/record.py" record --input "User asked to fix tests" --step "Inspected failing test" --step "Patched parser" --output "Tests passed"
OpenClaw short capture:
python "{baseDir}/scripts/record.py" record --input "User asked to fix tests" --step "Inspected failing test" --step "Patched parser" --output "Tests passed"
For a preflight that only writes the JSON sidecar:
python "${CLAUDE_SKILL_DIR}/scripts/record.py" record --context ./epi-run-context.json --dry-run
The script writes:
- a JSON sidecar with the captured run context
- a
.epiartifact generated through the EPI CLI - clear terminal output with paths and verification status
Context JSON Shape
Use this shape when preparing --context:
{
"input": "What the user asked for",
"steps": [
{"summary": "Inspected the repo"},
{"summary": "Changed scripts/record.py"},
{"summary": "Ran validation"}
],
"output": "What changed and how it was verified",
"metadata": {
"repo": "mohdibrahimaiml/epi-claude-code-skill"
}
}
If the EPI CLI is missing, tell the user to install it with:
pip install epi-recorder