Abstraction Power

Convierte código repetido en una abstracción: pipeline fijo, variantes conectables, diagrama de flujo Mermaid

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

Probado · Funciona ★ 8.0/10

Abstraction Power — Convierte código repetido en una abstracción: pipeline fijo, variantes conectables, diagrama de flujo Mermaid

Qué hace

Una habilidad de prompt de un solo archivo que hace que Claude analice varios ejemplos concretos, separe lo invariante de las partes variables y emita un modelo generalizado en un formato fijo Input / Abstraction Process / Abstract Model con un diagrama de flujo Mermaid. Se activa cuando se le pide que encuentre el patrón común en funciones repetidas, extraiga una interfaz reutilizable o explique por qué cada nueva variante obliga a editar el mismo archivo. No es útil para refactorizaciones o renombres de una sola instancia, donde añade ceremonia sin aportar conocimiento.

Informe de la prueba

Clonado en un HOME temporal (export HOME=$(mktemp -d)) y confirmado que SKILL.md aterriza en ~/.claude/skills/abstraction-power/SKILL.md; el frontmatter tiene name+description, el cuerpo no referencia archivos o scripts externos, y un grep de curl|sh, base64, exfiltración de clave/token y frases de inyección no encontró coincidencias. Frases de activación que juzgué — DEBERÍA activarse: "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"; NO DEBERÍA activarse: "Rename the variable usr to user across this file", "This one 300-line function is too long, split it into helpers" (instancia única, sin ejemplos repetidos) — 5/5 correcto. Prueba de salida: tres funciones de exportación S3 casi idénticas (CSV/XLSX/JSON) en un input.js; baseline.md (49 líneas) produjo un helper parametrizado cuyo SQL interpola `FROM ${table}`, con una advertencia para incluirlo en la lista blanca, y mantuvo tres wrappers escritos a mano, mientras que skill.md (112 líneas, siguiendo las secciones obligatorias Input/Abstraction Process/Output) dividió las "essential characteristics" en un pipeline fijo más una variante autodescriptiva `{kind, source, ext, mime, serialize}` — cada formato posee su propia consulta parametrizada, por lo que el nombre de la tabla interpolado desaparece por completo — añadió un registro para que un cuarto formato sea un registro en lugar de una edición de código, e incluyó el diagrama de flujo Mermaid `graph TD` que el cuerpo requiere (la línea base no tenía ninguno). Costo: 2.3 veces más largo, la sección "Key Benefits" es un texto estándar, y en trabajos de deduplicación genuinamente pequeños el marco del registro empuja hacia la sobre-abstracción, por lo que 7 no 9.

Probado el: 2026-07-31 · Claude Code 2.x (agent harness)

Instalación

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.

Comandos y prompts de ejemplo

  • /abstraction-powerConvierte código repetido en una abstracción: pipeline fijo, variantes conectables, diagrama de flujo Mermaid

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

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