Abstraction Power

Trasforma codice ripetuto in un'unica astrazione: pipeline fissa, varianti pluggable, flowchart Mermaid

di syahiidkamil · syahiidkamil/Software-Engineer-AI-Agent-Atlas

Promosso ★ 8.0/10

Abstraction Power — Trasforma codice ripetuto in un'unica astrazione: pipeline fissa, varianti pluggable, flowchart Mermaid

Cosa fa

Una skill prompt a file singolo che fa sì che Claude analizzi diversi esempi concreti, separi l'invariante dalle parti variabili ed emetta un modello generalizzato in un formato fisso Input / Abstraction Process / Abstract Model con un flowchart Mermaid. Si attiva quando gli si chiede di trovare il pattern comune tra funzioni ripetute, estrarre un'interfaccia riutilizzabile o spiegare perché ogni nuova variante costringe a modificare lo stesso file. Non utile per refactoring o ridenominazioni di singole istanze, dove aggiunge cerimonia senza intuizione.

Rapporto di test

Clonato in una HOME temporanea (export HOME=$(mktemp -d)) e confermato che SKILL.md è stato posizionato in ~/.claude/skills/abstraction-power/SKILL.md; il frontmatter ha name+description, il corpo non fa riferimento a file o script esterni, e una ricerca grep per curl|sh, base64, esfiltrazione di chiavi/token e frasi di injection non ha restituito risultati. Frasi trigger che ho giudicato — DOVREBBE attivarsi: "These four API clients all do the same connect/format/send dance, pull out the common abstraction", "I keep editing the same switch every time we add a payment provider — what's the general pattern?", "Extract what's essential vs incidental across these three React hooks so I can write one generic hook"; NON DOVREBBE attivarsi: "Rename the variable usr to user across this file", "This one 300-line function is too long, split it into helpers" (istanza singola, nessun esempio ripetuto) — 5/5 corretto. Test di output: tre funzioni di esportazione S3 quasi identiche (CSV/XLSX/JSON) in un input.js; baseline.md (49 righe) ha prodotto un helper parametrizzato la cui SQL interpola `FROM ${table}`, con un'avvertenza per whitelistarli, e ha mantenuto tre wrapper scritti a mano, mentre skill.md (112 righe, seguendo le sezioni obbligatorie Input/Abstraction Process/Output) ha diviso le "caratteristiche essenziali" in una pipeline fissa più una variante auto-descrittiva `{kind, source, ext, mime, serialize}` — ogni formato possiede la propria query parametrizzata, quindi il nome della tabella interpolato scompare interamente — ha aggiunto un registro in modo che un quarto formato sia una registrazione piuttosto che una modifica del codice, e ha incluso il flowchart Mermaid `graph TD` richiesto dal corpo (la baseline non ne aveva). Costo: 2.3x più lungo, la sezione "Key Benefits" è boilerplate, e su lavori di deduplicazione genuinamente piccoli l'inquadramento del registro spinge verso l'eccessiva astrazione, quindi 7 non 9.

Testato il: 2026-07-31 · Claude Code 2.x (agent harness)

Installazione

git clone --depth 1 https://github.com/syahiidkamil/Software-Engineer-AI-Agent-Atlas.git /tmp/abstraction-power-src
mkdir -p ~/.claude/skills
cp -R /tmp/abstraction-power-src/.claude/skills/abstraction-power ~/.claude/skills/abstraction-power
# Single SKILL.md, 87 lines, no scripts, no assets, no dependencies, no API keys.
# The parent repo (ATLAS) ships ~20 other skills under .claude/skills/ — this copies only this one.
# "ATLAS" in the description is repo jargon; the skill is fully standalone and needs none of the ATLAS scaffolding.
# Usage: ask for the common pattern across several similar functions, or invoke /abstraction-power.

Comandi e prompt di esempio

  • /abstraction-powerTrasforma codice ripetuto in un'unica astrazione: pipeline fissa, varianti pluggable, flowchart Mermaid

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

  • Find repeated patterns in this codebase
  • Extract a reusable abstraction from these examples
  • Simplify this duplicated logic into one function