CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/bug-report-template

Builds a well-formed bug (defect) report from raw observation notes - fills in summary, environment, steps to reproduce, expected vs actual, and severity rationale - and validates that each field has the load-bearing content reviewers and engineers need to triage. Also converts a single test-failure record (JUnit XML, Allure JSON, pytest log, Playwright report) into a classified, ready-to-file bug spec, and provides the adversarial review checklist that gates a report before it enters the tracker (required fields, single-description title test, severity-priority independence, reproduction quality). Use when a stakeholder reports a problem informally, when a CI failure artefact needs to become a triageable report, or when a drafted report needs a pre-filing quality audit.

81

0.88x
Quality

95%

Does it follow best practices?

Impact

80%

0.88x

Average score across 10 eval scenarios

SecuritybySnyk

High

Do not use without reviewing

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-3/

{
  "context": "A payments complaint whose two load-bearing numbers - what was sent and what was displayed - were never captured, and whose environment is 'the usual browser'. Predicted baseline failure: the agent produces a clean, confident, professional-looking report that silently invents the missing facts - a sent amount and a received amount, a browser and version, an OS - because the template shape pulls for a filled field rather than an empty one. It also flattens 'Occurrences reported: 1' and 'every single time' into whichever one it read last, and asserts the issue reproduces consistently on the strength of a single second-hand observation. The output reads better than the honest version and is unusable for triage.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Deliverable exists at the exact path",
      "description": "A markdown file exists at reports/transfer-amount-mismatch.md and contains a report about this complaint. Any other filename or location scores zero.",
      "max_score": 5
    },
    {
      "name": "No invented monetary figures",
      "description": "The ticket contains no amounts, no currency, no account numbers and no transfer reference. Full points if the document states the sent and displayed amounts are not known and names them as required from the customer. Scores zero if any specific figure appears as if it were reported - an amount, a difference, a currency symbol attached to a number, a fabricated transfer reference - including inside an illustrative example, a placeholder that reads like data, or a 'for instance' aside.",
      "max_score": 30
    },
    {
      "name": "No invented environment facts",
      "description": "The source says only 'on the computer', 'the usual browser', and one ambiguous mention of 'the app'. Full points if browser, browser version, operating system, and web-versus-mobile surface are each carried as unknown. Scores zero if any specific browser name, version number, OS, or device is asserted. Scores at most half if the web-versus-mobile ambiguity is resolved silently in either direction instead of being noted.",
      "max_score": 20
    },
    {
      "name": "Outstanding questions are enumerated",
      "description": "The document contains an explicit, itemised list of what must still be obtained - at minimum the two figures, the transfer reference, the browser/surface, and which account products were involved. Full points when the list is specific enough that a support agent could paste it into a reply. Scores at most half if gaps are only implied by phrases like 'more information needed'. Scores zero if no outstanding items are identified anywhere.",
      "max_score": 18
    },
    {
      "name": "The frequency contradiction is surfaced",
      "description": "The ticket header records one occurrence while the customer writes 'every single time ... for a while now'. Full points if the document presents both statements and marks the frequency as unresolved. Scores zero if the document adopts one figure as fact without noting the other, or omits frequency entirely.",
      "max_score": 15
    },
    {
      "name": "What happened and what should have happened are stated separately",
      "description": "The document distinguishes the behaviour the customer observed from the behaviour she expected, as two separate statements, and marks the unquantified halves as unknown rather than merging them into one sentence such as 'the balance is wrong'. A single blurred narrative sentence scores at most half.",
      "max_score": 12
    },
    {
      "name": "Second-account claim is marked unverified",
      "description": "The husband's login is hearsay - he was not on the call and filed nothing. Full points if the document records it as an unverified lead and as something to check. Scores zero if it is presented as a confirmed second occurrence or as evidence of scope.",
      "max_score": 10
    },
    {
      "name": "MUST NOT assert consistent reproduction from one observation",
      "description": "The team has never reproduced this and has one narrated occurrence. Scores zero if the document claims the issue always reproduces, or otherwise presents reproduction as established, without noting that no one on the team has reproduced it and that the rate is unconfirmed.",
      "max_score": 10
    },
    {
      "name": "Title names the surface and the observable behaviour",
      "description": "The document's title or summary line identifies where the problem was seen and what was observed, without prescribing a remedy. Titles that name a fix ('correct the balance calculation') or that are undistinguishable ('transfer bug') score zero.",
      "max_score": 8
    }
  ]
}

SKILL.md

tile.json