Caso di studio · Strumento web
I turni del reparto
Da un foglio di calcolo a uno strumento online condiviso da tutta l'équipe: assenze collegate alle email, sale liberate e sostituzioni, consegna testata, pubblicazione tramite una richiesta di fusione. Il percorso reale, difficoltà comprese.


Schermata di uno strumento reale · dati fittizi, nomi sfocati · interfaccia in inglese
Idea
Quale problema, in una frase?
Enunciare il problema in una frase
“I turni vivono in un foglio di calcolo che poche persone sanno modificare; ogni assenza scatena una catena di email e le sale di ecocardiografia restano vuote.” Finché il problema non sta in una frase, non si scrive una riga di codice.
DifficoltàVoler risolvere tutto in una volta (turni, assenze, accessi ai software, email).
SoluzioneElencare i bisogni, poi scegliere il primo: turni condivisi che tutta l'équipe vede aggiornati.
!Cominciare dallo strumento, non dall'automazione: email e sostituzioni vengono dopo.
Decidere che cosa sarà
Un sistema di turni non è né una skill né un semplice artifact: è uno strumento web autonomo, usato da persone che non hanno Claude. Claude lo costruisce, lo testa e lo consegna; viene pubblicato fuori da Claude.
!Un artifact di Claude è visibile solo alle persone con cui è condiviso: per un'intera équipe, un sito pubblicato è più robusto.
Concetto
Che cosa sarà lo strumento, e che cosa farà?
Scrivere il capitolato prima del codice
Far redigere a Claude, a partire dal foglio di calcolo esistente: il personale e la sua categoria (medici strutturati, assistenti, giovani medici, specializzandi), le attività, le sedute per mezza giornata, chi modifica che cosa e l'elenco delle questioni aperte.
Da dire a Claude«Ecco il nostro foglio dei turni e l'elenco del personale. Scrivi il capitolato di uno strumento dei turni come un'unica pagina web: turni tipo, una scheda per attività, vista mensile, assenze. Elenca tutto ciò che è ambiguo prima di scrivere qualsiasi codice.»
DifficoltàAcronimi e colonne comprensibili a una sola persona.
SoluzioneUn blocco “decisioni prese / in sospeso”: non si costruisce nulla finché le ambiguità non sono risolte.
Abbozzare le schede
Una scheda Globale per i turni tipo; una scheda per attività (Ecocardiografia per sala e mezza giornata, Ambulatorio, Test da sforzo, RM, Reperibilità, Riunioni di reparto, Facoltà, Schede delle sedute); una scheda Assenze; una vista Mese che mostra tutti.
!I turni tipo non devono mai essere modificati da un'assegnazione puntuale: le settimane ne derivano.
Scegliere l'architettura tecnica
Un unico file HTML (nulla da installare), un database condiviso in tempo reale affinché tutti vedano gli stessi dati, una password di équipe e la pubblicazione tramite un repository GitHub collegato a un hosting statico.
!La password di équipe non viene mai scritta nel file pubblicato né in alcun documento diffuso.
Realizzazione
Che cosa chiedere a Claude, e in quale ordine?
Costruire la prima versione
In Cowork o Claude Code, sul vostro computer: Claude scrive il file, voi lo aprite nel browser, lo correggete con piccole richieste. Ogni consegna porta un numero di versione visibile nel titolo.
Da dire a Claude«Costruisci la versione 1 dei turni a partire dal capitolato convalidato. Un unico file HTML, prima le schede Globale ed Ecocardiografia. Mostra il numero di versione nel titolo della pagina.»
DifficoltàL'anteprima non si visualizzava, o non era aggiornata, sul computer.
SoluzioneConsegnare due file distinti: un'anteprima locale che incorpora lo stato del giorno per poterla vedere subito, e il file da pubblicare, senza dati.
Collegare il database condiviso
Sincronizzazione in tempo reale, trascinamento delle persone negli slot, diritti di modifica protetti dalla password.
DifficoltàSu alcuni computer comparivano nomi vecchi o “casuali”.
SoluzioneIl file pubblicato conteneva una copia congelata dei dati di una vecchia esportazione. È stata rimossa e ora un banner rosso segnala ogni computer non collegato.
DifficoltàLa finestra della password, chiusa con “Più tardi”, non ricompariva più.
SoluzioneUn banner cliccabile permanente finché il computer non è collegato.
DifficoltàDue persone modificavano lo stesso slot nello stesso momento: l'una cancellava l'altra.
SoluzioneLe modifiche vengono fuse per identità (chi è assegnato), non più per posizione nell'elenco.
!Mai incorporare dati reali nel file pubblicato.
!Testare su un computer “vergine” (navigazione privata), non solo sul proprio.
Collegare assenze ed email
Un pulsante genera l'email mensile delle assenze; un altro importa le risposte nel formato “NOME: date” e le applica a tutte le attività. I nomi sconosciuti vengono rifiutati, non indovinati.
Da dire a Claude«Aggiungi alla scheda Assenze un pulsante che genera l'email mensile delle assenze e un'importazione da un'email nel formato “NOME: date” che applica le assenze alle schede delle attività. Rifiuta i nomi sconosciuti.»
DifficoltàLe assenze inserite in un vecchio formato restavano invisibili.
SoluzioneElencarle e proporre una conversione, senza modificare nulla senza approvazione.
DifficoltàLa vista mensile mostrava solo una parte dell'équipe.
SoluzioneLa vista mensile legge l'elenco completo del personale.
Sale liberate e sostituzioni
Ogni slot occupato da una persona assente viene segnato “sala liberata?”. Una tabella persone × mezze giornate definisce le sostituzioni; vengono proposte solo le sostituzioni disponibili, e solo per quella settimana.
DifficoltàUna persona indicata come sostituto non era ancora nell'elenco del personale (in arrivo).
SoluzioneChiedere conferma prima di aggiungerla; mai indovinare un'identità.
!Un'assegnazione di sostituzione non tocca mai i turni tipo.
Presenze ricorrenti e migrazioni
Una presenza può ripetersi nelle settimane pari o dispari, tra una data di inizio e una data di fine. Ogni nuova regola è una migrazione numerata, applicata una sola volta, e solo dopo la prima sincronizzazione riuscita.
Da dire a Claude«Aggiungi le presenze ricorrenti per settimane pari o dispari, con una data di inizio e una data di fine. Applica questa regola con una migrazione numerata, una sola volta, dopo la prima sincronizzazione riuscita. Mostrami l'elenco degli slot modificati prima di convalidare.»
DifficoltàUna regola applicata al caricamento della pagina girava prima della sincronizzazione, su dati vuoti, e poi veniva sovrascritta o applicata due volte.
SoluzioneMigrazioni versionate, segnate come eseguite nel database, avviate solo dopo la prima sincronizzazione riuscita.
DifficoltàOltre la capienza di uno slot, alcuni nomi “sparivano”.
SoluzioneUna riga “presenti anche” sotto lo slot mostra tutti quelli in eccesso.
!Una presenza ricorrente si calcola: non si ricopia settimana per settimana.
Prova
Come dimostrare che funziona?
Triplo test automatico
Claude pilota un browser: 1) nessun errore di script, tutti i moduli caricati, con e senza dati; 2) le viste chiave (vista mensile completa, assenze visibili); 3) azioni reali (importazione di un'email, trascinamento, assegnazione di una sostituzione).
DifficoltàTrascinare una persona su uno slot occupato scambiava le due persone e poteva creare un doppione.
SoluzioneAzione aggiunta al triplo test per ogni versione; correzione decisa a parte.
DifficoltàIl test nel browser non vedeva gli errori di logica (fusione, settimane pari o dispari, migrazioni).
SoluzioneDue serie di test, entrambe superate prima di ogni pubblicazione: una sulla logica dei dati, l'altra sui gesti nel browser.
!Un test che passa sul vostro computer non dimostra nulla per gli altri: testare con e senza dati.
Doppio controllo di mezze giornate e nomi
Confrontare i turni tipo con ogni scheda di attività ed elencare le discrepanze (qualcuno previsto in ecocardiografia nei turni tipo ma assente dalla scheda). Verificare nomi e identificativi rispetto alla rubrica. Nulla viene corretto senza approvazione.
DifficoltàUn identificativo scritto male in una scheda impediva la visualizzazione di una persona.
SoluzioneControllo sistematico degli identificativi a ogni versione.
DifficoltàRecapiti introvabili (segreteria, casella dell'attività).
SoluzioneCercare nella rubrica, poi nell'archivio email; se non si trova nulla, chiedere invece di indovinare.
Messa in servizio
Come consegnarlo, pubblicarlo e farlo durare?
Consegnare sempre le stesse quattro cose
1) l'anteprima locale; 2) le modifiche su un ramo, con una richiesta di fusione pronta da rileggere; 3) la sorgente online archiviata; 4) le email redatte nella conversazione.
DifficoltàLa procedura di pubblicazione non era chiara.
SoluzioneRinominare il file in anticipo e descrivere ogni clic, insieme a ciò che si dovrebbe vedere alla fine.
Pubblicare tramite un ramo e una richiesta di fusione
Claude invia la versione su un ramo e apre una richiesta di fusione (modifiche, risultati delle due serie di test, discrepanze). Il responsabile la rilegge e la fonde personalmente; la messa online segue. Poi: Ctrl + F5, numero di versione nel titolo, e il gesto corretto ripetuto online.
DifficoltàIl caricamento manuale del file sulla versione online si dimenticava da un mese all'altro e non lasciava alcuna traccia rileggibile.
SoluzioneNiente più caricamento manuale diretto: un ramo, poi una richiesta di fusione che il responsabile fonde personalmente.
DifficoltàUna versione annunciata come “online” non funzionava ancora per tutti.
SoluzioneDistribuito non vuol dire testato: nessun link viene dato senza essere stato aperto; altrimenti porta la dicitura “non verificato”.
!Pubblicare solo l'ultima versione: ogni versione include le precedenti.
!Nulla viene pubblicato senza approvazione; le correzioni della sessione sono raggruppate in un'unica versione.
Annunciare e accompagnare
Una breve email alla segreteria e alla casella dell'attività, gli altri in copia: che cosa cambia, come segnalare un'assenza, che cosa fare quando compare il banner “non collegato”. Redatta nella conversazione, inviata da voi.
!L'IA prepara le email; non le invia mai.
!I turni non alimentano mai l'agenda personale: sono due fonti separate.
Trasformarlo in una skill
Comprimere l'intera discussione in una skill orchestratrice chiamata “turni”: architettura, bug noti, procedura di consegna, triplo test, doppio controllo, collegamento con la rubrica. La conversazione successiva parte da lì, non da zero.
Da dire a Claude«Riassumi l'intera discussione in una skill orchestratrice chiamata “turni”: architettura, bug incontrati e correzioni, procedura di consegna, triplo test, doppio controllo di mezze giornate e nomi, procedura di pubblicazione. Presentala come una proposta da convalidare.»
!Una skill viene convalidata prima di essere installata; viene rivista a ogni versione principale.