--- name: orto-onboarding description: Raccogliere dati essenziali per configurare orto comunitario/domestico attraverso 5 blocchi di questionario markdown. Usare quando: (1) nuovo utente completa profilo orto, (2) aggiornare configurazione esistente, (3) validare completezza dati prima di generare piano colture. Output: 5 blocchi questionario compilati, GardenConfig aggiornato, CommunityProfile, audit trail entry. --- # Orto Onboarding — Raccolta Dati e Configurazione Raccogliere dati essenziali per configurare orto attraverso 5 blocchi di questionario in markdown. ## Quando Usare Questa Skill - **Dopo orto-init:** Progetto orto creato, ora serve configurare - **Nuovo utente:** Utente finale compila profilo per la prima volta - **Aggiornamento configurazione:** Dati cambiati (es. nuova esposizione, cambio preferenze) - **Validazione pre-planning:** Verificare completezza dati prima di generare piano colture ## Input | Input | Tipo | Obbligatorio | Esempio | Note | |-------|------|--------------|---------|------| | `orto_id` | String | Sì | `orto_roma_testaccio_001` | ID progetto esistente | | `questionario_mode` | Enum | No | `chat` / `form` / `file` | Default: `chat` | | `skip_blocks` | Array | No | `[2, 4]` | Blocchi da saltare (già compilati) | ### Validazione Input - `orto_id`: deve esistere come directory in `Orti/` - `questionario_mode`: solo `chat`, `form`, o `file` - `skip_blocks`: numeri 1-5, solo se blocchi già compilati ## Processo ### Fase 1: Colloquio Utente (Blocco 1) **Obiettivo:** Raccogliere localizzazione e contesto ambientale. **File:** `dati/questionario/blocco_1_localizzazione.md` **Domande (max 6):** 1. **Località** (città/area): - Esempio: "Roma, quartiere Testaccio" 2. **Esposizione**: - Opzioni: pieno sole / mezz'ombra / ombra - Default: pieno sole (se utente non sa) 3. **Vento** (se noto): - Opzioni: basso / medio / alto - Default: medio (se utente non sa) 4. **Serra/tunnel** disponibili: - Opzioni: sì / no - Default: no 5. **Tipo suolo**: - Opzioni: sabbioso / argilloso / limoso / misto / sconosciuto - Default: misto (se utente non sa) 6. **Fonte acqua**: - Opzioni: rubinetto / serbatoio / pozzo / altro - Default: rubinetto **Regole:** - Se utente non sa: proporre default e segnare come "assunzione" - Massimo 6 domande per blocco (linea guida UX) **Output intermedio:** Blocco 1 compilato --- ### Fase 2: Layout e Spazio (Blocco 2) **Obiettivo:** Raccogliere dati su spazio disponibile e vincoli fisici. **File:** `dati/questionario/blocco_2_layout_spazio.md` **Domande:** 1. **Superficie totale** (m²) o dimensioni aiuole (L x W): - Esempio: "50 m²" oppure "4 aiuole da 2m x 5m" 2. **Numero aiuole e accessi**: - Esempio: "4 aiuole, camminamenti 0.6m" 3. **Ombre principali** (muri, alberi, edifici): - Esempio: "Muro sud, albero nord-ovest" 4. **Vincoli particolari**: - Esempi: bambini piccoli, animali domestici, regole condominiali **Output intermedio:** Blocco 2 compilato --- ### Fase 3: Irrigazione (Blocco 3) **Obiettivo:** Raccogliere dati su sistema irrigazione e automazione. **File:** `dati/questionario/blocco_3_irrigazione.md` **Domande:** 1. **Modalità irrigazione**: - Opzioni: manuale / goccia / aspersione / mista 2. **Numero zone** (anche stimato): - Esempio: "2 zone" o "non so" 3. **Sensori disponibili**: - Opzioni: umidità suolo / pioggia / temperatura-umidità / flow / nessuno 4. **Controller valvole/pompa**: - Opzioni: sì (specificare marca/modello) / no **Output intermedio:** Blocco 3 compilato --- ### Fase 4: Comunità e Dieta (Blocco 4) **Obiettivo:** Raccogliere preferenze alimentari e profilo comunità. **File:** `dati/questionario/blocco_4_comunita_dieta.md` **Domande:** 1. **Numero persone** coinvolte: - Esempio: 4 2. **Tipo dieta**: - Opzioni: onnivoro / vegetariano / vegano / misto 3. **Verdure preferite** (max 10): - Esempio: pomodoro, insalata, zucchina, basilico 4. **Verdure da evitare** (max 10): - Esempio: melanzane, peperoni 5. **Allergie/intolleranze**: - Esempio: "nessuna" o lista specifica 6. **Ricette ricorrenti** (opzionale, max 3): - Esempio: pasta al pomodoro, insalata mista, parmigiana **Output intermedio:** Blocco 4 compilato --- ### Fase 5: Obiettivi e Vincoli (Blocco 5) **Obiettivo:** Raccogliere obiettivi, metodo coltivazione e vincoli operativi. **File:** `dati/questionario/blocco_5_obiettivi_vincoli.md` **Domande:** 1. **Metodo coltivazione**: - Opzioni: biologico / tradizionale / IPM (integrato) 2. **Tempo manutenzione settimanale** (ore): - Esempio: "5 ore/settimana" 3. **Priorità principali**: - Opzioni: resa / semplicità / risparmio acqua / biodiversità / estetico 4. **Esperienza giardinaggio**: - Opzioni: base / medio / avanzato 5. **Budget iniziale** (opzionale): - Opzioni: basso / medio / alto 6. **Strumenti disponibili**: - Esempio: vanga, rastrello, zappa, carriola **Output intermedio:** Blocco 5 compilato --- ### Fase 6: Validazione e Generazione Config **Obiettivo:** Validare completezza dati e generare GardenConfig + CommunityProfile. **Azioni:** 1. **Verifica completezza:** - Tutti i 5 blocchi compilati? - Dati obbligatori presenti (località, superficie, dieta)? 2. **Genera `config/garden_config.md`:** ```markdown # Garden Configuration _Orto: | Ultima modifica: YYYY-MM-DD_ ## Localizzazione - **Provincia:** - **Regione:** - **Latitudine:** - **Longitudine:** - **Zona climatica:** ## Esposizione e Ambiente - **Esposizione:** - **Vento:** - **Suolo:** - **Acqua:** - **Serra/tunnel:** ## Spazio - **Superficie totale:** m² - **Numero aiuole:** - **Camminamenti:** ## Irrigazione - **Tipo:** - **Zone:** - **Sensori:** - **Controller:** --- _Generato da: orto-onboarding_ ``` 3. **Genera `config/community_profile.md`:** ```markdown # Community Profile _Orto: | Ultima modifica: YYYY-MM-DD_ ## Comunità - **Numero persone:** - **Tipo dieta:** ## Preferenze - **Preferite:** - **Da evitare:** - **Allergie:** ## Obiettivi e Vincoli - **Metodo:** - **Tempo settimanale:** - **Priorità:** - **Esperienza:** --- _Generato da: orto-onboarding_ ``` 4. **Aggiorna audit trail:** ```markdown ## Entry #2: Onboarding Completato **Timestamp:** YYYY-MM-DDTHH:MM:SSZ **Agente:** orto-onboarding **Evento:** Questionario 5 blocchi completato **Dati raccolti:** - Blocco 1: ✅ Localizzazione - Blocco 2: ✅ Layout - Blocco 3: ✅ Irrigazione - Blocco 4: ✅ Comunità - Blocco 5: ✅ Obiettivi **Output:** - GardenConfig generato - CommunityProfile generato - Pronto per Workflow 02 (Piano Stagionale) --- ``` **Output finale:** GardenConfig + CommunityProfile + audit entry --- ## Output **File generati/aggiornati:** - `dati/questionario/blocco_1_localizzazione.md` (compilato) - `dati/questionario/blocco_2_layout_spazio.md` (compilato) - `dati/questionario/blocco_3_irrigazione.md` (compilato) - `dati/questionario/blocco_4_comunita_dieta.md` (compilato) - `dati/questionario/blocco_5_obiettivi_vincoli.md` (compilato) - `config/garden_config.md` (generato) - `config/community_profile.md` (generato) - `log/audit_trail.md` (aggiornato) **Formato:** Markdown strutturato **Stato:** Progetto pronto per Workflow 02 (Piano Stagionale) --- ## References *Nessun reference richiesto* — Skill auto-contenuta (raccolta dati). --- ## Note **Edge cases gestiti:** - **Utente non sa rispondere:** Proporre default e segnare come "assunzione" - **Dati parziali:** Permette compilazione graduale (salva stato parziale) - **Modifiche successive:** Sovrascrive file esistenti (backup automatico opzionale) **Limitazioni:** - Non valida coerenza incrociata (es. superficie vs. numero aiuole) - Non traduce preferenze in colture (compito di orto-agronomo) **Avvertenze:** - ⚠️ **Default:** Se utente accetta default, verificare in fase di planning - ⚠️ **Assunzioni:** Marcate come tali, da confermare con esperienza reale --- _Aggiornato: 2026-03-07 | Versione: 1.0_