Imported from maelrx/Zugzwang (
.agents/skills/implement-evaluator-metric/SKILL.md). Install upstream withnpx skills add maelrx/Zugzwang --skill implement-evaluator-metric. Copyright stays with the author.
Implement evaluator or metric
Workflow
- State exactly which construct the metric measures: protocol, state, policy, value, trajectory, explanation, cost or human alignment.
- Define inputs, exclusions, units, aggregation and missingness.
- Assign stable metric ID and semantic version.
- Record evaluator software/version/config/budget and dataset slice.
- Keep post-hoc evaluator outside live decision path unless regime declares assistance.
- Define cache key over all outcome-relevant inputs.
- Add fixtures for normal, mate, illegal, missing and extreme cases.
- Test deterministic recomputation from bundle.
- Add uncertainty-compatible raw observations; do not persist only aggregate.
- Document invalid comparisons.
Chess-specific cautions
- ACPL depends on engine, budget and mate normalization;
- top-1 punishes equivalent moves;
- legal rate measures rules/interface, not strength;
- Elo/Glicko belongs to a pool/protocol;
- human move matching is not optimality;
- LLM-as-judge is not the sole fact verifier.