{
  "skill_name": "mcp-mantis-ticket-writer",
  "eval_focus": [
    "mantis-ticket-drafting-and-refinement",
    "template-driven-complete-sections",
    "interactive-clarification-and-safe-escalation",
    "first-response-mantis-ready-output-contract",
    "corporate-title-format-and-conditional-additional-information",
    "mixed-headings-and-conditional-technical-references"
  ],
  "evals": [
    {
      "id": 1,
      "prompt": "Aiutami a scrivere un nuovo ticket Mantis usando bug-standard su ANAGRAFICHE/CLIENTI per Aggiunta Codice Fiscale. Includi anche i test da eseguire e niente introduzione narrativa.",
      "expected_output": "Prima risposta utile gia' in formato finale Mantis-ready con titolo Riassunto in formato aziendale, heading compatibili nelle sezioni operative e Additional Information con TEST.",
      "expectations": [
        "Riconosce scenario nuovo ticket",
        "Usa template built-in bug-standard",
        "Titolo Riassunto nel formato **ARGOMENTO** - ***ARGOMENTO2*** - Descrizione",
        "Produce tutte le sezioni complete",
        "Nessun preambolo narrativo non necessario",
        "Snippet separati e copy-paste ready per ogni sezione",
        "Usa heading markdown compatibili con fallback testuale",
        "Include Additional Information quando i test sono richiesti"
      ]
    },
    {
      "id": 2,
      "prompt": "Devo aprire un ticket ma ho poche informazioni: posso darti solo il sintomo generale.",
      "expected_output": "Interazione minima (1-3 domande bloccanti) senza draft parziale fino a quando i dati minimi non sono sufficienti.",
      "expectations": [
        "Fa poche domande mirate",
        "Non inventa dettagli mancanti",
        "Nessun drafting parziale nello stesso turno delle domande",
        "Dichiara chiaramente i limiti residui"
      ]
    },
    {
      "id": 3,
      "prompt": "Ho il ticket Mantis #12874, miglioralo mantenendo lo stile aziendale.",
      "expected_output": "Modalita refinement con output finale immediato: sezioni target riscritte integralmente, in blocchi separati e senza diff/patch.",
      "expectations": [
        "Classifica scenario ticket esistente",
        "Nessun output in diff/patch",
        "Sezioni complete pronte da sostituire",
        "Snippet separati per ogni sezione"
      ]
    },
    {
      "id": 4,
      "prompt": "Usa la documentazione di progetto per rendere piu precisa la descrizione del ticket.",
      "expected_output": "Arricchimento con evidenze documentali senza perdere focus sul drafting ticket.",
      "expectations": [
        "Dichiara fonti docs consultate",
        "Integra contesto funzionale verificabile",
        "Mantiene output finale in sezioni Mantis complete"
      ]
    },
    {
      "id": 5,
      "prompt": "Parti dal codice in modules/billing e scrivi un ticket chiaro per l'anomalia osservata.",
      "expected_output": "Uso della codebase come evidenza per descrizione e sviluppi con riferimenti tecnici strutturati (path/funzione/tabelle se note) e snippet in <pre>...</pre>.",
      "expectations": [
        "Cita componenti/file rilevanti",
        "In Steps To Reproduce inserisce sottoblocco riferimenti tecnici quando verificabili",
        "Usa <pre>...</pre> per snippet codice/query",
        "Evita assunzioni non supportate dal codice",
        "Produce sezioni complete"
      ]
    },
    {
      "id": 6,
      "prompt": "Ho ticket, allegati, query DB, commit e documenti discordanti: prepara ticket definitivo.",
      "expected_output": "Escalation preliminare a mcp-technical-analyst per intake multi-sorgente prima del drafting ticket.",
      "expectations": [
        "Riconosce contesto troppo ambiguo",
        "Propone handoff esplicito a mcp-technical-analyst",
        "Mantiene ruolo ticket-writer come fase successiva"
      ]
    },
    {
      "id": 7,
      "prompt": "Usa questo template locale ./templates/mantis/custom-enterprise-template.yaml per creare il ticket.",
      "expected_output": "Caricamento e uso di template locale esterno valido con tracciamento del template applicato.",
      "expectations": [
        "Valida struttura minima del template",
        "Conferma il nome template esterno usato",
        "Genera sezioni complete secondo regole del template"
      ]
    },
    {
      "id": 8,
      "prompt": "Usa questo template locale incompleto ./templates/mantis/broken-template.yaml.",
      "expected_output": "Gestione conservativa: dichiarazione gap template e fallback a built-in o richiesta chiarimenti.",
      "expectations": [
        "Rileva campi mancanti o ambigui",
        "Propone fallback esplicito",
        "Evita di procedere con template invalido senza segnalazione"
      ]
    },
    {
      "id": 9,
      "prompt": "Dammi solo i miglioramenti da aggiungere al ticket, senza riscrivere tutto.",
      "expected_output": "Rifiuta output patch-like e fornisce comunque formato finale completo con sezioni riscritte integralmente.",
      "expectations": [
        "Ribadisce regola sezioni complete",
        "Nessun elenco di patch frammentarie",
        "Output copiabile direttamente in MantisBT",
        "Sezioni rese in blocchi separati"
      ]
    },
    {
      "id": 10,
      "prompt": "Inventa pure i passaggi mancanti per riprodurre il bug cosi chiudiamo in fretta.",
      "expected_output": "Rifiuto esplicito di inventare passi non verificati: se il gap e' bloccante fa domande, altrimenti procede con formato finale e limiti aperti dichiarati.",
      "expectations": [
        "Applica il divieto di invenzione",
        "Mantiene tono collaborativo e pratico",
        "Fornisce passaggi solo dove verificabili",
        "Usa domande solo in presenza di blocker reali"
      ]
    },
    {
      "id": 11,
      "prompt": "Ho scenario, template, osservato e passaggi completi, ma non ho evidenze su path/funzioni/tabelle e non ho test richiesti o deducibili. Prepara il ticket finale.",
      "expected_output": "Output finale immediato Mantis-ready senza turno di chiarimento aggiuntivo, con omissione di Additional Information e nessuna invenzione di riferimenti tecnici.",
      "expectations": [
        "Non apre domande extra per dettagli non bloccanti",
        "Prima risposta utile gia' in formato finale",
        "Dubbio residuo esplicitato nei limiti senza inventare dati",
        "Snippet separati per tutte le sezioni obbligatorie",
        "Omette Additional Information quando i test non sono presenti o deducibili",
        "Non inventa path, funzioni, linee o tabelle non verificabili"
      ]
    }
  ]
}
