Aggiungi la scheda di retro
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ac81877e73
commit
05582b3c74
2 files changed
+137
No files matched your search
@@ -13,4 +13,5 @@ Il mio dizionario delle skill per agenti AI (Claude Code, Codex, app di Claude e
|
||||
| [obsidian-wiki](skills/obsidian-wiki.md) | Framework di 39 skill che fa costruire all'agente un "secondo cervello": un vault Obsidian di note collegate che raccoglie documenti, sessioni e progetti e risponde con citazioni. |
|
||||
| [ponytail](skills/ponytail.md) | Fa scrivere all'agente il codice più semplice e breve che funziona, evitando la sovraingegnerizzazione. |
|
||||
| [project-estimation](skills/project-estimation.md) | Stima durata, costi e risorse di un progetto con tecniche strutturate (PERT, bottom-up, per analogia). |
|
||||
| [retro](skills/retro.md) | Fa una retrospettiva su una sessione di codifica e propone come migliorare l'ambiente dell'agente (controlli automatici, standard, file di istruzioni) perché non ripeta gli stessi errori. |
|
||||
| [ui-ux-pro-max](skills/ui-ux-pro-max.md) | Dà all'agente un archivio di stili, palette, font e regole di UX per progettare interfacce curate su web, mobile e desktop. |
|
||||
+136
@@ -0,0 +1,136 @@
|
||||
# retro
|
||||
|
||||
- **Autore:** Matt Pocock
|
||||
- **Repository:** [mattpocock/skills](https://github.com/mattpocock/skills) (licenza MIT)
|
||||
- **Sorgente:** [skills/engineering/retro/SKILL.md](https://github.com/mattpocock/skills/blob/main/skills/engineering/retro/SKILL.md)
|
||||
- **Documentazione della skill:** [docs/engineering/retro.md](https://github.com/mattpocock/skills/blob/main/docs/engineering/retro.md)
|
||||
- **Pagina su skills.sh:** [mattpocock/skills/retro](https://skills.sh/mattpocock/skills/retro)
|
||||
- **Diffusione (ottobre 2026):** circa 242.000 installazioni; il repository ha circa 294.700 stelle su GitHub
|
||||
- **Controlli di sicurezza su skills.sh:** Gen Agent Trust Hub, Socket e Snyk superati, senza avvisi
|
||||
|
||||
## A cosa serve
|
||||
|
||||
Fa una retrospettiva su una sessione di lavoro con l'agente e propone come migliorare l'**ambiente** in cui l'agente lavora, così la volta dopo va meglio. Non corregge il codice: parte da un momento in cui l'agente ha faticato (un file trovato dopo venti chiamate, un errore che un controllo automatico avrebbe fermato, una regola che il revisore ha lasciato passare) e chiede cosa, nel repository, l'ha permesso. La risposta è un elenco di modifiche candidate, dalla più grave alla meno grave.
|
||||
|
||||
## Cosa fa
|
||||
|
||||
### Quando si attiva
|
||||
|
||||
Solo quando la richiami tu con `/retro`: nel `SKILL.md` c'è `disable-model-invocation: true`, e anche `agents/openai.yaml` imposta `allow_implicit_invocation: false`, quindi l'agente non la usa da solo.
|
||||
|
||||
Ha senso a fine di una sessione più difficile del dovuto: l'agente ha cercato a lungo qualcosa, ha fatto un errore che uno strumento avrebbe intercettato, o gli mancava un'informazione. Dopo una sessione liscia c'è poco da imparare. Se vuoi un giudizio sul codice prodotto, serve invece la skill `code-review` dello stesso repository.
|
||||
|
||||
### Come lavora
|
||||
|
||||
1. **Carica la guida di stile.** Richiama la skill `writing-for-agents` del repository, che spiega come scrivere file di istruzioni per gli agenti.
|
||||
2. **Legge le fonti primarie della sessione** che indichi, cercando se serve nei log delle sessioni sulla macchina. Se non ne indichi una, usa la sessione corrente.
|
||||
3. **Cerca candidati di miglioramento** in sette categorie (tabella sotto). Prima di proporre un controllo legge quello che il repository ha già (gli script `lint`/`check` di `package.json`, il workflow di CI): un controllo esistente ma scollegato o rotto è il risultato, non una reinvenzione.
|
||||
4. **Te li presenta in ordine di gravità.** Propone soltanto: non modifica niente finché non scegli un candidato.
|
||||
|
||||
| Categoria | Cosa guarda | Si usa quando |
|
||||
|---|---|---|
|
||||
| Navigation | quanto è stato facile trovare i file giusti; dipendenze nascoste; un *navigation pointer* (rimando da un file che l'agente legge già) | la sessione ha impiegato molto a trovare un'informazione |
|
||||
| Automated checks | lint, tipi, test, controlli sul filesystem; un repository senza alcuna protezione (né pre-commit hook né job di CI con lint/typecheck/test) è già un risultato | l'agente ha sbagliato in un modo che un controllo automatico avrebbe intercettato |
|
||||
| Coding standards | una nuova regola per l'agente revisore, o chiarirne/toglierne una esistente | il revisore non ha notato un errore |
|
||||
| Global AGENTS.md | istruzioni da spostare negli standard o in un controllo | `AGENTS.md` è molto lungo, nel repository o a livello globale |
|
||||
| Tool economy | chiamate costose da snellire; strumenti (CLI, MCP) che consumano troppi token | l'agente ha fatto una chiamata costosa |
|
||||
| No-ops | righe nei file di istruzioni che non cambiano il comportamento | i file di istruzioni sono grandi e ingombranti |
|
||||
| Information access | più accesso alle informazioni: log del server di sviluppo scritti su file, accesso in sola lettura a servizi esterni | all'agente mancava un'informazione fondamentale |
|
||||
|
||||
### Idee guida (sezione "Reference" del SKILL.md)
|
||||
|
||||
- **Standard al revisore, non a chi implementa.** L'agente che implementa ha la maggiore pressione sul contesto (esplora, scrive, corregge); il revisore riceve solo un diff, quindi ha spazio per applicare gli standard.
|
||||
- **Prima si classifica la violazione.** Una violazione *meccanica* (schema sintattico fisso, API vietata, forma di un import, regola sulla posizione dei file) merita un controllo deterministico: una regola del linter, un pre-commit hook o un job di CI. `CODING_STANDARDS.md` è riservato ai veri giudizi (coerenza tra file, "in linea con lo stile circostante").
|
||||
- **Dove va cosa.** `CLAUDE.md`/`AGENTS.md` finiscono nel contesto di ogni agente, quindi si usano pochissimo, di solito solo per i navigation pointer. `CODING_STANDARDS.md` si legge in fase di revisione (oltre le 1.000 righe conviene rimandare a una cartella di documenti). I documenti sono riferimenti richiamati dagli altri file. Le skill servono per i documenti la cui descrizione deve stare nel contesto, o per i comandi lanciati dall'utente.
|
||||
|
||||
### Da sapere
|
||||
|
||||
- **Propone, non esegue.** Non scrive regole né installa hook da sola; non c'è una modalità di prova. Un controllo proposto è codice come un altro: provalo sul repository prima di lasciare che blocchi i merge.
|
||||
- **Limiti dichiarati nella documentazione:** giudica sulla sola sessione letta, quindi può dare troppo peso a ciò di cui parlava quella sessione, e non verifica i controlli proposti in passato (potare le regole che scattano troppo spesso resta compito tuo). Scarta ogni candidato che non riesci a collegare a un momento preciso della sessione.
|
||||
- **Non è un sistema di memoria:** non ricorda cosa è successo, cambia l'ambiente perché l'errore non si ripeta.
|
||||
- **Dipende da `writing-for-agents`,** che vive nello stesso repository (`skills/productivity/writing-for-agents`). Installando solo `retro` quella skill manca; cosa faccia `retro` in quel caso non è documentato.
|
||||
- **Legge i log delle tue sessioni:** può cercare nei file di sessione sulla macchina, quindi accede a conversazioni che possono contenere dati riservati.
|
||||
- Nella catena di lavoro del repository è l'ultimo passo: `grill-with-docs → to-spec → to-tickets → implement → code-review → retro`. Non serve eseguire l'intera catena per usarla.
|
||||
|
||||
## Installazione
|
||||
|
||||
Il README del repository raccomanda **un solo metodo per agente**: installare sia il plugin sia le skill singole darebbe ogni skill due volte. Il plugin e `npx skills add mattpocock/skills` portano tutte le skill del repository; per averne solo alcune, vedi il comando con `--skill` più sotto.
|
||||
|
||||
### Claude Code
|
||||
|
||||
```bash
|
||||
claude plugin install mattpocock-skills@claude-plugins-official
|
||||
```
|
||||
|
||||
Il plugin si aggiorna da solo. Poi riavvia la sessione e scrivi `/retro`.
|
||||
|
||||
### Codex
|
||||
|
||||
```bash
|
||||
codex plugin marketplace add mattpocock/skills
|
||||
codex plugin add mattpocock-skills@mattpocock
|
||||
```
|
||||
|
||||
Si aggiorna da solo all'avvio.
|
||||
|
||||
### Claude Code e Codex (solo le skill che servono)
|
||||
|
||||
```bash
|
||||
npx skills add mattpocock/skills --skill retro --skill writing-for-agents -g -a claude-code -a codex
|
||||
```
|
||||
|
||||
| Opzione | Significato |
|
||||
|---|---|
|
||||
| `--skill retro --skill writing-for-agents` | installa `retro` e la guida di stile che richiama al primo passo |
|
||||
| `-g` | installazione globale (`~/.claude/skills/`, `~/.codex/skills/`); senza, solo nel progetto corrente |
|
||||
| `-a <agente>` | agente di destinazione, ripetibile |
|
||||
| `-y` | salta le domande di conferma |
|
||||
|
||||
Con questo metodo gli aggiornamenti sono manuali. Il README consiglia anche di includere `setup-matt-pocock-skills` e di lanciare `/setup-matt-pocock-skills` una volta per repository (chiede quale issue tracker usi, quali etichette applichi ai ticket e dove salvare i documenti); è pensata per le altre skill della raccolta e il README non dice che `retro` ne abbia bisogno.
|
||||
|
||||
Gestione:
|
||||
|
||||
```bash
|
||||
npx skills list -g # skill installate
|
||||
npx skills update retro # aggiornamento (oppure: npx skills@latest update)
|
||||
npx skills remove retro writing-for-agents # rimozione
|
||||
```
|
||||
|
||||
Per il plugin, la rimozione e l'elenco usano i comandi `plugin` del rispettivo agente (non indicati nel README del repository).
|
||||
|
||||
### App desktop di Claude e ChatGPT
|
||||
|
||||
Queste app richiedono di caricare la skill come ZIP. Preparalo così:
|
||||
|
||||
```bash
|
||||
git clone --depth 1 https://github.com/mattpocock/skills.git
|
||||
cd skills/skills && zip -r ~/retro.zip engineering/retro productivity/writing-for-agents
|
||||
```
|
||||
|
||||
Lo ZIP deve contenere cartelle con dentro `SKILL.md`; carica `retro` e `writing-for-agents` come due skill separate (se l'app accetta una sola cartella per ZIP, fai due ZIP, uno per cartella).
|
||||
|
||||
**Claude (desktop o web)**
|
||||
|
||||
1. Attiva l'esecuzione del codice in **Settings → Capabilities**.
|
||||
2. Vai in **Customize → Skills → + → Create skill → Upload a skill** e scegli lo ZIP.
|
||||
3. Attiva l'interruttore della skill.
|
||||
|
||||
**ChatGPT (desktop o web)**
|
||||
|
||||
1. Vai in **Skills** nella barra laterale, poi **Create → Upload from your computer**, e scegli lo ZIP o la cartella.
|
||||
2. Attendi l'analisi di sicurezza di ChatGPT.
|
||||
3. Richiamala con `@` nella chat.
|
||||
|
||||
Le skill personali caricate su desktop e web non si sincronizzano: vanno caricate su ciascuna.
|
||||
|
||||
> **Limite:** `retro` serve a rivedere sessioni di codifica e ad agire sull'ambiente di un repository (log delle sessioni, `CLAUDE.md`, CI). Nelle app di chat non ha accesso al tuo repository né ai log, quindi può al più analizzare ciò che le incolli. Il README non documenta l'uso nelle app desktop, e non ho verificato come gestiscano le impostazioni di invocazione manuale del `SKILL.md`.
|
||||
|
||||
## Fonti
|
||||
|
||||
- [README di mattpocock/skills](https://github.com/mattpocock/skills)
|
||||
- [SKILL.md di retro](https://github.com/mattpocock/skills/blob/main/skills/engineering/retro/SKILL.md)
|
||||
- [Documentazione di retro](https://github.com/mattpocock/skills/blob/main/docs/engineering/retro.md)
|
||||
- [agents/openai.yaml di retro](https://github.com/mattpocock/skills/blob/main/skills/engineering/retro/agents/openai.yaml)
|
||||
- [retro su skills.sh](https://skills.sh/mattpocock/skills/retro)
|
||||
- [Use skills in Claude – Claude Help Center](https://support.claude.com/en/articles/12512180-use-skills-in-claude)
|
||||
- [Skills in ChatGPT – OpenAI Help Center](https://help.openai.com/en/articles/20001066-skills-in-chatgpt)
|
||||
Reference in new issue
Block a user