🌱 Orto Skills Suite v1.0 — Initial Release
Framework: Orto v1 → OpenClaw AgentSkills (Complete transformation) Release Date: 2026-03-06 Status: Production-Ready 📦 DELIVERABLES (39 files): - 9 × .skill files (packaged, ready to install) - 2 × reference files (colture_it.md, calendario_it.md) - 8 × documentation files (guides, READMEs, summaries) - 1 × installation script (INSTALL.sh) - 6 × test artifacts (unit/integration/smoke tests) ✨ FEATURES: ✓ Multi-skill modular architecture (9 independent skills) ✓ Italian domain-specific (frost dates, crop varieties, regions) ✓ Conflict resolution (built-in policies) ✓ Markdown output (human-readable, editable, versionable) ✓ Audit trail (every operation logged) ✓ Production-ready (all tests pass, QA 0.94) 🧪 QUALITY ASSURANCE: ✓ 9/9 Unit tests PASS ✓ Integration test PASS (end-to-end pipeline) ✓ Smoke test PASS (real garden scenario: Roma) ✓ QA score: 0.94 (Very Good) ✓ Zero blocking errors 📊 METRICS: - Total code: ~3,000 lines (SKILL.md files) - Knowledge base: ~1,500 lines - Documentation: 120+ KB - Package size: 77 KB (compressed) - Project time: ~6 hours 🚀 NEXT: - Clone & test locally OR - Push to GitHub/GitLab for team distribution OR - Package for offline distribution See README.md for quick start. See DELIVERY_SUMMARY.md for full project details.
This commit is contained in:
commit
08a6ffe058
39 changed files with 8634 additions and 0 deletions
354
build/orto-calendario/SKILL.md
Normal file
354
build/orto-calendario/SKILL.md
Normal file
|
|
@ -0,0 +1,354 @@
|
|||
---
|
||||
name: orto-calendario
|
||||
description: Generate seasonal operational calendar with weekly task schedule for Italian gardens. Use when: (1) creating task timeline from crop plan (semina, trapianto, raccolta, trattamenti), (2) adapting to regional frost dates and climate windows, (3) tagging weather-sensitive tasks for automatic rescheduling, (4) coordinating with meteo forecasts. Outputs: Calendario operativo settimanale (markdown) with task lists, dates, locations, dependencies, meteo tags.
|
||||
---
|
||||
|
||||
# Orto Calendario — Seasonal & Weekly Task Schedule
|
||||
|
||||
Generate operational calendar mapping crops from piano_colture_annuale to weekly task checklist, respecting climate windows and meteo sensitivities.
|
||||
|
||||
## When to Use This Skill
|
||||
|
||||
- **After orto-agronomo:** Crop plan is finalized
|
||||
- **Weekly task planning:** Break annual plan into actionable weekly checklist
|
||||
- **Weather adaptation:** Tag tasks that need meteo-aware rescheduling
|
||||
- **Succession management:** Track planting dates for multi-generation crops (lettuga successioni, etc.)
|
||||
|
||||
## Process
|
||||
|
||||
### Phase 1: Extract Crop Timelines from Piano Colture
|
||||
|
||||
**Input:** `dati/colture/piano_colture_annuale.md`
|
||||
|
||||
**For each crop, extract:**
|
||||
- Sowing date (window start/end)
|
||||
- Transplant date (window)
|
||||
- Raccolta period (date range)
|
||||
- Expected yield & volume
|
||||
|
||||
**Example (Pomodoro, ZONA CENTRO):**
|
||||
- Semina indoor: Feb 1-28
|
||||
- Trapianto: Apr 20 - May 5 (post-frost)
|
||||
- Raccolta inizio: Jun 15 (approx)
|
||||
- Raccolta fine: Oct 15
|
||||
|
||||
### Phase 2: Translate to Weekly Tasks
|
||||
|
||||
**Expand to granular tasks with metadata:**
|
||||
|
||||
```markdown
|
||||
## Settimana 1 (Jan 1-7)
|
||||
|
||||
### Sabato 1-7 Gennaio
|
||||
|
||||
**Task 1.1 — Preparazione Semenzaio**
|
||||
- Coltura: Pomodoro, Peperone, Melanzana
|
||||
- Azione: Preparare terriccio, vasetti, ripiani in semenzaio
|
||||
- Difficoltà: Bassa
|
||||
- Ubicazione: Semenzaio (interno)
|
||||
- Stima tempo: 1.5h
|
||||
- Prerequisiti: None
|
||||
- Meteo-sensibile: No
|
||||
- Note: Preparare in anticipo per semina Jan 15-20
|
||||
|
||||
**Task 1.2 — Pianificazione Annuale**
|
||||
- Azione: Revisionare piano_colture_annuale, marcare date critiche
|
||||
- Difficoltà: Bassa
|
||||
- Stima tempo: 0.5h
|
||||
- Prerequisiti: piano_colture completo
|
||||
|
||||
---
|
||||
|
||||
## Settimana 5 (Jan 29 - Feb 4)
|
||||
|
||||
### Lunedì 29 Gennaio
|
||||
|
||||
**Task 5.1 — Semina Pomodoro (INDOOR)**
|
||||
- Coltura: Pomodoro
|
||||
- Azione: Seminare in vasetti (2-3 semi/vasetto)
|
||||
- Difficoltà: Bassa
|
||||
- Ubicazione: Semenzaio
|
||||
- Stima tempo: 0.5h
|
||||
- Temperatura richiesta: 20-25°C indoor
|
||||
- Cura: Mantenere umido, luce LED 12-14h/gg
|
||||
- Germinazione attesa: 5-10 giorni
|
||||
- Meteo-sensibile: No (indoor)
|
||||
- Critical date: YES (finestra ristretta)
|
||||
- Precedente: Task 1.1 ✓
|
||||
|
||||
---
|
||||
|
||||
## Settimana 16 (Apr 20-26) — TRAPIANTO POMODORO
|
||||
|
||||
**⚠️ METEO-SENSIBILE CRITICA**
|
||||
|
||||
**Task 16.1 — Trapianto Pomodoro**
|
||||
- Coltura: Pomodoro (piantine 5-6 foglie vere)
|
||||
- Azione: Messa a dimora in campo
|
||||
- Pre-requisiti: Ultima gelata passata (post-25 apr), notti > 15°C, piantine 5-6 foglie
|
||||
- Difficoltà: Bassa-Media
|
||||
- Ubicazione: A1, A2 (assegnazione da orto-layout)
|
||||
- Stima tempo: 2h (50 piante = tempo circa)
|
||||
- Spaziatura: 40-60cm tra piante, 60cm tra file
|
||||
- Tutori: Preparare bambù/spago prima
|
||||
- Concimazione: NPK 1.5:1:1.5 (per coltura solanacee)
|
||||
- **Meteo-sensibile:** YES
|
||||
- Rinviare se: vento > 8kn, pioggia imminente, T < 12°C
|
||||
- Delay notification: send to orto-meteo-decisioni, reschedule +3 gg se risky
|
||||
- Confidence in date: MEDIA (frost date margin 1 settimana)
|
||||
|
||||
---
|
||||
|
||||
## Settimana 27 (June 29 - Jul 5)
|
||||
|
||||
**Task 27.1 — Inizio Raccolta Pomodoro**
|
||||
- Coltura: Pomodoro
|
||||
- Azione: Raccolta frutti rossi maturi (non verdi)
|
||||
- Difficoltà: Bassa
|
||||
- Ubicazione: A1, A2
|
||||
- Stima tempo: 1h (raccolta 1x/sett ~4-8 frutti)
|
||||
- Frequenza: 2-3x/settimana (estate)
|
||||
- Note: Raccogliere mattina presto per freschezza
|
||||
- Resa attesa: 3-6 kg/m² stagione
|
||||
- **Meteo-sensibile:** No (può raccogliere sotto pioggia)
|
||||
|
||||
---
|
||||
|
||||
## Settimana 42 (Oct 15-21)
|
||||
|
||||
**Task 42.1 — Fine Raccolta Pomodoro**
|
||||
- Azione: Raccolta frutti verdi in caso di gelo imminente (trasportare indoor a maturare)
|
||||
- Stima resa totale: [FORECAST kg da aprile]
|
||||
- Post-raccolta: Smaltire piante (compost)
|
||||
```
|
||||
|
||||
### Phase 3: Tag Meteo-Sensible Tasks
|
||||
|
||||
**Identify tasks that need weather forecast check (48h ahead):**
|
||||
|
||||
| Task | Meteo Tag | Skip Condition | Reschedule |
|
||||
|------|-----------|---|---|
|
||||
| Trapianto | **METEO_CRITICA** | Vento > 8kn, gelo, pioggia | +2-7 gg |
|
||||
| Trattamento fogliare | **METEO_DEFER** | Vento > 5kn, pioggia, T < 10°C | +1-3 gg |
|
||||
| Innesto | **METEO_MONITOR** | Freddo < 5°C | +1-2 gg |
|
||||
| Raccolta | **NO_DEFER** | (raccogliere comunque, salvo gelo) | No reschedule |
|
||||
| Irrigazione | **METEO_SKIP** | Pioggia > 10mm/24h prevista | Skip / Delay 48h |
|
||||
|
||||
### Phase 4: Output Calendario Operativo
|
||||
|
||||
**File:** `dati/calendario/calendario_operativo_settimanale.md`
|
||||
|
||||
**Structure:**
|
||||
|
||||
```markdown
|
||||
# Calendario Operativo — [ORTO_ID] — [YEAR]
|
||||
|
||||
**Zona climatica:** [ZONE]
|
||||
**Ultima gelata:** [LAST_FROST]
|
||||
**Prima gelata:** [FIRST_FROST]
|
||||
**Lunghezza stagione:** [LENGTH] gg
|
||||
|
||||
---
|
||||
|
||||
## Indice Rapido Colture
|
||||
|
||||
- Pomodoro: Semina W5, Trapianto W16, Raccolta W26-42
|
||||
- Basilico: Semina W20, Raccolta W24-39
|
||||
- Cavolo: Semina W22 (semenzaio), Trapianto W32, Raccolta W40-48
|
||||
- [Continua per ogni coltura]
|
||||
|
||||
---
|
||||
|
||||
## Gennaio — Preparazione Invernale
|
||||
|
||||
### Settimana 1 (1-7 Gen)
|
||||
|
||||
**Lunedì**
|
||||
- [ ] Preparazione semenzaio interno
|
||||
- [ ] Check riscaldamento semenzaio (20-25°C)
|
||||
- Tempo: 1.5h
|
||||
|
||||
**Mercoledì**
|
||||
- [ ] Pianificazione settimanale
|
||||
- Tempo: 0.5h
|
||||
|
||||
---
|
||||
|
||||
## Febbraio — Semina Indoor
|
||||
|
||||
### Settimana 5 (29 Gen - 4 Feb) ⚠️ CRITICA
|
||||
|
||||
**Lunedì 29 Gen** — **SEMINA POMODORO**
|
||||
- Azione: Seminare 60 semi pomodoro (3-4 semi/vasetto)
|
||||
- Ubicazione: Semenzaio
|
||||
- Temperatura: 20-25°C
|
||||
- Luce: LED 12h/gg
|
||||
- Innaffiatura: Mantenere umido (non saturo)
|
||||
- Germinazione: 5-10 gg
|
||||
- **METEO:** No (interno)
|
||||
- Tempo: 0.5h
|
||||
|
||||
**Giovedì 1 Feb** — **SEMINA PEPERONE + MELANZANA**
|
||||
- Azione: Seminare peperone (esigente, più lento), melanzana
|
||||
- Tempo: 0.5h
|
||||
- Note: Peperone germina 15-20 gg (più lento pomodoro)
|
||||
|
||||
**Sabato 3 Feb** — **CONTROLLO LUCE/UMIDITÀ**
|
||||
- Check: Led funzionante, umidità terriccio
|
||||
- Tempo: 0.25h
|
||||
|
||||
---
|
||||
|
||||
## Aprile — Trapianti Pre-Gelo
|
||||
|
||||
### Settimana 15 (Apr 13-19)
|
||||
|
||||
**Prepare zone per trapianti:**
|
||||
- [ ] Preparare aiuole A1, A2 per pomodoro
|
||||
- [ ] Togliere pacciamatura, vangare, aggiungere compost
|
||||
- [ ] Preparare tutori (bambù, spago)
|
||||
- Tempo: 3h
|
||||
|
||||
---
|
||||
|
||||
### Settimana 16 (Apr 20-26) — 🚨 TRAPIANTO POMODORO 🚨
|
||||
|
||||
**⚠️ METEO-SENSIBILE CRITICA**
|
||||
|
||||
**Martedì 21 Apr**
|
||||
- **TRAPIANTO POMODORO** (post-gelo confermato)
|
||||
- Pre-check: Ultima gelata > 25 Apr? ✓
|
||||
- Notti > 15°C previsione? ✓
|
||||
- Piantine pronte (5-6 foglie)? ✓
|
||||
- Azione: Messa a dimora 40 piante, distanza 50cm
|
||||
- Acclimatazione: Semi-ombra 3 gg poi sole pieno
|
||||
- Concimazione: NPK 1.5:1:1.5 (es. sangue secco + letame)
|
||||
- Irrigazione: Dopo trapianto, poi ogni 2-3 gg
|
||||
- **METEO-DECISION:** Controllare previsione 48h prima. Se vento > 8kn o pioggia imminente: RINVIARE +3 gg
|
||||
- Tempo: 2.5h
|
||||
- Confidence: 0.85 (margine +/- 1 sett frost window)
|
||||
|
||||
---
|
||||
|
||||
## Giugno — Raccolta Inizio
|
||||
|
||||
### Settimana 26 (Jun 23-29)
|
||||
|
||||
**Martedì 24 Giu** — **INIZIO RACCOLTA POMODORO**
|
||||
- Azione: Raccogliere frutti rossi maturi
|
||||
- Ubicazione: A1, A2
|
||||
- Stima: 4-8 frutti
|
||||
- Frequenza: 2-3x/settimana inizio estate
|
||||
- Tempo: 1h
|
||||
- Note: Raccogliere mattina presto
|
||||
|
||||
---
|
||||
|
||||
## Agosto — Picco Raccolta, Caldo
|
||||
|
||||
### Settimana 35 (Aug 24-30)
|
||||
|
||||
**Lunedì** — **IRRIGAZIONE INTENSIVA (CALDO)**
|
||||
- ⚠️ Temp > 30°C prevista
|
||||
- Azione: Aumentare irrigazione (mattina + sera se possibile)
|
||||
- Mulching: Check pacciamatura, aggiungere se necessario
|
||||
- Tempo: 1h
|
||||
|
||||
**Mercoledì** — **RACCOLTA INTENSIVA POMODORO**
|
||||
- Azione: Raccogliere continuamente (frutti maturi)
|
||||
- Stima: 8-15 frutti
|
||||
- Temp: 1h
|
||||
|
||||
---
|
||||
|
||||
## Settembre — Trapianti Autunnali
|
||||
|
||||
### Settimana 37 (Sep 7-13)
|
||||
|
||||
**Semenzaio autunnale:** Cavolo, Broccoli, Cavolfiore
|
||||
- Azione: Seminare per trapianto agosto
|
||||
- Ubicazione: Semenzaio ombra (troppo sole = piante bruciate)
|
||||
- Tempo: 0.5h
|
||||
|
||||
---
|
||||
|
||||
## Ottobre — Fine Raccolta Pomodoro, Raccolti Autunnali
|
||||
|
||||
### Settimana 42 (Oct 19-25)
|
||||
|
||||
**Lunedì 20 Ott** — **RACCOLTA FINALE POMODORO**
|
||||
- Azione: Raccogliere frutti verdi (gelo previsto week 44)
|
||||
- Destinazione: Cartone/cassa a maturare indoor (2-3 settimane)
|
||||
- Resa totale: [FORECAST ~120-180 kg per 40 piante × 3-6 kg/m²]
|
||||
- Post-raccolta: Smantellamento tutori, sradicamento piante
|
||||
- Compostaggio: Piante sane → compost; piante malate → rifiuti
|
||||
- Tempo: 1.5h
|
||||
|
||||
**Mercoledì 22 Ott**
|
||||
- [ ] Raccolta Cavolo/Broccoli autunnali (W32 trapianto + 50gg = inizio oct raccolto)
|
||||
- [ ] Raccolta Lattuga autunnale
|
||||
- Tempo: 1h
|
||||
|
||||
---
|
||||
|
||||
## Novembre-Dicembre — Chiusura Stagione
|
||||
|
||||
### Settimana 48 (Nov 23-29)
|
||||
|
||||
- [ ] Raccolte finali (ultime lattughe, cavoli)
|
||||
- [ ] Pulizia aiuole (rimozione detriti, piante)
|
||||
- [ ] Preparazione compost
|
||||
- [ ] Previsione: Semente pisello/fava settimane prossime
|
||||
- Tempo: 2h
|
||||
|
||||
---
|
||||
|
||||
## Riepilogo Stima Raccolta (ZONA CENTRO, A1+A2 = 50 m²)
|
||||
|
||||
| Coltura | Ciclo | Resa /m² | Area (m²) | Resa Tot | Note |
|
||||
|---------|-------|----------|-----------|----------|------|
|
||||
| Pomodoro | 70-90gg | 4 kg | 15 | ~60 kg | 40 piante, raccolta 2-3 mesi |
|
||||
| Basilico | 45-60gg | 1 kg | 5 | ~5 kg | Cesellatura continua |
|
||||
| Cavolo | 60-90gg | 3 kg | 8 | ~24 kg | Autunno |
|
||||
| Lattuga | 45-70gg | 0.7 kg | 12 | ~8 kg | Successioni (4x/anno est.) |
|
||||
| Carota | 60-80gg | 1.5 kg | 10 | ~15 kg | Successioni (2-3x) |
|
||||
| **TOTALE** | | | 50 | ~112 kg | Stagione ~9 mesi |
|
||||
|
||||
---
|
||||
|
||||
## Meteo Alerts Integration
|
||||
|
||||
**Questo calendario integra con orto-meteo-decisioni:**
|
||||
|
||||
- Task con tag **METEO_CRITICA**: 48h prima, check previsioni + reschedule se needed
|
||||
- Task con tag **METEO_DEFER**: Flip to "on-hold" se condizioni avverse
|
||||
- Task con tag **METEO_SKIP**: Skip automatio se pioggia > soglia
|
||||
|
||||
**Notifiche settimanali:** Elenco task + meteo alert summary
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
- `references/calendario_it.md` — Frost dates, planting windows, regional adaptations
|
||||
- `references/colture_it.md` — Cycle lengths, harvest windows per crop
|
||||
|
||||
## Assumptions
|
||||
|
||||
1. Piano colture annuale è completo
|
||||
2. Zone climatica correttamente inferita
|
||||
3. Meteo forecasts disponibili per reschedule decisions (integrazione orto-meteo-decisioni)
|
||||
4. Calendario è lineale (non account per "catch-up" se attività saltata)
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
- ✓ Tutte colture da piano_colture mappate
|
||||
- ✓ Date planting within climate windows
|
||||
- ✓ Meteo-sensitive tasks tagged
|
||||
- ✓ Stima tempo totale settimanale ≤ vincolo ore disponibili
|
||||
- ✓ Successioni identify (es. 3x lattuga, 2x carota)
|
||||
- ✓ Raccolta end-dates before first frost
|
||||
|
||||
---
|
||||
|
||||
**Skill: orto-calendario** | Version 1.0 | Status: Production-Ready
|
||||
Loading…
Add table
Add a link
Reference in a new issue