Agent Trajectory Analysis

VerifiedSafe

Analyze agent conversations to identify improvements in system instructions, tooling, and documentation. Focuses on structural issues like unclear guidance, tool output gaps, or inefficient trajectories rather than answer correctness. Use when reviewing agent performance or debugging chat trajectories.

Sby Skills Guide Bot
DevelopmentIntermediate
6/2/2026
Claude CodeCursorWindsurfCopilotCodex
#agent-trajectory#conversation-review#tooling-improvement#agent-evaluation#system-prompt-analysis

Recommended for

Automated summary

Reviews agent conversations to identify improvements in tooling, instructions, and documentation.

Strengths

  • Structured evaluation framework for systematic analysis
  • Automated generation of detailed trajectory files
  • Focuses on system changes rather than model mistakes

Limitations

  • Requires access to trajectory files and chat IDs
  • May not cover all nuances that human analysis would catch
  • Time-consuming for long conversations with many turns
When to use it

When you need to improve agent performance by analyzing actual conversations to find gaps in instructions or tools.

When not to use it

To judge the correctness of answers or for tasks where the agent is already performing well without system issues.

Security analysis

Safe
Quality score95/100

The skill only runs a benign internal Python script to generate trajectory files and performs analysis using standard file operations. No destructive or exfiltrating actions, no obfuscation, and no dangerous commands are instructed.

No concerns found

How this analysis is made

Examples

Review a specific chat trajectory
Review the trajectory of chat ID abc-123 for tooling improvements. Identify any instructions that caused the agent to take unnecessary steps.
Evaluate agent performance across multiple turns
Analyze the conversation in chat 456 to find where instructions failed. Suggest concrete changes to the system prompt.
Find tool adequacy issues
Inspect what happened in chat 789 and evaluate if the tools returned enough information for the agent to make good decisions.

name: analyse-trajectory description: > Review and evaluate agent conversations to find improvements for tooling, instructions, and documentation. The goal is NOT to judge answer correctness but to identify what system changes would help the agent take better trajectories. Use when asked to: review a chat, evaluate agent performance, find tooling improvements, analyze a conversation, inspect what happened in a chat, or when given a chat ID to review.

Analyse Trajectory

Generate trajectory files

uv run python -c "from varro.playground.trajectory import generate_chat_trajectory; print(generate_chat_trajectory(user_id=USER_ID, chat_id=CHAT_ID))"

Idempotent: turns regenerate only when turn.md is missing or .trajectory_version is outdated.

Trajectory file structure

Output at data/trajectory/{user_id}/{chat_id}/:

chat.md                    # one-line summary per turn: user input, tools, final excerpt
system_instructions.md     # full system prompt given to the agent
tool_instructions.md       # all tools with descriptions and parameter schemas
{turn_idx}/
  turn.md                  # trajectory: User → Steps (Thinking/Actions/Observations) → Final response → Usage
  tool_calls/              # extracted .sql, .py, large .txt results
  images/                  # extracted plots and images

Review process

  1. Read chat.md for the overview
  2. Read system_instructions.md and tool_instructions.md once to understand what the agent was given
  3. For each turn, read turn.md and inspect extracted artifacts in tool_calls/
  4. Evaluate each turn against the framework below
  5. Write findings to data/trajectory/{user_id}/{chat_id}/findings.md

Evaluation framework

Focus on what system builders can change (instructions, tools, documentation), not on what the model should have known.

Instructions quality

Does the system prompt give the agent precise enough guidance?

  • Agent guessing at workflow steps that instructions could have specified
  • Agent ignoring instructions that exist (too buried or unclear)
  • Missing guidance for a common question pattern
  • Ambiguity that caused the agent to pick a suboptimal path

Tool adequacy

Do tools return clear, actionable output that makes the next decision obvious?

  • Tool output missing information the agent needed next (row count, available levels, column names)
  • Agent calling the same tool repeatedly to get information one call could have returned
  • Agent working around a tool limitation using Bash/SQL when a dedicated tool or a small tool change would be cleaner
  • Tool descriptions that are misleading or incomplete
  • Fuzzy matching returning unhelpful results

Trajectory efficiency

Did the agent take unnecessary steps because of instruction or tool gaps?

  • Steps that only exist because prior tool output was incomplete
  • Exploratory steps that instructions could have eliminated
  • Repeated queries that differ only in filter values the agent was searching for
  • Trial-and-error discovery of something documentation could have stated
  • NameError on a prior-turn dataframe may indicate shell state was lost (CLI restart, idle eviction) rather than agent misuse — don't count it as a tool error

Relevance

Is the user question within scope for the state statistician?

  • Questions the agent shouldn't need to handle (general chat, non-data questions)
  • Questions that are borderline — note whether the agent should redirect or attempt

Output format

Write findings to data/trajectory/{user_id}/{chat_id}/findings.md:

# Review: Chat {chat_id}

## Summary
{1-3 sentences: what the user asked, overall assessment of how the system supported the agent}

## Findings

### {short title}
**Dimension**: {Instructions | Tool | Trajectory | Documentation}
**Turn**: {turn_idx}, Step {step_idx}
**Observation**: {What happened — reference actual tool calls and results}
**Suggestion**: {Concrete change to instructions, tool output, or documentation}
**Impact**: {Steps saved, or what class of questions this helps}

...

## Verdict
{The single most impactful improvement from this review}

Guidelines:

  • Be concrete. Reference actual step numbers, tool calls, and results.
  • Suggest specific changes. "Add row count to Sql tool output" not "improve tool output."
  • Estimate impact. "Would save 2-3 steps for geographical queries" is useful.
  • One finding per root cause. Group repeated issues across turns.
  • Skip clean turns — only note what can be improved.

Agent environment (reference)

The reviewed agent (Rigsstatistikeren) operates in a sandboxed filesystem:

/subjects/{root}/{mid}/{leaf}.md   — subject overviews listing available tables
/fact/{root}/{mid}/{leaf}/{id}.md  — per-table docs: columns, joins, value ranges
/dim/                              — dimension table docs
/dashboard/                        — saved dashboard definitions
/skills/                           — guides for complex tasks (e.g., dashboard creation)

Tools: ColumnValues, Sql, Jupyter, Read, Write, Edit, Bash, UpdateUrl, Snapshot, WebSearch

Typical efficient trajectory for data analysis:

  1. Identify subject area → Bash ls
  2. Read subject overview → Read
  3. Read table docs → Read
  4. Check column values → ColumnValues
  5. Query data → Sql with df_name
  6. Visualize → Jupyter with show
  7. Explain → final response

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/agent-trajectory-analysis-mmlj2p47' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/agent-trajectory-analysis-mmlj2p47/download' --output '.skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md.part' && mv '.skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md.part' '.skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md' && test -s '.skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/analyse-trajectory' && cp -R '.skill-downloads/agent-trajectory-analysis-mmlj2p47' '.claude/skills/analyse-trajectory'

Cursor
test -f '.skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md' && test -s '.skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/analyse-trajectory' && cp -R '.skill-downloads/agent-trajectory-analysis-mmlj2p47' '.cursor/skills/analyse-trajectory'

Codex
test -f '.skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md' && test -s '.skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/analyse-trajectory' && cp -R '.skill-downloads/agent-trajectory-analysis-mmlj2p47' '.agents/skills/analyse-trajectory'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/agent-trajectory-analysis-mmlj2p47'

openskills read 'agent-trajectory-analysis-mmlj2p47'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/agent-trajectory-analysis-mmlj2p47/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills