curate-trajectories

curate-trajectories is a skill for Claude Code, Codex from understudylabs/understudy-agent-tools. It costs 106 tokens per session (1,927 once invoked), scanned A, original, MIT.

A dataset-curation workflow for turning loose agent-run records into a searchable, provenance-tracked collection. It separates training data from development and holdout data, which are reserved for honest evaluation.

In plain words
What is it for?
Importing trajectory JSON, tagging data splits, selecting training or reinforcement-learning records, checking for contamination, and creating a decontaminated dataset manifest.
Why use it?
It prevents evaluation examples from leaking into training, a problem that can make results look better than they really are. Unsafe selections are blocked and overrides are recorded.

Skill for Claude CodeCodex

Part of the understudy plugin — 43 skills, 1 command shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/understudylabs/understudy-agent-tools/curate-trajectories
Any agent
npx skills add understudylabs/understudy-agent-tools --skill curate-trajectories
Clone the repo
git clone --depth 1 https://github.com/understudylabs/understudy-agent-tools

Made for: Claude Code, Codex.

Or install understudy, the plugin that ships this one along with the rest of its 43 skills, 1 command.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for curate-trajectories

README.md
[![agentmods](https://agentmods.dev/badge/skills/understudylabs/understudy-agent-tools/curate-trajectories.svg)](https://agentmods.dev/skills/understudylabs/understudy-agent-tools/curate-trajectories)
Your own site
<a href="https://agentmods.dev/skills/understudylabs/understudy-agent-tools/curate-trajectories"><img src="https://agentmods.dev/badge/skills/understudylabs/understudy-agent-tools/curate-trajectories.svg" alt="Measured on agentmods" height="20"></a>
Per session 106 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,927 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00106 $0.01927
Opus 5 $0.00053 $0.00963
Sonnet 5 $0.00021 $0.00385
Haiku 4.5 $0.00011 $0.00193

Measured 5d ago against content hash 427fe56be9cf, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

curate-trajectories scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/curate-trajectories/SKILL.md · 128 lines

How it starts

The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Curate trajectories

Trajectories pile up as loose per-task JSON across runs (each row roughly {id, name, score, passed, assertion_results, steps, messages, end_state, finish_reasons, model, toolset, domain, seed, input/output_tokens, cost}). The moment anyone feeds them to training, distillation, or RL they stop being logs and become a dataset — and a dataset with no split hygiene silently kills heldout claims. This worker owns the trajectory dataset as a first-class, queryable, provenance-tracked, contamination-safe artifact: import → tag splits → select (hash-stamped) → contamination check → emit a decontaminated pool.

The store is provider-agnostic. The source is Lilac or a local JSON corpus; this skill owns the hygiene and provenance layer on top, not the browser.

Safety Gates

  • Block by default. Any selection destined for a train / RL / distill / SFT pool is built excluding frozen dev+holdout. Including holdout (or dev) in such a pool is refused unless the developer passes an explicit override, and every override is logged in the manifest with who/when/why. Never silently include. A blocked selection is the safe outcome, not an error to route around.
  • The frozen splits are the source of truth. Split membership comes from splits.json produced by capture-evidence, never re-derived by re-seeding or re-hashing here. If splits.json is missing or stale, stop and route to capture-evidence — do not guess membership.
  • Local-first, no exfiltration. Index, query, and manifest stay under .understudy/. Never upload the corpus, never print message bodies, secrets, or raw payloads — operate on ids, provenance fields, counts, and hashes.
  • Reproducible or it didn't happen. Every selection is named and hash-stamped (selection hash over the sorted row ids + filter expr + corpus hash). Downstream consumers cite the hash, not a manual grep.

Decision Gate

Use this skill whenever trajectories feed a train / RL / distill / SFT pool, or whenever you would otherwise hand-filter rows in bash (grep toolset=api, "drop the seed-7 rows", "keep only passes"). Hand-filtering is the #1 way a heldout claim silently dies; replace it with a hash-stamped selection. If the trajectories are only being eyeballed (no downstream training/claim), a manifest is optional — but the moment a number leaves the building, curate first.

Read the full file on GitHub · 128 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 128 lines · 106 tokens per session scan A 427fe56be9cf

Subscribe to this mod's changes

curate-trajectories is a skill published in the GitHub repository understudylabs/understudy-agent-tools (16 stars, last pushed 3d ago), licensed MIT. It adds 106 tokens to every session and 1,927 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

obra/superpowers · 37 tokens

auto-perf-optimize

Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.

microsoft/vscode · 62 tokens

chat-perf

Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.

microsoft/vscode · 51 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens