Fase 4 (orto_v1): 3 skills aggiuntive generate (totale 7/9 = 78%)
- orto-layout/SKILL.md (3.1 KB): Progettazione aiuole, consociazioni, accessibilità - orto-meteo-decisioni/SKILL.md (2.6 KB): Decisioni irrigazione/trattamenti basate meteo - orto-orchestratore/SKILL.md (3.6 KB): Orchestrazione workflow, risoluzione conflitti, validazione QA Skills mancanti (2/9, bassa priorità): - orto-fitopatologo (richiede diagnosi_it.md) - orto-irrigazione (richiede irrigazione_scheduling_it.md)
This commit is contained in:
parent
5e4fe84812
commit
a739282ae9
3 changed files with 366 additions and 0 deletions
120
test-orto_v1/skills/orto-layout/SKILL.md
Normal file
120
test-orto_v1/skills/orto-layout/SKILL.md
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
---
|
||||
name: orto-layout
|
||||
description: Progettare layout orto con aiuole, consociazioni, accessi e zone irrigazione. Usare quando: (1) progettare nuovo orto da zero, (2) ottimizzare layout esistente, (3) applicare regole consociazione, (4) pianificare accessibilità. Output: Layout orto (markdown) con dimensioni aiuole, colture per aiuola, consociazioni, camminamenti, zone irrigazione.
|
||||
---
|
||||
|
||||
# Orto Layout — Progettazione Aiuole e Zoning
|
||||
|
||||
Progettare layout orto ottimizzando spazio, consociazioni e accessibilità.
|
||||
|
||||
## Quando Usare
|
||||
|
||||
- **Dopo piano colture:** Colture selezionate, serve assegnare ad aiuole
|
||||
- **Nuovo orto:** Progettare layout da zero
|
||||
- **Ottimizzazione:** Migliorare layout esistente
|
||||
- **Accessibilità:** Garantire accessi per carrozzina/bambini
|
||||
|
||||
## Input
|
||||
|
||||
| Input | Tipo | Obbligatorio | Esempio |
|
||||
|-------|------|--------------|---------|
|
||||
| `orto_id` | String | Sì | `orto_roma_testaccio_001` |
|
||||
| `garden_config` | Object | Sì | area, esposizione, acqua |
|
||||
| `piano_colture` | Object | Sì | Colture da assegnare |
|
||||
| `accessibilita` | Bool | No | `true` (default: false) |
|
||||
|
||||
## Processo
|
||||
|
||||
### Fase 1: Calcola Numero Aiuole
|
||||
|
||||
```
|
||||
area_totale = garden_config.area_disponibile_mq
|
||||
|
||||
SE accessibilita == true:
|
||||
camminamento_min = 0.7m (carrozzina)
|
||||
area_coltivabile = area_totale × 0.75 (25% per accessi)
|
||||
ALTRIMENTI:
|
||||
camminamento_min = 0.5m
|
||||
area_coltivabile = area_totale × 0.85 (15% per accessi)
|
||||
|
||||
area_aiuola_tipica = 4-6 m² (1m × 4-6m)
|
||||
numero_aiuole = floor(area_coltivabile / area_aiuola_tipica)
|
||||
```
|
||||
|
||||
### Fase 2: Assegna Colture ad Aiuole
|
||||
|
||||
**Regole:**
|
||||
1. Raggruppa per famiglia botanica (rotazione)
|
||||
2. Applica consociazioni positive
|
||||
3. Evita consociazioni negative
|
||||
4. Considera classe acqua (zoning irrigazione)
|
||||
|
||||
### Fase 3: Genera Layout
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
# Layout Orto — <orto_id>
|
||||
|
||||
**Area totale:** X m²
|
||||
**Area coltivabile:** Y m² (Z%)
|
||||
**Numero aiuole:** N
|
||||
|
||||
## Aiuola 1 (4 m²) — Solanaceae
|
||||
|
||||
**Dimensioni:** 1m × 4m
|
||||
**Esposizione:** Pieno sole
|
||||
**Zona irrigazione:** ALTO
|
||||
|
||||
**Colture:**
|
||||
- Pomodoro (4 piante, 50cm)
|
||||
- Basilico (6 piante, 20cm da pomodoro)
|
||||
- Lattuga (8 piante, bordi)
|
||||
|
||||
**Consociazioni:** ✅ Pomodoro+Basilico (respinge parassiti)
|
||||
|
||||
**Rotazione prossima anno:** Brassicaceae
|
||||
|
||||
---
|
||||
|
||||
## Aiuola 2 (3 m²) — Cucurbitaceae
|
||||
|
||||
**Dimensioni:** 1m × 3m
|
||||
**Zona irrigazione:** ALTO
|
||||
|
||||
**Colture:**
|
||||
- Zucchina (3 piante, 100cm)
|
||||
- Fagiolo (20 piante, 30cm)
|
||||
|
||||
**Consociazioni:** ✅ Zucchina+Fagiolo (azoto)
|
||||
|
||||
---
|
||||
|
||||
## Camminamenti
|
||||
|
||||
**Larghezza:** 0.7m (accessibile)
|
||||
**Materiale:** Pacciamatura/ghiaia
|
||||
**Percorso:** Anello esterno + accessi centrali
|
||||
|
||||
## Zone Irrigazione
|
||||
|
||||
| Zona | Aiuole | Classe | Portata | Tempo |
|
||||
|------|--------|--------|---------|-------|
|
||||
| 1 | 1-2 | ALTO | 200 L/h | 45 min |
|
||||
| 2 | 3-4 | MEDIO | 150 L/h | 30 min |
|
||||
| 3 | 5-6 | BASSO | 100 L/h | 20 min |
|
||||
```
|
||||
|
||||
## Output
|
||||
|
||||
**File:** `dati/layout/layout_orito.md`
|
||||
|
||||
## References
|
||||
|
||||
- [`consociazioni_it.md`](../references/consociazioni_it.md)
|
||||
- [`irrigazione_parametri_it.md`](../references/irrigazione_parametri_it.md)
|
||||
- [`rotazioni_it.md`](../references/rotazioni_it.md)
|
||||
|
||||
---
|
||||
|
||||
_Aggiornato: 2026-03-07 | Versione: 1.0_
|
||||
112
test-orto_v1/skills/orto-meteo-decisioni/SKILL.md
Normal file
112
test-orto_v1/skills/orto-meteo-decisioni/SKILL.md
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
---
|
||||
name: orto-meteo-decisioni
|
||||
description: Analizzare previsioni meteo e generare decisioni operative per irrigazione, trattamenti e task. Usare quando: (1) decidere se irrigare oggi, (2) valutare se trattare, (3) adattare task a meteo, (4) generare alert meteo critici. Output: Decisione meteo (markdown) con raccomandazioni irrigazione/trattamenti/task, alert critici.
|
||||
---
|
||||
|
||||
# Orto Meteo Decisioni — Analisi Meteo Operativa
|
||||
|
||||
Analizzare meteo e generare decisioni operative basate su soglie.
|
||||
|
||||
## Quando Usare
|
||||
|
||||
- **Decisione irrigazione:** Ogni giorno (mattina presto)
|
||||
- **Pianificazione trattamenti:** Prima di applicare
|
||||
- **Adattamento task:** Settimanalmente
|
||||
- **Alert critici:** Gelo, tempesta, ondata caldo
|
||||
|
||||
## Input
|
||||
|
||||
| Input | Tipo | Obbligatorio |
|
||||
|-------|------|--------------|
|
||||
| `orto_id` | String | Sì |
|
||||
| `meteo_forecast` | Object | Sì (7 giorni) |
|
||||
| `meteo_attuale` | Object | Sì |
|
||||
| `task_programmati` | Array | No |
|
||||
|
||||
## Processo
|
||||
|
||||
### Fase 1: Analizza Condizioni
|
||||
|
||||
**Parametri:**
|
||||
- Temperatura (min, max, media)
|
||||
- Umidità relativa
|
||||
- Vento (velocità, direzione)
|
||||
- Pioggia (prevista, accumulata)
|
||||
- Nuvolosità
|
||||
|
||||
### Fase 2: Applica Soglie
|
||||
|
||||
**Irrigazione:**
|
||||
```
|
||||
SE pioggia_prevista > 10mm/24h: SALTA
|
||||
SE pioggia_prevista > 5mm/24h: RIDUCI 50%
|
||||
SE umidità_suolo < 30%: IRRIGA emergenza
|
||||
SE vento > 15 nodi: RINVIA aspersione
|
||||
```
|
||||
|
||||
**Trattamenti:**
|
||||
```
|
||||
SE vento > 8 nodi: NO trattamento fogliare
|
||||
SE temp > 28°C: NO trattamento
|
||||
SE pioggia_prevista < 6h: NO trattamento contatto
|
||||
```
|
||||
|
||||
**Task:**
|
||||
```
|
||||
SE vento > 10 nodi: RINVIA trapianti
|
||||
SE temp > 32°C: Task solo mattina (6-9)
|
||||
SE gelo_previsto: COPRI colture sensibili
|
||||
```
|
||||
|
||||
### Fase 3: Genera Decisione
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
# Decisione Meteo — <orto_id>
|
||||
|
||||
**Data:** YYYY-MM-DD HH:MM
|
||||
|
||||
## Condizioni Attuali
|
||||
- Temp: X°C | Umidità: X% | Vento: X nodi
|
||||
- Pioggia 24h: X mm
|
||||
|
||||
## Previsione 24h
|
||||
- T_max: X°C | T_min: X°C
|
||||
- Pioggia: X mm (probabilità Y%)
|
||||
- Vento: X-Y nodi
|
||||
|
||||
## Decisioni
|
||||
|
||||
### Irrigazione
|
||||
**Decisione:** IRRIGA / SALTA / RIDUCI
|
||||
**Motivo:** [Spiegazione basata su soglie]
|
||||
**Volume:** X L/m²
|
||||
**Orario:** 5:30-6:30
|
||||
|
||||
### Trattamenti
|
||||
**Decisione:** TRATTA / NON TRATTA
|
||||
**Motivo:** [Vento/temp/pioggia]
|
||||
**Finestra sicura:** [Date/orari]
|
||||
|
||||
### Task
|
||||
**Task consentiti:** [Lista]
|
||||
**Task da rinviare:** [Lista]
|
||||
|
||||
## Alert
|
||||
- [ ] Gelo notturno (T_min < 0°C)
|
||||
- [ ] Ondata caldo (T_max > 35°C)
|
||||
- [ ] Tempesta (vento > 25 nodi)
|
||||
```
|
||||
|
||||
## Output
|
||||
|
||||
**File:** `dati/meteo/decisione_YYYY-MM-DD.md`
|
||||
|
||||
## References
|
||||
|
||||
- [`meteo_soglie_it.md`](../references/meteo_soglie_it.md)
|
||||
|
||||
---
|
||||
|
||||
_Aggiornato: 2026-03-07 | Versione: 1.0_
|
||||
134
test-orto_v1/skills/orto-orchestratore/SKILL.md
Normal file
134
test-orto_v1/skills/orto-orchestratore/SKILL.md
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
---
|
||||
name: orto-orchestratore
|
||||
description: Orchestrare workflow multi-skill, risolvere conflitti, validare QA, generare PlanBundle unificato. Usare quando: (1) eseguire pipeline planning completa, (2) gestire conflitti tra skills, (3) validare QA prima pubblicazione, (4) generare weekly briefing. Output: PlanBundle unificato (markdown) con tutti piani integrati, audit log, weekly briefing.
|
||||
---
|
||||
|
||||
# Orto Orchestratore — Orchestrazione Workflow Master
|
||||
|
||||
Coordinare skills, risolvere conflitti, validare QA, merge in piano unificato.
|
||||
|
||||
## Quando Usare
|
||||
|
||||
- **Planning completo:** Dopo onboarding, eseguire pipeline full
|
||||
- **Weekly briefing:** Merge calendario + meteo + stato → task list
|
||||
- **Risoluzione conflitti:** Skills producono output conflittuali
|
||||
- **Validazione QA:** Prima di pubblicare piano a utente
|
||||
|
||||
## Input
|
||||
|
||||
| Input | Tipo | Obbligatorio |
|
||||
|-------|------|--------------|
|
||||
| `orto_id` | String | Sì |
|
||||
| `workflow_type` | Enum | Sì (`full_planning`, `weekly_brief`, `ad_hoc`) |
|
||||
| `skills_output` | Object | Sì (output da skills) |
|
||||
|
||||
## Processo
|
||||
|
||||
### Fase 1: Verifica Prerequisiti
|
||||
|
||||
```
|
||||
✓ orto-init: Progetto creato
|
||||
✓ orto-onboarding: GardenConfig + CommunityProfile completi
|
||||
✓ orto-agronomo: Piano colture completato
|
||||
✓ orto-calendario: Calendario disponibile
|
||||
✓ orto-layout: Aiuole assegnate
|
||||
✓ orto-irrigazione: Sistema progettato
|
||||
✓ orto-meteo-decisioni: Previsioni disponibili
|
||||
|
||||
Se MANCANTE → PAUSA, notifica utente
|
||||
```
|
||||
|
||||
### Fase 2: Rileva Conflitti
|
||||
|
||||
**Pattern conflitti:**
|
||||
|
||||
| Tipo | Rilevamento | Risoluzione |
|
||||
|------|-----------|-------------|
|
||||
| Irrigazione vs. Consociazioni | ALTO + BASSO stessa aiuola | Dividi aiuola o adatta ad ALTO |
|
||||
| Task vs. Meteo | Trapianto + vento >8kn | Riprogramma +2gg |
|
||||
| Accessibilità vs. Spazio | Sentiero <0.7m | Riottimizza layout |
|
||||
| Acqua deficit | Fabbisogno > disponibilità | Riduci colture esigenti |
|
||||
|
||||
### Fase 3: Validazione QA
|
||||
|
||||
**6 Criteri:**
|
||||
1. Completezza dati (0-1)
|
||||
2. Coerenza agronomica (0-1)
|
||||
3. Coerenza spaziale (0-1)
|
||||
4. Coerenza idrica (0-1)
|
||||
5. Coerenza temporale (0-1)
|
||||
6. Safety trattamenti (0-1)
|
||||
|
||||
**QA Score:**
|
||||
```
|
||||
QA = (completezza×0.15 + agronomica×0.25 + spaziale×0.15 +
|
||||
idrica×0.15 + temporale×0.15 + safety×0.15)
|
||||
|
||||
≥0.90: Excellent ✅
|
||||
0.75-0.89: Good
|
||||
0.60-0.74: Fair (revisione)
|
||||
<0.60: Poor (respinto)
|
||||
```
|
||||
|
||||
### Fase 4: Genera PlanBundle
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
# PlanBundle — <orto_id>
|
||||
|
||||
**Data:** YYYY-MM-DD
|
||||
**QA Score:** 0.XX (Excellent/Good/Fair/Poor)
|
||||
|
||||
## Piani Integrati
|
||||
|
||||
1. Piano Colture (da orto-agronomo)
|
||||
2. Layout (da orto-layout)
|
||||
3. Calendario (da orto-calendario)
|
||||
4. Irrigazione (da orto-irrigazione)
|
||||
5. Meteo (da orto-meteo-decisioni)
|
||||
|
||||
## Conflitti Risolti
|
||||
|
||||
| Tipo | Decisione | Motivazione |
|
||||
|------|-----------|-------------|
|
||||
| Irrigazione vs. Consociazioni | Adatta ad ALTO | Basilico tollera acqua extra |
|
||||
| Task vs. Meteo | Riprogramma Mar→Gio | Vento 10 nodi |
|
||||
|
||||
## Validazione QA
|
||||
|
||||
| Criterio | Score | Peso | Contributo |
|
||||
|----------|-------|------|------------|
|
||||
| Completezza | 1.00 | 0.15 | 0.15 |
|
||||
| Agronomica | 0.90 | 0.25 | 0.225 |
|
||||
| ... | ... | ... | ... |
|
||||
|
||||
**Totale:** 0.91 (Excellent) ✅
|
||||
|
||||
## Weekly Briefing
|
||||
|
||||
**Settimana:** YYYY-WW
|
||||
**Task principali:**
|
||||
- Lunedì: Irrigazione, raccolta lattuga
|
||||
- Martedì: Trapianto basilico
|
||||
- ...
|
||||
|
||||
**Alert:** Possibile pioggia giovedì
|
||||
|
||||
---
|
||||
|
||||
_Generato da: orto-orchestratore_
|
||||
```
|
||||
|
||||
## Output
|
||||
|
||||
**File:** `report/planbundle_YYYY-MM-DD.md`
|
||||
|
||||
## References
|
||||
|
||||
- [`conflitti_risoluzione_it.md`](../references/conflitti_risoluzione_it.md)
|
||||
- [`qa_checklist_it.md`](../references/qa_checklist_it.md)
|
||||
|
||||
---
|
||||
|
||||
_Aggiornato: 2026-03-07 | Versione: 1.0_
|
||||
Loading…
Add table
Add a link
Reference in a new issue