atifact
/install atifact
Extract Agent Trajectories with atifact
Convert agent session recordings (HAR files, Claude Code JSONL logs, Copilot CLI JSONL logs) into structured ATIF v1.6 trajectory JSON using the atifact CLI.
Prerequisites
Verify the CLI is available:
command -v atifact
If not installed, install globally:
npm install -g atifact
Supported input formats
| Format | File type | Description |
|---|---|---|
har |
.har |
HAR files with OpenAI (Chat Completions, Responses API) or Anthropic (Messages API) requests |
claude-code-jsonl |
.jsonl |
Claude Code CLI session logs |
copilot-cli-jsonl |
.jsonl |
Copilot CLI session logs |
Format is auto-detected from file contents (not extension). Use --format / -f to force a specific format when auto-detection fails.
Usage
Basic conversion
The --output / -o option takes a prefix, not a filename. Output files are derived from the prefix:
- Main trajectory:
\x3Cprefix>.trajectory.json - Subagent trajectories:
\x3Cprefix>.trajectory.\x3Cname>.json
Default prefix is the input file path:
atifact session.har
# Writes: session.har.trajectory.json
Specify output prefix
atifact session.har -o out
# Writes: out.trajectory.json
# If subagents exist: out.trajectory.\x3Cname>.json
Force input format
Use when auto-detection picks the wrong format for .jsonl files:
atifact session.jsonl -f claude-code-jsonl
atifact session.jsonl -f copilot-cli-jsonl
Pipe JSON to stdout
Use --json with --quiet to suppress diagnostics and get clean JSON on stdout. Output is a JSON array of all trajectories (main first, then subagents). No files are written.
atifact session.har --json --quiet
Combine with other tools:
atifact session.har --json --quiet | jq '.[0].steps | length'
CLI options
| Option | Alias | Description |
|---|---|---|
\x3Cinput-file> |
Path to the input file (required) | |
--output |
-o |
Output path prefix. Main: \x3Cprefix>.trajectory.json, subagents: \x3Cprefix>.trajectory.\x3Cname>.json (default: input file path) |
--format |
-f |
Force input format: har, claude-code-jsonl, copilot-cli-jsonl |
--json |
Write JSON array of all trajectories to stdout (no files written). First element is main, rest are subagents. | |
--quiet |
-q |
Suppress progress messages (stderr only) |
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Runtime error (parse failure, I/O error) |
| 2 | Invalid usage (bad arguments, missing file) |
Workflow
- Identify the input file and its format (HAR or JSONL).
- For
.jsonlfiles, determine the source (Claude Code or Copilot CLI) to use the correct--formatif auto-detection fails. - Run
atifactwith the input file. Use-oto set the output prefix (e.g.,atifact /path/to/session.har -o /path/to/session). The main trajectory is written to\x3Cprefix>.trajectory.json. - Report the output file path(s) and key metrics (total steps, total cost) from the generated trajectory.
Notes
- HAR files may contain multiple API formats (OpenAI + Anthropic); all are parsed.
- Multi-turn HAR conversations are deduplicated (each request carries full history).
- Utility calls (e.g., gpt-4o-mini title generation) are excluded from the trajectory.
- Tool results from request N are attached as observations to the agent step from request N-1.
- Copilot CLI logs with subagent
tasktool calls produce separate trajectory files per subagent. The main trajectory references them viasubagent_trajectory_refwithtrajectory_pathpointing to the sibling file. - All timestamps are preserved from source data as-is (ISO 8601).
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install atifact - 安装完成后,直接呼叫该 Skill 的名称或使用
/atifact触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
atifact 是什么?
This skill should be used when the user asks to "extract agent trajectory", "convert HAR to trajectory", "get trajectory from session", "parse agent session"... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 107 次。
如何安装 atifact?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install atifact」即可一键安装,无需额外配置。
atifact 是免费的吗?
是的,atifact 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
atifact 支持哪些平台?
atifact 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 atifact?
由 Waldek Mastykarz(@waldekmastykarz)开发并维护,当前版本 v0.7.0。