STEP 2: agency-archivist - Nuova skill gestione risorse
- agency-archivist/SKILL.md: Skill per upload, estrazione, catalogazione
- scripts/extract_archive.py: Estrazione zip/URL in clients/{client}/assets/
- scripts/scan_resources.py: Scansione metadata (2 passate: base + vision)
- scripts/generate_catalog.py: Generazione catalogo.md con tag e use case
- references/resource_types.md: Tipologie risorse e use case per skill
- agency-orchestrator/SKILL.md: Integrazione archivist in Fase 1
- Step opzionale upload risorse
- Sezione dedicata gestione risorse
- Comportamento proattivo (richiesta risorse mancanti)
- Pattern per altre skill
Integrazione completa: orchestrator → archivist → visual-generator/design/web/social
This commit is contained in:
parent
6c1b04d39a
commit
b1f3ba033e
7 changed files with 1658 additions and 3 deletions
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: agency-orchestrator
|
||||
description: "Coordinare agenti, gestire decisioni e qualità per i 5 workflow della suite. Usare quando: (1) avviare nuovo progetto/cliente, (2) attivare uno dei workflow (Analisi, Posizionamento Strategico, Sito Web Aziendale, Landing Page di Prodotto, Strategia Social), (3) coordinare output di più agenti, (4) gestire decisioni, (5) eseguire QA trasversale. Accetta in input sia questionario di onboarding sia documento company profile (estrazione automatica). Output: Decision log, QA notes, stato progetto."
|
||||
description: "Coordinare agenti, gestire decisioni e qualità per i 5 workflow della suite. Usare quando: (1) avviare nuovo progetto/cliente, (2) attivare uno dei workflow (Analisi, Posizionamento Strategico, Sito Web Aziendale, Landing Page di Prodotto, Strategia Social), (3) coordinare output di più agenti, (4) gestire decisioni, (5) eseguire QA trasversale, (6) gestire upload risorse (immagini, video, asset) tramite agency-archivist. Accetta in input sia questionario di onboarding sia documento company profile (estrazione automatica). Output: Decision log, QA notes, stato progetto."
|
||||
---
|
||||
|
||||
# Agency Orchestrator — Coordinamento Multi-Agente
|
||||
|
|
@ -171,12 +171,25 @@ L'orchestratore deve leggere il documento ed estrarre tutte le informazioni rile
|
|||
├── design/ (design system, assets)
|
||||
├── content/ (copy, social, video scripts)
|
||||
├── ops/ (decisions, QA, run log)
|
||||
└── published/ (content pubblicato, versionato)
|
||||
├── published/ (content pubblicato, versionato)
|
||||
└── assets/ (immagini, video, documenti — gestito da agency-archivist)
|
||||
```
|
||||
|
||||
4. **Leggi `references/quality_bar.md`** per standard di qualità
|
||||
|
||||
5. **Registra assunzioni in `clients/{client}/ops/decisions.md`**
|
||||
|
||||
6. **(Opzionale) Upload risorse:**
|
||||
- **Chiedi:** "Hai un archivio di risorse (immagini, logo, brand assets) da caricare?"
|
||||
- **Se SI:** Ricevi zip/URL e triggera `agency-archivist`
|
||||
- **Workflow:**
|
||||
```
|
||||
a. agency-archivist estrae archivio in clients/{client}/assets/
|
||||
b. Scansiona risorse e genera metadata
|
||||
c. Crea catalog.md con descrizione e tag
|
||||
d. Notifica orchestrator: "✅ Risorse pronte"
|
||||
```
|
||||
- **Se NO:** Prosegui senza assets (altre skill useranno placeholder)
|
||||
- Include dati estratti (se Modalità B) o compilati (se Modalità A)
|
||||
- Documenta eventuali assunzioni su campi mancanti
|
||||
|
||||
|
|
@ -208,8 +221,9 @@ L'orchestratore deve leggere il documento ed estrarre tutte le informazioni rile
|
|||
- `agency-creative-director` → direzione visiva
|
||||
- `agency-ux-copy` → sitemap, page copy
|
||||
- `agency-design-system` → design system
|
||||
- `agency-archivist` → upload, estrazione, catalogazione risorse
|
||||
- `agency-visual-generator` → asset (usa risorse da archivist)
|
||||
- `agency-social` / `agency-youtube` → content
|
||||
- `agency-visual-generator` → asset
|
||||
- `agency-publisher` → publish (post-approvazione)
|
||||
|
||||
---
|
||||
|
|
@ -248,6 +262,105 @@ L'orchestratore deve leggere il documento ed estrarre tutte le informazioni rile
|
|||
|
||||
---
|
||||
|
||||
## Gestione Risorse — Integrazione agency-archivist
|
||||
|
||||
### Quando Chiamare agency-archivist
|
||||
|
||||
- **Cliente fornisce brand assets:** Logo, foto prodotto, team, ufficio
|
||||
- **Serve materiale visivo per agency-visual-generator:** Immagini per social post, ads
|
||||
- **Serve documentazione per agency-research:** Brand guidelines, schede prodotto
|
||||
- **Mancano risorse per completare un task:** Una skill segnala risorse mancanti
|
||||
|
||||
### Workflow di Upload
|
||||
|
||||
```
|
||||
1. Orchestrator riceve input (zip allegato o URL)
|
||||
↓
|
||||
2. Triggera agency-archivist con:
|
||||
- Path file o URL
|
||||
- Nome cliente
|
||||
↓
|
||||
3. agency-archivist esegue:
|
||||
- Estrazione in clients/{client}/assets/
|
||||
- Scansione e catalogazione
|
||||
- Generazione catalog.md
|
||||
↓
|
||||
4. Archivist notifica orchestrator: "✅ Risorse pronte"
|
||||
↓
|
||||
5. Orchestrator sblocca skill in attesa:
|
||||
- agency-visual-generator
|
||||
- agency-design-system
|
||||
- agency-web-developer
|
||||
- agency-social
|
||||
```
|
||||
|
||||
### Comportamento Proattivo di Archivist
|
||||
|
||||
**Quando una skill richiede risorse mancanti:**
|
||||
|
||||
```markdown
|
||||
Esempio: agency-visual-generator deve creare social post ma mancano foto prodotto
|
||||
|
||||
**Flusso:**
|
||||
1. Visual-generator legge catalog.md
|
||||
2. Non trova immagini prodotto → "🔒 Bloccato: servono foto prodotto"
|
||||
3. Tagga @agency-archivist con requisiti:
|
||||
- Foto prodotto (sfondo bianco, minimo 1000x1000px)
|
||||
- Logo aziendale (PNG trasparente)
|
||||
4. Archivist risponde:
|
||||
"⚠️ **Risorse Mancanti**
|
||||
|
||||
Per eseguire [social post], servono:
|
||||
- [ ] Foto prodotto (sfondo bianco, minimo 1000x1000px)
|
||||
- [ ] Logo aziendale (PNG trasparente)
|
||||
|
||||
**Vuoi caricare queste risorse ora?**"
|
||||
5. Dopo upload: Re-scan e aggiornamento catalogo
|
||||
6. Archivist sblocca: "✅ Risorse pronte, puoi procedere @agency-visual-generator"
|
||||
```
|
||||
|
||||
### Struttura Cartelle Assets
|
||||
|
||||
```
|
||||
clients/{client}/assets/
|
||||
├── archive/ # Archivi originali (zip, tar)
|
||||
├── images/ # Immagini estratte
|
||||
│ ├── logo/ # Loghi aziendali
|
||||
│ ├── prodotto/ # Foto prodotto
|
||||
│ ├── team/ # Foto team/ufficio
|
||||
│ └── stock/ # Immagini generiche
|
||||
├── videos/ # Video estratti
|
||||
│ ├── promo/ # Video promozionali
|
||||
│ └── tutorial/ # Tutorial/dimostrazioni
|
||||
├── documents/ # Documenti di riferimento
|
||||
│ ├── brand/ # Linee guida brand
|
||||
│ └── product/ # Schede prodotto
|
||||
└── catalog.md # Catalogo generato (indice centrale)
|
||||
```
|
||||
|
||||
### Pattern per Altre Skill
|
||||
|
||||
**Prima di eseguire task che richiedono asset:**
|
||||
|
||||
```markdown
|
||||
1. Leggi `clients/{client}/assets/catalog.md`
|
||||
2. Cerca risorse per tag/tipo/descrizione
|
||||
3. Se trovi: Usa path completo
|
||||
4. Se NON trovi:
|
||||
- "🔒 Bloccato: servono [descrizione risorse]"
|
||||
- Tagga: @agency-archivist
|
||||
- Specifica: Requisiti tecnici (es. "minimo 1000x1000px, JPG")
|
||||
- Attendi: Sblocco da archivist
|
||||
```
|
||||
|
||||
### Script di Riferimento
|
||||
|
||||
- `scripts/extract_archive.py` — Estrazione zip/URL
|
||||
- `scripts/scan_resources.py` — Scansione metadata
|
||||
- `scripts/generate_catalog.py` — Generazione catalogo
|
||||
|
||||
---
|
||||
|
||||
## Output
|
||||
|
||||
| File | Formato | Descrizione |
|
||||
|
|
@ -263,6 +376,7 @@ L'orchestratore deve leggere il documento ed estrarre tutte le informazioni rile
|
|||
- [quality_bar.md](../../references/quality_bar.md) — Standard V1
|
||||
- [publishing_gates.md](../../references/publishing_gates.md) — Gate pre-publish
|
||||
- [research_citation_rules.md](../../references/research_citation_rules.md) — Citazione fonti
|
||||
- [resource_types.md](../agency-archivist/references/resource_types.md) — Tipologie risorse e use case
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue