orto-skills/build/orto-agronomo/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

8.9 KiB
Raw Blame History


name: orto-agronomo description: Select and plan crops for annual garden schedule based on diet, space, climate, and agronomic principles. Use when: (1) generating crop selection matching community diet preferences and nutritional balance, (2) applying companion planting and crop rotation rules, (3) estimating yields and planning succession timings, (4) considering regional climate and seasonal windows. Outputs: Piano colture annuale (crop plan markdown) with varieties, sowing dates, spacing, water class, consociations, expected yields.

Orto Agronomo — Crop Selection & Planning

Select crops and generate annual crop plan based on community preferences, climate, space, and agronomic best practices.

When to Use This Skill

  • After onboarding: User profile (GardenConfig + CommunityProfile) is complete
  • Crop selection: Choose vegetables matching diet, space, experience level
  • Seasonal planning: Map crops to planting windows (frost dates, temperature requirements)
  • Rotation planning: Ensure family rotation over years to prevent pest/disease buildup

Process

Phase 1: Filter Crops by Constraints

Apply filters in sequence:

  1. Climate zone filter: (From GardenConfig)

    • Filter colture_it.md by macro-zone (nord/centro/sud)
    • Keep only crops suitable for zone's frost dates and season length
  2. Sun exposure filter: (From GardenConfig)

    • Full sun required (6-8h): Pomodoro, Peperone, Zucchina, Melone, Mais, Carota
    • Partial sun (4-6h): Cavolo, Lattuga, Spinacio, Carota
    • Shade tolerant (< 4h): Lattuga, Spinacio (limited)
  3. Space filter: (From GardenConfig)

    • area < 20m²: small + fast-growing (Lattuga, Spinacio, Rucola, Insalata, Erbe)
    • 20-50m²: medium + diverse (+ Cavolo, Fagiolo, Basilico)
    • 50m²: large + heavy feeders possible (+ Pomodoro, Peperone, Zucchina, Mais)

  4. Water availability filter: (From GardenConfig)

    • Acqua limitata (< 150 mm): Carota, Cipolla, Spinacio, Pois, Fagiolo
    • Acqua media: Lattuga, Basilico, Cavolo, Broccoli
    • Acqua abbondante: Pomodoro, Peperone, Zucchina, Melone, Cocomero
  5. Diet preference filter: (From CommunityProfile)

    • Include all listed preferenze_colture
    • Exclude all colture_evitare
    • Bias toward diet profile (vegano → legumi; onnivoro → diverse)
  6. Experience filter: (From CommunityProfile)

    • Esperienza "nessuna": Filter for robust, forgiving crops (Lattuga, Carota, Zucchina, Basilico, Cipolla)
    • Esperienza "dilettante": Open more options
    • Esperienza "esperto": Allow challenging crops (Melanzana, Melone, etc.)

Phase 2: Candidate Crop List

Output: Lista candidate con score confidence

## Colture Candidate (Ordinate per Probabilità)

| # | Coltura | Varietà Suggeri | Ciclo (gg) | Acqua | Spazio | Confidence | Note |
|----|---------|-----------------|-----------|-------|--------|------------|------|
| 1 | Pomodoro | San Marzano, Ciliegia | 80 | Medio-Alto | Medio | 0.95 | Preferenza esplicita |
| 2 | Basilico | Basilico Genovese | 60 | Medio | Piccolo | 0.90 | Dieta; consociazione pomodoro |
| 3 | Lattuga | Romana | 60 | Basso | Piccolo | 0.88 | Succesioni; facile |
| ... | ... | ... | ... | ... | ... | ... | ... |

Phase 3: Build Annual Crop Plan

For each candidate crop:

  1. Map to planting windows: (From calendario_it.md)

    • Find suitable planting dates for zone
    • Consider frost dates, temperature requirements
    • Identify succession opportunities (2-3x/anno se ciclo breve)
  2. Assign rotation groups: (From colture_it.md > Famiglia)

    • Track family botanica (Solanaceae, Brassicaceae, etc.)
    • Ensure no same-family crop on same bed for 2-3 years
    • Plan next-year rotation if applicable
  3. Estimate yields: (From colture_it.md > Rese)

    • Use min/typ/max yields per crop
    • Adjust for area, experience, climate
    • Calculate total production volume (kg/stagione)
  4. Assign spatial layout input: (For orto-layout skill)

    • Spacing requirements per crop
    • Water zoning class (basso/medio/alto)
    • Sun exposure requirements
    • Companion groups (positive consociazioni)

Phase 4: Output Piano Colture Annuale

File: dati/colture/piano_colture_annuale.md

Structure:

# Piano Colture Annuale — [ORTO_ID]

**Zona Climatica:** [ZONE]  
**Area disponibile:** [AREA] m²  
**Comunità:** [DIET] | [N_PERSONE] pp  
**Esperienza:** [LEVEL]  

---

## Riepilogo Stagionale

### Primavera (Mar-Mag)
- Lattuga (marzo, successioni)
- Spinacio (aprile)
- Pomodoro (trapianto post-gelo)
- Basilico (maggio, post-freddo)

**Totale area occupata:** XX m²  
**Stima rese:** XX kg

