13 KiB
name: orto-onboarding description: Raccogliere profilo completo orto tramite 5 blocchi questionario. Usare quando: (1) raccogliere specifiche orto dopo orto-init (spazio, suolo, capacità irrigazione), (2) comprendere preferenze dieta utente/comunità e vincoli, (3) definire disponibilità manutenzione e requisiti sicurezza/accessibilità, (4) preparare dati validati per pianificazione stagionale (orto-agronomo, orto-calendario, etc.). Output: Blocchi questionario compilati (Markdown), GardenConfig e CommunityProfile validati, pronti per workflow planning.
Orto Onboarding — Raccolta Profilo Orto 5-Blocchi
Raccogliere informazioni complesse orto e comunità tramite questionario strutturato 5-blocchi. Questo è il secondo passo dopo orto-init.
Quando Usare Questa Skill
- Post-init: Utente ha inizializzato un orto (orto-init completo)
- Raccolta profilo: Raccogliere dettagli su spazio, ambiente, comunità, dieta, vincoli
- Preparazione planning: Raccogliere dati necessari per pianificazione stagionale, selezione colture, design layout
- Revisione accessibilità: Assicurare design rispetta accessibilità, sicurezza e vincoli manutenzione
Panoramica Processo
5 Blocchi, Sequenziale o Parallelo:
- Blocco 1 — Localizzazione (localizzazione, accesso, tipo proprietà)
- Blocco 2 — Layout Spazio (area, suolo, esposizione sole, topografia)
- Blocco 3 — Irrigazione (disponibilità acqua, infrastruttura, vincoli)
- Blocco 4 — Comunità e Dieta (utente/comunità, preferenze dieta, allergie)
- Blocco 5 — Obiettivi e Vincoli (tempo manutenzione, obiettivi, preferenze stagionali)
Flow Tipico:
- Codex presenta ogni blocco
- Utente riempie dettagli (interattivamente o batch markdown edit)
- Codex valida input
- Al completamento: merge in file GardenConfig + CommunityProfile markdown
Specifiche Blocchi
Blocco 1 — Localizzazione
Purpose: Confermare dettagli localizzazione e accessibilità.
Domande:
| Q | Type | Default | Validation |
|---|---|---|---|
| Q1.1 | Confirm provincia | Auto-filled from init | Read-only or allow edit |
| Q1.2 | Confirm regione | Auto-filled from init | Read-only or allow edit |
| Q1.3 | Indirizzo (opz.) | None | String, optional |
| Q1.4 | Accessibilità | Choose 3 options | Enum: easy/moderate/difficult |
| Q1.5 | Proprietà/Gestione | Choose 4 options | Enum: private/community/leased/other |
| Q1.6 | Note/Descrizione | Free text | Optional |
Outputs:
localizzazione.provincialocalizzazione.regionelocalizzazione.accessibilitalocalizzazione.tipo_proprieta
Blocco 2 — Layout Spazio
Scopo: Definire vincoli spazio, suolo, esposizione sole.
Domande:
| Q | Tipo | Esempio | Validazione |
|---|---|---|---|
| Q2.1 | Area disponibile (m²) | 50 | Float > 0 |
| Q2.2 | Tipologia spazio | Scegli: aiuole rialzate / a terra / vasi | Enumerazione |
| Q2.3 | Sole diretto (ore/gg) | 6 | Intero, 0-12 |
| Q2.4 | Tipo suolo | Scegli: sabbioso / limoso / argilloso / misto | Enumerazione |
| Q2.5 | Drenaggio | Scegli: ottimo / buono / mediocre / pessimo | Enumerazione |
| Q2.6 | Topografia | Scegli: piano / leggera pendenza / forte pendenza | Enumerazione |
| Q2.7 | Vicinanza alberi/muri | Descrivi | Testo |
Output:
layout.area_mqlayout.tipo_spaziolayout.ore_sole_giornalierelayout.tipo_suololayout.drenaggiolayout.topografia
Suggerimenti:
- Sole < 4h = parziale (verdure da foglia)
- Sole 4-6h = medio (alcuni ortaggi)
- Sole > 6h = pieno (pomodoro, peperone, zucchina)
- Drenaggio scarso = rischio marciume
Blocco 3 — Irrigazione
Scopo: Valutare infrastruttura acqua e vincoli idrici.
Domande:
| Q | Tipo | Scelte | Validazione |
|---|---|---|---|
| Q3.1 | Fonte acqua disponibile | Scegli: rubinetto / pozzo / raccolta pluviale / altro | Enumerazione, ≥1 |
| Q3.2 | Portata rubinetto (l/min) | Input numerico (es: 10) | Float, opzionale |
| Q3.3 | Vincoli idrici | Scegli: nessuno / razionamento estivo / razionamento tutto anno / altro | Enumerazione |
| Q3.4 | Tipo irrigazione attuale | Scegli: manuale / impianto goccia / impianto aspersione / nessuno | Enumerazione |
| Q3.5 | Disponibilità sensori umidità | Scegli: no / sì, da installare / sì, già presenti | Enumerazione |
| Q3.6 | Automazione desiderata | Scegli: nessuna / timer semplici / smart controller / altro | Enumerazione |
| Q3.7 | Note / Vincoli speciali | Testo libero | Opzionale |
Output:
irrigazione.fonte_acquairrigazione.portata_lminirrigazione.vincoliirrigazione.tipo_impiantoirrigazione.sensori_disponibiliirrigazione.automazione_desiderata
Logica:
- Se portata < 5 l/min → segnala: "acqua limitata, design conservativo raccomandato"
- Se razionamento estivo → nota: "attivare pacciamatura, irrigazione serale/notturna"
Blocco 4 — Comunità & Dieta
Scopo: Comprendere preferenze dieta e struttura comunità.
Domande:
| Q | Tipo | Input | Validazione |
|---|---|---|---|
| Q4.1 | Numero persone | Numerico | Intero ≥ 1 |
| Q4.2 | Profilo dieta | Scegli: onnivoro / vegetariano / vegano / misto | Enumerazione, possibile multi-select |
| Q4.3 | Preferenze colture | Multi-selezione: pomodoro, zucchina, lattuga, basilico, carota, cipolla, ... | Lista |
| Q4.4 | Colture da evitare | Multi-selezione | Lista |
| Q4.5 | Allergie / Intolleranze | Testo, lista | Testo libero, opzionale |
| Q4.6 | Figli / Anziani in orto | Scegli: no / sì, figli / sì, anziani / sì, entrambi | Enumerazione |
| Q4.7 | Note sicurezza | Testo | Opzionale (allergie piante, animali domestici) |
Output:
community.n_personecommunity.dieta(lista)community.preferenze_colture(lista)community.colture_evitare(lista)community.allergiecommunity.minori_anzianicommunity.note_safety
Logica:
- Se vegano + fertilizzante preferito → tendenza verso colture azoto-fissatrici (fagiolo, pisello, fava)
- Se bambini → sicurezza: evita piante altamente tossiche; segnala allergie comuni
- Se allergie riportate → consulta reference e segnala colture compatibili
Blocco 5 — Obiettivi & Vincoli
Scopo: Definire capacità manutenzione e obiettivi.
Domande:
| Q | Tipo | Input | Validazione |
|---|---|---|---|
| Q5.1 | Tempo settimanale disponibile | Scegli: < 2h / 2-5h / 5-10h / > 10h | Enumerazione |
| Q5.2 | Frequenza accesso | Scegli: giornaliero / 2-3 volte sett / settimanale / bisettimanale / altro | Enumerazione |
| Q5.3 | Obiettivi primari | Multi-selezione: orto terapeutico / approvvigionamento / educazione / comunità / hobby | Lista |
| Q5.4 | Esperienze precedenti | Scegli: nessuna / dilettante / esperto | Enumerazione |
| Q5.5 | Stagione preferita | Scegli: primavera / estate / autunno / tutto l'anno | Enumerazione |
| Q5.6 | Tolleranza rischio / fallimenti | Scegli: bassa (voglio certezza) / media / alta (sperimentazione ok) | Enumerazione |
| Q5.7 | Cosa non vuoi fare | Multi-selezione: concimazione chimica / trattamenti / potatura aggressiva / altro | Lista |
Output:
vincoli.ore_settimanalivincoli.frequenza_accessovincoli.obiettivi(lista)vincoli.esperienzavincoli.stagione_preferitavincoli.tolleranza_rischiovincoli.evitare(lista)
Logica:
- Se ore < 2/sett → design basso-manutenzione: colture robuste, pacciamatura, automazione
- Se frequenza bisettimanale + caldo estivo → avviso: "piante soffrono, pianificare coperture/ombra"
- Se Obiettivo "educazione" → tendenza verso varietà interessanti, osservabili
Validazione & Merge
Regole Validazione
Validazione per blocco:
| Blocco | Regola | Errore | Azione |
|---|---|---|---|
| 1 | provincia/regione corrispondono | Mancata corrispondenza | Segnala, suggerisci correzione |
| 2 | area > 0 | area = 0 | Rifiuta, chiedi di nuovo |
| 2 | sole ore vs drenaggio suolo | conflitto | Avviso: "sole alto + scarso drenaggio → marciume" |
| 3 | fonte_acqua ≠ Nulla | Nessuna fonte acqua | Segnala: critico, chiedi fallback |
| 4 | n_persone > 0 | Vuoto | Default 1 |
| 5 | ore_settimanali > 0 | Vuoto | Chiedi, segnala rischio |
Validazione cross-blocco:
| Controllo | Condizione | Azione |
|---|---|---|
| Coerenza | minori/anziani + ore < 2/sett | Avviso: "poco tempo per accessibilità; pianificare percorsi sicuri" |
| Coerenza dieta | dieta + colture evitare incompatibili | Segnala: "preferenze dieta e colture evitare conflittano" |
| Coerenza obiettivi | obiettivo "approvvigionamento" + area < 20m² | Avviso: "area piccola per approvvigionamento; puntare qualità/successioni" |
Merge a GardenConfig & CommunityProfile
Dopo validazione, crea/aggiorna:
-
dati/config/garden_config.md
- Configurazione alto-livello: area, zone, vincoli ambientali
- Solo info oggettiva (coordinate, suolo, sole, irrigazione)
-
dati/config/community_profile.md
- Comunità: n_persone, dieta, preferenze, allergie
- Obiettivi: ore disponibili, goals, esperienza
- Vincoli: cosa NON fare, minori/anziani, tolleranza rischio
-
log/audit_trail.md
- Evento: onboarding_completato
- Timestamp, blocchi completati, stato validazione
Output (Risultato)
Console Output:
# ✅ Onboarding Completato
**Orto:** [ORTO_NAME]
**Area:** [AREA] m²
**Zona climatica:** [ZONE]
**Comunità:** [N_PERSONE] persone
**Dieta:** [DIET_LIST]
**Tempo disponibile:** [HOURS]/settimana
## Profilo Validato ✓
- [✓] Localizzazione confermata
- [✓] Layout spazio raccolto
- [✓] Irrigazione pianificata
- [✓] Community profile completato
- [✓] Vincoli e obiettivi definiti
## Prossimi Passi
1. **orto-agronomo** → Piano colture (30 min)
2. **orto-calendario** → Timeline stagionale (20 min)
3. **orto-irrigazione** → Design irrigazione (20 min)
4. **orto-orchestratore** → Merge piano finale (10 min)
**Tempo totale planning:** ~80 minuti
Gestione Errori
| Error | Fallback |
|---|---|
| Q3.1 (no water source) | Critical error; suggest alternative (raccolta pluviale, well pump) or suggest not proceeding |
| Q2.1 (area = 0) | Re-ask, provide hints (typical ranges: 20-100 m²) |
| Missing mandatory field | Highlight, require answer before merge |
| Allergia allergia | Cross-check with colture preferite; flag conflicts |
References
references/colture_it.md— Colture e preferenzereferences/calendario_it.md— Zone climatiche e validazione
Assets
assets/blocco_template.md— Template vuoto per ogni blocco (riempibile manualmente se preferito)
Esempi
Esempio 1: Roma Comunità, Orto Terapeutico
Blocco 1: Roma, Lazio, Facile accesso, Orto comunitario
Blocco 2: 40 m², Aiuole rialzate, 7h sole, Suolo misto, Buon drenaggio
Blocco 3: Rubinetto disponibile, Razionamento estivo, Nessun impianto, Sensori da installare
Blocco 4: 8 persone, Misto, Piacerebbe pomodoro/basilico/insalata, No allergie, Con anziani
Blocco 5: 3-5h/settimana, Settimanale, Terapeutico + Comunità, No esperienza, Estate preferita
Output:
- garden_config.md: 40m², Zone centro, Sole buono, Irrigazione manuale da migliorare
- community_profile.md: 8pp, Misto, Obiettivo terapeutico, Esperienza bassa, Accessibilità richiesta
Esempio 2: Milano Famiglia, Approvvigionamento
Blocco 1: Milano, Lombardia, Accesso moderato, Privato
Blocco 2: 60 m², A terra, 6h sole, Suolo misto, Scarso drenaggio
Blocco 3: Rubinetto 8 l/min, No razionamento, Nessun impianto, Sensori interessano
Blocco 4: 3 persone, Onnivoro, Ama pomodoro/zucchina/carota, No allergie
Blocco 5: 5-10h/sett, 2-3 volte/sett, Approvvigionamento + Hobby, Dilettante, Tolleranza rischio media
Output:
- garden_config.md: 60m², Zona nord, Drenaggio scadente → pianificare rialzature, Irrigazione progettabile
- community_profile.md: 3pp, Onnivoro, Obiettivo approvvigionamento, Esperienza dilettante, Disposto a imparare
Assunzioni
- Blocchi questionario sono presentati sequenzialmente (o utente può editare tutto markdown simultaneamente)
- Validazione è leggera (non bloccante, ma flaggando problemi)
- Allergie/note sicurezza sono check contro knowledge base piante
- Dimensione comunità affetta raccomandazioni colture (più persone → più diverse)
- Tutti output in formato Markdown, human-readable e editable
Checklist Validazione
- ✓ Tutti campi obbligatori compilati
- ✓ No contraddizioni tra blocchi
- ✓ Area, tempo, vincoli acqua coerenti
- ✓ Dieta + preferenze colture compatibili
- ✓ garden_config.md aggiornato e leggibile
- ✓ community_profile.md creato e validato
- ✓ Evento audit_trail.md loggato
Skill: orto-onboarding | Versione 1.0 | Status: Pronto per Produzione