Aggiungi la scheda di ponytail

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
davideandClaude Opus 5.5 committed 2026-09-23 14:41:42 +02:00
1 parent bd5fb0725b
commit 83fb4dfbfb
2 files changed
+152

No files matched your search

+1
View File
@@ -7,3 +7,4 @@ Il mio dizionario delle skill per agenti AI (Claude Code, Codex, app di Claude e
| Skill | Descrizione |
|---|---|
| [find-skills](skills/find-skills.md) | Permette all'agente di cercare e installare da solo altre skill con `npx skills`. |
| [ponytail](skills/ponytail.md) | Fa scrivere all'agente il codice più semplice e breve che funziona, evitando la sovraingegnerizzazione. |
+151
View File
@@ -0,0 +1,151 @@
# ponytail
- **Autore:** DietrichGebert
- **Repository:** [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail) (licenza MIT)
- **Sorgente:** [skills/ponytail/SKILL.md](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail/SKILL.md)
- **Pagina su skills.sh:** [dietrichgebert/ponytail/ponytail](https://skills.sh/dietrichgebert/ponytail/ponytail)
- **Diffusione (settembre 2026):** circa 63.600 installazioni tramite `npx skills` (su skills.sh dal 12 giugno 2026); il repository ha circa 144.800 stelle e 7.800 fork su GitHub
- **Controlli di sicurezza su skills.sh:** Gen Agent Trust Hub, Socket e Snyk superati
## A cosa serve
Fa scrivere all'agente il codice più semplice e breve che funziona, evitando soluzioni sovraingegnerizzate. L'idea è far ragionare l'agente come "lo sviluppatore senior più pigro della stanza": il codice migliore è quello che non scrivi.
## Cosa fa
### Quando si attiva
Quando scrivi "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less" o "shortest path", oppure quando ti lamenti di codice sovraingegnerizzato, gonfio, pieno di boilerplate o di dipendenze inutili.
Una volta attiva resta accesa in ogni risposta, finché non scrivi "stop ponytail", "normal mode" o `/ponytail off`.
### Come lavora
Prima di scrivere codice, l'agente sale una "scala" di sette gradini e si ferma al primo che risolve il problema:
1. Serve davvero? (YAGNI)
2. Esiste già nel codice del progetto?
3. Lo fa già la libreria standard?
4. Lo offre già la piattaforma (browser, sistema operativo, framework)?
5. Lo fa una dipendenza già installata?
6. Si può fare in una riga?
7. Solo allora scrive il minimo indispensabile.
Altre regole:
- niente astrazioni "per il futuro" né boilerplate;
- meglio cancellare che aggiungere, meglio noioso che ingegnoso;
- meno file possibile e modifica più corta possibile;
- correggere la causa, non il sintomo;
- le scorciatoie volute vanno segnate con un commento che dice il compromesso.
**Cosa non semplifica mai:** validazione degli input, gestione degli errori che evita perdite di dati, sicurezza, accessibilità e funzionalità chieste esplicitamente.
**Formato delle risposte:** prima il codice, poi al massimo tre righe brevi, nella forma "saltato X, da aggiungere quando Y". Per esempio, a "aggiungi una cache per le risposte API" risponde con `@lru_cache(maxsize=1000)` sulla funzione e "saltata una classe di cache dedicata, da aggiungere quando lru_cache non basta più".
### Livelli di intensità
| Livello | Comportamento |
|---|---|
| `lite` | fa quello che chiedi, ma indica in una riga l'alternativa più semplice; scegli tu |
| `full` | applica la scala in modo rigido (predefinito) |
| `ultra` | estremista YAGNI: prima cancella, poi aggiunge; consegna la soluzione in una riga e mette in discussione il resto |
| `off` | disattiva |
Il livello predefinito si cambia con la variabile d'ambiente `PONYTAIL_DEFAULT_MODE` o nel file `~/.config/ponytail/config.json`.
### Comandi
Il plugin completo comprende sei skill, richiamabili con i comandi `/` in Claude Code e OpenCode, oppure con `@` in Codex:
| Comando | Funzione |
|---|---|
| `/ponytail [lite\|full\|ultra\|off]` | attiva la modalità o ne cambia il livello |
| `/ponytail-review` | cerca la sovraingegnerizzazione nelle modifiche correnti |
| `/ponytail-audit` | cerca codice superfluo in tutto il repository |
| `/ponytail-debt` | raccoglie le scorciatoie rimandate |
| `/ponytail-gain` | mostra i dati di impatto |
| `/ponytail-help` | guida ai comandi |
### Risultati dichiarati e verificati
- **Secondo l'autore**, misurato su un repository FastAPI + React: circa il 54% di codice in meno (fino al 94% nei casi più sovraingegnerizzati), costo più basso del 20% circa, esecuzione più veloce del 27% circa, nessun taglio su sicurezza, validazione e accessibilità.
- **Secondo un test indipendente di JetBrains** (luglio 2026, 80 compiti con Claude Code e Sonnet 5): codice più corto del 15,4% (dato non statisticamente significativo), costo più basso del 10,3% (significativo), qualità invariata. Il guadagno è maggiore dove l'agente tende a costruire troppo e quasi nullo nei compiti già snelli. Il test riguardava compiti di analisi dati, non frontend, e non verificava sicurezza e accessibilità.
### Da sapere
- **Senza hook non si attiva da sola:** il plugin funziona grazie a un hook che inietta le regole all'inizio di ogni sessione. Nel test di JetBrains, installata come semplice skill senza hook, non si è mai attivata in dieci sessioni. Per questo conviene installarla come plugin (vedi sotto); altrimenti va richiamata a mano ogni volta.
- **Aspettative:** su compiti normali conta su un risparmio intorno al 10%, non sul 54% dichiarato.
- **Hook:** il plugin esegue script all'avvio di ogni sessione in Claude Code, Codex e Cursor.
## Installazione
### Claude Code (plugin, consigliato)
Nella sessione di Claude Code:
```
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail
```
Installa le sei skill e l'hook di avvio. Poi:
```
/plugin marketplace update ponytail # aggiornamento
/plugin remove ponytail # rimozione (comando indicato nel README)
```
### Codex (plugin, consigliato)
Da terminale:
```bash
codex plugin marketplace add DietrichGebert/ponytail
codex plugin add ponytail@ponytail
```
Rimozione: `codex plugin remove ponytail`.
Per eliminare anche i file di stato che il plugin lascia sul sistema, il README indica di eseguire `node scripts/uninstall.js` dalla cartella del repository.
### Claude Code e Codex (solo skill, senza hook)
In alternativa, con lo strumento `skills`:
```bash
npx skills add DietrichGebert/ponytail --skill ponytail -g -a claude-code -a codex
```
| Opzione | Significato |
|---|---|
| `--skill ponytail` | installa solo la skill principale; `--skill '*'` le installa tutte e sei |
| `-g` | installazione globale (`~/.claude/skills/`, `~/.codex/skills/`); senza, solo nel progetto corrente |
| `-a <agente>` | agente di destinazione, ripetibile |
| `-y` | salta le domande di conferma |
Così non c'è l'hook: la skill va richiamata a mano (per esempio scrivendo "ponytail" o "lazy mode"). Gestione con `npx skills list -g`, `npx skills update ponytail` e `npx skills remove ponytail`.
### App desktop di Claude e ChatGPT
Il README non documenta l'uso nelle app desktop. Il `SKILL.md` di ponytail contiene solo istruzioni, quindi in teoria si può caricare come qualsiasi skill:
```bash
git clone --depth 1 https://github.com/DietrichGebert/ponytail.git
cd ponytail/skills && zip -r ~/ponytail.zip ponytail
```
- **Claude (desktop o web):** attiva l'esecuzione del codice in **Settings → Capabilities**, poi **Customize → Skills → + → Create skill → Upload a skill**, scegli lo ZIP e attiva l'interruttore.
- **ChatGPT (desktop o web):** **Skills** nella barra laterale, poi **Create → Upload from your computer**; richiamala con `@`. Le skill caricate su desktop e web non si sincronizzano.
Nelle app non ci sono hook, quindi la skill va richiamata esplicitamente in ogni conversazione. Questo uso non è stato verificato.
## Fonti
- [README di DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail)
- [SKILL.md di ponytail](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail/SKILL.md)
- [SKILL.md di ponytail-help](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail-help/SKILL.md)
- [ponytail su skills.sh](https://skills.sh/dietrichgebert/ponytail/ponytail)
- [Ponytail Skill for Claude Code: Does It Really Cut Tokens – JetBrains](https://blog.jetbrains.com/ai/2026/07/ponytail-skill-claude-tested/)
- [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)