Credited skills
Skill 35 of 43
Authors and calibrates Instance AI evaluations that build standalone n8n Agents through Agent Builder.
3 minutes · 756 words · 10 sections
Use the shared Instance AI eval harness. Agent cases use an Agent-specific authoring directory, dataset, and LangTracer suite.
Run this check before sourcing, drafting, or writing an eval. Run it from
packages/@n8n/instance-ai:
pnpm exec dotenvx run -f ../../../.env.local -- \
sh -c 'test -n "${LANGTRACER_URL:-}" && test -n "${LANGTRACER_API_KEY:-}"'If the check fails, stop before creating an eval file. Ask the user to:
Generate a key on the LangTracer API page (opens in a new tab).
Add these variables to the repository root .env.local file:
LANGTRACER_URL=https://lang-tracer.n8n-maintenance.workers.dev
LANGTRACER_API_KEY=<generated-key>Confirm when the environment is ready.
Do not ask the user to paste the key into chat. Do not print or inspect its value. Rerun the check after the user confirms. Continue only when it passes.
packages/@n8n/instance-ai/evaluations/data/agents/<slug>.json."datasets": ["agents"].agents.The disk runner loads both data/agents/ and data/workflows/. A misplaced
Agent case can therefore pass locally. That does not make the location correct.
Write the smallest user request that exercises the changed behavior.
processExpectations for the Instance AI conversation and final response.outcomeExpectations for the created Agent artifact and its configuration.executionScenarios only when the built Agent must run to prove the behavior.The harness captures the Agent configuration and authored skills. It supplies them to the expectation judge. A scenario-less Agent case is valid when process or outcome expectations can prove the behavior.
Use the substitution test for every expectation. A correct alternative build must pass. A build that misses the requested behavior must fail.
For multi-turn, seeded, or capability-gap cases, follow the case-shape and calibration rules in create-instance-ai-eval. This skill overrides its workflow directory and suite guidance for Agent cases.
Start with this shape:
{
"description": "The Agent Builder behavior this case guards.",
"conversation": [
{ "role": "user", "text": "Build me an Agent that ..." }
],
"complexity": "simple",
"tags": ["agent", "agent-build", "<capability>"],
"credentials": [{ "type": "<credentialType>", "name": "<display name>" }],
"processExpectations": [
"The final response ..."
],
"outcomeExpectations": [
"A standalone Agent is the deliverable; any workflow created exists only as a tool the Agent calls.",
"The Agent ..."
],
"datasets": ["agents"]
}Keep the prompt in the user’s voice. Do not tell Instance AI which internal tools or configuration fields to use unless that choice is the behavior under test.
Read local-setup.md (opens in a new tab) when the machine does not already have an eval instance and environment file.
From packages/@n8n/instance-ai:
pnpm exec tsx -e "import { loadAgentEvalTestCasesWithFiles } from './evaluations/data/agents/index.ts'; const matches = loadAgentEvalTestCasesWithFiles('<slug>'); if (matches.length !== 1) throw new Error('Expected exactly one Agent eval case, found ' + matches.length); console.log(matches[0].fileSlug)"
pnpm eval:instance-ai \
--base-url http://localhost:5680 \
--filter <slug> \
--tier agents \
--concurrency 1 \
--keep-workflows \
--verboseUse eval:instance-ai for a new disk case. eval:agents reads the published
LangTracer suite and is for running cases that are already there.
Inspect the transcript, the rendered Agent artifact, and each judge reason. Do not accept a green result when a conditional expectation never occurred. Do not weaken an expectation to hide a real Agent Builder defect.
The Instance AI PR gate checks the files changed by the PR. A change under
packages/cli/src/modules/agents/ selects the Instance AI capabilities — agents
suite through its agents slug. It also selects the agents dataset and uses
an absolute pass gate. The run uses a suite-scoped LangSmith cohort. It does not
write to the workflow dataset or compare against the workflow baseline. Other
Instance AI changes select the baseline suite and its pr dataset.
The gate runs when a PR opens, reopens, or becomes ready for review. It does not run for each new push. Use the PR gate’s manual dispatch after a later push.
Declared credentials are real n8n credential records with placeholder data. The eval thread limits the builder to those credential IDs.
Agent Builder model catalog requests return deterministic fake models during an eval. They do not decrypt the placeholder model credential or call its provider. Production model catalog requests remain live.
This mock covers catalog lookup only. A builder call_agent action and an Agent
executionScenario run the target Agent model. They need a working provider
credential such as EVAL_OPENAI_API_KEY. A build-only case does not need one.
--concurrency 1.build-agent.--iterations 5 before adding a case to a gating tier.agents.pnpm exec dotenvx run -f ../../../.env.local -- \
pnpm eval:langtracer-push --suite agents --dry-run --changed
pnpm exec dotenvx run -f ../../../.env.local -- \
pnpm eval:langtracer-push --suite agents --changedThe push needs LANGTRACER_URL and LANGTRACER_API_KEY. Generate a key on the
LangTracer API page (opens in a new tab).
Report the case and suite as clickable LangTracer links. Delete the local JSON
after a successful push.
data/agents/ and uses the agents dataset.Instance AI capabilities — agents with suite slug agents.agents suite in CI.Credited
This skill is installed in n8n-io/n8n — in use here rather than published from here — so there is no install command for it on this page.
Authors and calibrates Instance AI evaluations that build standalone n8n Agents through Agent Builder. Use when a change under packages/cli/src/modules/agents affects build-agent routing, Agent setup, model or credential selection, tools, MCP servers, integrations, skills, tasks, testing, or user-facing build responses. Requires LangTracer access before authoring so each finished case can be published.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
master, last pushed 24 September 2026.SKILL.md, not by matching a directory convention. 5 distinct layouts observed: .agents/skills/*/SKILL.md, .claude/plugins/n8n/skills/*/SKILL.md, .opencode/skills/*/SKILL.md, packages/@n8n/cli/skills/*/SKILL.md, packages/@n8n/instance-ai/skills/*/SKILL.md.h1 and no skipped levels:.claude/plugins/n8n/.claude-plugin/marketplace.json by n8n, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./n8n-io/n8n.md, and each skill at its own .md URL.1 file · 3 KB
Everything this skill ships beside its prose. All of it is set here, as a subchapter of skill 35.
Everything else published alongside the skill.