Fase 5: Packaging orto-skills suite (test release)

Struttura distribuzione pronta:
- orto-skills-suite/INSTALL.sh — Script installazione automatica
- orto-skills-suite/README.md — Documentazione con lista skills
- orto-skills-suite/orto-init/SKILL.md (9.4 KB)
- orto-skills-suite/orto-onboarding/SKILL.md (8.5 KB)
- orto-skills-suite/references/colture_it.md (7.6 KB)
- orto-skills-suite/references/qa_checklist_it.md (6.1 KB)
- Symlink: orto-init/references → ../references
- Symlink: orto-onboarding/references → ../references

Test release: 2 skills + 2 references pronte per installazione.
Prossime: orto-agronomo, orto-calendario, orto-fitopatologo, etc.
This commit is contained in:
AgentePotente 2026-03-07 10:25:02 +01:00
parent 5dea379692
commit b8315d21e2
8 changed files with 1186 additions and 0 deletions

View file

@ -0,0 +1,331 @@
---
name: orto-onboarding
description: Raccogliere dati essenziali per configurare orto comunitario/domestico attraverso 5 blocchi di questionario markdown. Usare quando: (1) nuovo utente completa profilo orto, (2) aggiornare configurazione esistente, (3) validare completezza dati prima di generare piano colture. Output: 5 blocchi questionario compilati, GardenConfig aggiornato, CommunityProfile, audit trail entry.
---
# Orto Onboarding — Raccolta Dati e Configurazione
Raccogliere dati essenziali per configurare orto attraverso 5 blocchi di questionario in markdown.
## Quando Usare Questa Skill
- **Dopo orto-init:** Progetto orto creato, ora serve configurare
- **Nuovo utente:** Utente finale compila profilo per la prima volta
- **Aggiornamento configurazione:** Dati cambiati (es. nuova esposizione, cambio preferenze)
- **Validazione pre-planning:** Verificare completezza dati prima di generare piano colture
## Input
| Input | Tipo | Obbligatorio | Esempio | Note |
|-------|------|--------------|---------|------|
| `orto_id` | String | Sì | `orto_roma_testaccio_001` | ID progetto esistente |
| `questionario_mode` | Enum | No | `chat` / `form` / `file` | Default: `chat` |
| `skip_blocks` | Array | No | `[2, 4]` | Blocchi da saltare (già compilati) |
### Validazione Input
- `orto_id`: deve esistere come directory in `Orti/`
- `questionario_mode`: solo `chat`, `form`, o `file`
- `skip_blocks`: numeri 1-5, solo se blocchi già compilati
## Processo
### Fase 1: Colloquio Utente (Blocco 1)
**Obiettivo:** Raccogliere localizzazione e contesto ambientale.
**File:** `dati/questionario/blocco_1_localizzazione.md`
**Domande (max 6):**
1. **Località** (città/area):
- Esempio: "Roma, quartiere Testaccio"
2. **Esposizione**:
- Opzioni: pieno sole / mezz'ombra / ombra
- Default: pieno sole (se utente non sa)
3. **Vento** (se noto):
- Opzioni: basso / medio / alto
- Default: medio (se utente non sa)
4. **Serra/tunnel** disponibili:
- Opzioni: sì / no
- Default: no
5. **Tipo suolo**:
- Opzioni: sabbioso / argilloso / limoso / misto / sconosciuto
- Default: misto (se utente non sa)
6. **Fonte acqua**:
- Opzioni: rubinetto / serbatoio / pozzo / altro
- Default: rubinetto
**Regole:**
- Se utente non sa: proporre default e segnare come "assunzione"
- Massimo 6 domande per blocco (linea guida UX)
**Output intermedio:** Blocco 1 compilato
---
### Fase 2: Layout e Spazio (Blocco 2)
**Obiettivo:** Raccogliere dati su spazio disponibile e vincoli fisici.
**File:** `dati/questionario/blocco_2_layout_spazio.md`
**Domande:**
1. **Superficie totale** (m²) o dimensioni aiuole (L x W):
- Esempio: "50 m²" oppure "4 aiuole da 2m x 5m"
2. **Numero aiuole e accessi**:
- Esempio: "4 aiuole, camminamenti 0.6m"
3. **Ombre principali** (muri, alberi, edifici):
- Esempio: "Muro sud, albero nord-ovest"
4. **Vincoli particolari**:
- Esempi: bambini piccoli, animali domestici, regole condominiali
**Output intermedio:** Blocco 2 compilato
---
### Fase 3: Irrigazione (Blocco 3)
**Obiettivo:** Raccogliere dati su sistema irrigazione e automazione.
**File:** `dati/questionario/blocco_3_irrigazione.md`
**Domande:**
1. **Modalità irrigazione**:
- Opzioni: manuale / goccia / aspersione / mista
2. **Numero zone** (anche stimato):
- Esempio: "2 zone" o "non so"
3. **Sensori disponibili**:
- Opzioni: umidità suolo / pioggia / temperatura-umidità / flow / nessuno
4. **Controller valvole/pompa**:
- Opzioni: sì (specificare marca/modello) / no
**Output intermedio:** Blocco 3 compilato
---
### Fase 4: Comunità e Dieta (Blocco 4)
**Obiettivo:** Raccogliere preferenze alimentari e profilo comunità.
**File:** `dati/questionario/blocco_4_comunita_dieta.md`
**Domande:**
1. **Numero persone** coinvolte:
- Esempio: 4
2. **Tipo dieta**:
- Opzioni: onnivoro / vegetariano / vegano / misto
3. **Verdure preferite** (max 10):
- Esempio: pomodoro, insalata, zucchina, basilico
4. **Verdure da evitare** (max 10):
- Esempio: melanzane, peperoni
5. **Allergie/intolleranze**:
- Esempio: "nessuna" o lista specifica
6. **Ricette ricorrenti** (opzionale, max 3):
- Esempio: pasta al pomodoro, insalata mista, parmigiana
**Output intermedio:** Blocco 4 compilato
---
### Fase 5: Obiettivi e Vincoli (Blocco 5)
**Obiettivo:** Raccogliere obiettivi, metodo coltivazione e vincoli operativi.
**File:** `dati/questionario/blocco_5_obiettivi_vincoli.md`
**Domande:**
1. **Metodo coltivazione**:
- Opzioni: biologico / tradizionale / IPM (integrato)
2. **Tempo manutenzione settimanale** (ore):
- Esempio: "5 ore/settimana"
3. **Priorità principali**:
- Opzioni: resa / semplicità / risparmio acqua / biodiversità / estetico
4. **Esperienza giardinaggio**:
- Opzioni: base / medio / avanzato
5. **Budget iniziale** (opzionale):
- Opzioni: basso / medio / alto
6. **Strumenti disponibili**:
- Esempio: vanga, rastrello, zappa, carriola
**Output intermedio:** Blocco 5 compilato
---
### Fase 6: Validazione e Generazione Config
**Obiettivo:** Validare completezza dati e generare GardenConfig + CommunityProfile.
**Azioni:**
1. **Verifica completezza:**
- Tutti i 5 blocchi compilati?
- Dati obbligatori presenti (località, superficie, dieta)?
2. **Genera `config/garden_config.md`:**
```markdown
# Garden Configuration
_Orto: <orto_id> | Ultima modifica: YYYY-MM-DD_
## Localizzazione
- **Provincia:** <da Blocco 1>
- **Regione:** <da Blocco 1>
- **Latitudine:** <da orto-init>
- **Longitudine:** <da orto-init>
- **Zona climatica:** <inferita da latitudine>
## Esposizione e Ambiente
- **Esposizione:** <da Blocco 1>
- **Vento:** <da Blocco 1>
- **Suolo:** <da Blocco 1>
- **Acqua:** <da Blocco 1>
- **Serra/tunnel:** <da Blocco 1>
## Spazio
- **Superficie totale:** <da Blocco 2>
- **Numero aiuole:** <da Blocco 2>
- **Camminamenti:** <da Blocco 2>
## Irrigazione
- **Tipo:** <da Blocco 3>
- **Zone:** <da Blocco 3>
- **Sensori:** <da Blocco 3>
- **Controller:** <da Blocco 3>
---
_Generato da: orto-onboarding_
```
3. **Genera `config/community_profile.md`:**
```markdown
# Community Profile
_Orto: <orto_id> | Ultima modifica: YYYY-MM-DD_
## Comunità
- **Numero persone:** <da Blocco 4>
- **Tipo dieta:** <da Blocco 4>
## Preferenze
- **Preferite:** <lista da Blocco 4>
- **Da evitare:** <lista da Blocco 4>
- **Allergie:** <da Blocco 4>
## Obiettivi e Vincoli
- **Metodo:** <da Blocco 5>
- **Tempo settimanale:** <da Blocco 5>
- **Priorità:** <da Blocco 5>
- **Esperienza:** <da Blocco 5>
---
_Generato da: orto-onboarding_
```
4. **Aggiorna audit trail:**
```markdown
## Entry #2: Onboarding Completato
**Timestamp:** YYYY-MM-DDTHH:MM:SSZ
**Agente:** orto-onboarding
**Evento:** Questionario 5 blocchi completato
**Dati raccolti:**
- Blocco 1: ✅ Localizzazione
- Blocco 2: ✅ Layout
- Blocco 3: ✅ Irrigazione
- Blocco 4: ✅ Comunità
- Blocco 5: ✅ Obiettivi
**Output:**
- GardenConfig generato
- CommunityProfile generato
- Pronto per Workflow 02 (Piano Stagionale)
---
```
**Output finale:** GardenConfig + CommunityProfile + audit entry
---
## Output
**File generati/aggiornati:**
- `dati/questionario/blocco_1_localizzazione.md` (compilato)
- `dati/questionario/blocco_2_layout_spazio.md` (compilato)
- `dati/questionario/blocco_3_irrigazione.md` (compilato)
- `dati/questionario/blocco_4_comunita_dieta.md` (compilato)
- `dati/questionario/blocco_5_obiettivi_vincoli.md` (compilato)
- `config/garden_config.md` (generato)
- `config/community_profile.md` (generato)
- `log/audit_trail.md` (aggiornato)
**Formato:** Markdown strutturato
**Stato:** Progetto pronto per Workflow 02 (Piano Stagionale)
---
## References
*Nessun reference richiesto* — Skill auto-contenuta (raccolta dati).
---
## Note
**Edge cases gestiti:**
- **Utente non sa rispondere:** Proporre default e segnare come "assunzione"
- **Dati parziali:** Permette compilazione graduale (salva stato parziale)
- **Modifiche successive:** Sovrascrive file esistenti (backup automatico opzionale)
**Limitazioni:**
- Non valida coerenza incrociata (es. superficie vs. numero aiuole)
- Non traduce preferenze in colture (compito di orto-agronomo)
**Avvertenze:**
- ⚠️ **Default:** Se utente accetta default, verificare in fase di planning
- ⚠️ **Assunzioni:** Marcate come tali, da confermare con esperienza reale
---
_Aggiornato: 2026-03-07 | Versione: 1.0_