Kelly agent eval
Agent Skills by mr-kelly
npx -y skills add mr-kelly/skills --skill kelly-agent-evalAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Local App-in-Skill review board that runs a fixed suite of mock test cases against a baseline vs candidate agent version and surfaces rubric-scored regressions before a release. Use when the user invokes $kelly-agent-eval or /kelly-agent-eval, wants to review agent-version regressions, compare baseline vs candidate quality, triage a release, or record a release approve/block decision. Deterministic mock rubric scores only — not a real LLM-judge call, and it never deploys anything.
SKILL.md
6.5 KB, as published. Nobody here has run it
Agent Eval & Regression Board
Overview
Use this skill as a generic quality gate for teams shipping multiple LLM-agent workflows who need to catch regressions before a release. It runs a fixed suite of ~18 mock test cases — support triage, code review, reasoning, planning, communication tone, extraction, and safety — against a baseline agent version and a candidate agent version, scores each transcript on a four-part rubric (helpfulness, correctness, safety, tone), and surfaces every case where the candidate scored meaningfully lower than the baseline as a regression.
The rubric scores are deterministic mock values presented as if produced by an eval rubric — this skill does not call a real LLM judge, and it does not deploy, publish, or modify anything. It only reads/writes local handoff files.
Default interaction mode: App UI. Unless the user explicitly asks for chat-only
handling, check onboarding/config, generate or load the local eval run, start
or reuse the local app with app/start.sh, and give the actual local URL. Use
chat-only mode only when the user says "chat only", "no UI", or similar.
This app combines a dashboard (pass-rate comparison, release decision) with a review queue (regressions needing a human verdict).
App UI Screenshots
<table> <tr> <td width="50%"><img src="assets/screenshots/overview.webp" alt="Agent Eval Board overview"></td> <td width="50%"><img src="assets/screenshots/regressions.webp" alt="Agent Eval Board regressions list"></td> </tr> <tr> <td><strong>Overview</strong><br>Baseline vs candidate pass-rate comparison, case-count metrics, and the release approve/block panel.</td> <td><strong>Regressions</strong><br>Cases where the candidate scored meaningfully lower than baseline, filterable by review status.</td> </tr> <tr> <td colspan="2"><img src="assets/screenshots/case-detail.webp" alt="Agent Eval Board case detail"></td> </tr> <tr> <td colspan="2"><strong>Case detail</strong><br>Rubric bar comparison (helpfulness/correctness/safety/tone) plus a side-by-side transcript diff and the mark-blocking / mark-acceptable review note.</td> </tr> </table>Boundary
- Read/generate the local mock eval run and local handoff files only.
- NEVER call a real model to score transcripts, NEVER deploy or publish a release, and NEVER modify any external system. There is no deploy path in this skill by design.
- The app reads and writes local files only.
- Treat reviewer notes and release decisions as local review history. Do not
commit
config.local.json, env files, orapp/.data/.
First Run And Onboarding
On invocation, check app/.data/onboarding.json. If onboarding is
absent/incomplete, ask for the small, non-secret setup: team name, baseline
version label, candidate version label, and the minimum candidate pass rate
policy. There are no credentials for this skill — it never calls an external
system — so onboarding is quick.
Private config priority:
KELLY_AGENT_EVAL_CONFIG=/absolute/path/to/config.jsonskills/kelly-agent-eval/config.local.json~/.config/kelly-agent-eval/config.jsonskills/kelly-agent-eval/config.example.jsonas template only
When setup is complete and the user confirms, write app/.data/onboarding.json:
{
"completed": true,
"completed_at": "ISO timestamp",
"config_version": "1"
}
Local App
Start the board with:
skills/kelly-agent-eval/app/start.sh
First run installs hono and @hono/node-server, then generates the mock
eval run into app/.data/eval_run.json if none exists yet. The frontend is
zero-build vanilla. The app uses local HTTP on 127.0.0.1, preferring port
3000 through 4000, or KELLY_AGENT_EVAL_UI_PORT when set.
Demo Mode
?demo=1opens a deterministic, fully offline mock run (18 cases across seven categories) for documentation and screenshots.lang=enorlang=zhforces UI chrome (and case titles/categories in the demo payload) to that language.- Demo API responses never read or write
app/.data/.
UI language: supports English and Chinese chrome with Auto default.
Workflow
node scripts/generate_eval_run.ts(or the app's first run) writes the fixed mock suite toapp/.data/eval_run.jsonand clears prior decisions.- Open the app. Overview shows baseline vs candidate pass rate and case counts; Regressions lists every case that dropped; All Cases lists every case with a category filter.
- For each regression, open the case detail, compare the rubric bars and the
side-by-side transcript diff, and record
Mark blockingorMark acceptablewith a note — written toapp/.data/decisions.json. - Once every regression has a decision, record the overall
Approve release/Block releaseverdict with a note — written toapp/.data/release_decision.json. node scripts/export_release_report.tsmerges the run, decisions, and release verdict intoapp/.data/release_report.json. It refuses to run if a regression still has no decision, or no release decision exists yet.
Read references/eval-schema.md before editing the app, scripts, or
lib/eval-data.ts.
Data Provider
- Provider selector env:
KELLY_AGENT_EVAL_DATA_PROVIDER=local(default). The contract lives inlib/data-provider/provider-interface.ts; the default implementation islib/data-provider/local-file-provider.ts. - Primary local files:
app/.data/eval_run.json,app/.data/decisions.json,app/.data/release_decision.json,app/.data/release_report.json,app/.data/onboarding.json,app/.data/agent.lock.
Use scripts/validate_ui_schema.ts [path] before relying on a run file.
Safety
- Deterministic mock scores only — never present them as a real LLM-judge verdict to the user; call them out as rubric-based mock scoring.
- Refuse to export a release report while a regression has no decision.
- Do not invent scores outside the fixed suite; if the user wants a different
case, add it to
lib/eval-data.tsand regenerate the run.