|
| 1 | +--- |
| 2 | +name: lab-check |
| 3 | +description: Skill invocabile come /lab-check per controllare le novità e lo stato del DataCivicLab tramite il server MCP dataciviclab-context. |
| 4 | +license: MIT |
| 5 | +metadata: |
| 6 | + version: "0.2" |
| 7 | + owner: "DataCivicLab" |
| 8 | + tags: [context, triage, check, mcp] |
| 9 | +--- |
| 10 | + |
| 11 | +# Workflow: lab-check |
| 12 | + |
| 13 | +Workflow canonico di `agent-context-builder`. |
| 14 | +Versione: 0.2 - 2026-04-16 |
| 15 | + |
| 16 | +## Obiettivo di fase |
| 17 | + |
| 18 | +Fornire agli agenti e ai contributor umani una procedura rapida per leggere lo stato strutturato del Lab (novità, blocchi, PR aperte, issue rilevanti) usando i tool MCP del builder di contesto. |
| 19 | + |
| 20 | +Questo workflow serve a: |
| 21 | + |
| 22 | +- orientarsi rapidamente nel Lab e nei task aperti |
| 23 | +- individuare i repository o le discussion che richiedono attenzione prima di lavorare |
| 24 | +- fare il punto e definire le priorità della sessione |
| 25 | + |
| 26 | +Non serve a: |
| 27 | + |
| 28 | +- estrarre repository o dataset per l'elaborazione diretta dal workspace (è puramente per contesto) |
| 29 | +- sostituire skill operative di PR e file editing |
| 30 | +- ispezionare il contenuto dettagliato del codice di una determinata applicazione |
| 31 | + |
| 32 | +## Profilo operativo coperto |
| 33 | + |
| 34 | +Questo workflow copre il profilo **shared-mode via MCP** (`dataciviclab-context`). |
| 35 | + |
| 36 | +Il Lab ha due profili operativi distinti: |
| 37 | + |
| 38 | +- **Shared-mode (MCP)** — Claude Code e agenti che leggono il contesto via server MCP. Questo è il profilo che questo workflow descrive. |
| 39 | +- **Local-mode** — Codex o agenti con accesso diretto al git workspace locale. In questo caso il check dello stato parte dal git state reale, non dai tool MCP. |
| 40 | + |
| 41 | +Se stai lavorando in local-mode, questo workflow non è il tuo percorso primario. |
| 42 | + |
| 43 | +## Quando usarlo |
| 44 | + |
| 45 | +Usalo quando hai già: |
| 46 | + |
| 47 | +- iniziato una nuova sessione e non hai chiaro il contesto generale |
| 48 | +- devi controllare se ci sono issue aperte, discussion o warning per una macro-area del Lab |
| 49 | +- l'MCP server `dataciviclab-context` attivo e vuoi un quadro aggiornato |
| 50 | + |
| 51 | +Non usarlo quando: |
| 52 | + |
| 53 | +- sei già inquadrato su un task operativo piccolo in un singolo repo (es. fix di uno script in `toolkit`) |
| 54 | +- devi compilare layer puliti o mart (usa le skill specifiche o tool in `toolkit`) |
| 55 | + |
| 56 | +## Preconditions minime |
| 57 | + |
| 58 | +- Server MCP `dataciviclab-context` avviato e accessibile all'agente. |
| 59 | +- Intento esplorativo / di status check ben definito. |
| 60 | + |
| 61 | +Nel dubbio: |
| 62 | +- se sai già su che problema lavorare, salta questo check e vai dritto al file/issue. |
| 63 | + |
| 64 | +## Stop rules |
| 65 | + |
| 66 | +Fermati e non forzare il workflow quando: |
| 67 | + |
| 68 | +- l'agente o il server non riescono a ottenere i json o le dipendenze per rispondere ai tool |
| 69 | +- il `session_bootstrap` restituisce un contesto obsoleto per motivi tecnici |
| 70 | + |
| 71 | +## Passi canonici |
| 72 | + |
| 73 | +### 1. Avvio sessione di base |
| 74 | + |
| 75 | +Usa il tool `mcp__dataciviclab-context__session_bootstrap`. |
| 76 | +- **Cosa fare:** Chiamare il tool via MCP. |
| 77 | +- **Cosa controllare:** Leggere l'elenco dei repo attivi, le PR aperte, le discussion recenti e lo stato locale rilevante. |
| 78 | +- **Cosa evitare:** Ignorare blocchi di stato chiari segnalati nell'output. |
| 79 | + |
| 80 | +### 2. Ispezione dei Topic e Triage |
| 81 | + |
| 82 | +In base all'obiettivo operativo ci sono due percorsi: |
| 83 | + |
| 84 | +- Se la sessione è tematica (es. "scouting su appalti" o topic affine): |
| 85 | + Usa `mcp__dataciviclab-context__topic_index` per capire dove guardare e valutare le path specifiche pertinenti in giro per il lab. |
| 86 | +- Se si deve gestire lo stato incrociato di un repository: |
| 87 | + Usa `mcp__dataciviclab-context__workspace_triage` per ottenere le informazioni su git status, issue e le discussioni aggregate. |
| 88 | + |
| 89 | +## Azioni opzionali e Troubleshooting |
| 90 | + |
| 91 | +Se il contesto restituito è palesemente obsoleto rispetto a merge o push appena effettuati, puoi invocare `mcp__dataciviclab-context__refresh_context` per triggerare una rebuild della CI. |
| 92 | +Attenzione: questo step impiegherà ~1 minuto prima di produrre un output aggiornato e **non** deve essere eseguito di default ogni volta, ma solo come eccezione. |
| 93 | + |
| 94 | +## Errori tipici |
| 95 | + |
| 96 | +- Entrare in una catena esplorativa lunga senza aver prima richiesto il `session_bootstrap`. |
| 97 | +- Confondere triage su issue con la scrittura di commenti diretti sulle issue prima di validarne l'attualità. |
| 98 | +- Ignorare la cache di GitHub in cui pesca il contesto; ricordati che può laggare rispetto allo stato git locale ultimissimo. |
| 99 | + |
| 100 | +## Output minimo atteso |
| 101 | + |
| 102 | +L'esito del workflow è considerato completo se l'agente o il contributor ha ottenuto un quadro chiaro sullo stato del Lab e sa cosa fare (o non fare) nella sessione. |
| 103 | + |
| 104 | +Gli esiti validi sono tutti questi: |
| 105 | + |
| 106 | +- Ha identificato un artifact (PR, issue, discussion) su cui concentrarsi. |
| 107 | +- Ha constatato che non ci sono novità critiche e può proseguire sul task già in corso. |
| 108 | +- Ha deciso di non fare nulla ora e ha una motivazione chiara. |
| 109 | + |
| 110 | +Non è richiesta una classificazione formale dell'artifact né la selezione obbligatoria di un "prossimo passo". |
| 111 | + |
| 112 | +## Definition of done |
| 113 | + |
| 114 | +- Il report dello stato Lab è stato interpretato correttamente. |
| 115 | +- Il focus della sessione è stato sbloccato o ristretto al passo immediatamente successivo da farsi nel workspace di interesse. |
| 116 | + |
| 117 | +## Stati finali ammessi |
| 118 | + |
| 119 | +- `checked` (l'orientamento è completato) |
| 120 | +- `waiting-for-refresh` (trigger di aggiornamento fatto, serve attendere la CI) |
| 121 | +- `blocked-on-context` (tool fallisce) |
| 122 | + |
| 123 | +## Dove orientarsi |
| 124 | + |
| 125 | +- README del repo `/agent-context-builder` |
| 126 | +- [dataciviclab-context MCP] per il backend esecutivo legato all'esposizione |
0 commit comments