### Estate (Giu-Ago)
- Pomodoro (raccolta continua)
- Peperone (raccolta continua)
- Zucchina (raccolta continua)
- Lattuga estiva (ombra parziale)
- Fagiolo rampicante (successione giugno)

### Autunno (Set-Nov)
- Cavolo/Broccoli (trapianto agosto)
- Lattuga/Spinacio (successioni)
- Carota (raccolta da agosto)
- Ravanello (rapido)

### Inverno (Dic-Feb)
- Pisello/Fava (semina autunno, raccolta primavera)
- Riposo relativo

---

## Dettagli Colture

### 1. Pomodoro

| Proprietà | Valore |
|-----------|--------|
| **Varietà consigliata** | San Marzano (determinato), Ciliegia (indeterminato), Cuor di Bue |
| **Ciclo** | 70-90 gg (post-trapianto) |
| **Trapianto** | Post-[LAST_FROST], min T notte 15°C |
| **Raccolta** | [ZONE]-specific dates |
| **Esigenza luce** | Pieno sole (6-8h) |
| **Esigenza acqua** | Medio-Alto; classe: **ALTO** |
| **Spaziatura** | 40-60cm |
| **Stima resa** | 3-6 kg/m² |
| **Consociazioni** | ✅ Basilico (classico), Carota, Cipolla |
| **Famiglia** | Solanaceae (Rotazione: attendere 2-3 anni) |
| **Malattie** | Peronospora, Oidio, Verticillium; Bio: Rame, Zolfo, Neem |
| **Note** | Tutore necessario (bambù, spago), cesellatura regolare |

**Piano temporale (ZONA CENTRO, es. Roma):**
- Semina indoor: Gen-Feb
- Trapianto: Post-15 aprile
- Prima raccolta: Giugno
- Raccolta massima: Lug-Ago
- Fine raccolta: Ott (gelo)

---

### 2. Basilico

| Proprietà | Valore |
|-----------|--------|
| **Varietà** | Basilico Genovese (dolce), Basilico Rosso, Thai |
| **Ciclo** | 45-60 gg |
| **Semina** | Maggio post-freddo, diretto o trapianto |
| **Raccolta** | Continua (cesellatura) giu-set |
| **Esigenza acqua** | Medio; classe: **MEDIO** |
| **Spaziatura** | 20-25cm |
| **Stima resa** | 0.5-1.5 kg/m² |
| **Consociazioni** | ✅ Pomodoro (benefici reciproci), Peperone |
| **Famiglia** | Lamiaceae |
| **Note** | Termofilo; stop < 15°C; ama sole |

---

### [Continua per altre colture candidati...]

---

## Rotazione Pluri-Annuale

**Anno 1:** Pomodoro (A1), Cavolo (A2), Legume (A3)  
**Anno 2:** Cavolo (A1), Legume (A2), Pomodoro (A3)  
**Anno 3:** Legume (A1), Pomodoro (A2), Cavolo (A3)  

---

## Stima Nutrizionale

**Comunità:** [N_PERSONE] pp, Dieta [DIET]

**Target nutritivo:** [Calcolo dieta giornaliera × giorni stagione]

**Produzione stimata:** [TOT kg] / stagione

**Allineamento:**  Sufficiente /  Marginal /  Insufficiente

*(Da migliorare con maggiore area/succesioni)*

---

## Prossimi Passi

1.  **orto-calendario:** Generare timeline settimanale per task
2.  **orto-layout:** Assegnare colture a aiuole con consociazioni
3.  **orto-irrigazione:** Definire water zoning per zone acqua alta/media/bassa

---

**Data generazione:** [TODAY]  
**Confidence globale:** [AVG_CONFIDENCE]  
**Última revisione:** [AUTO_UPDATE_READY]

References

Consulted:

  • references/colture_it.md — Crop database, varieties, parameters, companions, rotation
  • references/calendario_it.md — Frost dates, planting windows per zone

Scripts (Optional)

Python script (optional) to parse colture_it.md and filter candidates:

scripts/filter_crops_by_constraints.py \
  --area <area_mq> \
  --zone <nord|centro|sud> \
  --sun <h_per_day> \
  --diet <list> \
  --experience <none|dilettante|esperto>

Error Handling

Error Fallback
No crops pass filters Suggest broadening constraints; provide default robust list
Confidence < 0.5 on selection Flag as experimental; suggest expert consultation
Area too small for diet needs Suggest successions, compact varieties, or phased approach
Water insufficient Bias toward drought-tolerant crops; add compost/mulch

Assumptions

  1. CommunityProfile is complete and validated
  2. GardenConfig includes zone, area, sun, water availability
  3. Climate zone inference from GardenConfig is accurate
  4. Crop database (colture_it.md) is up-to-date

Validation Checklist

  • ✓ Crops match diet preferences and avoid lists
  • ✓ Crop rotation respected (no same family 2+ years)
  • ✓ Planting dates within frost windows
  • ✓ Space allocated does not exceed area
  • ✓ Companion planting positive groups coherent
  • ✓ Water class aligned with availability
  • ✓ Yields sum to reasonable target per community size

Skill: orto-agronomo | Version 1.0 | Status: Production-Ready