brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
evalEval-Driven Development (EDD) for AI workflows. pass@k metrics, capability evals, regression evals. Triggers: eval, edd, pass@k, capability, regression, benchmark.
Independent GitHub snapshot · Automated classification · Original documentation governs
<core_principles>
<blind_evaluation_protocol> Use when implementing agent would otherwise score its own output (high-stakes: security, payments, agent quality):
agents/blind-evaluator.md as a fresh agent.Two-phase eval protocol:
pass^k: "All k trials succeed"
See reference for calculation formula and worked examples.
<grader_selection>
Before trusting a model grader, compare its pass and fail decisions with labels from a human subject-matter expert. Tune it on separate examples, then measure its ability to find failures and recognize passes on a held-out set. Report both rates; overall accuracy can hide a grader that labels every case as passing. Recheck after changing the grader.
See reference for full grader templates and examples. </grader_selection>
<anti_patterns> Writing evals after implementation tests existing bugs, not requirements. Model-based grading is slow and probabilistic. Prefer code graders. Every change must pass regression evals. No exceptions. Evals that take > 30s get skipped. Keep them fast. Track pass@k over time. Declining reliability is a signal. For any user-facing or high-stakes eval, the implementing agent scoring its own work inflates results ~36%. Spawn blind-evaluator instead. Evaluating against a codebase that already contains the canonical solution = answer key in the eval set. Use pre-merge snapshots or a separate fixture. Greenfield tickets in the golden eval set collapse to self=10, blind=3. Greenfields are not evaluable as solved tasks — exclude them from the dataset. Optimizing how much context the evaluator gets before establishing a baseline score = can't distinguish signal from noise. Run minimal-context baseline first, then test additions one at a time. </anti_patterns>
<on_complete> agentdb write-end '{"skill":"eval","eval_type":"capability|regression","pass_at_1":"<X%>","pass_at_3":"<Y%>","failures":[""]}'
Record eval type, pass rates, and any failures for future reference. </on_complete>