# Framework β†’ AgentSkills Translator **Piano di Sviluppo per Skill Generalizzata di Trasformazione** _Versione: 1.0 | Data: 2026-03-07 | Autore: AgentePotente_ --- ## 🎯 Obiettivo Creare una skill **`framework-translator`** che trasformi framework testuali eterogenei (come `orto_v1`) in un set di skills AgentSkills-compatibili, strutturate e pronte per la distribuzione. **Problema:** I framework sono spesso documenti complessi, multi-cartella, con strutture arbitrarie (agenti, workflow, knowledge, script, prompt). Trasformarli manualmente in AgentSkills richiede lavoro ripetitivo e conoscenza del formato target. **Soluzione:** Una skill che: 1. Analizza la struttura del framework input 2. Identifica entitΓ  trasformabili (agenti, workflow, knowledge) 3. Applica pattern di mappatura predefiniti 4. Genera skills AgentSkills-compatibili con struttura standardizzata 5. Produce references centralizzate e documentazione --- ## πŸ“Š Analisi del Caso di Studio: orto_v1 β†’ orto-skills ### Input: orto_v1 Framework ``` orto_v1/ β”œβ”€β”€ README.md # Panoramica framework β”œβ”€β”€ orti_registry.json # Registry centrale β”œβ”€β”€ docs/ β”‚ β”œβ”€β”€ 00_indice.md # Index documentazione β”‚ β”œβ”€β”€ 01_visione_e_requisiti.md # Visione prodotto β”‚ β”œβ”€β”€ 02_scope_e_assunzioni.md # Scope e assunzioni β”‚ β”œβ”€β”€ 03_architettura_multiagente.md # Architettura agenti (12) β”‚ β”œβ”€β”€ 04_contratti_e_messaggistica.md β”‚ β”œβ”€β”€ 05_sicurezza_privacy_affidabilita.md β”‚ β”œβ”€β”€ architettura_storage.md # Storage markdown β”‚ β”œβ”€β”€ agents/ # 12 agenti specializzati β”‚ β”‚ β”œβ”€β”€ 00_agent_index.md β”‚ β”‚ β”œβ”€β”€ 01_orchestratore_planner.md β”‚ β”‚ β”œβ”€β”€ 02_agronomo_colture.md β”‚ β”‚ β”œβ”€β”€ 03_stagionalita_calendario.md β”‚ β”‚ β”œβ”€β”€ 04_fitopatologo_trattamenti.md β”‚ β”‚ β”œβ”€β”€ 05_irrigazione_automazione.md β”‚ β”‚ β”œβ”€β”€ 06_layout_zoning.md β”‚ β”‚ β”œβ”€β”€ 07_nutrizione_consumi.md β”‚ β”‚ β”œβ”€β”€ 08_data_knowledge_manager.md β”‚ β”‚ β”œβ”€β”€ 09_ui_ux_agent.md β”‚ β”‚ β”œβ”€β”€ 10_qa_safety_agent.md β”‚ β”‚ β”œβ”€β”€ 11_weather_intelligence_agent.md β”‚ β”‚ └── 12_ops_integrazioni_agent.md β”‚ β”œβ”€β”€ workflows/ # 5 workflow end-to-end β”‚ β”‚ β”œβ”€β”€ 00_workflow_index.md β”‚ β”‚ β”œβ”€β”€ 00_init_orto.md β”‚ β”‚ β”œβ”€β”€ 01_onboarding.md β”‚ β”‚ β”œβ”€β”€ 02_piano_stagionale.md β”‚ β”‚ β”œβ”€β”€ 03_esecuzione_settimanale.md β”‚ β”‚ β”œβ”€β”€ 04_diagnosi_problemi.md β”‚ β”‚ └── 05_irrigazione_dinamica_meteo.md β”‚ β”œβ”€β”€ data/ # Data model β”‚ β”œβ”€β”€ schemas/ # JSON schemas β”‚ β”œβ”€β”€ gui/ # GUI specification β”‚ β”œβ”€β”€ skills/ # Skills catalog (17 skills) β”‚ β”‚ β”œβ”€β”€ 00_skills_overview.md β”‚ β”‚ └── 01_skill_catalog.md β”‚ β”œβ”€β”€ knowledge/ # Knowledge base β”‚ └── allegati/ # Templates + examples β”œβ”€β”€ prompts/ β”‚ β”œβ”€β”€ master_prompt_openclaw.md β”‚ β”œβ”€β”€ prompt_onboarding.md β”‚ β”œβ”€β”€ prompt_init_orto.md β”‚ └── prompt_demo_sessione_tipo.md └── scripts/ β”œβ”€β”€ README_SCRIPTS.md β”œβ”€β”€ init_new_orto.py β”œβ”€β”€ init_orto.sh β”œβ”€β”€ json_to_md_converter.py β”œβ”€β”€ sync_md_from_agents.py β”œβ”€β”€ register_orto.py β”œβ”€β”€ template_garden_config.md └── template_questionnaire_responses.md ``` ### Output: orto-skills Suite ``` orto-suite/ β”œβ”€β”€ 9 skills AgentSkills: β”‚ β”œβ”€β”€ orto-init/ # Da: Workflow 00 + init_new_orto.py β”‚ β”œβ”€β”€ orto-onboarding/ # Da: Workflow 01 + prompt_onboarding.md β”‚ β”œβ”€β”€ orto-agronomo/ # Da: Agente 02 + skill AGR-CROP-MIX β”‚ β”œβ”€β”€ orto-calendario/ # Da: Agente 03 + skill AGR-SEASONALITY β”‚ β”œβ”€β”€ orto-fitopatologo/ # Da: Agente 04 + skill PHYTO-DIAG + PHYTO-TREAT-BIO β”‚ β”œβ”€β”€ orto-layout/ # Da: Agente 06 + skill AGR-COMPANION β”‚ β”œβ”€β”€ orto-irrigazione/ # Da: Agente 05 + skill IRR-ZONING + IRR-SCHEDULING β”‚ β”œβ”€β”€ orto-meteo-decisioni/ # Da: Agente 11 + skill MET-IRR-DECISION β”‚ └── orto-orchestratore/ # Da: Agente 01 + QA-CONSISTENCY + merge workflow β”‚ β”œβ”€β”€ references/ (8 file, 88 KB) β”‚ β”œβ”€β”€ colture_it.md # Da: docs/knowledge/ + colture catalog β”‚ β”œβ”€β”€ calendario_it.md # Da: docs/workflows/ + stagionalitΓ  β”‚ β”œβ”€β”€ malattie_trattamenti.md # Da: docs/agents/04 + knowledge fitopatologia β”‚ β”œβ”€β”€ irrigazione_parametri.md # Da: docs/agents/05 + knowledge irrigazione β”‚ β”œβ”€β”€ consociazioni_layout.md # Da: docs/agents/06 + knowledge consociazioni β”‚ β”œβ”€β”€ meteo_soglie.md # Da: docs/agents/11 + knowledge meteo β”‚ β”œβ”€β”€ conflitti_risoluzione.md # Da: docs/03_architettura_multiagente.md (sez. conflitti) β”‚ └── qa_checklist.md # Da: Agente 10 QA & Safety β”‚ └── Symlink: ogni skill β†’ ../references (condivisi) ``` --- ## πŸ” Pattern di Trasformazione Distillati ### 1. **Agente β†’ Skill (Non 1:1)** | Pattern | Esempio | Note | |---------|---------|------| | **1 Agente β†’ 1 Skill** | Agente 02 (Agronomo) β†’ orto-agronomo | Caso ideale, quando agente Γ¨ auto-contenuto | | **1 Agente β†’ 1 Skill + References** | Agente 05 (Irrigazione) β†’ orto-irrigazione + irrigazione_parametri.md | Knowledge pesante estratta in references | | **2+ Agenti β†’ 1 Skill** | Agente 04 (Fitopatologo) + skill PHYTO-DIAG + PHYTO-TREAT-BIO β†’ orto-fitopatologo | Agenti correlati mergiati per coerenza | | **Agente + Workflow β†’ Skill** | Agente 01 (Orchestratore) + Workflow 02/03/04 β†’ orto-orchestratore | Orchestratore coordina workflow multipli | | **Workflow β†’ Skill** | Workflow 00 (Init) + init_new_orto.py β†’ orto-init | Workflow con script diventa skill operativa | | **Agente Eliminato** | Agente 08 (Data Manager), 09 (UI/UX), 12 (Ops) | Non essenziali per MVP, funzionalitΓ  assorbite | **Regola:** Non mappare 1:1. Raggruppa per **coerenza funzionale** e **minimizza skills** mantenendo separazione of concerns. ### 2. **Knowledge β†’ References Centralizzate** | Input Pattern | Output Pattern | |--------------|----------------| | `docs/knowledge/*.md` | `references/*.md` (1:1 o mergiato) | | `docs/agents/*/` (sezioni knowledge) | Estratte β†’ `references/*.md` | | `docs/skills/01_skill_catalog.md` | Mappato β†’ references da creare | | Tabelle, liste, parametri | Mantenuti in markdown strutturato | **Regola:** Tutto il knowledge **pesante** (>500 linee) o **condiviso** (usato da 2+ skills) β†’ references/. Skills leggono references on-demand. ### 3. **Workflow β†’ Fasi nel Corpo SKILL.md** | Input | Output | |-------|--------| | `docs/workflows/01_onboarding.md` | orto-onboarding: Fase 1-5 (blocchi questionario) | | `docs/workflows/02_piano_stagionale.md` | orto-agronomo: Fase 1-4 (filtra, candidate, costruisci piano) | | `docs/workflows/03_esecuzione_settimanale.md` | orto-calendario: Fase 1-3 (genera task, meteo-check, output) | **Regola:** Ogni workflow diventa una **sequenza di fasi** nel corpo della skill. Mantenere nomi fasi descrittivi (Fase 1: Filtra Colture per Vincoli). ### 4. **Scripts β†’ scripts/ nella Skill (Opzionale)** | Input | Output | Decisione | |-------|--------|-----------| | `init_new_orto.py` (20 KB) | Integrato in orto-init (logica inline) | Script semplice β†’ inline nel corpo | | `json_to_md_converter.py` | Non incluso | Utility una-tantum, non needed runtime | | `sync_md_from_agents.py` | Non incluso | QA tool, non needed runtime | **Regola:** Includere `scripts/` solo se: - Script Γ¨ **riutilizzabile** (eseguito multiple volte) - Script Γ¨ **deterministico** (no modifiche ambientali) - Script Γ¨ **piΓΉ efficiente** che riscriverlo ogni volta ### 5. **Storage Architecture β†’ Documentato in SKILL.md** | Input | Output | |-------|--------| | `docs/architettura_storage.md` | Sezione "Gestione Progetti & Registry" in orto-orchestratore + orto-init | | Struttura directory orto/ | Documentata in SKILL.md con tree markdown | | Registry JSON | Specificato formato + percorso in SKILL.md | **Regola:** La skill deve sapere **dove leggere/scrivere**. Documentare struttura directory e convenzioni naming nel corpo SKILL.md. ### 6. **Prompts β†’ Integrati o Eliminati** | Input | Output | |-------|--------| | `prompts/master_prompt_openclaw.md` | Non incluso (era prompt di generazione, non runtime) | | `prompts/prompt_onboarding.md` | Integrato in orto-onboarding (Fase 1: Raccolta Dati) | | `prompts/prompt_init_orto.md` | Integrato in orto-init (Input section) | **Regola:** Prompt che sono **template di input** β†’ integrati come sezioni Input nella skill. Prompt di **generazione framework** β†’ eliminati (non servono runtime). --- ## πŸ—οΈ Architettura della Skill `framework-translator` ### Struttura Proposta ``` framework-translator/ β”œβ”€β”€ SKILL.md # Istruzioni traduzione β”œβ”€β”€ scripts/ β”‚ β”œβ”€β”€ analyze_framework.py # Analizza struttura input β”‚ β”œβ”€β”€ map_entities.py # Mappa agenti/workflow β†’ skills β”‚ β”œβ”€β”€ extract_knowledge.py # Estrae knowledge β†’ references β”‚ β”œβ”€β”€ generate_skill.py # Genera SKILL.md da template β”‚ └── validate_output.py # Valida skills generate β”œβ”€β”€ references/ β”‚ β”œβ”€β”€ mapping_patterns.md # Pattern di mappatura (tabella sopra) β”‚ β”œβ”€β”€ skill_template.md # Template SKILL.md standardizzato β”‚ β”œβ”€β”€ agent_analysis_checklist.md # Checklist analisi agenti β”‚ └── quality_criteria.md # Criteri QA per skills generate └── assets/ └── example_outputs/ # Esempi: orto_v1 β†’ orto-skills ``` ### Frontmatter (Bozza) ```yaml name: framework-translator description: Trasformare framework testuali eterogenei (multi-cartella, multi-agente, workflow) in set di skills AgentSkills-compatibili. Usare quando: (1) convertire framework esistente in skills eseguibili, (2) standardizzare documentazione multi-agente in formato AgentSkills, (3) estrarre knowledge da framework e centralizzare in references, (4) generare pipeline di skills coordinate da orchestratore. Output: Cartella -skills/ con N skills AgentSkills-compatibili, references centralizzate, script INSTALL.sh, documentazione installazione. ``` --- ## πŸ“‹ Processo di Traduzione (Workflow della Skill) ### Fase 1: Analisi Framework Input **Obiettivo:** Capire struttura, entitΓ , dipendenze del framework input. **Input:** Percorso framework (es. `/path/to/framework/`) **Azioni:** 1. **Scansiona struttura directory** ```bash find -type f -name "*.md" | head -50 ``` 2. **Identifica cartelle chiave** - `agents/` o `agenti/` β†’ Agenti da trasformare - `workflows/` o `flussi/` β†’ Workflow da mappare - `knowledge/` o `docs/` β†’ Knowledge da estrarre - `scripts/` β†’ Script da valutare - `prompts/` β†’ Prompt da integrare 3. **Leggi file index/overview** - `agents/00_agent_index.md` o simile - `workflows/00_workflow_index.md` o simile - `README.md` del framework 4. **Estrai metadata agenti** Per ogni file agente: - Nome agente - Missione/responsabilitΓ  - Input/output (se specificati) - Skills richieste (se specificate) - Regole decisionali 5. **Estrai metadata workflow** Per ogni workflow: - Nome workflow - Trigger/condizioni - Fasi/step - Agenti coinvolti **Output:** `analysis_report.md` con: - Lista agenti (N totale, nomi, responsabilitΓ ) - Lista workflow (N totale, nomi, agenti coinvolti) - Knowledge base identificata (file, dimensioni, argomenti) - Scripts valutati (includere? sΓ¬/no + motivo) --- ### Fase 2: Mappatura EntitΓ  β†’ Skills **Obiettivo:** Decidere come trasformare agenti + workflow in skills. **Input:** `analysis_report.md` **Azioni:** 1. **Applica pattern di mappatura** (da references/mapping_patterns.md) - 1 Agente β†’ 1 Skill (se auto-contenuto) - 2+ Agenti β†’ 1 Skill (se correlati funzionalmente) - Workflow β†’ Skill (se operativo, con script) - Agente + Workflow β†’ Skill (se orchestrazione) 2. **Raggruppa per coerenza funzionale** ``` Esempio: - Agronomo Colture + Nutrizione & Consumi β†’ orto-agronomo (se overlap forte) - Fitopatologo + Trattamenti β†’ orto-fitopatologo (giΓ  uniti) - Irrigazione + Automazione β†’ orto-irrigazione (mantieni unito) ``` 3. **Identifica orchestratore** - Quale skill coordina le altre? - Di solito: Agente 01 (Planner/Orchestratore) + QA 4. **Identifica references necessarie** - Quali knowledge sono condivisi da 2+ skills? - Quali sono troppo pesanti per il corpo SKILL.md? **Output:** `mapping_plan.md` con: - Skills da generare (N totale, nomi, agenti/workflow di origine) - References da creare (N totale, nomi, contenuti) - Giustificazione decisioni di mappatura --- ### Fase 3: Estrazione Knowledge β†’ References **Obiettivo:** Centralizzare knowledge in file references condivisi. **Input:** `mapping_plan.md` + framework source files **Azioni:** 1. **Per ogni reference pianificata:** - Identifica file sorgente nel framework - Estrai contenuto rilevante (tabelle, liste, parametri) - Riformatta in markdown strutturato (TOC, sezioni, tabelle) - Normalizza naming (lowercase, underscore) 2. **Applica criterio di inclusion** - Includere: Dati fattuali, parametri, tabelle, regole - Escludere: Narrative, introduzioni lunghe, esempi ridondanti 3. **Crea symlink plan** - Quali skills useranno quale reference? - Documenta nel file reference (header: "Usato da: skill-X, skill-Y") **Output:** Cartella `references/` con N file `.md` --- ### Fase 4: Generazione Skills **Obiettivo:** Creare N skills AgentSkills-compatibili. **Input:** `mapping_plan.md` + `references/` + framework source **Azioni:** 1. **Per ogni skill pianificata:** a. **Genera frontmatter YAML** ```yaml name: description: ``` b. **Genera corpo SKILL.md** (usa template da references/skill_template.md) - **Quando Usare:** 3-5 scenari trigger - **Input:** Tabella input richiesti (nome, tipo, obbligatorio, esempio) - **Processo:** - Fase 1: (da workflow o agente) - Fase 2: - ... - **Output:** File/documento generato, formato, struttura - **Gestione Progetti:** (se applicabile) Struttura directory, registry - **References:** Elenco references usate con link c. **Integra script** (se deciso in Fase 2) - Copia script in `scripts/` della skill - Documenta uso nel corpo SKILL.md d. **Valida struttura** - Frontmatter presente e valido? - Corpo <500 linee (o references usate)? - References linkati esistono? 2. **Crea struttura skill** ``` / β”œβ”€β”€ SKILL.md β”œβ”€β”€ scripts/ (opzionale) └── README.md (opzionale, solo se utile per umani) ``` **Output:** Cartella `-skills/` con N sottocartelle skill --- ### Fase 5: Packaging e Documentazione **Obiettivo:** Rendere le skills pronte per distribuzione. **Input:** Cartella `-skills/` **Azioni:** 1. **Crea references centralizzate** - Sposta `references/` in root di `-skills/` - Crea symlink in ogni skill β†’ `../references` 2. **Genera INSTALL.sh** ```bash #!/bin/bash # Script installazione framework-skills SOURCE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" TARGET="$HOME/.openclaw/skills/-skills" echo "Installing -skills..." cp -r "$SOURCE/-suite" "$TARGET" echo "Installation complete!" ``` 3. **Genera README.md root** - Panoramica framework - Lista skills (N totale, nomi, descrizioni brevi) - Istruzioni installazione (3 metodi: script, manuale, chat-only) - Struttura directory 4. **Validazione finale** - Tutte le skills hanno SKILL.md valido? - Tutti i references linkati esistono? - INSTALL.sh funziona? - README.md chiaro? **Output:** Pacchetto pronto per distribuzione --- ## βœ… Criteri di QualitΓ  (QA Checklist) ### Per Ogni Skill Generata - [ ] **Frontmatter YAML valido** (name + description presenti) - [ ] **Descrizione trigger-specifica** (include "Usare quando:" con 3+ scenari) - [ ] **Corpo <500 linee** (o references usate appropriatamente) - [ ] **Fasi numerate e nominate** (Fase 1: , Fase 2: , ...) - [ ] **Output documentato** (file, formato, struttura) - [ ] **References linkati** (se usati, percorsi corretti) - [ ] **Niente JSON per dati** (solo markdown, tranne registry) - [ ] **Niente sezioni ridondanti** (no "When to Use" nel corpo se giΓ  in description) ### Per Ogni Reference - [ ] **TOC in header** (se >100 linee) - [ ] **Contenuto strutturato** (tabelle, liste, sezioni) - [ ] **Niente narrative** (solo dati fattuali, parametri, regole) - [ ] **Header con metadata** (Usato da: skill-X, skill-Y) - [ ] **Nome lowercase underscore** (es. `colture_it.md`) ### Per Pacchetto Complessivo - [ ] **Struttura ultra-semplice** (una cartella da copiare) - [ ] **Symlink funzionanti** (tutti risolti) - [ ] **INSTALL.sh testato** (esecuzione verificata) - [ ] **README.md chiaro** (installazione in 3 metodi) - [ ] **Niente file ridondanti** (no build/, no guide duplicate) - [ ] **Git-initialized** (ogni skill ha `.git/` se richiesto) --- ## πŸ§ͺ Piano di Test ### Test 1: Framework Semplice (1-2 agenti) **Input:** Framework minimale con 2 agenti + 1 workflow **Obiettivo:** Verificare mappatura base 1:1 **Criteri successo:** - 2 skills generate - 1 reference (se knowledge condiviso) - INSTALL.sh funziona --- ### Test 2: Framework Medio (5-7 agenti) **Input:** Framework con 5-7 agenti + 3 workflow + knowledge **Obiettivo:** Verificare raggruppamento agenti correlati **Criteri successo:** - 4-5 skills generate (alcuni merge) - 3-4 references centralizzate - Orchestratore identificato correttamente --- ### Test 3: Framework Complesso (10+ agenti) **Input:** orto_v1 o simile (12 agenti, 5 workflow, knowledge estesa) **Obiettivo:** Verificare scala completa **Criteri successo:** - 8-10 skills generate (merge ottimizzati) - 6-10 references - Conflitti gestiti (documentati in reference conflitti) - Pacchetto pronto per produzione --- ## πŸ“… Roadmap di Sviluppo ### Sprint 1: Core Infrastructure (2-3 sessioni) - [ ] Creare struttura skill `framework-translator` - [ ] Scrivere `references/mapping_patterns.md` (pattern distillati sopra) - [ ] Scrivere `references/skill_template.md` (template standardizzato) - [ ] Implementare `scripts/analyze_framework.py` - [ ] Testare su framework semplice (mock o reale) --- ### Sprint 2: Estrazione e Mappatura (3-4 sessioni) - [ ] Implementare `scripts/map_entities.py` - [ ] Implementare `scripts/extract_knowledge.py` - [ ] Scrivere `references/agent_analysis_checklist.md` - [ ] Testare su framework medio (5-7 agenti) - [ ] Raffinare pattern di mappatura basato su test --- ### Sprint 3: Generazione Skills (4-5 sessioni) - [ ] Implementare `scripts/generate_skill.py` - [ ] Scrivere `references/quality_criteria.md` - [ ] Implementare validazione output - [ ] Testare su orto_v1 (framework complesso) - [ ] Confrontare output con orto-skills manuali (gap analysis) --- ### Sprint 4: Packaging e Documentazione (2-3 sessioni) - [ ] Implementare `scripts/validate_output.py` - [ ] Automatizzare creazione symlink - [ ] Generare INSTALL.sh dinamico - [ ] Generare README.md dinamico - [ ] Documentare skill (corpo SKILL.md completo) - [ ] Test end-to-end su 2-3 framework diversi --- ### Sprint 5: Refinement e Production (2-3 sessioni) - [ ] Raccogliere feedback da test reali - [ ] Ottimizzare pattern di mappatura - [ ] Migliorare gestione edge cases - [ ] Scrivere esempi in `assets/example_outputs/` - [ ] Pubblicare skill (clawhub o manuale) --- ## πŸ”§ Edge Cases da Gestire ### 1. Framework Non-Standard **Problema:** Framework senza cartelle `agents/` o `workflows/` **Soluzione:** - Scansione euristica (cerca file con "agent", "workflow", "skill" nel nome) - Chiedi all'utente di identificare entitΓ  principali - Fallback: tratta ogni file `.md` come potenziale skill --- ### 2. Agenti con Overlap Funzionale Forte **Problema:** 2+ agenti con responsabilitΓ  quasi identiche **Soluzione:** - Rileva overlap (confronta descrizioni missione) - Suggerisci merge in skill unica - Documenta decisione in `mapping_plan.md` --- ### 3. Knowledge Molto Grande (>50 KB) **Problema:** Single reference file troppo pesante **Soluzione:** - Splitta per argomento (es. `colture_it.md` β†’ `colture_nord.md`, `colture_centro.md`, `colture_sud.md`) - Usa TOC dettagliato per navigazione - Documenta in SKILL.md quando leggere quale parte --- ### 4. Workflow con Dipendenze Cicliche **Problema:** Workflow A richiede output di B, B richiede output di A **Soluzione:** - Rileva cicli (grafo dipendenze) - Segnala all'utente (richiede refactoring framework) - Fallback: crea skill orchestratore che gestisce iterazione --- ### 5. Script con Dipendenze Esterne **Problema:** Script richiedono librerie Python non standard **Soluzione:** - Documenta dipendenze in `scripts/README.md` - Genera `requirements.txt` per la skill - Valuta se includere script o convertire logica in markdown --- ## πŸ“ Decisioni di Progetto ### 1. Naming Convention **Decisione:** Skill names in `lowercase-kebab-case` con prefix del framework **Esempio:** `orto-init`, `orto-agronomo`, `framework-translator` **Motivo:** Coerente con AgentSkills esistenti, leggibile, git-friendly --- ### 2. References: Copie o Symlink? **Decisione:** Symlink centralizzati (una copia, N link) **Motivo:** - Aggiornamenti automatici (modifichi reference, tutte skills vedono cambio) - Risparmio spazio (no duplicati) - Coerente con orto-skills --- ### 3. Script: Includere o Inline? **Decisione:** Includere solo se riutilizzabile e deterministico **Motivo:** - Script una-tantum β†’ inline nel corpo (meno complessitΓ ) - Script riutilizzabile β†’ `scripts/` (efficienza, token savings) --- ### 4. Output: Una Cartella o N Cartelle Separate? **Decisione:** Una cartella `-suite/` con tutte skills + references **Motivo:** - Ultra-semplice da installare (cp -r) - References centralizzati - Coerente con orto-skills --- ## πŸŽ“ Lezioni Apprese da orto_v1 β†’ orto-skills ### Cosa Ha Funzionato Bene 1. **Raggruppamento agenti correlati** (es. Fitopatologo + Trattamenti β†’ 1 skill) 2. **References centralizzate** (8 file, 88 KB, condivisi da 9 skills) 3. **Symlink per references** (aggiornamenti automatici, no duplicati) 4. **Una cartella da copiare** (installazione ultra-semplice) 5. **Documentazione fasi nel corpo** (Fase 1, Fase 2, ... chiaro e azionabile) --- ### Cosa Potrebbe Migliorare 1. **Automazione analisi iniziale** (fatta manuale, potrebbe essere script) 2. **Pattern di mappatura documentati prima** (abbiamo distillato dopo) 3. **Validazione QA automatizzata** (fatta manuale, checklist non eseguita automaticamente) 4. **Gestione conflitti** (documentata in reference, ma potrebbe essere piΓΉ esplicita nel processo) --- ### Pattern da Preservare 1. **Progressive disclosure** (metadata β†’ SKILL.md β†’ references) 2. **Concise is key** (SKILL.md <500 linee, references per dettagli) 3. **Human-readable output** (markdown, tabelle, liste, no JSON per dati) 4. **Audit trail** (documentare decisioni in mapping_plan.md) --- ## πŸš€ Prossimi Passi Immediati 1. **Creare cartella `framework-translator/`** nel workspace 2. **Scrivere SKILL.md bozza** (frontmatter + processo alto livello) 3. **Creare `references/mapping_patterns.md`** (pattern distillati sopra) 4. **Creare `references/skill_template.md`** (template standardizzato) 5. **Testare analisi su orto_v1** (run manuale di Fase 1) 6. **Iterare basato su risultati** --- ## πŸ“Œ Note Finali **Questa skill Γ¨ meta:** Trasforma framework in skills, che a loro volta potrebbero essere usate per trasformare altri framework. **Valore principale:** Riduce tempo di trasformazione da **giorni/settimane** a **ore**, con consistenza e qualitΓ  prevedibili. **Rischio principale:** Over-engineering. Mantenere skill semplice e focalizzata su pattern comuni. Edge cases gestiti con escalation all'utente. **Successo metrico:** Framework trasformato in ≀4 ore, con QA score β‰₯0.9 (da qa_checklist.md). --- _Fine del documento di piano. Pronto per revisione e feedback._