Skip to content
Testing
Skill

/skillgrade-setup

Sets up and runs skillgrade evaluation pipelines for AI agents and Agent Skills. Use when initializing eval configurations, running trials, reviewing results, exporting reports, or integrating with CI. Don't use for writing grader scripts, general test authoring, or non-agentic

From plugin
skillgrade
7342 skills

Claude Code

$ npx -y skills add mgechev/skillgrade --skill skillgrade-setup --agent claude-code

SKILL.md

skillgrade-setup.SKILL.md
name: skillgrade-setup
description: Sets up and runs skillgrade evaluation pipelines for AI agents and Agent Skills. Use when initializing eval configurations, running trials, reviewing results, exporting reports, or integrating with CI. Don't use for writing grader scripts, general test authoring, or non-agentic documentation.

Skillgrade Evaluation Setup

Procedures

**Step 1: Install Skillgrade** 1. Verify Node.js 20+ and Docker are available. 2. Run `npm i -g skillgrade` to install the CLI globally.

**Step 2: Initialize an Eval Configuration** 1. Navigate to any project directory. 2. If the directory contains a `SKILL.md` and an API key is set, `skillgrade init` generates AI-powered tasks and graders tailored to the skill. 3. Without a `SKILL.md` or API key, `skillgrade init` creates a ready-to-edit generic eval template. 4. Pass `--force` to overwrite an existing `eval.yaml`.

**Step 3: Configure eval.yaml** 1. Read `references/eval-yaml-spec.md` for the full configuration schema. 2. Define tasks under the `tasks:` key. Each task requires:

  • `name`: unique task identifier
  • `instruction`: what the agent should accomplish (OR `turns:` for multi-turn evals)
  • `graders`: one or more scoring mechanisms (see the `skillgrade-graders` skill)

3. Optionally add `workspace:` (files the agent edits) and `context:` (reference material not directly graded). 4. Configure `defaults:` for agent, provider, trials, timeout, and threshold. 5. For multi-turn evals, replace `instruction` with `turns:` — each turn has its own `instruction` and optional `graders`. The workspace persists across turns. 6. For batch evals, add `dataset: path/to/file.jsonl` (or `.csv`) to a task. Each row expands into a separate task with `{{key}}` template variables interpolated in the instruction.

**Step 4: Run Evaluations** 1. Select an appropriate preset based on the evaluation goal:

  • `--smoke` (5 trials): Quick capability check.
  • `--reliable` (15 trials): Reliable pass rate estimate.
  • `--regression` (30 trials): High-confidence regression detection.

2. Run the evaluation: `skillgrade --smoke`. 3. Run a specific eval by name: `skillgrade --eval=fix-linting`. 4. Run multiple evals: `skillgrade --eval=fix-linting,write-tests`. 5. Run only deterministic graders (skip LLM calls): `skillgrade --grader=deterministic`. 6. Run only LLM rubric graders: `skillgrade --grader=llm_rubric`. 7. Run only human review graders: `skillgrade --grader=human`. 8. The agent is auto-detected from the API key. Override with `--agent=gemini|claude|codex|acp|opencode|command`. 9. For ACP, pass `--acp-command="gemini --acp"` or set `defaults.acp.command`. 10. For OpenCode, pass `--opencode-agent=build|plan|explore` or `--opencode-model=provider/model`. 11. For a custom agent, pass `--agent=command --command="node mycli.js"` or set `defaults.command`. The instruction is piped to the command's stdin. 12. Override the provider with `--provider=docker|local` (or any custom-registered provider).

**Step 5: Review Results** 1. Run `skillgrade preview` for a CLI report. 2. Run `skillgrade preview browser` to open the web UI at `http://localhost:3847`. 3. Export results: `--format=json|junit|csv|markdown`. Combine with commas: `--format=json,junit`. 4. Reports are saved to `$TMPDIR/skillgrade/<eval-name>/results/`. Override with `--output=DIR`.

**Step 6: Integrate with CI** 1. Add a GitHub Actions step that installs skillgrade, navigates to the eval directory, and runs with `--regression --ci --provider=local`. 2. Use `--provider=local` in CI — the runner is already an ephemeral sandbox, so Docker adds overhead without benefit. 3. The `--ci` flag causes a non-zero exit code if the pass rate falls below `--threshold` (default: 0.8). 4. Use `--format=junit` to generate JUnit XML for CI dashboard integration. 5. Read `references/ci-example.md` for a complete workflow template.

**Step 7: Extend with Custom Registries** 1. Register custom graders: `registerGrader('my_grader', () => new MyGrader())`. 2. Register custom agents: `registerAgent('my-agent', (config) => new MyAgent(config))`. 3. Register custom providers: `registerProvider('ssh', (config) => new SSHProvider(config))`. 4. Register custom reporters: `registerReporter('dashboard', () => new DashboardReporter())`.

Error Handling

  • If `skillgrade init` produces a generic template, it means no `SKILL.md` was found — this is expected for non-skill evals.
  • If evaluation hangs, check Docker is running and the container has network access for API calls.
  • If all trials fail with "No API key," ensure the environment variable is exported, not just set inline for a different command.
  • If a task has both `instruction` and `turns`, skillgrade will error — use one or the other.
  • If a dataset file is not found, skillgrade errors at config load time with the resolved path.
Read more
@mgechev
Ships withskillgrade

An eval harness for AI coding agents. Define tasks, run any agent, score with deterministic scripts, LLM judges, or human reviewers.

Stars on GitHub

Momentum

stars in total
734
Star history of mgechev/skillgrade on GitHub, a chart by star-history.com

Other skills on skillgrade.

skillgrade-graders

skillgrade-graders

Authors deterministic, LLM rubric, and human graders for skillgrade evaluations. Use when creating scoring scripts, writing…

@mgechev@mgechevInstall Skill

More skills from other plugins.

api-review

api-review

Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…

playwrighttoday100k
@microsoft@microsoftInstall Skill
add-e2e-selectors

add-e2e-selectors

Add reliable @grafana/e2e-selectors to interactive elements and key containers in the Grafana frontend. Use when adding e2e…

grafanatoday78k
@grafana@grafanaInstall Skill
promptfoo-evals

promptfoo-evals

Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…

@promptfoo@promptfooInstall Skill
deepeval

deepeval

DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…

@confident-ai@confident-aiInstall Skill

Questions about skillgrade-setup.

Which coding agents can use skillgrade-setup?
skillgrade-setup installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.