Auto-generates golden and labeled eval JSON files for an agent tool. Produces deterministic assertion-based evals with difficulty tiers, seed data templates, and overlap-driven ambiguity testing. No LLM-as-judge.
Generate golden and labeled eval JSON files for a named tool. Run this skill after a tool is implemented and tests are green.
Ask the user which tool to generate evals for, or read it from context if /forge-tool just completed.
Read the tool's ToolDefinition from tools/<name>.tool.js:
name, description, schema, triggerPhrases, category, consequenceLevelGenerate 5–10 golden cases covering:
Each golden case follows this schema:
{
"id": "case-001",
"description": "What this case tests",
"input": { "message": "User's natural-language request" },
"expectedTool": "<tool_name>",
"expectedArgs": { "param": "value" },
"checks": [
{ "type": "tool_called", "tool": "<tool_name>" },
{ "type": "arg_equals", "arg": "param", "value": "value" }
]
}
Write to evals/<name>.golden.json as a JSON array.
Generate 2–3 labeled (multi-tool) scenarios where the agent must choose between 2+ tools or sequence multiple calls:
Each labeled case:
{
"id": "labeled-001",
"description": "What this scenario tests",
"input": { "message": "User's multi-intent request" },
"label": "correct" | "incorrect" | "partial",
"expectedTools": ["<tool_name>"],
"checks": [...]
}
Write to evals/<name>.labeled.json as a JSON array.
Run node lib/index.js run --eval evals/<name>.golden.json --dry-run if available to validate JSON schema.
Print a summary: N golden cases, M labeled scenarios, file paths written.
Category:other