Abstraction Power

Przekształca powtarzający się kod w jedną abstrakcję: stały potok, wtykowe warianty, schemat blokowy Mermaid

Autor: syahiidkamil · syahiidkamil/Software-Engineer-AI-Agent-Atlas

Testowano · Działa ★ 8.0/10

Abstraction Power — Przekształca powtarzający się kod w jedną abstrakcję: stały potok, wtykowe warianty, schemat blokowy Mermaid

Co robi ten skill

Umiejętność promptowania z pojedynczego pliku, która sprawia, że Claude analizuje kilka konkretnych przykładów, oddziela niezmienne części od zmiennych i emituje uogólniony model w stałym formacie Input / Abstraction Process / Abstract Model ze schematem blokowym Mermaid. Uruchamia się, gdy poprosisz o znalezienie wspólnego wzorca w powtarzających się funkcjach, wyodrębnienie interfejsu wielokrotnego użytku lub wyjaśnienie, dlaczego każdy nowy wariant zmusza do edycji tego samego pliku. Nieprzydatne do refaktoryzacji lub zmian nazw pojedynczych instancji, gdzie dodaje ceremonii bez wglądu.

Raport z testu

Sklonowano do tymczasowego HOME (export HOME=$(mktemp -d)) i potwierdzono, że SKILL.md ląduje w ~/.claude/skills/abstraction-power/SKILL.md; frontmatter zawiera name+description, treść nie odwołuje się do żadnych zewnętrznych plików ani skryptów, a grep dla curl|sh, base64, wycieku kluczy/tokenów i fraz wstrzykujących nie zwrócił żadnych trafień. Ocenione frazy wyzwalające — POWINNO uruchomić: "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"; NIE POWINNO uruchomić: "Rename the variable usr to user across this file", "This one 300-line function is too long, split it into helpers" (pojedyncza instancja, brak powtarzających się przykładów) — 5/5 poprawnie. Test wyjścia: trzy niemal identyczne funkcje eksportujące S3 (CSV/XLSX/JSON) w pliku input.js; baseline.md (49 linii) wygenerował jedną sparametryzowaną funkcję pomocniczą, której SQL interpoluje `FROM ${table}`, z zastrzeżeniem, aby ją umieścić na białej liście, i zachował trzy ręcznie napisane opakowania, podczas gdy skill.md (112 linii, zgodnie z wymaganymi sekcjami Input/Abstraction Process/Output) podzielił "essential characteristics" na stały potok plus samoopisujący się wariant `{kind, source, ext, mime, serialize}` — każdy format posiada własne sparametryzowane zapytanie, więc interpolowana nazwa tabeli całkowicie znika — dodał rejestr, dzięki czemu czwarty format to rejestracja, a nie edycja kodu, i zawierał schemat blokowy `graph TD` Mermaid, którego wymaga treść (baseline go nie miał). Koszt: 2,3x dłuższy, sekcja "Key Benefits" to boilerplate, a w przypadku naprawdę małych zadań deduplikacji, ramowanie rejestru prowadzi do nadmiernej abstrakcji, so 7 not 9.

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

Instalacja

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.

Komendy i przykładowe prompty

  • /abstraction-powerPrzekształca powtarzający się kod w jedną abstrakcję: stały potok, wtykowe warianty, schemat blokowy Mermaid

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

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