CtrlK
BlogDocsLog inGet started
Tessl Logo

experiments/eval-improve

Analyze eval results, diagnose low-scoring criteria, fix tile content, and re-run evals — the full improvement loop automated

Does it follow best practices?

Evaluation100%

1.02x

Agent success when using this tile

Validation for skill structure

Overview
Skills
Evals
Files

rubric.jsonevals/scenario-5/

{
  "context": "Tests whether the agent correctly identifies redundant criteria using the 80% baseline threshold, presents multiple options for each, preserves criteria that the tile is genuinely helping with, and correctly redistributes weights in criteria.json when criteria are removed.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "All redundant criteria identified",
      "description": "All three high-baseline criteria are flagged as redundant: 'JSON response format' (14/15 baseline = 93%), 'HTTP headers included' (15/15 = 100%), and '4xx error handling' (9/10 = 90%)",
      "max_score": 20
    },
    {
      "name": "Options presented per criterion",
      "description": "For each redundant criterion, at least two options are presented — must include some combination of: remove from criteria.json, make the eval task harder, or keep as sanity check",
      "max_score": 15
    },
    {
      "name": "Useful criteria preserved",
      "description": "Neither 'Custom Retry-After header' (baseline 3/30 = 10%) nor 'Idempotency key rotation' (baseline 5/30 = 17%) is flagged for removal or marked as redundant",
      "max_score": 15
    },
    {
      "name": "Weight redistribution correct",
      "description": "If any criteria are removed from criteria.json, the max_score values of remaining criteria are updated so that they sum to exactly 100",
      "max_score": 20
    },
    {
      "name": "80% threshold applied",
      "description": "The criteria flagged as redundant all have baseline scores >= 80% of their max_score; criteria with baseline below 80% are not flagged as redundant",
      "max_score": 8
    },
    {
      "name": "Non-redundant scores unchanged",
      "description": "The max_score values for 'Custom Retry-After header' and 'Idempotency key rotation' are not reduced in the updated criteria.json",
      "max_score": 10
    },
    {
      "name": "Below-threshold excluded",
      "description": "The analysis does NOT flag 'Custom Retry-After header' or 'Idempotency key rotation' as redundant despite the agent possibly believing those criteria are over-weighted",
      "max_score": 7
    },
    {
      "name": "Removal option named explicitly",
      "description": "For at least one redundant criterion, the option to remove it from criteria.json is explicitly presented (not just implied)",
      "max_score": 5
    }
  ]
}

Install with Tessl CLI

npx tessl i experiments/eval-improve@0.4.0

evals

README.md

tile.json