---
name: svg
description: >-
  Usa questa skill per lavorare su SVG esistenti o crearne di semplici quando
  servono passaggi tecnici verificabili: optimize, validate, palette/brand-kit,
  conversione componente, from-raster, export PNG/PDF, helper geometrici, QA
  visiva o riuso di asset SVG locali indicizzati. Non usarla come skill di
  generazione illustrativa creativa pura; usala invece per trasformazioni,
  validazioni, asset discovery locale e fallback espliciti.
---

# SVG Skill

Skill specialistica per SVG tecnici, conservativi e verificabili. Usala per mantenere, validare, trasformare, esportare o creare SVG semplici, non per illustrazioni creative complesse.

## Quick Routing

| Task | Reference |
| :--- | :--- |
| Pulizia/riduzione | [references/workflows/optimize.md](references/workflows/optimize.md) |
| Validazione sintassi/struttura | [references/workflows/validate.md](references/workflows/validate.md) |
| Colori/palette | [references/workflows/color-palette.md](references/workflows/color-palette.md) |
| Brand/accessibilita' minima | [references/workflows/brand-kit.md](references/workflows/brand-kit.md) |
| Componente UI | [references/workflows/to-component.md](references/workflows/to-component.md) |
| Nuovo SVG semplice | [references/workflows/create-simple-svg.md](references/workflows/create-simple-svg.md) |
| Raster -> SVG | [references/workflows/from-raster.md](references/workflows/from-raster.md) |
| Export PNG/PDF | [references/workflows/export-to-png-batch.md](references/workflows/export-to-png-batch.md), [references/workflows/export-to-pdf.md](references/workflows/export-to-pdf.md) |
| Asset locali | [references/asset-discovery.md](references/asset-discovery.md) |
| Geometria/helper | [references/helper-first.md](references/helper-first.md) |
| QA visiva | [references/visual-qa.md](references/visual-qa.md) |

Se il task combina SVG + documento, browser, ticket, allegato o report, coordina con `mcp-master-orchestrator` mantenendo questa skill per la parte SVG.

## Regole Permanenti

1. Nessun fail silenzioso: dichiara tool mancanti, fallback tentati e stato asset (`bundled`, `index`, `filesystem-fallback`, `missing-assets-root`).
2. Per asset locali leggi prima `assets/libraries-catalog.json`; usa `bundled_root_path`, poi indice workspace, poi fallback dichiarati.
3. Per geometria parametrica usa prima helper in `tools/`; apri [tools/catalog.json](tools/catalog.json) e poi [tools/README.md](tools/README.md) se serve.
4. Per `from-raster`, default = fedelta' al raster. Se diverge visivamente, dichiara `approximate` o itera.
5. XML valido non basta: se tocchi geometria, stroke/fill, transform, viewBox, conversione o export, fai QA visiva salvo richiesta solo sintattica.
6. Per QA browser usa `file://` con `project_path` coerente; salva evidenza o dichiara fallback visuale.

## Scope

Dentro: optimize, validate, palette/brand-kit, to-component, from-raster, export PNG/PDF, asset discovery, helper geometrici, QA visuale, icone/badge/diagrammi semplici.

Fuori: illustrazioni multi-sorgente complesse, pipeline editoriali, export avanzati oltre baseline PNG/PDF, ingest automatico nuove librerie non dichiarate.

## Tooling

Mantieni dipendenze leggere e opzionali. Chain default:

- Windows: `from-raster` usa `vtracer -> potrace -> inkscape`; export PNG/PDF usa `inkscape`.
- Ubuntu: `from-raster` usa `vtracer -> potrace -> inkscape`; export PNG/PDF usa `rsvg-convert -> inkscape`.

Se nessun tool e' disponibile, termina con errore esplicito: tool mancanti, chain tentata, prossimo passo installativo.

## Output

Riporta workflow, input/file, modifiche applicate/evitate, tool/helper usati, validazione, prova visiva quando richiesta, limiti e fallback.
Non includere SVG grandi inline salvo richiesta; preferisci path, sintesi e validazione.

Eval minimi: [evals/evals.json](evals/evals.json).
