test(evals): add a plugin eval suite for the github-screenshots skill - #965
test(evals): add a plugin eval suite for the github-screenshots skill#965Zach Dunn (zachdunn) wants to merge 1 commit into
Conversation
Adds an eval suite under evals/ that measures whether the github-screenshots skill gets an agent to capture and host visual evidence of a UI change, and whether it stays quiet when it shouldn't. Seven cases, all built from real Claude/Codex/Grok transcripts rather than invented prompts: five where a screenshot was warranted but the prompt never asks for one, and two where firing would be wrong. Each ships a shared git fixture so the premise is true on disk, and the hosted MCP server is mocked so no run touches production. Findings from the first full run are written up in evals/NOTES.md, including four defects in the suite itself that the run exposed. Read that before trusting any number from it — the with/without delta in particular is not yet sound, because the baseline arm has no capture tool at all. Results are gitignored: they contain full agent transcripts. Refs #964
|
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (2)
🚫 Excluded labels (none allowed) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Adds an eval suite under
evals/that measures whether thegithub-screenshotsskill actually gets an agent to capture and host visual evidence of a UI change — and whether it stays quiet when it shouldn't.What's here
Seven cases, run with
claude plugin eval:Every prompt is lifted from a real Claude, Codex, or Grok transcript on this machine, not invented. The one that matters most is the docs-width case: that's the PR where a screenshot only got attached after a manual nudge.
Supporting pieces: a shared git fixture (
fixture/scaffold.sh) so each case's premise is true on disk, a mock of the hosted MCP server so no run touches production, andrun.sh, which wraps two local workarounds (see its header comments).How to run
Cheap single-case iteration:
evals/run.sh --case 'docs*' --ablation none --runs 1.Read NOTES.md before trusting a number
The first full run (Sonnet, 3 runs/case, 42 runs) exposed four defects in the suite itself, all written up in
evals/NOTES.md:mcp__uploads__putrather thanmcp__plugin_uploads_uploads__put). Fixed here, not yet re-run.The one clean signal it did produce is in #964: the skill fires inconsistently on identical prompts.
Notes
evals/results/is gitignored — it holds full agent transcripts.skills/or.claude-plugin/is touched; this is additive.Refs #964. Related: #960 (the plugin currently fails to load from the marketplace, which this suite sidesteps by loading it by path).