{
  "skill_name": "mcp-browser-automation",
  "eval_focus": [
    "ui-flow-reproduction-for-fix-verification",
    "iframe-heavy-pages-and-legacy-applications",
    "file-download-and-content-verification",
    "browser-session-reuse-with-attach-cdp",
    "non-trigger-static-screenshot-requests"
  ],
  "evals": [
    {
      "id": 1,
      "prompt": "Un fix è stato deployato su produzione per il flusso di pagamento. Verifica che un cliente riesca a completare un ordine da inizio a fine.",
      "expected_output": "Navigazione a URL di checkout, raccolta screenshot iniziale, interazione con form (inserimento dati, click button), verifica visuale che l'ordine sia stato confermato.",
      "expectations": [
        "Naviga all'URL di checkout e raccoglie screenshot o annotate iniziale",
        "Identifica e compila i campi del form (email, indirizzo, metodo pagamento)",
        "Clicca il button di conferma ordine",
        "Verifica visualmente che la pagina di conferma sia raggiunta",
        "Riporta esito della verifica (fix funzionante o regressione osservata)"
      ]
    },
    {
      "id": 2,
      "prompt": "L'applicazione di gestione inventario è legacy con contenuto in iframe: il form di ricerca prodotti è dentro un iframe. Verifica che la ricerca funzioni correttamente.",
      "expected_output": "Navigazione alla pagina contenitore, utilizzo di list_frames per identificare l'iframe, select_frame per entrare nel frame operativo, completamento della ricerca nel frame, verifica dei risultati.",
      "expectations": [
        "Naviga alla pagina contenitore e raccoglie screenshot",
        "Chiama list_frames per identificare gli iframe presenti",
        "Usa select_frame per entrare nel frame che contiene il form di ricerca",
        "Compila il campo di ricerca e clicca il button di ricerca",
        "Verifica che i risultati siano visibili nel frame (screenshot post-ricerca)",
        "Ritorna al main frame dopo l'azione"
      ]
    },
    {
      "id": 3,
      "prompt": "L'utente deve scaricare un report PDF dal sistema e verificare che il file contenga i dati corretti. Scarica il file e esamina il contenuto.",
      "expected_output": "Navigazione al report, attesa e scaricamento del file, lettura del contenuto PDF tramite browser_session action='read_downloaded_file', verifica che i dati attesi siano presenti.",
      "expectations": [
        "Naviga alla pagina di generazione report",
        "Clicca il button di download del PDF",
        "Usa browser_session action='read_downloaded_file' per leggere il contenuto scaricato",
        "Verifica che il file sia un PDF valido",
        "Controlla che dati specifici attesi siano presenti nel file (es. intestazione, data, totali)"
      ]
    },
    {
      "id": 4,
      "prompt": "Ho Chrome aperto sulla dashboard dell'applicazione e ho già fatto il login. Voglio che tu raccolga lo stato attuale e ripeti un flusso di esportazione senza ricominciare da capo.",
      "expected_output": "Utilizzo di attach_cdp per collegare al Chrome già aperto, list_pages per identificare la tab corretta, select_page per collegarsi, quindi esecuzione del flusso di esportazione riutilizzando la sessione di login.",
      "expectations": [
        "Chiama browser_session action='attach_cdp' per collegare al Chrome remoto",
        "Chiama browser_session action='list_pages' per elencare le tab aperte",
        "Identifica la tab della dashboard e usa select_page con il corretto stable_page_id",
        "Raccoglie debug_bundle per lo stato attuale",
        "Esegue il flusso di esportazione (click, form, download) senza richiedere login aggiuntivo",
        "Dichiara se la sessione è stata riutilizzata correttamente"
      ]
    },
    {
      "id": 5,
      "prompt": "Fammi uno screenshot del sito pubblico di marketing per verificare il layout generale.",
      "expected_output": "NON-trigger: la skill riconosce che la richiesta è di sola cattura visuale statica senza validazione funzionale, interazione o verifica post-fix. È un task di screenshot puro senza investigation scope.",
      "expectations": [
        "Riconosce che la richiesta è di cattura screenshot senza richiedere interazione o validazione",
        "NON instaura una sessione browser o workflow completo per sola documentazione visuale",
        "Potrebbe suggerire strumenti alternativi (es. screenshotting service, CDN preview) se il task è pura cattura visuale",
        "Se comunque procede, dichiara esplicitamente che il task è sola cattura e non incluso nel workflow di validazione funzionale"
      ]
    }
  ]
}
