16 KiB
name: orto-orchestratore description: Orchestrare workflow multi-skill, risolvere conflitti tra piani, validare completezza dati, e merge in PlanBundle unificato. Usare quando: (1) eseguire pipeline full planning stagionale end-to-end, (2) gestire conflitti (zona irrigazione vs. consociazioni, task calendario vs. previsione meteo), (3) assicurare QA checks passino prima finalizzazione, (4) generare weekly operational briefing per utenti. Output: PlanBundle unificato (documento markdown master) con tutti piani integrati, audit log, weekly briefing pronto per pubblicazione.
Orto Orchestratore — Orchestrazione Workflow Master
Coordinare tutti skill planning, risolvere conflitti, validare vincoli, merge in piano unificato.
Quando Usare Questa Skill
- Planning completo: Dopo onboarding, eseguire pipeline completa per generare master plan
- Weekly briefing: Merge calendario + meteo-decisioni + stato corrente → task list settimanale azionabile
- Risoluzione conflitti: Quando skill producono raccomandazioni conflittuali
- Revisione piano: Validazione QA prima di publicare piano a utente
Gestione Progetti & Registry
Struttura File Progetti
Ogni orto gestito è organizzato in struttura standardizzata:
/home/<user>/.openclaw/workspace/Orti/
├── orti_registry.json # Registry centrale (JSON)
└── orto_PROVINCIA_LOCALITA_NNN/ # Cartella progetto
├── README.md
├── config/ # Config statiche
│ ├── garden_config.md
│ └── ambiente_vincoli.md
├── dati/ # Dati operazionali
│ ├── questionario/
│ ├── calendario/
│ ├── layout/
│ ├── irrigazione/
│ ├── meteo/
│ ├── colture/
│ ├── nutrizione/
│ ├── trattamenti/
│ └── raccolti/
├── log/ # Log e audit
│ ├── audit_trail.md
│ └── note_osservazioni.md
├── media/ # Foto, video
│ ├── foto/
│ └── video/
└── report/ # Report generati
Registry Centrale
File: /home/<user>/.openclaw/workspace/Orti/orti_registry.json
Mantiene indice tutti orti:
{
"orti": [
{
"orto_id": "orto_roma_testaccio_001",
"name": "Orto Testaccio Roma",
"provincia": "Roma",
"regione": "Lazio",
"latitude": 41.8782,
"longitude": 12.4922,
"zone": "centro",
"created_at": "2026-03-06T23:18:00Z",
"status": "active",
"path": "/home/noe/.openclaw/workspace/Orti/orto_roma_testaccio_001"
}
]
}
Funzioni Orchestratore su Progetti
Lettura:
- Carica registry
- Locate progetto orto
- Legge tutti file dati/ per orchestration
Scrittura:
- Aggiorna file dati/ (piano_colture_annuale, calendario, etc.)
- Aggiorna audit_trail.md con evento orchestration
- NO modifica registry (orto-init responsabile)
Validazione:
- Verifica tutti prerequisito skill hanno completato (file exist)
- Check integrità dati (no corrupted markdown)
Processo
Fase 1: Checklist Pre-Volo
Verificare tutti skill prerequisito sono completi:
✓ orto-init: Progetto orto creato, config registrato
✓ orto-onboarding: GardenConfig + CommunityProfile completo e validato
✓ orto-agronomo: Piano colture annuale completato
✓ orto-calendario: Calendario operativo (task settimanali) completato
✓ orto-irrigazione: Sistema irrigazione progettato
✓ orto-layout: Aiuole assegnate, zone definite
✓ orto-meteo-decisioni: Previsione settimanale & decisioni disponibili
Se QUALSIASI skill incompleto → PAUSA e notifica utente (dati mancanti)
Fase 2: Rilevazione Conflitti e Risoluzione
Verificare pattern conflitti noti:
| Tipo Conflitto | Rilevamento | Politica Risoluzione |
|---|---|---|
| Zona irrigazione vs. Consociazioni | Coltura A (ZONA ALTA) + Coltura B (ZONA BASSA) stessa aiuola | Dividi aiuola OPPURE adatta irrigazione (ZONA ALTA priority per stress) |
| Task calendario vs. Meteo | Task "Trapianto" pianificato Mar, vento > 8kn | Auto-riprogramma +2 gg (notifica utente) |
| Accessibilità layout vs. Spazio | Sentiero < 0.5m necessario per accessibilità | Riottimizza layout (può ridurre area utile) |
| Disponibilità acqua vs. Piano irrigazione | Fabbisogno acqua totale > disponibile | Riduci area colture OPPURE sposta a colture tolleranti siccità |
| Area troppo piccola vs. Dieta | Fabbisogno comunità > raccolta fattibile | Suggerisci successioni, stoccaggio off-season |
Logica risoluzione:
CONFLITTO: A1 (Pomodoro ALTA) + Basilico (MEDIO) stessa aiuola?
→ Verifica: Possiamo adattare irrigazione?
→ PERMETTI (Basilico tolera acqua extra; Pomodoro critico)
→ Segnala: "Basilico potrebbe over-irrigare; monitora"
CONFLITTO: Task Trapianto Mar, vento 8kn?
→ Verifica: orto-meteo-decisioni dice RINVIA
→ AUTO-RIPROGRAMMA: Trapianto → Giovedì +2 gg
→ NOTIFICA: Utente motivo + nuova data
CONFLITTO: Sentiero 0.4m (carrozzina necessita 0.7m)?
→ Verifica: Accessibilità critica?
→ RIOTTIMIZZA: Sposta aiuole, sacrifica ~5% area utile
→ OPPURE: Escalation utente (accetta area accessibile ridotta)
Fase 3: Validazione Dati (Checklist QA)
Esegui verifiche comprehensive:
| Verifica | Regola | Status | Fix |
|---|---|---|---|
| Diversità colture | ≥4 gruppi (Solanaceae, Brassica, Legume, Leafy, Aromatica) | PASS | ✓ |
| Bilancio nutrizionale | Copertura profilo dieta ≥80% | PASS | ✓ |
| Adeguatezza acqua | Pioggia pianificata + irrigazione ≥ domanda coltura | WARN | ⚠️ Deficit estate 15%; mitigazione: mulching |
| Coerenza rotazione | No stessa famiglia 2+ anni per aiuola | PASS | ✓ |
| Accessibilità | Sentieri ≥ requisito (se necessario) | PASS | ✓ |
| Tempo manutenzione | Ore settimanali totali ≤ disponibili | PASS | ✓ |
| Consociazioni | % positivo > antagonismi | PASS | ✓ 85% positivo |
| Accuratezza previsione | Fonte dati meteo corrente | PASS | ✓ wttr.in (3-5 gg alta conf.) |
Sommario: QA SCORE = 0.92 (Molto Buono). Procedi con merge.
Fase 4: Merge Fonti Dati
Aggregare output da tutti skill in struttura markdown unificata:
File: dati/PlanBundle_Master.md
# PLAN BUNDLE — [ORTO_ID] — [YEAR]
**Generated:** [TODAY]
**Confidence:** 0.92 (Molto Buono)
**Status:** Pronto per Pubblicazione
---
## 1. CONFIGURAZIONE ORTO
(Copia da GardenConfig)
- Localizzazione: [PROVINCIA], [REGIONE]
- Area: [AREA] m²
- Zona: [ZONE]
- Suolo: [SOIL]
- Sole: [HOURS] h/gg
## 2. PROFILO COMUNITÀ
(Copia da CommunityProfile)
- Persone: [N]
- Dieta: [DIET_LIST]
- Esperienza: [LEVEL]
- Tempo: [HOURS]/settimana
- Accessibilità: [NEEDS]
## 3. PIANO COLTURE
(Excerpt da Piano Colture Annuale)
- Colture totali: 12 varietà
- Area allocato: 25 m²
- Resa est.: 120 kg/stagione
- Rotazione: Piano multi-anno incluso
## 4. PIANO LAYOUT
(Excerpt da Aiuole Dimensioni)
- Aiuole: 4 (2 rialzate + 2 file)
- Zone Acqua: 3 (ALTA, MEDIA, BASSA)
- Sentieri: Main 0.7m, lato 0.5m
- Accessibilità: ✓ Conforme
## 5. SISTEMA IRRIGAZIONE
(Excerpt da Sistema Irrigazione)
- Emettitori: Goccia + microspruzzatori
- Zone: 3 (ALTA/MEDIA/BASSA)
- Baseline: Daily (ALTA) ~ 2-3x/sett (BASSA)
- Automazione: [Timer/Smart]
## 6. CALENDARIO STAGIONALE
(Link a Calendario Operativo)
- Task settimanali: 52 sett × media 3-5 task = ~200 task annuali
- Task meteo-sensibili: ~40 task (taggati per reschedule)
- Date critiche: 12 (trapianti, raccolte)
## 7. PREVENZIONE MALATTIE
(Excerpt da Diagnosi Problemi)
- High-risk crop: Pomodoro (peronospora)
- Preventive schedule: Weekly rame spray (June-Sept)
- Organic treatments: Rame, Bacillus subtilis, Neem
- Cost: €25 (season)
## 8. WEEKLY BRIEF
(Latest from Meteo Decisioni + Calendar)
- This week: [DATE RANGE]
- Tasks: 5 items
- Meteo alerts: [WIND? FROST?]
- Irrigation adjustments: [SKIP WED-THU, INCREASE SUN]
## 9. AUDIT TRAIL
(Excerpt from Log)
- Garden created: [DATE]
- Onboarding completed: [DATE]
- Plans generated: [DATE]
- Conflicts resolved: 2 (irrigation zone vs consociation, calendar vs weather)
- QA score: 0.92
---
## METRICS
- **Total effort:** 120 hours/year (avg. 2.3h/week)
- **Total water:** ~10,000 liters/season
- **Total harvest:** ~120 kg/season
- **Cost:** €65 (setup) + €25 (yearly maintenance)
- **ROI:** High (fresh vegetables + health + community)
---
**PlanBundle Status:** ✅ COMPLETE & VALIDATED
Fase 5: Notifica Utente & Pubblicazione
Genera report sommario:
# ✅ PIANO COMPLETO — [ORTO_ID]
**Buongiorno [UTENTE]!**
Il tuo orto **[NOME_ORTO]** è pronto per il 2026.
## Cosa è stato pianificato:
✓ **Colture:** 12 varietà selezionate (dieta bilanciata)
✓ **Layout:** 4 aiuole organizzate per zone acqua
✓ **Calendario:** 52 settimane di task settimanali
✓ **Irrigazione:** Sistema multi-zona automatizzabile
✓ **Malattie:** Piano prevenzione biologica (Pomodoro peronospora)
## Prossimi Passi:
1. **Leggi il piano master:** `dati/PlanBundle_Master.md` (30 min)
2. **Prepara strumenti:** Acquista emitters/timer (1-2 giorni)
3. **Settimana 1 (gen):** Preparazione semenzaio indoor
4. **Settimana 5 (feb):** Prima semina (Pomodoro)
## Supporto Settimanale:
Ogni lunedì ricevi:
- [ ] Briefing meteo (pioggia, vento, freddo)
- [ ] Task settimanale da fare
- [ ] Aggiustamenti schedule irrigazione
- [ ] Allerte problemi
## Domande?
Se qualcosa non è chiaro, contatta l'agronomo. Buon orto! 🌱
---
**Piano generato:** [OGGI]
**Affidabilità:** Molto Buono (92%)
**Prossima revisione:** [DATA_AUTO_PROSSIMA_SETTIMANA]
Fase 6: Integrazione Briefing Settimanale
Ogni lunedì, genera briefing integrato:
# BRIEFING SETTIMANALE — Week [WK] ([DATE]) — [ORTO_ID]
**Data:** Lunedì [DATE] 8:00 AM
---
## 📊 Meteo (da orto-meteo-decisioni)
| Giorno | Tmax | Tmin | Pioggia | Vento | Alert |
|--------|------|------|---------|-------|-------|
| Lun | 22 | 14 | 0 mm | 3 kn | ✓ OK |
| Gio | 19 | 10 | 12 mm | 2 kn | ✓ Pioggia |
| Dom | 28 | 18 | 0 mm | 6 kn | ⚠️ Caldo |
---
## 📋 TASK SETTIMANALE (from orto-calendario)
### Lunedì 6 Gen
- [ ] **Preparazione Semenzaio** (1.5h)
- Terriccio, vasetti, riscaldamento check
- Ubicazione: Semenzaio indoor
- Meteo: ✓ OK (indoor)
- [ ] **Controllo Strumenti** (0.5h)
- Innaffiatore, guanti, forbici
- Test timer irrigazione
**Totale giornata:** 2h
### Mercoledì 8 Gen
- [ ] **SKIP Irrigazione** (pioggia prevista, vento)
- Meteo decision: Effective rainfall adeguata
- [ ] Controllo drenaggio post-pioggia
### Giovedì 9 Gen
- [ ] **Irrigazione ripresa** (30 min)
- Baseline schedule restored
---
## ⚠️ ALLERTE
🟡 **VENTO MER-GIO (4-6 kn)**
- Defer foliar sprays
- Monitor young plants (wind stress)
🔥 **CALDO DOM (28°C+)**
- Aumentate irrigazione +30%
- Check mulching
---
## 🎯 FOCUS COLTURA
**Pomodoro (Gennaio = Semina Indoor)**
- Settimana prossima: Semina Pomodoro 1-4 Feb
- Requisiti: T 20-25°C, luce LED 12h/gg
- Germinazione attesa: 5-10 gg
- Cura: Mantenere umido, no ristagno
---
## 📈 PROGRESS
- Year-to-date tasks: 2/52 settimane
- Onboarding: 100% ✓
- Planning: 100% ✓
- Implementation: 5% (starting)
---
## 💧 IRRIGAZIONE SETTIMANALE
| Zona | Baseline | Meteo Adjust | Note |
|------|----------|--------------|------|
| ALTA | Daily 60m | Skip Wed-Thu | Pioggia sufficient |
| MEDIA | 3-4x/sett | Normal | OK |
| BASSA | 2-3x/sett | Normal | OK |
**Totale acqua:** ~500 liters (January low due dormancy)
---
**Briefing generato:** Lunedì 6 Gen 8:00 AM
**Prossimo briefing:** Lunedì 13 Gen
**Contatti:** [SUPPORT_EMAIL]
Esempi di Risoluzione Conflitti
Esempio 1: Irrigazione vs. Consociazioni
Conflitto: Layout A1 mette Pomodoro (ZONA ALTA, daily) + Basilico (MEDIO, 3x/sett)
Risoluzione:
- Opzione A: Dividere aiuole (ZONA ALTA + MEDIA separate) → Ma riduce area utile
- Opzione B: Accettare zona mista → Mantenere stessa aiuola, adattare irrigazione (ALTA priority)
- RACCOMANDAZIONE: Opzione B (Basilico tolera acqua extra; Pomodoro critico)
- MITIGAZIONE: Segnala "Monitora Basilico per over-watering; ajusta on-the-fly se avvizzimento + odore radici"
Esempio 2: Calendario vs. Meteo
Conflitto: "Trapianto Pomodoro Mar" pianificato; orto-meteo-decisioni dice "Vento 8kn Mar, RINVIA"
Risoluzione:
- Auto-riprogrammazione: Trapianto → Giovedì +2 gg (vento cala, temp stabile)
- Notifica utente: "Trapianto rimandato Mar→Gio (rischio vento). Nuovo: Giovedì 10 Apr 9am"
- Aggiorna calendario + audit trail
Esempio 3: Disponibilità Acqua vs. Piano Irrigazione
Conflitto: Fabbisogno totale acqua (10.000 L/stagione) > Disponibile (8 m³ = 8.000 L se vincolato)
Risoluzione:
- Riduci frequenza irrigazione (usa irrigazione deficitaria) → Rischio: stress coltura
- Aggiungi cisterna raccolta pioggia (+100 L) → Marginale
- Sposta a colture tolleranti siccità (Carota, Cipolla, Legume) → Riduci area Pomodoro del 30%
- RACCOMANDAZIONE: Accetta deficit idrico 15%; usa mulching pesante + compost suolo (migliora ritenzione)
Audit Trail & Aggiornamenti Progetto
Ad ogni orchestrazione (pianificazione completa o aggiornamento settimanale), registra:
File: log/audit_trail.md (aggiungi entry)
## Evento: Orchestrazione — Merge PlanBundle
| Campo | Valore |
|-------|-------|
| **Timestamp** | [ISO_OGGI] |
| **Evento** | orchestratore_merge_plan |
| **Tipo** | Pianificazione Completa / Briefing Settimanale |
| **Stato** | successo / avviso / errore |
| **Orto ID** | [ORTO_ID] |
| **Coordinatore** | Codex (skill: orto-orchestratore) |
| **QA Score** | 0.92 (Eccellente) |
| **Conflitti Risolti** | 2 (Zone irrigazione, Task calendario) |
| **Raccomandazioni** | Mulching per deficit acqua 15% |
| **File Output** | dati/PlanBundle_Master.md, dati/calendario/calendario_operativo_settimanale.md |
| **Dettagli** | Orchestrazione completa: init→onboarding→agronomo→layout→irrigazione→meteo→merge. PlanBundle generato e validato QA. Utente notificato. |
Questo crea cronologia completa di ogni decisione dell'orchestratore per tracciabilità e debugging.
Gestione Errori
| Errore | Fallback |
|---|---|
| Output skill mancante | Usa piano anno precedente (se disponibile) o regole fallback |
| Raccomandazioni conflittuali | Elenca top 3 opzioni, lascia scegliere utente |
| Fallimento QA (critico) | NON PUBBLICARE; flagga e richiedi revisione esperto |
Riferimenti
Questo skill legge e applica politiche da:
references/conflitti_risoluzione.md— Matrice conflitti, politiche risoluzione per tutti i pattern comunireferences/qa_checklist.md— Checklist validazione PlanBundle, criteri QA scorereferences/meteo_soglie.md— Soglie meteo (vento, pioggia, gelo, caldo) per reschedule taskreferences/irrigazione_parametri.md— Parametri ET, Kc, calcolo fabbisogni per acqua feasibilityreferences/consociazioni_layout.md— Matrice consociazioni per verificare coerenza layoutreferences/malattie_trattamenti.md— Dati trattamenti e DPI per validazione sicurezzareferences/colture_it.md— Database colture (varietà, parametri, famiglie) per rotazionereferences/calendario_it.md— Date gelate regionali, finestre stagionali per frost checks
Assunzioni
- Tutti skill prerequisiti hanno completato
- Integrità dati: nessun file markdown corrotto
- Politiche risoluzione conflitti documentate e calibrate (vedi conflitti_risoluzione.md)
- Canale notifica utente disponibile (email/chat)
- Tutti file di riferimento sono disponibili e aggiornati
Checklist Validazione
- ✓ Tutti output skill caricati e interpretati
- ✓ Conflitti identificati e risolti
- ✓ QA score ≥ 0.70 (accettabile)
- ✓ PlanBundle unificato coerente e completo
- ✓ Briefing settimanale generato e azionabile
- ✓ Audit trail documentato
- ✓ Notifica utente pronta
Skill: orto-orchestratore | Versione 1.0 | Stato: Pronto per Produzione