--- name: orto-init description: Inizializzare un nuovo progetto di orto comunitario o domestico nel sistema di gestione Orto. Usare quando: (1) configurare un nuovo orto con localizzazione, dimensioni e dettagli ambientali, (2) creare la struttura di directory e template markdown per il progetto, (3) registrare l'orto nel registro centrale, (4) preparare blocchi di questionario per il workflow di onboarding. Output: Config orto markdown, template questionari, audit trail, struttura di directory pronta per il workflow di onboarding. --- # Orto Init — Inizializzazione Progetto Orto Inizializzare un nuovo progetto orto da zero. Questo è il primo passo nel workflow Orto. ## Quando Usare Questa Skill - **Setup nuovo orto:** L'utente vuole iniziare a gestire un orto con Orto - **Registrazione orto:** Assegnare ID univoco, nome, localizzazione e dati ambientali base - **Scaffolding directory:** Creare struttura di progetto (config, dati, log, media, cartelle report) - **Preparazione template:** Generare template markdown per questionario, config, calendario, etc. ## Input Codex raccoglie questi dettagli dall'utente (o usa default se non disponibili): | Input | Tipo | Obbligatorio | Esempio | Note | |-------|------|----------|---------|------| | `orto_id` | String | Sì | `orto_roma_testaccio_001` | lowercase, underscore, max 64 caratteri | | `orto_name` | String | Sì | `Orto Testaccio Roma` | Nome leggibile | | `provincia` | String | Sì | `Roma` | Normalizzare a lista province italiane | | `regione` | String | Sì | `Lazio` | Normalizzare a lista regioni italiane | | `latitude` | Float | Sì | `41.8782` | -90 a 90, decimale | | `longitude` | Float | Sì | `12.4922` | -180 a 180, decimale | | `area_mq` | Float | No | `50` | Raccolto in onboarding se non fornito | | `climate_zone` | Enum | No | `centro` | Inferito da lat/lon se non fornito | ### Validazione Input - `orto_id`: lowercase, solo underscore/trattini, max 64 caratteri (es. `orto_NOME_NUMERO`) - `provincia` + `regione`: normalizzare a lista regioni italiane (Roma → Lazio) - `latitude`: -90 a 90, decimale - `longitude`: -180 a 180, decimale - `area_mq`: float positivo se fornito ## Processo ### Fase 1: Inferenza Zona Climatica **Obiettivo:** Mappare latitudine a macro-zona italiana per stagionalità colture. **Azioni:** 1. Leggi `latitude` da input 2. Applica regole di mappatura: **Regole decisionali:** ``` se latitude >= 44.0: → zona = "nord" → ultima_gelata ≈ 25 aprile → prima_gelata ≈ 15 ottobre → zone_clima: Piemonte, Lombardia, Veneto, Friuli, Liguria (ponente) altrimenti se latitude >= 42.5: → zona = "centro" → ultima_gelata ≈ 15 aprile → prima_gelata ≈ 25 ottobre → zone_clima: Toscana, Lazio, Marche, Umbria, Abruzzo, Liguria (levante) altrimenti: → zona = "sud" → ultima_gelata ≈ 1 aprile → prima_gelata ≈ 5 novembre → zone_clima: Campania, Puglia, Basilicata, Calabria, Sicilia, Sardegna ``` **Output intermedio:** Zona climatica + date gelate stimate --- ### Fase 2: Genera Struttura Directory **Obiettivo:** Creare struttura directory standardizzata per il progetto orto. **Azioni:** 1. Crea cartella base: `/home//.openclaw/workspace/Orti//` 2. Crea sottocartelle: ``` / ├── README.md # Project overview ├── config/ │ ├── garden_config.md # Base garden config │ └── ambiente_vincoli.md # Environmental constraints ├── dati/ │ ├── questionario/ │ │ ├── blocco_1_localizzazione.md │ │ ├── blocco_2_layout_spazio.md │ │ ├── blocco_3_irrigazione.md │ │ ├── blocco_4_comunita_dieta.md │ │ └── blocco_5_obiettivi_vincoli.md │ ├── calendario/ │ │ └── calendario_stagionale.md │ ├── colture/ │ │ └── piano_colture_annuale.md │ ├── layout/ │ │ ├── aiuole_dimensioni.md │ │ └── zone_clima_microclimatico.md │ ├── irrigazione/ │ │ ├── sistema_irrigazione.md │ │ ├── sensori_monitoraggio.md │ │ └── programmi_irrigazione.md │ ├── meteo/ │ │ └── dati_meteo_giornalieri.md │ ├── nutrizione/ │ │ ├── analisi_terreno.md │ │ └── piano_concimazione.md │ ├── trattamenti/ │ │ ├── diagnosi_problemi.md │ │ └── piano_trattamenti.md │ └── raccolti/ │ └── cicli_raccolta_previsti.md ├── log/ │ ├── audit_trail.md # Audit log │ └── note_osservazioni.md ├── media/ │ ├── foto/ │ └── video/ └── report/ └── report_mensili/ ``` **Output intermedio:** Struttura directory creata --- ### Fase 3: Genera File Template **Obiettivo:** Creare file markdown template con header e struttura base. **Azioni:** 1. **README.md** — Overview progetto: ```markdown # **ID:** **Localizzazione:** , **Zona climatica:** **Coordinate:** , ## Quick Links - [Questionario](dati/questionario/) - [Piano Colture](dati/colture/piano_colture_annuale.md) - [Calendario](dati/calendario/calendario_stagionale.md) - [Audit Trail](log/audit_trail.md) --- _Creato: YYYY-MM-DD | Orto Init v1.0_ ``` 2. **config/garden_config.md** — Configurazione base: ```markdown # Garden Configuration _Orto: | Ultima modifica: YYYY-MM-DD_ ## Localizzazione - **Provincia:** - **Regione:** - **Latitudine:** - **Longitudine:** - **Zona climatica:** ## Date Gelate (Stimate) - **Ultima gelata primavera:** - **Prima gelata autunno:** - **Lunghezza stagione:** giorni ## Dati Ambientali *(Da compilare in onboarding)* - **Esposizione:** - **Vento:** - **Suolo:** - **Acqua:** --- _Generato da: orto-init_ ``` 3. **log/audit_trail.md** — Audit log iniziale: ```markdown # Audit Trail — ## Entry #1: Inizializzazione Progetto **Timestamp:** YYYY-MM-DDTHH:MM:SSZ **Agente:** orto-init **Evento:** Progetto orto creato **Dati:** - orto_id: - orto_name: - provincia: - regione: - zona: **Output:** - Struttura directory creata - Template generati - Pronto per onboarding (Workflow 01) --- ``` 4. **Template questionari** — 5 blocchi con struttura: ```markdown # Blocco 1 — Localizzazione **Stato:** DA COMPILARE ## Dati - **Località:** - **Provincia:** - **Regione:** - **Coordinate:** --- _Compilato da: | Data: | ``` **Output intermedio:** File template creati --- ### Fase 4: Registra nel Registry Centrale **Obiettivo:** Aggiornare registry centrale orti con nuovo progetto. **Azioni:** 1. Leggi registry esistente: `/home//.openclaw/workspace/Orti/orti_registry.json` 2. Aggiungi entry: ```json { "orto_id": "", "name": "", "provincia": "", "regione": "", "latitude": , "longitude": , "zone": "", "created_at": "YYYY-MM-DDTHH:MM:SSZ", "status": "active", "path": "/home//.openclaw/workspace/Orti/" } ``` 3. Scrivi registry aggiornato **Output finale:** Registry aggiornato con nuovo orto --- ## Output **File generati:** - `Orti//README.md` - `Orti//config/garden_config.md` - `Orti//config/ambiente_vincoli.md` (template) - `Orti//dati/questionario/blocco_1-5_*.md` (5 file template) - `Orti//log/audit_trail.md` - `Orti/orti_registry.json` (aggiornato) **Formato:** Markdown strutturato + JSON (solo registry) **Struttura directory:** Completa, pronta per Workflow 01 (Onboarding) ### Esempio Output ```markdown # Orto Testaccio Roma **ID:** orto_roma_testaccio_001 **Localizzazione:** Roma, Lazio **Zona climatica:** centro **Coordinate:** 41.8782, 12.4922 ## Quick Links - [Questionario](dati/questionario/) - [Piano Colture](dati/colture/piano_colture_annuale.md) - [Calendario](dati/calendario/calendario_stagionale.md) - [Audit Trail](log/audit_trail.md) --- _Creato: 2026-03-07 | Orto Init v1.0_ ``` --- ## References *Nessun reference richiesto* — Skill auto-contenuta. --- ## Scripts ### `init_new_orto.py` (Opzionale) Script Python per automazione inizializzazione (se disponibile in `scripts/`). **Utilizzo:** ```bash python3 scripts/init_new_orto.py \ --id orto_roma_testaccio_001 \ --nome "Orto Testaccio Roma" \ --provincia Roma \ --regione Lazio \ --lat 41.8782 \ --lon 12.4922 ``` **Dipendenze:** - Python 3.8+ - Nessuna libreria esterna (standard lib) --- ## Note **Edge cases gestiti:** - **Coordinate mancanti:** Inferite da provincia (usa geocoding approssimativo) - **Zona climatica ambigua:** Usa latitudine come criterio primario - **Registry corrotto:** Backups automatico prima scrittura **Limitazioni:** - Non valida esistenza reale del luogo (coordinate possono essere fittizie) - Non crea physical structure (solo directory e file) **Avvertenze:** - ⚠️ **Date gelate:** Sono stime macro-zona; verificare microclima locale prima di trapianti critici - ⚠️ **Registry:** Backup automatico creato prima di modifiche --- _Aggiornato: 2026-03-07 | Versione: 1.0_