Skip to content

/init

Set up coder-eval in this repository — scan for what is worth evaluating (Claude Code skills, an MCP server, a CLI), then scaffold a task directory with one real task and the command to run it.

From plugin
coder-eval
1296 skills6 commands
Install
$ npx -y skills add UiPath/coder_eval --skill init --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/init

Context preview

The summary Claude sees to decide when to auto-load this skill.

Set up coder-eval in this repository — scan for what is worth evaluating (Claude Code skills, an MCP server, a CLI), then scaffold a task directory with one real task and the command to run it.

SKILL.md

init.SKILL.md
description: Set up coder-eval in this repository — scan for what is worth evaluating (Claude Code skills, an MCP server, a CLI), then scaffold a task directory with one real task and the command to run it.
disable-model-invocation: true
allowed-tools: ["Read", "Glob", "Grep", "Write", "Bash"]

Set up coder-eval in this repository

Goal: leave the user with a task directory containing **one real task** they can run immediately, not an empty scaffold. The task must exercise something this repository actually ships.

The user's request is: `$ARGUMENTS`

Step 1 — Check prerequisites

Run `coder-eval --version`. Installing this plugin did not install the CLI, and every later step needs it.

If it is missing, follow `${CLAUDE_PLUGIN_ROOT}/reference/cli-setup.md`: offer the install, **ask before running it**, and confirm with `coder-eval --version` afterwards. Never install unprompted, and do not continue if the user declines.

That reference also covers the other half of the version check — whether this project pins a coder-eval version, and what to do when the installed one does not match it.

Step 2 — Check whether this repository is already configured

This skill scaffolds a first suite. Run against a repository that already has one, it would write a "first task" beside an existing tree and report success — so find out before writing anything.

Locate the eval tree per `${CLAUDE_PLUGIN_ROOT}/reference/repo-layout.md`. **If the repository already has tasks, report the inventory and stop**: how many task files and where, how many run directories, and whether there are experiments. Then point the user at the skills that act on what exists —

  • `/coder-eval:lint-tasks` to review the tasks already there;
  • `/coder-eval:analyze` to read a finished run.

Only scaffold if the repository has none, or if the user explicitly asks for more after seeing the inventory. **Never overwrite an existing task file**, whatever they ask for; add alongside it.

A repository with tasks but no experiments is **partially** configured, not empty. Report that as it is and offer the missing piece — do not scaffold a first task as though there were nothing there.

Step 3 — Scan for what is testable

Look for these, in priority order, and **report what you found before writing anything**:

1. **Claude Code skills** — glob `.claude/skills/*/SKILL.md` and `**/skills/*/SKILL.md`. Skills are the highest-value thing to evaluate, because whether they trigger is invisible until it fails. If you find any, recommend `/coder-eval:check-skill` for each of them — that is a purpose-built activation suite, not something to hand-roll here. 2. **An MCP server** — an `.mcp.json`, an `mcpServers` key in `package.json` or `pyproject.toml`, or a server entry point (a `server.py` / `index.ts` that registers tools). Note which tools it exposes. 3. **A CLI entry point** — `[project.scripts]` in `pyproject.toml`, `bin` or `scripts` in `package.json`, or a `Makefile` with usable targets.

If the repository is a monorepo with many skill or package directories, cap the scan and ask which subtree to focus on rather than reporting fifty candidates.

If you find **nothing** in these three categories, say so plainly. Then offer the smallest useful thing instead — a task that runs a script or test command the repo already has and checks its output — rather than scaffolding an empty suite that proves nothing.

Step 4 — Scaffold one real task

Write into the tree step 2 resolved. If the repository has none, propose a location and ask. Step 2's never-overwrite rule still applies here — it is the one place that rule lives.

Write one task derived from what step 3 found:

  • **A CLI** — a task whose prompt asks for something the CLI does, with criteria that

check the resulting file's *content*, not just that a file appeared.

  • **An MCP server** — a task that exercises one specific tool and verifies its effect.
  • **Skills** — point at `/coder-eval:check-skill` instead; an activation suite is a

different shape from a capability task and that skill builds it properly.

Prompts instruct, criteria validate. Do not restate in the prompt what the criteria check — a prompt that says "make sure the file contains X" tests reading comprehension, not capability.

Before writing the criteria, read `${CLAUDE_PLUGIN_ROOT}/reference/task-rubric.md`. It is the shared checklist for whether a task can pass for the wrong reason, and the one task you scaffold here is the example every later task in this repository gets modelled on — so it is worth getting right rather than fixing later. For criterion types and their fields, read `${CLAUDE_PLUGIN_ROOT}/reference/criteria.md`.

Use `/coder-eval:task` if the user wants more tasks after this one; it is the same authoring loop with a natural-language brief.

Step 5 — Environment variables

Write the variables the chosen agent needs (e.g. `ANTHROPIC_API_KEY` for the default `claude-code` agent) to **`.env.example`** — create it or append to it.

Never write `.env`: it may already hold real secrets. If `.env` does not exist, check whether it is gitignored before suggesting the user create one, and say so if it is not.

Step 6 — Validate

Run `coder-eval plan <task-directory>/*.yaml` and iterate until it exits 0. This validates the task schema through the real models, so a field name you guessed wrong surfaces here. `plan` takes task *files*: a bare directory argument is rejected outright (`Expected a YAML task file but got a directory`), so always pass explicit paths or a glob. Do not suggest `coder-eval plan` with no argument — zero-argument discovery only works from a coder-eval source checkout and exits 1 anywhere else.

An empty or task-less directory does not produce a meaningful success — if `plan` reports no tasks, treat that as a failure to scaffold, not a pass. Note that the bare-directory error is a different outcome: that one means you passed the wrong argument shape, not

Read more
Ships withcoder-eval

Playwright for coding agents — one declarative test file, any agent runtime, a real sandbox, and a pass/fail gate in CI.

Get the whole plugin, auto-invoked

Other skills on coder-eval.

analyze
Auto-invokedSkill

analyze

Analyze a finished coder-eval run and write analysis.md — cluster failures into systemic patterns and recommend fixes. Use when the user wants to know why a…

check-skill
Auto-invokedSkill

check-skill

Generate and run a coder-eval activation suite for a Claude Code skill. Use when the user asks whether a skill triggers, wants to test skill activation, or…

ci
Auto-invokedSkill

ci

Generate a GitHub Actions workflow that runs a coder-eval suite as a CI gate or on a schedule, using the published composite action — with the agent runtime,…

lint-tasks
Auto-invokedSkill

lint-tasks

Review existing coder-eval task YAML — find criteria that cannot fail, prompts that leak the answer, and near-duplicate tasks, each with a fix. Read-only. Use…

task
Auto-invokedSkill

task

Turn a natural-language description into coder-eval task YAML — minimal prompts, weighted criteria that check output content, validated with `coder-eval plan`.…