orto-skills/build/orto-orchestratore/SKILL.md
Noe 08a6ffe058 🌱 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.
2026-03-06 20:25:01 +01:00

392 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: orto-orchestratore
description: Orchestrate multi-skill workflow, resolve conflicts between plans, validate data completeness, and merge into unified PlanBundle. Use when: (1) running full seasonal planning pipeline end-to-end, (2) handling conflicts (irrigation zone vs. consociations, calendar task vs. weather forecast), (3) ensuring QA checks pass before finalizing, (4) generating weekly operational briefing for users. Outputs: Merged PlanBundle (master markdown document) with all plans integrated, audit log, weekly briefing ready for publication.
---
# Orto Orchestratore — Master Workflow Orchestration
Coordinate all planning skills, resolve conflicts, validate constraints, merge into unified plan.
## When to Use This Skill
- **Full planning:** After onboarding, run complete pipeline to generate master plan
- **Weekly briefing:** Merge calendario + meteo-decisioni + current status → actionable weekly task list
- **Conflict resolution:** When skills produce conflicting recommendations
- **Plan review:** QA validation before publishing plan to user
## Process
### Phase 1: Pre-Flight Checklist
**Verify all prerequisite skills are complete:**
```
✓ orto-init: Garden project created, config registered
✓ orto-onboarding: GardenConfig + CommunityProfile complete and validated
✓ orto-agronomo: Piano colture annuale completed
✓ orto-calendario: Calendario operativo (weekly tasks) completed
✓ orto-irrigazione: Sistema irrigazione designed
✓ orto-layout: Aiuole assigned, zones defined
✓ orto-meteo-decisioni: Weekly forecast & decisions available
If ANY skill incomplete → PAUSE and notify user (missing data)
```
### Phase 2: Conflict Detection & Resolution
**Check for known conflict patterns:**
| Conflict Type | Detection | Resolution Policy |
|---------------|-----------|-------------------|
| **Irrigation zone vs. Consociations** | Crop A (ZONA ALTA) + Crop B (ZONA BASSA) same bed | Split bed OR adjust watering (ZONA ALTA priority due stress) |
| **Calendar task vs. Weather** | Task "Trapianto" scheduled Tue, wind > 8kn | Auto-reschedule +2 gg (contact user) |
| **Layout accessibility vs. Space** | Path < 0.5m needed for accessibility | Reoptimize layout (may reduce usable area) |
| **Water availability vs. Irrigation plan** | Total water need > available | Reduce crop area OR shift to drought-tolerant crops |
| **Area too small vs. Diet** | Community needs > feasible harvest | Suggest successions, off-season storage |
**Resolution logic:**
```
CONFLICT: A1 (Pomodoro ALTA) + Basilico (MEDIO) same bed?
→ Check: Can adapt watering?
→ ALLOW (Basilico tolera extra water; Pomodoro critical)
→ Flag: "Basilico may over-irrigate; monitor"
CONFLICT: Trapianto task Tue, vento 8kn?
→ Check: orto-meteo-decisioni says DEFER
→ AUTO-RESCHEDULE: Trapianto → Thursday +2 gg
→ NOTIFY: User reason + new date
CONFLICT: Path 0.4m (wheelchair needs 0.7m)?
→ Check: Critical accessibility?
→ REOPTIMIZE: Shift beds, sacrifice ~5% usable area
→ OR: Escalate to user (accept smaller accessible area)
```
### Phase 3: Data Validation (QA Checklist)
**Run comprehensive checks:**
| Check | Rule | Status | Fix |
|-------|------|--------|-----|
| **Crop diversity** | ≥4 groups (Solanaceae, Brassica, Legume, Leafy, Aromatica) | PASS | ✓ |
| **Nutritional balance** | Diet profile coverage ≥80% | PASS | ✓ |
| **Water adequacy** | Planned rainfall + irrigation ≥ crop demand | WARN | ⚠️ Summer deficit 15%; mitigation: mulching |
| **Rotation consistency** | No same family 2+ years per bed | PASS | ✓ |
| **Accessibility** | Paths ≥ requirement (if needed) | PASS | ✓ |
| **Maintenance time** | Total weekly hours ≤ available | PASS | ✓ |
| **Consociations** | % positive > antagonismi | PASS | ✓ 85% positive |
| **Forecast accuracy** | Weather data source current | PASS | ✓ wttr.in (3-5 day high conf.) |
**Summary:** QA SCORE = 0.92 (Very Good). Proceed to merge.
### Phase 4: Merge Data Sources
**Aggregate outputs from all skills into unified markdown structure:**
**File:** `dati/PlanBundle_Master.md`
```markdown
# PLAN BUNDLE — [ORTO_ID] — [YEAR]
**Generated:** [TODAY]
**Confidence:** 0.92 (Very Good)
**Status:** Ready for Publication
---
## 1. GARDEN CONFIGURATION
(Copy from GardenConfig)
- Location: [PROVINCIA], [REGIONE]
- Area: [AREA] m²
- Zone: [ZONE]
- Soil: [SOIL]
- Sun: [HOURS] h/day
## 2. COMMUNITY PROFILE
(Copy from CommunityProfile)
- Persone: [N]
- Dieta: [DIET_LIST]
- Esperienza: [LEVEL]
- Tempo: [HOURS]/settimana
- Accessibility: [NEEDS]
## 3. CROP PLAN
(Excerpt from Piano Colture Annuale)
- Total crops: 12 varietà
- Area allocato: 25 m²
- Est. yield: 120 kg/stagione
- Rotazione: Multi-year plan included
## 4. LAYOUT PLAN
(Excerpt from Aiuole Dimensioni)
- Beds: 4 (2 rialzate + 2 file)
- Zone Water: 3 (ALTA, MEDIA, BASSA)
- Paths: Main 0.7m, side 0.5m
- Accessibility: ✓ Conforme
## 5. IRRIGATION SYSTEM
(Excerpt from Sistema Irrigazione)
- Emitters: Drip + microsprayers
- Zones: 3 (ALTA/MEDIA/BASSA)
- Baseline: Daily (ALTA) ~ 2-3x/sett (BASSA)
- Automation: [Timer/Smart]
## 6. SEASONAL CALENDAR
(Link to Calendario Operativo)
- Weekly tasks: 52 weeks × avg 3-5 tasks = ~200 annual tasks
- Meteo-sensitive tasks: ~40 tasks (tagged for rescheduling)
- Critical dates: 12 (transplants, harvests)
## 7. DISEASE PREVENTION
(Excerpt from 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
```
### Phase 5: User Notification & Publishing
**Generate summary report:**
```markdown
# ✅ PIANO COMPLETO — [ORTO_ID]
**Buongiorno [USER]!**
Il tuo orto **[ORTO_NAME]** è 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
- [ ] Irrigazione schedule adjustments
- [ ] Allerte problemi
## Domande?
Se qualcosa non è chiaro, contatta l'agronomo. Buon orto! 🌱
---
**Piano generato:** [TODAY]
**Confidence:** Very Good (92%)
**Ultima revisione:** [AUTO-DATE_NEXT_WEEK]
```
### Phase 6: Weekly Briefing Integration
**Every Monday, generate integrated briefing:**
```markdown
# 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]
```
---
## Conflict Resolution Examples
### Example 1: Irrigation vs. Consociations
**Conflict:** A1 layout puts Pomodoro (ZONA ALTA, daily) + Basilico (MEDIO, 3x/sett)
**Resolution:**
- Option A: Split beds (separate ZONA ALTA + MEDIA) → But reduces usable area
- Option B: Accept mixed zone → Keep in same bed, adapt watering (ALTA priority)
- **RECOMMENDATION:** Option B (Basilico tolerates extra water; Pomodoro critical)
- **MITIGATION:** Flag "Watch for basilico over-watering; adjust on-the-fly if wilt + root smell"
### Example 2: Calendar vs. Weather
**Conflict:** "Trapianto Pomodoro Tue" scheduled; orto-meteo-decisioni says "Vento 8kn Tue, DEFER"
**Resolution:**
- Auto-reschedule: Trapianto → Thursday +2 gg (vento cala, temp stable)
- Notify user: "Trapianto rimandato Tue→Thu (wind risk). New: Giovedì 10 Apr 9am"
- Update calendar + audit trail
### Example 3: Water Availability vs. Irrigation Plan
**Conflict:** Total water need (10,000 L/season) > Available (8 m³ = 8,000 L if constrained)
**Resolution:**
- Reduce irrigation frequency (use deficit irrigation) → Risk: crop stress
- Add rain capture tank (+100 L) → Marginal
- Shift to drought-tolerant crops (Carota, Cipolla, Legume) → Reduce Pomodoro area by 30%
- **RECOMMENDATION:** Accept 15% water deficit; use heavy mulching + soil compost (improves retention)
---
## Error Handling
| Error | Fallback |
|-------|----------|
| Skill output missing | Use previous year plan (if available) or rule-based fallback |
| Conflicting recommendations | List top 3 options, let user choose |
| QA failure (critical) | DO NOT PUBLISH; flag and request expert review |
## Assumptions
1. All predecessor skills have completed
2. Data integrity: no corrupted markdown files
3. Conflict resolution policies documented and tuned
4. User notification channel available (email/chat)
## Validation Checklist
- ✓ All skills outputs loaded and parsed
- ✓ Conflicts identified and resolved
- ✓ QA score ≥ 0.70 (acceptable)
- ✓ Merged PlanBundle coherent and complete
- ✓ Weekly briefing generated and actionable
- ✓ Audit trail documented
- ✓ User notification ready
---
**Skill: orto-orchestratore** | Version 1.0 | Status: Production-Ready