AgentStack
SKILL verified MIT Self-run

Compare Trajectories

skill-understudylabs-understudy-agent-tools-compare-trajectories · by understudylabs

Use when you need to know HOW two model runs differ behaviorally on the same tasks, not just THAT one scores higher — per-task trajectory diffing that classifies the gap as persistence/recovery, knowledge, or format/parsing. "why does the bigger model pass these", "is this gap RL-shaped", "diff these two trajectory runs", "where do the trajectories diverge", "what would distillation buy me". The…

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add skill-understudylabs-understudy-agent-tools-compare-trajectories

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Compare Trajectories? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Compare Trajectories

Use this worker when [../compare-model-sweep/SKILL.md](../compare-model-sweep/SKILL.md) has already told you that model A and model B score differently on a frozen eval, and the next question — the one that decides whether to spend RL budget — is HOW their trajectories differ, step by step, on the same tasks. A pass-rate delta is a scalar; it cannot tell you whether the stronger model wins because it tries longer, because it knew the right endpoint, or because the weaker model's tool-calls were malformed. Those three answers point at three different fixes — RL, retrieval/world-knowledge, or decoding/prompt — and only a per-task trajectory diff separates them.

This skill aligns two (or more) run exports by task id, builds the outcome-delta matrix, computes behavioral divergence on shared tasks, classifies each reachable-gap task, and counts how many clean warm-start trajectories the comparison yields. It reads trajectory JSON that already exists on disk; it does not run models. To produce the trajectories, run [../run-local-model-lab/SKILL.md](../run-local-model-lab/SKILL.md) or [../compare-model-sweep/SKILL.md](../compare-model-sweep/SKILL.md) first.

Safety Gates

  • Local-first, no upload. Trajectory exports contain full message bodies and

tool I/O. Keep the diff, the matrix, and the report under .understudy/; do not paste trajectories or task content into external services.

  • Flag small N. A reachable-gap set of 3 tasks is an anecdote, not a

capability claim. State the shared-task count and the per-class count on every verdict, and refuse to generalize below a stated floor (default N/`.

Repeat-replay stability

A single run per model can mistake sampling noise for a behavioral gap. Before classifying gaps — and always before a candidate graduates toward live traffic — re-run the candidate on the same frozen rows N times (default 3): all repeats match → stable; some → borderline; none → stochastic (exclude from gap classification and the warm-start yield). Above ~5% unstable, fix decoding (temperature, seed) or downgrade verdicts to directional-only. The dispositions feed the pre-ramp gate in [../ramp-and-verify/SKILL.md](../ramp-and-verify/SKILL.md) (stable → serve, borderline → shadow, stochastic → incumbent fallback).

Token-logprob lens

When two same-family runs (e.g. quantized vs full-precision) diverge on the same row and you need the token-level why — which token the weaker model got wrong and how confident it was — see [references/logprob-lens.md](references/logprob-lens.md). It documents the renderer in [scripts/render-logprob-compare.mjs](scripts/render-logprob-compare.mjs) and the private logprob-sidecar artifacts it requires; nothing public in this repo produces those artifacts yet, so treat it as an optional lens, not a step.

Output Standard

End with the diff path and: the two run ids + harness/tool-access mode; shared-task count and N caveat; the outcome matrix (A✓B✓ / A✗B✗ / A✗B✓ reachable-gap / A✓B✗ regressions) with named id lists; the behavioral divergence summary (steps-to-done, finish-reason buckets, recovery events, median first-divergence step); the gap-class breakdown (persistence/recovery vs knowledge vs format/parsing over the reachable-gap set); the warm-start yield (clean B-passes of A-failures); and an explicit "is this gap RL-shaped?" verdict — RL-shaped when persistence/recovery dominates, not RL-shaped when knowledge or format dominates — stated as a hypothesis with the N caveat and any holdout segregation. If regressions (A✓B✗) exist, surface them; a stronger model that loses tasks is not strictly better.

References

  • [../compare-model-sweep/SKILL.md](../compare-model-sweep/SKILL.md) — the

scalar Pareto this skill complements; run it first for the frontier.

  • [../run-local-model-lab/SKILL.md](../run-local-model-lab/SKILL.md) — produces

the local-model trajectory exports this skill diffs.

  • [../ladder/SKILL.md](../ladder/SKILL.md) — quick local-vs-frontier feel check before committing to a full trajectory diff.
  • [../curate-trajectories/SKILL.md](../curate-trajectories/SKILL.md) — supplies

hash-stamped, holdout-segregated selections to diff.

  • [../local-distillation-lab/SKILL.md](../local-distillation-lab/SKILL.md) —

consumes the warm-start yield (clean B-passes of A-failures).

  • [../understand-workload/SKILL.md](../understand-workload/SKILL.md) — adjacent

vocabulary for tool-class and step decomposition.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.