orto-skills/SKILL_DEVELOPMENT_PLAN.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

285 lines
9.2 KiB
Markdown

# Orto Skills Development Plan
**Start Date:** 2026-03-06
**Status:** Fase 1 in Progress
**Target:** 9 skill packaggiati, testati, ready to distribution
---
## Skill Development Queue
### Sprint 1: Foundation Skills (Giorni 1-2)
#### [1] orto-init ⏱️ Starting
**Purpose:** Initialize new garden project
**Source:** Workflow 00 + init_new_orto.py script
**Status:** Reading sources
**Complexity:** Medium (scaffolding + registration)
**Deliverables:**
- [ ] SKILL.md drafted
- [ ] References collected
- [ ] Scripts bundled
- [ ] Test case: init test garden
---
#### [2] orto-onboarding ⏱️ Queued
**Purpose:** Collect garden profile via 5 questionnaire blocks
**Source:** Workflow 01 + allegati/A_questionario_utente.md
**Complexity:** Medium (validation + guidance)
**Deliverables:**
- [ ] SKILL.md with 5-block flow
- [ ] References: blocco templates + validation rules
- [ ] Test case: complete onboarding flow
---
### Sprint 2: Decision Logic Skills (Giorni 2-3)
#### [3] orto-agronomo ⏱️ Queued
**Purpose:** Plan crop selection + rotations
**Source:** Agent 02 spec + knowledge base
**Complexity:** High (decision tree + consociations)
**Deliverables:**
- [ ] SKILL.md with selection logic
- [ ] References: colture_it.md (varieties, parameters, consociations)
- [ ] References: rotazione_regole.md
- [ ] Test case: select crops for 3 scenarios
---
#### [4] orto-calendario ⏱️ Queued
**Purpose:** Generate seasonal calendar (IT-regional)
**Source:** Agent 03 spec + clima zones
**Complexity:** High (frost dates, succession, meteo-sensitivity)
**Deliverables:**
- [ ] SKILL.md with calendar logic
- [ ] References: calendario_it.md (frost dates per region, planting windows)
- [ ] References: task_templates.md (metadata, meteo-tags)
- [ ] Test case: calendar for Nord/Centro/Sud region
---
#### [5] orto-irrigazione ⏱️ Queued
**Purpose:** Design irrigation zones + automation
**Source:** Agent 05 spec + Workflow 05
**Complexity:** High (multi-zone, sensors, meteo-aware)
**Deliverables:**
- [ ] SKILL.md with zoning + baseline logic
- [ ] References: irrigazione_parametri.md (ET, Kc, thresholds)
- [ ] References: sensori_configurazione.md
- [ ] Test case: design 3-zone system
---
### Sprint 3: Analysis & Integration Skills (Giorni 3-4)
#### [6] orto-meteo-decisioni ⏱️ Queued
**Purpose:** Weather → operational decisions
**Source:** Agent 11 spec + Weather decision logic
**Complexity:** Medium (API integration + thresholds)
**Deliverables:**
- [ ] SKILL.md with decision tree
- [ ] References: meteo_soglie.md (wind, rain, frost, heat thresholds)
- [ ] Test case: apply meteo decisions to calendar
---
#### [7] orto-fitopatologo ⏱️ Queued
**Purpose:** Diagnose diseases + recommend treatments
**Source:** Agent 04 spec + treatment library
**Complexity:** High (diagnostic tree + safety checks)
**Deliverables:**
- [ ] SKILL.md with diagnostic flow
- [ ] References: malattie_sintomi.md (symptoms → pathogen)
- [ ] References: trattamenti_biologici.md (treatments, DPI, timing, efficacy)
- [ ] Test case: diagnose 3 common problems
---
#### [8] orto-layout ⏱️ Queued
**Purpose:** Design beds + consociations
**Source:** Agent 06 spec
**Complexity:** Medium-High (geometric + agronomic)
**Deliverables:**
- [ ] SKILL.md with bed layout logic
- [ ] References: layout_consociazioni.md (consociation matrix, bed sizing)
- [ ] References: accessibilita_guidelines.md
- [ ] Test case: design 2 different layouts
---
### Sprint 4: Orchestration (Giorno 4)
#### [9] orto-orchestratore ⏱️ Queued
**Purpose:** Coordinate all skills + resolve conflicts
**Source:** Agent 01 spec + Orchestration rules
**Complexity:** Very High (conflict resolution + validation)
**Deliverables:**
- [ ] SKILL.md with orchestration flow
- [ ] References: conflitti_risoluzione.md (conflict matrix + policies)
- [ ] References: qa_checklist.md (validation rules)
- [ ] Test case: full planning pipeline init → onboarding → skills → merge
---
## Shared References Library
**Location:** `/home/noe/.openclaw/workspace/orto-skills/references/`
These are shared across multiple skills. Extract once, reuse everywhere.
### Knowledge Base Files (To Extract)
- [ ] **colture_it.md** (500+ lines)
- Varietà coltivabili in IT
- Cicli colturali, esigenze idriche, nutrienti, spaziatura
- Famiglie botaniche (per rotazione)
- Rese indicative (min/typ/max)
- Esempi consociazioni
- [ ] **calendario_it.md** (200+ lines)
- Frost dates per region (Nord: 25 aprile, Centro: 15 aprile, Sud: 1 aprile)
- Seasonal windows per coltura
- Length of season per macro-zone
- Succession windows (es: lattuga primavera, successiva estate se semenzaio agostano)
- [ ] **malattie_trattamenti.md** (300+ lines)
- Symptom → pathogen mapping
- Biological treatments (neem oil, sulfur, copper, beneficial insects, etc.)
- DPI required, timing, efficacy %
- Safety interlocks (wind, rain, harvest carency)
- [ ] **irrigazione_parametri.md** (200+ lines)
- ET0 formulas / lookup tables
- Kc per coltura e fase
- Water need classes (basso, medio, alto)
- Sensor thresholds (umidità suolo min/max %)
- Baseline watering schedules per metodo (goccia, spruzzatore, sommersione)
- [ ] **consociazioni_layout.md** (200+ lines)
- Companion planting matrix (positive/negative combinations)
- Bed sizing recommendations (larghezza, lunghezza, profondità)
- Row spacing, plant spacing per coltura
- Pathway width (accessibilità)
- Sun exposure requirements (full sun, partial, shade)
- [ ] **meteo_soglie.md** (100+ lines)
- Wind speed thresholds (no spray if > 5kn, transplant risky > 8kn)
- Rain thresholds (skip watering if rain > 10mm in 24h forecast)
- Frost alerts (temperature < 0°C for frost-sensitive crops)
- Heat stress (temperature > 35°C, increase irrigation)
- [ ] **conflitti_risoluzione.md** (150+ lines)
- Irrigation zone vs. consociations → prioritize water stress avoidance
- Calendar task vs. weather → defer if risky conditions
- Layout vs. irrigation zone → regrid if mismatch
- etc. (conflict resolution policies)
- [ ] **qa_checklist.md** (100+ lines)
- Validation rules for PlanBundle
- Min crop diversity (% of nutritional groups)
- Water adequacy (total availability vs. plan demand)
- Nutrient balance (NPK coverage)
- Crop rotation conflicts
- etc.
---
## Development Environment Setup
### Directory Structure
```
orto-skills/
├── SKILL_DEVELOPMENT_PLAN.md # This file
├── references/ # Shared knowledge base
│ ├── colture_it.md
│ ├── calendario_it.md
│ ├── malattie_trattamenti.md
│ ├── irrigazione_parametri.md
│ ├── consociazioni_layout.md
│ ├── meteo_soglie.md
│ ├── conflitti_risoluzione.md
│ └── qa_checklist.md
├── scripts/
│ ├── init_new_orto_bundled.sh # Bundled from framework
│ └── test_framework_extraction.py
├── build/
│ ├── orto-init/ # Skill folder (will be packaged)
│ │ ├── SKILL.md
│ │ ├── references/
│ │ ├── scripts/
│ │ └── assets/
│ ├── orto-onboarding/
│ ├── ...
│ └── orto-orchestratore/
└── test/
└── integration_tests.md
```
---
## Extraction & Normalization Tasks
**Fase 1 (TODAY):** Extract knowledge base from framework
- [ ] Parse `docs/agents/02_agronomo_colture.md` → colture_it.md
- [ ] Parse `docs/agents/03_stagionalita_calendario.md` → calendario_it.md
- [ ] Parse `docs/agents/04_fitopatologo_trattamenti.md` → malattie_trattamenti.md
- [ ] Parse `docs/agents/05_irrigazione_automazione.md` → irrigazione_parametri.md
- [ ] Parse `docs/agents/06_layout_zoning.md` → consociazioni_layout.md
- [ ] Parse `docs/agents/11_weather_intelligence_agent.md` → meteo_soglie.md
- [ ] Parse `docs/agents/01_orchestratore_planner.md` + `docs/workflows/` → conflitti_risoluzione.md
- [ ] Parse `docs/agents/10_qa_safety_agent.md` → qa_checklist.md
---
## Testing Strategy
### Unit Tests (Per Skill)
- Input examples from framework docs
- Validate output schema matches spec
- Check edge cases & fallbacks
### Integration Test
- Full pipeline: init → onboarding → {agronomo, calendario, irrigazione} → orchestratore → merge
- Validate conflicts resolved correctly
- Check PlanBundle completeness
### Smoke Test (One Garden)
- Real initialization of test garden
- Verify markdown files created and readable
- Confirm no blocking errors
---
## Milestones & Timeline
| Milestone | Target | Status |
|-----------|--------|--------|
| Fase 1 Complete (Prep + Refs) | EOD Today | ⏱️ In Progress |
| Skill #1-2 Drafted | EOD Tomorrow | ⏱️ Queued |
| Skill #3-5 Drafted | Day 3 | ⏱️ Queued |
| Skill #6-9 Drafted | Day 4 | ⏱️ Queued |
| All Skills Tested | Day 5 | ⏱️ Queued |
| Packaging + Distribution | Day 6 | ⏱️ Queued |
---
## Notes
- Maintain Italian language throughout (domain-local, as decided)
- Each skill SKILL.md < 500 lines (enforce progressive disclosure)
- References are shared; extract once, link many times
- Scripts bundled in skill, not external
- All outputs are markdown (readable, editable, versionable)