From b8315d21e270f59e1b2a90cd3e3acc3c1d42ac4b Mon Sep 17 00:00:00 2001 From: AgentePotente Date: Sat, 7 Mar 2026 10:25:02 +0100 Subject: [PATCH] Fase 5: Packaging orto-skills suite (test release) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Struttura distribuzione pronta: - orto-skills-suite/INSTALL.sh — Script installazione automatica - orto-skills-suite/README.md — Documentazione con lista skills - orto-skills-suite/orto-init/SKILL.md (9.4 KB) - orto-skills-suite/orto-onboarding/SKILL.md (8.5 KB) - orto-skills-suite/references/colture_it.md (7.6 KB) - orto-skills-suite/references/qa_checklist_it.md (6.1 KB) - Symlink: orto-init/references → ../references - Symlink: orto-onboarding/references → ../references Test release: 2 skills + 2 references pronte per installazione. Prossime: orto-agronomo, orto-calendario, orto-fitopatologo, etc. --- orto-skills-suite/INSTALL.sh | 37 ++ orto-skills-suite/README.md | 57 +++ orto-skills-suite/orto-init/SKILL.md | 361 ++++++++++++++++++ orto-skills-suite/orto-init/references | 1 + orto-skills-suite/orto-onboarding/SKILL.md | 331 ++++++++++++++++ orto-skills-suite/orto-onboarding/references | 1 + orto-skills-suite/references/colture_it.md | 158 ++++++++ .../references/qa_checklist_it.md | 240 ++++++++++++ 8 files changed, 1186 insertions(+) create mode 100755 orto-skills-suite/INSTALL.sh create mode 100644 orto-skills-suite/README.md create mode 100644 orto-skills-suite/orto-init/SKILL.md create mode 120000 orto-skills-suite/orto-init/references create mode 100644 orto-skills-suite/orto-onboarding/SKILL.md create mode 120000 orto-skills-suite/orto-onboarding/references create mode 100644 orto-skills-suite/references/colture_it.md create mode 100644 orto-skills-suite/references/qa_checklist_it.md diff --git a/orto-skills-suite/INSTALL.sh b/orto-skills-suite/INSTALL.sh new file mode 100755 index 0000000..f49e9e3 --- /dev/null +++ b/orto-skills-suite/INSTALL.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Installazione orto-skills + +SOURCE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +TARGET="$HOME/.openclaw/skills/orto-skills" + +echo "📦 Installing orto-skills..." +echo "" + +# Verifica destinazione +if [ -d "$TARGET" ]; then + echo "⚠️ Directory esistente: $TARGET" + read -p "Sovrascrivere? (y/N) " confirm + if [ "$confirm" != "y" ]; then + echo "❌ Installazione annullata" + exit 1 + fi + rm -rf "$TARGET" +fi + +# Crea directory parent +mkdir -p "$(dirname "$TARGET")" + +# Copia skills +cp -r "$SOURCE" "$TARGET" + +echo "✅ Installation complete!" +echo "" +echo "Skills installate in: $TARGET" +echo "" +echo "Skills incluse (2):" +echo " - orto-init" +echo " - orto-onboarding" +echo "" +echo "References incluse (2):" +echo " - colture_it.md" +echo " - qa_checklist_it.md" diff --git a/orto-skills-suite/README.md b/orto-skills-suite/README.md new file mode 100644 index 0000000..8e343f7 --- /dev/null +++ b/orto-skills-suite/README.md @@ -0,0 +1,57 @@ +# orto-skills + +Suite di AgentSkills generate da framework-translator. + +## Panoramica + +- **Skills:** 2 +- **References:** 2 +- **Lingua:** Italiano +- **Dominio:** Orto / Giardinaggio + +## Installazione + +### Metodo 1: Script Automatico + +```bash +./INSTALL.sh +``` + +### Metodo 2: Copia Manuale + +```bash +cp -r . ~/.openclaw/skills/orto-skills +``` + +## Skills Incluse + +- **orto-init** — Inizializzazione progetto orto (crea struttura directory, registry, template) +- **orto-onboarding** — Raccolta dati questionario (5 blocchi, GardenConfig, CommunityProfile) + +## References + +- `colture_it.md` — Catalogo colture orticole italiane (40+ varietà, 8 famiglie, consociazioni, rotazioni) +- `qa_checklist_it.md` — Checklist validazione PlanBundle (6 criteri QA, conflitti, audit trail) + +## Uso + +Dopo installazione, le skills sono disponibili in OpenClaw: + +``` +/openclaw orto-init --id orto_roma_testaccio_001 --nome "Orto Testaccio" ... +/openclaw orto-onboarding --orto_id orto_roma_testaccio_001 +``` + +## Prossime Skills (in sviluppo) + +- orto-agronomo — Selezione e pianificazione colture +- orto-calendario — Timeline stagionale e task settimanali +- orto-fitopatologo — Diagnosi e trattamenti biologici +- orto-layout — Progettazione aiuole e consociazioni +- orto-irrigazione — Sistema irrigazione e automazione +- orto-meteo-decisioni — Decisioni basate su previsioni meteo +- orto-orchestratore — Coordinamento workflow e risoluzione conflitti + +--- + +_Generato da framework-translator il 2026-03-07_ diff --git a/orto-skills-suite/orto-init/SKILL.md b/orto-skills-suite/orto-init/SKILL.md new file mode 100644 index 0000000..b6878ad --- /dev/null +++ b/orto-skills-suite/orto-init/SKILL.md @@ -0,0 +1,361 @@ +--- +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_ diff --git a/orto-skills-suite/orto-init/references b/orto-skills-suite/orto-init/references new file mode 120000 index 0000000..3dc6b5c --- /dev/null +++ b/orto-skills-suite/orto-init/references @@ -0,0 +1 @@ +../references \ No newline at end of file diff --git a/orto-skills-suite/orto-onboarding/SKILL.md b/orto-skills-suite/orto-onboarding/SKILL.md new file mode 100644 index 0000000..678a28a --- /dev/null +++ b/orto-skills-suite/orto-onboarding/SKILL.md @@ -0,0 +1,331 @@ +--- +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_ diff --git a/orto-skills-suite/orto-onboarding/references b/orto-skills-suite/orto-onboarding/references new file mode 120000 index 0000000..3dc6b5c --- /dev/null +++ b/orto-skills-suite/orto-onboarding/references @@ -0,0 +1 @@ +../references \ No newline at end of file diff --git a/orto-skills-suite/references/colture_it.md b/orto-skills-suite/references/colture_it.md new file mode 100644 index 0000000..e0f7538 --- /dev/null +++ b/orto-skills-suite/references/colture_it.md @@ -0,0 +1,158 @@ +# Colture It + +_Framework: orto_v1 | Estratto: 2026-03-07_ +_Usato da: orto-agronomo, orto-layout_ + +## Sommario + +Catalogo colture orticole italiane con varietà, requisiti di coltivazione, classi acqua, spaziature e famiglie botaniche. Include regole di rotazione e consociazione. + +--- + +## Famiglie Botaniche Principali + +### Solanaceae + +| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note | +|---------|---------------|------------|-----------------|-------|-------------|------| +| Pomodoro | San Marzano, Ciliegino, Cuor di Bue | 70-90 | 40-60 | ALTO | Pieno sole (6-8h) | Sensibile a peronospora | +| Peperone | Quadrato di Asti, Cuneo | 80-100 | 50-70 | MEDIO-ALTO | Pieno sole | Ciclo lungo | +| Melanzana | Violetta Lunga, Rosa Bianca | 75-90 | 60-80 | MEDIO-ALTO | Pieno sole | Termofila | +| Patata | Varietà precoci/tardive | 90-120 | 30-40 (fila), 70-80 (tra file) | MEDIO | Pieno sole | Tubero sotterraneo | + +### Cucurbitaceae + +| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note | +|---------|---------------|------------|-----------------|-------|-------------|------| +| Zucchina | Nero di Milano, Gold Rush | 45-60 | 80-100 | ALTO | Pieno sole | Produzione continua | +| Cocomero | Crimson Sweet, Sugar Baby | 80-100 | 100-150 | ALTO | Pieno sole | Esigente spazio | +| Melone | Retato, Cantalupo | 75-90 | 100-120 | MEDIO-ALTO | Pieno sole | Dolcezza dipende da sole | +| Cetriolo | Lungo delle Canie, Marketer | 50-70 | 40-60 (fila), 100 (tra file) | ALTO | Pieno sole | Rampicante | + +### Brassicaceae + +| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note | +|---------|---------------|------------|-----------------|-------|-------------|------| +| Cavolo Cappuccio | Cuor di Bue, Tardivo di Lucca | 90-120 | 50-70 | MEDIO | Pieno sole | Resistente freddo | +| Broccolo | Calabrese, Romanesco | 90-110 | 60-80 | MEDIO | Pieno sole | Temperature miti | +| Cavolfiore | Bianco d'Autunno, Violetto | 100-130 | 60-80 | MEDIO | Pieno sole | Sensibile a caldo | +| Ravanello | Tondo Rosso, Candela Ghiaccio | 20-30 | 5-10 | MEDIO | Sole parziale | Ciclo rapidissimo | + +### Liliaceae / Amaryllidaceae + +| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note | +|---------|---------------|------------|-----------------|-------|-------------|------| +| Cipolla | Dorata di Parma, Rossa di Tropea | 90-120 | 10-15 (fila), 30-40 (tra file) | BASSO | Pieno sole | Stop irrigazione prima raccolta | +| Aglio | Bianco Piacentino, Rosso di Nubia | 120-150 | 10-15 (fila), 30-40 (tra file) | BASSO | Pieno sole | Plantazione autunnale/primaverile | +| Porro | Gigante d'Inverno, Bleu de Solaise | 120-150 | 10-15 (fila), 40-50 (tra file) | MEDIO | Pieno sole | Rincalzo per imbiancamento | + +### Fabaceae (Leguminose) + +| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note | +|---------|---------------|------------|-----------------|-------|-------------|------| +| Fagiolo | Borlotto, Cannellino, Nano | 50-70 | 30-40 (fila), 50-70 (tra file) | MEDIO | Pieno sole | Fissa azoto atmosferico | +| Pisello | Nano, Rampicante, Taccola | 60-90 | 5-10 (fila), 50-70 (tra file) | MEDIO | Sole parziale | Resistente freddo | +| Fava | Aguadulce, Baiana | 120-150 | 20-30 (fila), 70-80 (tra file) | MEDIO | Pieno sole | Plantazione autunnale | + +### Asteraceae + +| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note | +|---------|---------------|------------|-----------------|-------|-------------|------| +| Lattuga | Romana, Cappuccio, Canasta | 40-60 | 25-30 | MEDIO | Sole parziale | Successioni ogni 2-3 settimane | +| Cicoria | Radicchio, Catalogna, Pan di Zucchero | 60-90 | 25-30 | MEDIO | Pieno sole | Amaro, resistente | +| Carciofo | Violetto di Toscana, Romanesco | perenne | 80-100 | MEDIO | Pieno sole | Impianto pluriennale | + +### Apiaceae (Ombrellifere) + +| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note | +|---------|---------------|------------|-----------------|-------|-------------|------| +| Carota | Nantese, Tonda di Parigi | 70-100 | 5-10 (diradata) | MEDIO | Pieno sole | Terreno sciolto | +| Sedano | Gigante d'America, Verde | 100-130 | 30-40 | ALTO | Pieno sole | Esigente acqua | +| Finocchio | Bianco di Verona, Tondo | 70-90 | 30-40 | MEDIO | Pieno sole | Rincalzo per imbiancamento | + +### Chenopodiaceae + +| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note | +|---------|---------------|------------|-----------------|-------|-------------|------| +| Spinacio | Gigante d'Inverno, Matador | 40-60 | 10-15 (fila), 30-40 (tra file) | MEDIO | Sole parziale | Resistente freddo | +| Bietola | da Costa, da Taglio | 50-70 | 30-40 | MEDIO | Pieno sole | Raccolta scalare foglie | + +--- + +## Classi Acqua + +| Classe | Fabbisogno Settimanale (mm) | Colture Tipiche | +|--------|----------------------------|-----------------| +| **ALTO** | 30-50 mm | Pomodoro, Zucchina, Cocomero, Melone, Sedano | +| **MEDIO-ALTO** | 20-35 mm | Peperone, Melanzana, Cetriolo, Fagiolo | +| **MEDIO** | 15-25 mm | Lattuga, Cavolo, Broccolo, Cipolla (fase crescita), Carota | +| **BASSO** | 10-15 mm | Cipolla (maturazione), Aglio, Porro, Spinacio | + +--- + +## Consociazioni Positive + +| Coltura A | Coltura B | Beneficio | +|-----------|-----------|-----------| +| Pomodoro | Basilico | Basilico respinge mosca bianca | +| Pomodoro | Carota | Radici a profondità diverse | +| Pomodoro | Lattuga | Lattuga copre suolo, riduce infestanti | +| Zucchina | Fagiolo nano | Fagiolo fissa azoto | +| Carota | Cipolla | Confondono parassiti reciproci | +| Lattuga | Ravanello | Ravanello rapido, libera spazio | +| Cavolo | Sedano | Sedano respinge cavolaia | + +--- + +## Consociazioni da Evitare + +| Coltura A | Coltura B | Motivo | +|-----------|-----------|--------| +| Pomodoro | Patata | Stessa famiglia, malattie comuni | +| Pomodoro | Cavolo | Competizione nutrienti | +| Fagiolo | Cipolla/Aglio | Allium inibisce crescita legumi | +| Carota | Sedano | Stessa famiglia, parassiti comuni | +| Cetriolo | Patata | Competizione, malattie fungine | + +--- + +## Rotazioni Consigliate + +### Famiglie in Rotazione (ciclo 3-4 anni) + +**Anno 1:** Solanaceae (Pomodoro, Peperone, Melanzana, Patata) +**Anno 2:** Brassicaceae (Cavolo, Broccolo, Ravanello) + Fabaceae (Fagiolo, Pisello) +**Anno 3:** Cucurbitaceae (Zucchina, Cetriolo, Melone) + Liliaceae (Cipolla, Aglio) +**Anno 4:** Asteraceae/Apiaceae (Lattuga, Carota, Sedano) + Chenopodiaceae (Spinacio, Bietola) + +### Regole Rotazione + +1. **Non ripetere stessa famiglia** sullo stesso aiuola per 2-3 anni +2. **Alternare esigenti** (Solanaceae, Cucurbitaceae) con **miglioratrici** (Fabaceae) +3. **Inserire sovesci** (Senape, Veccia, Trifoglio) tra cicli per arricchire suolo + +--- + +## Rese Indicative (per pianta) + +| Coltura | Resa Min (kg) | Resa Tipica (kg) | Resa Max (kg) | Note | +|---------|--------------|-----------------|--------------|------| +| Pomodoro | 2 | 5-8 | 12 | Varietà determinante vs indeterminata | +| Zucchina | 3 | 5-7 | 10 | Produzione continua | +| Lattuga | 0.2 | 0.3-0.5 | 0.8 | Peso netto | +| Cavolo | 1 | 2-3 | 5 | Dipende da varietà | +| Fagiolo | 0.3 | 0.5-0.8 | 1.2 | Raccolta scalare | +| Cipolla | 0.1 | 0.2-0.3 | 0.5 | Peso fresco | +| Carota | 0.1 | 0.2-0.4 | 0.6 | Dipende da densità | + +--- + +## Note + +- **Varietà locali:** Preferire varietà adattate al clima regionale +- **Rese:** Calibrate su feedback reali per migliorare stime +- **Cicli:** Variabili in base a clima, esposizione, cure + +--- + +_Reference generato da framework-translator_ diff --git a/orto-skills-suite/references/qa_checklist_it.md b/orto-skills-suite/references/qa_checklist_it.md new file mode 100644 index 0000000..7d3513f --- /dev/null +++ b/orto-skills-suite/references/qa_checklist_it.md @@ -0,0 +1,240 @@ +# Qa Checklist It + +_Framework: orto_v1 | Estratto: 2026-03-07_ +_Usato da: orto-orchestratore_ + +## Sommario + +Checklist di validazione per PlanBundle e output delle skills. Include controlli di coerenza, completezza e safety. + +--- + +## Criteri di Validazione PlanBundle + +### 1. Completezza Dati (Data Completeness) + +**Controlli:** + +- [ ] GardenConfig completo (localizzazione, zona climatica, esposizione, suolo) +- [ ] CommunityProfile completo (preferenze, allergie, dieta, esperienza) +- [ ] Vincoli ambientali documentati (vento, pendenza, ombre) +- [ ] Sistema irrigazione configurato (tipo, zone, sensori) + +**Score:** 0-1 (1 = tutti i campi obbligatori compilati) + +--- + +### 2. Coerenza Agronomica (Agronomic Consistency) + +**Controlli:** + +- [ ] Colture selezionate compatibili con zona climatica +- [ ] Colture compatibili con esposizione (sole/ombra) +- [ ] Cicli colture allineati con stagione +- [ ] Famiglie botaniche non ripetute su stesso aiuola (rotazione) +- [ ] Consociazioni rispettate (no antagonismi) + +**Score:** 0-1 (1 = nessuna violazione) + +--- + +### 3. Coerenza Spaziale (Spatial Consistency) + +**Controlli:** + +- [ ] Area occupata ≤ area disponibile +- [ ] Spaziature rispettate per ogni coltura +- [ ] Accessibilità garantita (camminamenti ≥ 0.5m) +- [ ] Zone irrigazione coerenti con layout aiuole + +**Score:** 0-1 (1 = tutti i vincoli spaziali rispettati) + +--- + +### 4. Coerenza Idrica (Water Consistency) + +**Controlli:** + +- [ ] Fabbisogno acqua totale ≤ disponibilità stimata +- [ ] Zone irrigazione omogenee per classe acqua +- [ ] Programma irrigazione compatibile con meteo (no irrigazione se pioggia prevista) + +**Score:** 0-1 (1 = nessun conflitto idrico) + +--- + +### 5. Coerenza Temporale (Temporal Consistency) + +**Controlli:** + +- [ ] Date semina/trapianto compatibili con finestra stagionale +- [ ] Successioni colture rispettano cicli (no sovrapposizioni incompatibili) +- [ ] Task calendario distribuiti uniformemente (no picchi di lavoro) + +**Score:** 0-1 (1 = timeline coerente) + +--- + +### 6. Safety Trattamenti (Treatment Safety) + +**Controlli:** + +- [ ] Trattamenti rispettano tempi di carenza +- [ ] DPI specificati per trattamenti +- [ ] No trattamenti fogliari con vento > 8 nodi +- [ ] No trattamenti con pioggia imminente (<24h) + +**Score:** 0-1 (1 = tutti i vincoli safety rispettati) + +--- + +## Calcolo QA Score + +### Formula Ponderata + +``` +QA Score = ( + completezza * 0.15 + + agronomica * 0.25 + + spaziale * 0.15 + + idrica * 0.15 + + temporale * 0.15 + + safety * 0.15 +) +``` + +### Interpretazione Score + +| Score | Giudizio | Azione | +|-------|----------|--------| +| 0.90 - 1.00 | **Excellent** | PlanBundle approvato, pronto per pubblicazione | +| 0.75 - 0.89 | **Good** | Approvato con note minori | +| 0.60 - 0.74 | **Fair** | Richiede revisione prima pubblicazione | +| < 0.60 | **Poor** | Respinto, richiede riprogettazione | + +--- + +## Esempio Report QA + +```markdown +# QA Report — orto_roma_testaccio_001 + +**Data:** 2026-03-07 +**Orchestratore:** orto-orchestratore v1.0 + +## Punteggi + +| Criterio | Score | Peso | Contributo | +|----------|-------|------|------------| +| Completezza | 1.00 | 0.15 | 0.15 | +| Agronomica | 0.90 | 0.25 | 0.225 | +| Spaziale | 0.85 | 0.15 | 0.1275 | +| Idrica | 0.95 | 0.15 | 0.1425 | +| Temporale | 0.80 | 0.15 | 0.12 | +| Safety | 1.00 | 0.15 | 0.15 | + +**QA Score Totale:** 0.915 + +**Giudizio:** Excellent ✅ + +## Note + +- **Spaziale:** Camminamento sud ridotto a 0.45m (soglia 0.5m). Accettato per vincoli spazio. +- **Temporale:** Picco lavoro settimana 12 (3 task). Suggerimento: anticipare 1 task a settimana 11. + +## Approvazione + +- **Approvato da:** Orchestratore Agent +- **Data:** 2026-03-07 +- **Status:** APPROVED +``` + +--- + +## Conflitti Tipici e Risoluzione + +### Conflitto 1: Zona Irrigazione vs. Consociazioni + +**Rilevamento:** +- Coltura A (classe ALTO) + Coltura B (classe BASSA) stessa aiuola + +**Risoluzione:** +1. **Priorità:** Evitare stress idrico a coltura esigente +2. **Opzione A:** Dividi aiuola in due zone irrigazione +3. **Opzione B:** Adatta irrigazione (ALTO priority), accetta over-irrigazione per BASSA +4. **Nota:** Documenta compromesso in audit trail + +--- + +### Conflitto 2: Task Calendario vs. Meteo + +**Rilevamento:** +- Task "Trapianto" pianificato, previsione vento > 8 nodi + +**Risoluzione:** +1. **Auto-riprogramma:** +2 giorni (o prima finestra sicura) +2. **Notifica utente:** "Trapianto rinviato da Mar a Gio per vento forte" +3. **Aggiorna calendario:** Modifica task list settimanale + +--- + +### Conflitto 3: Area Troppo Piccola vs. Fabbisogno Comunità + +**Rilevamento:** +- Fabbisogno comunità > raccolta fattibile con area disponibile + +**Risoluzione:** +1. **Priorità:** Colture ad alta resa (Zucchina, Fagiolo, Lattuga) +2. **Successioni:** Pianifica 2-3 cicli/anno per colture rapide +3. **Stoccaggio:** Includi colture da conservazione (Cipolla, Aglio, Patata) +4. **Nota utente:** "Area limitata: priorità a resa. Considera espansione o integrazione esterna." + +--- + +## Checklist Operativa Settimanale + +Prima di pubblicare weekly briefing: + +- [ ] Meteo verificato (previsione 7 giorni) +- [ ] Sensori letti (umidità, pioggia, temperatura) +- [ ] Task calendarizzati compatibili con meteo +- [ ] Irrigazione programmata (se necessaria) +- [ ] Trattamenti rispettano finestre meteo sicure +- [ ] Raccolte pianificate in base a maturazione + +--- + +## Audit Trail Template + +Ogni validazione QA deve lasciare traccia: + +```markdown +## Audit Entry — QA Check + +**Timestamp:** 2026-03-07T14:30:00Z +**Orchestratore:** orto-orchestratore +**Evento:** PlanBundle validation + +**Input:** +- GardenConfig: orto_roma_testaccio_001 +- PlanBundle v1.0 (colture, layout, irrigazione, calendario) + +**QA Score:** 0.91 (Excellent) + +**Conflitti Risolti:** +1. Zona irrigazione vs. consociazioni → Opzione B (adatta irrigazione) +2. Task trapianto vs. vento → Auto-riprogramma +2 gg + +**Raccomandazioni:** +- Monitorare umidità aiuola 3 (sotto-irrigata) +- Anticipare raccolta lattuga settimana 12 + +**Output:** +- PlanBundle approvato +- Weekly briefing generato +- Audit log aggiornato +``` + +--- + +_Reference generato da framework-translator_