CtrlK
BlogDocsLog inGet started
Tessl Logo

coding-agent-helpers/compact-handoff

Use when work needs to be handed off to another agent or another human. Produce a continuation-ready brief with the objective, completed work, assumptions, unresolved issues, and next action instead of a generic summary. Good triggers include "prepare a handoff", "make this resumable", and "summarize this for another agent".

92

1.41x
Quality

100%

Does it follow best practices?

Impact

89%

1.41x

Average score across 8 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-6/

{
  "context": "The agent must produce a handoff for an in-progress API integration. This scenario tests whether the agent prefers surfacing unresolved questions over narrating what was built, and whether it includes specific warnings rather than general commentary.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Unresolved section has open questions",
      "description": "The Unresolved section contains genuine decision questions (e.g. retry count, sync vs async webhook handling) — not just a to-do list of files to create.",
      "max_score": 12
    },
    {
      "name": "Unresolved prioritised over recap",
      "description": "The Unresolved section is as long or longer than the Completed section, reflecting the preference for open questions over narrative recap.",
      "max_score": 10
    },
    {
      "name": "Idempotency key warning present",
      "description": "The document explicitly warns that omitting the idempotency key causes duplicate messages on retry.",
      "max_score": 12
    },
    {
      "name": "Warning is distinct",
      "description": "The idempotency key warning appears in a way that stands out (e.g. in a warnings note, in Assumptions with an explicit caution, or in Critical References) — not buried in a list of completed items.",
      "max_score": 8
    },
    {
      "name": "No credential hardcoding warning",
      "description": "The document notes that credentials must come from environment variables and must not be hardcoded.",
      "max_score": 8
    },
    {
      "name": "Completed section is terse",
      "description": "The Completed section uses bullet points of 15 words or fewer per item — no multi-sentence explanations of how the code works.",
      "max_score": 8
    },
    {
      "name": "Next Action section present",
      "description": "The document has a Next Action section.",
      "max_score": 6
    },
    {
      "name": "Next action addresses decision blocker",
      "description": "The Next Action identifies resolving the open decision (retry count or webhook strategy) OR starting the next concrete coding task — not just 'continue the integration'.",
      "max_score": 8
    },
    {
      "name": "All six sections present",
      "description": "The document includes all six prescribed sections: Objective, Completed, Assumptions, Unresolved, Next Action, Critical References.",
      "max_score": 8
    },
    {
      "name": "Critical References minimal",
      "description": "The Critical References section lists only the most essential references (e.g. key files or environment variable names) — not every file mentioned in the context.",
      "max_score": 10
    },
    {
      "name": "Objective section present",
      "description": "The document has an Objective section stating the overall goal of the integration.",
      "max_score": 10
    }
  ]
}

evals

tile.json