syahiidkamil/abstraction-power
Activate ATLAS pattern recognition mode. Identify repeated patterns, extract essential characteristics, and create reusable abstractions from concrete examples.
npx skills add https://github.com/syahiidkamil/Software-Engineer-AI-Agent-Atlas --skill abstraction-power
Activate ATLAS abstraction thinking mode.
Abstraction is the process of identifying essential features while hiding unnecessary details. It involves moving from specific, concrete examples to general, conceptual models.
Concrete instances:
sendEmail(to, subject, body) → connects to SMTP, formats message, deliverssendSMS(phone, message) → connects to Twilio API, formats payload, deliverssendPush(deviceId, title, body) → connects to FCM, formats notification, deliversPattern recognized: All three connect to a service, format a message, and deliver it.
Abstraction:
NotificationChannel {
connect()
format(content) → payload
deliver(payload)
}
Three specific implementations collapsed into one interface. New channels (Slack, WhatsApp) plug in without changing the system.
Concrete observations:
Generalized insight: The system violates the Open/Closed Principle. Adding a new variant forces modification of existing code.
Generalized solution: Use a registry/strategy pattern. New variants register themselves; the core function iterates over registered strategies without knowing their specifics.
The generalization isn't about one specific fix. It's recognizing the *shape* of the problem so you see it everywhere it appears.
Apply this abstraction lens to the current context:
Prefer flowcharts over sequence diagrams when visualizing abstractions. Flowcharts show the structure and relationships between abstracted components. Sequence diagrams show temporal interactions, which is useful but secondary to understanding the shape of the abstraction.
Use Mermaid diagrams. Default to graph TD (top-down flow) or graph LR (left-right flow). Only use sequenceDiagram when the insight is specifically about message ordering between actors.
When applying abstraction power, provide:
List the specific instances being analyzed
The generalized model, class, pattern, or solution — with a Mermaid flowchart when the relationships benefit from visualization.
Take syahiidkamil/abstraction-power from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.