Synthetic Eval Data Generator
ai-evals-course/evals-skills
Builds diverse synthetic test inputs for LLM pipeline evaluation by defining failure-focused dimensions, drafting tuples with you and turning them into realistic queries.
Builds agent evaluations in stages: inspect the repository and traces, agree a Task Spec with you, then build, audit and run a Harbor task with an independent verifier.
$ npx skills add langchain-ai/langchain-skills --skill eval-engineering -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install langchain-ai/langchain-skills eval-engineering --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/langchain-ai/langchain-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/config/skills/eval-engineering .claude/skills/eval-engineering && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "eval-engineering" agent skill from https://github.com/langchain-ai/langchain-skills/tree/main/config/skills/eval-engineering into .claude/skills/eval-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eval-engineering", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/langchain-ai/langchain-skills/tree/main/config/skills/eval-engineeringType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add langchain-ai/langchain-skills --skill eval-engineering -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install langchain-ai/langchain-skills eval-engineering --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langchain-ai/langchain-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/config/skills/eval-engineering .agents/skills/eval-engineering && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "eval-engineering" agent skill from https://github.com/langchain-ai/langchain-skills/tree/main/config/skills/eval-engineering into .agents/skills/eval-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eval-engineering", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add langchain-ai/langchain-skills --skill eval-engineering -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install langchain-ai/langchain-skills eval-engineering --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langchain-ai/langchain-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/config/skills/eval-engineering .cursor/skills/eval-engineering && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "eval-engineering" agent skill from https://github.com/langchain-ai/langchain-skills/tree/main/config/skills/eval-engineering into .cursor/skills/eval-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eval-engineering", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/langchain-ai/langchain-skills.git --path config/skills/eval-engineering--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add langchain-ai/langchain-skills --skill eval-engineering -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install langchain-ai/langchain-skills eval-engineering --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langchain-ai/langchain-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/config/skills/eval-engineering .gemini/skills/eval-engineering && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "eval-engineering" agent skill from https://github.com/langchain-ai/langchain-skills/tree/main/config/skills/eval-engineering into .gemini/skills/eval-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eval-engineering", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install langchain-ai/langchain-skills eval-engineeringInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add langchain-ai/langchain-skills --skill eval-engineering -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/langchain-ai/langchain-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/config/skills/eval-engineering .github/skills/eval-engineering && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "eval-engineering" agent skill from https://github.com/langchain-ai/langchain-skills/tree/main/config/skills/eval-engineering into .github/skills/eval-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eval-engineering", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add langchain-ai/langchain-skills --skill eval-engineering -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install langchain-ai/langchain-skills eval-engineering --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langchain-ai/langchain-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/config/skills/eval-engineering .opencode/skills/eval-engineering && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "eval-engineering" agent skill from https://github.com/langchain-ai/langchain-skills/tree/main/config/skills/eval-engineering into .opencode/skills/eval-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eval-engineering", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
eval-engineeringBuilds agent evaluations in stages: inspect the repository and traces, agree a Task Spec with you, then build, audit and run a Harbor task with an independent verifier.
Evaluation work starts with inspection of everything that bears on the agent under test: its repository and harness, optional traces, existing tasks and runs, and your goal. From those facts the agent creates a small project-specific World Knowledge Skill and uses it to propose one grounded task. The task spec (`Task.md`) and the world skill are drafted together, shown to you and refined until you approve both.
An approved task is then implemented with its environment (data, services, permissions, state and reset) and a verifier that scores independently, run through the real harness, and the full evidence is inspected so that only failures not caused by the agent get fixed. The world skill is updated with what the run proved before the next task. References cover discovery, environment building, synthetic data, verifier design, calibration, Harbor and multi-turn user simulation, with a service-desk example and templates.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 16a992f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python, from the files we listed), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agent Eval Engineering loads about 4k tokens when it runs, and up to ~36k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 1,960 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from langchain-ai/langchain-skills at commit 16a992f, republished under its MIT licence (© langchain-ai). 1,960 words, ~3,966 tokens.
.claude/skills/eval-engineering/SKILL.md (or your agent's skills folder). This skill also uses 21 other files; get the full folder from GitHub.Task.md, and refine both until the user approves them.Task.md, which describes the input, relevant agent
conditions, Environment, scoring, fairness, and open decisions for one Task.Read each reference when its decision appears:
| Need | Read |
|---|---|
| Inspect source, traces, the Harness, dependencies, access, and existing evals | Discovery |
| Bootstrap or update reusable project knowledge | World knowledge |
| Propose Tasks and write the single Task Spec | Task design |
| Build data, services, access, state, and reset | Environment building |
| Create structured or natural-language data | Synthetic data |
| Define independent evidence and scoring | Verifier design |
| Apply Spec2Task to turn a reviewed Spec into an audited Task | Task implementation |
| Compare model runs and classify failures | Calibration |
| Package and run Harbor tasks | Harbor |
| Adapt a known benchmark design | Benchmark patterns |
| Build multi-turn conversations | Multi-turn simulation |
| See World knowledge learned across two Tasks | Service-desk example |
Reusable implementation resources:
$ref targetsReview every input the user provides before proposing a Task. Use the guidance that matches each available input:
Inspect the repository before asking questions that source and tests can answer. Follow the active Harness through prompts, models, tools, services, state, effects, and focused tests. Inspect existing Task instructions, parsers, Verifiers, reward paths, and run evidence.
If the user supplies traces, review complete runs or threads. Use traces to learn real requests, dependency behavior, state shapes, errors, and failure conditions. Do not treat a trace answer as independent truth.
If .agents/skills/<project>-world/SKILL.md exists, read it. Follow its routing
only for knowledge relevant to the current Task. Check cited repository paths,
commands, and scripts when their accuracy affects the design.
Read Task design and use the index in Benchmark patterns to find the relevant domain and source callouts. Focus on that domain unless the Task crosses another one. In the first user-facing design response after inspection, propose one Task grounded in repository evidence, supplied traces, existing coverage, or a human priority. State:
In the same response, show the relevant current World Skill content and the specific additions or corrections this Task suggests. If no World Skill exists, show the small initial contents that will help create this Task and future Tasks. Keep the Task's exact request, focal records, expected result, hidden truth, and exact scoring rules out of the World Skill.
Let the user revise the Task proposal and World knowledge together before implementation. Offer alternatives only when a real user choice changes the design.
Copy the Task template to
evals/<suite>/tasks/<task-id>/Task.md. Put all Task-specific design in this
one file. At the same time, create or update the project World Skill by
following World knowledge. Determine the
project skill location supported by the active agent and repository.
.agents/skills/<project>-world/SKILL.md and
.claude/skills/<project>-world/SKILL.md are common landing spots. Follow an
established project convention when one exists. Otherwise, explain the proposed
location and get user confirmation before creating the skill. Start from
the World Skill template when needed.
Keep each Task.md beside the Harbor task it describes:
evals/<suite>/tasks/<task-id>/
├── Task.md # human-reviewed control-plane spec
├── task.toml # required Harbor configuration
├── instruction.md # required agent input
├── environment/ # required Environment definition and visible state
│ ├── Dockerfile # use this or docker-compose.yaml
│ └── docker-compose.yaml # optional; primary service must be main
├── tests/
│ ├── test.sh # required Harbor Verifier entry point
│ ├── test_*.py # optional Verifier helpers
│ └── fixtures/ # optional hidden Verifier data
└── solution/
└── solve.sh # optional reference pathNever copy or mount Task.md into the evaluated agent's workspace or image.
The agent receives instruction.md and only the Environment state intended for
the run.
Include:
Show the full Task Spec and the World Skill changes to the user. Explain what
is already in the World Skill, what this Task adds or corrects, and what stays
only in Task.md. Revise both through the same back-and-forth. Mark the Task
Spec approved only after explicit approval. Treat World Skill changes as
accepted only after the user reviews them. If the user requests an end-to-end
build without an approval pause, continue with an agent-reviewed
Status: Draft and label the World Skill changes as unreviewed.
If implementation changes the request, visible information, material
Environment behavior, or scoring boundary, update Task.md and show the
change. Set its status back to Draft. Show the diff and require explicit
reapproval before setting it to Approved again.
Follow Task implementation. It gives the build order and routes each decision to the Environment, synthetic-data, Verifier, Harbor, and calibration references.
For an existing project, use its pinned or supported Harbor version. Otherwise, use the installed supported version and record it. Upgrade only with user approval and a stated compatibility reason. Use the installed CLI help as the command contract.
Before a scored model run:
Run the actual Harness through Harbor. Read the complete trajectory, not only the reward. Inspect:
Classify each unsuccessful run as an agent capability failure, missing information, Harness defect, Environment defect, Verifier false rejection, Verifier false acceptance, leakage, or infrastructure failure. Fix non-agent failures before using the score.
Model comparison is an optional calibration strategy, not a completion rule. When it would answer a real uncertainty, compare a weaker model, the target model, or a stronger model and repeat trials when behavior is variable. Read every selected trace. Contrast can expose unclear inputs, brittle setup, leakage, shortcuts, or reward hacks. Pass rates and model ordering do not prove Task quality.
Read Calibration for the complete audit method.
Use World knowledge throughout Task design, implementation, and audit. Add or correct project-specific knowledge when the work supplies evidence that would help another Task. This can include Task patterns, Environment methods, data creation, Verifier evidence, run procedures, scripts, assets, and examples.
After the audit, reconcile the World Skill with what the completed Task proved. Show the user:
Remove or narrow ideas that the Task disproved. If the user asked for autonomous end-to-end updates without a pause, make the smallest supported update, show it in the final review, and do not imply that the human approved the generalization.
Create only SKILL.md at first. Add references/, scripts/, assets/, or
tests/ only when their real contents justify them.
Keep the completed Task's request, focal state, expected result, and exact
criteria in its collocated Task.md. Do not copy broad guidance that is already
clear in this skill. Record the project-specific adaptation of that guidance.
Use Tasks two and three to test the World Skill. Check whether it reduces rediscovery, improves Task Specs, preserves important relationships, reuses a proven operation, or prevents a known Verifier defect. Correct rules that are missing, stale, or too broad.
When several materially different Tasks have exercised the shared knowledge and the construction and verification methods are clear, the next cycle can propose several independent Task Specs:
Continue this loop as production behavior, user priorities, agents, and models change.
Map required systems, data, roles, network needs, and safe setup methods. Never read, print, copy, store, or ask the human to paste secret values. Tell the human what dependency is needed, why it is needed, and how the project expects access to be provided. Default to controlled local, frozen, or simulated dependencies. Never write to production during an eval. Treat access, startup, reset, timeout, judge, and Verifier failures as invalid runs, not failed agent work.
Task.md matches the built instruction, Environment, and Verifier.© langchain-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 21 other files (scripts, references, assets) in config/skills/eval-engineering of langchain-ai/langchain-skills.
Open the folder on GitHubat commit 16a992f
Agent Eval Engineering next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Agent Eval Engineering this skilllangchain-ai/langchain-skills | 1.3k | — | ~4k | Automated safety check: Pass | MIT | |
| Synthetic Eval Data Generatorai-evals-course/evals-skills | 1.5k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| GAIA Agent Benchmarkingamd/gaia | 1.6k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Chatbox Session RAG Evalchatboxai/chatbox | 42k | — | ~758 | Automated safety check: Pass | GPL-3.0 | |
| Windmill AI Evalswindmill-labs/windmill | 18k | — | ~969 | Automated safety check: Notes | Custom licence | |
| Octocode Benchmark Runnerbgauryy/octocode | 946 | — | ~2.1k | Automated safety check: Pass | MIT |
ai-evals-course/evals-skills
Builds diverse synthetic test inputs for LLM pipeline evaluation by defining failure-focused dimensions, drafting tuples with you and turning them into realistic queries.
amd/gaia
Benchmarks AMD's GAIA agent against Claude Code and across models on quality, honesty, steps, tokens, time and real cost, using gaia eval tasks.
chatboxai/chatbox
Runs and debugs evaluations of how Chatbox models answer questions about large attached files, using synthetic and real long-document fixtures.
windmill-labs/windmill
Writes and runs black-box benchmark cases for Windmill's flow, app, script, CLI and global AI generation modes, including before-and-after comparisons.
bgauryy/octocode
Runs blind pairwise comparisons of Octocode against a gh-based baseline over markdown research questions, scored by total characters through the model rather than self-report.
ory/lumen
Adds a new task to the bench-swe pipeline from a real GitHub bug-fix issue or pull request, then checks the generated task file and patch.
langchain-ai/langchain-skills
INVOKE THIS SKILL when implementing human-in-the-loop patterns, pausing for approval, or handling errors in LangGraph.
langchain-ai/langchain-skills
Fans a list of independent items out to subagents in parallel, merges the results back into a table and supports retrying only the rows that failed.
langchain-ai/langchain-skills
Routes LangGraph agents with typed decision models that return probabilities, and finds LLM calls that only exist to produce a routing decision.
langchain-ai/langchain-skills
Explains how to build agents with the Deep Agents framework: create_deep_agent, the built-in middleware, the harness, SKILL.md format and configuration options.
langchain-ai/langchain-skills
INVOKE THIS SKILL when setting up a new project or when asked about package versions, installation, or dependency management for LangChain, LangGraph, LangSmith, or Deep Agents.
langchain-ai/langchain-skills
INVOKE THIS SKILL when you need human-in-the-loop approval, custom middleware, or structured output.
Categories
Builds agent evaluations in stages: inspect the repository and traces, agree a Task Spec with you, then build, audit and run a Harbor task with an independent verifier. Evaluation work starts with inspection of everything that bears on the agent under test: its repository and harness, optional traces, existing tasks and runs, and your goal. From those facts the agent creates a small project-specific World Knowledge Skill and uses it to propose one grounded task.
Agent Eval Engineering fits situations like: designing a benchmark or eval suite for a new agent; turning production traces into reviewed, runnable evaluation tasks; building controlled environments and synthetic data for an agent eval; calibrating verifiers and maintaining a benchmark as the agent changes.
Run `npx skills add langchain-ai/langchain-skills --skill eval-engineering -a claude-code`. Or copy the skill folder (config/skills/eval-engineering in langchain-ai/langchain-skills) into .claude/skills/eval-engineering in your project. Claude Code loads it when a task matches its description.
Run `npx skills add langchain-ai/langchain-skills --skill eval-engineering -a codex`. Or copy the skill folder (config/skills/eval-engineering in langchain-ai/langchain-skills) into .agents/skills/eval-engineering in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add langchain-ai/langchain-skills --skill eval-engineering -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/eval-engineering, .gemini/skills/eval-engineering, .github/skills/eval-engineering and .opencode/skills/eval-engineering in your project.
Going by SKILL.md and its folder, Agent Eval Engineering needs Python for the scripts in its folder. Our summary lists: Harbor, to build and run tasks; The agent repository, plus traces if available.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Agent Eval Engineering is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 32k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Agent Eval Engineering: Synthetic Eval Data Generator (ai-evals-course/evals-skills, 1.5k stars), GAIA Agent Benchmarking (amd/gaia, 1.6k stars), Chatbox Session RAG Eval (chatboxai/chatbox, 42k stars) and Windmill AI Evals (windmill-labs/windmill, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
langchain-ai (a GitHub organization, an official publisher) maintains it in langchain-ai/langchain-skills, which has 1,270 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 5, 2026.
Source: langchain-ai/langchain-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.