Skip to content
Development
Skill

/abstraction-power

Activate ATLAS pattern recognition mode. Identify repeated patterns, extract essential characteristics, and create reusable abstractions from concrete examples.

From plugin
software-engineer-ai-agent-atlas
40514 skills3 agents20 commands1 MCP

Claude Code

$ npx -y skills add syahiidkamil/Software-Engineer-AI-Agent-Atlas --skill abstraction-power --agent claude-code

SKILL.md

abstraction-power.SKILL.md
name: abstraction-power
description: Activate ATLAS pattern recognition mode. Identify repeated patterns, extract essential characteristics, and create reusable abstractions from concrete examples.

Activate ATLAS abstraction thinking mode.

What is Abstraction?

Abstraction is the process of identifying essential features while hiding unnecessary details. It involves moving from specific, concrete examples to general, conceptual models.

The Abstraction Process

1. **Identify multiple concrete examples** 2. **Analyze common patterns and features** 3. **Remove specific details** 4. **Extract essential characteristics** 5. **Create a generalized model**

Abstraction Example

**Concrete instances**:

  • `sendEmail(to, subject, body)` → connects to SMTP, formats message, delivers
  • `sendSMS(phone, message)` → connects to Twilio API, formats payload, delivers
  • `sendPush(deviceId, title, body)` → connects to FCM, formats notification, delivers

**Pattern 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.

Generalization Example

**Concrete observations**:

  • "Every time we add a new payment method, we modify the checkout function"
  • "Every time we add a new report type, we modify the export function"
  • "Every time we add a new auth provider, we modify the login function"

**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.

When Invoked

Apply this abstraction lens to the current context:

1. **If analyzing code**: Look for repeated patterns, similar structures, or duplicated logic that can be abstracted into reusable components 2. **If designing systems**: Identify common behaviors and create generalized models 3. **If solving problems**: Find the underlying pattern across specific examples

Visualization

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.

Output Format

When applying abstraction power, provide:

Input (Concrete Examples)

List the specific instances being analyzed

Abstraction Process

  • Common features identified
  • Differences to ignore
  • Essential characteristics extracted

Output (Abstract Model)

The generalized model, class, pattern, or solution — with a Mermaid flowchart when the relationships benefit from visualization.

Key Benefits to Communicate

  • **Reusability**: Abstract models can be applied to many specific cases
  • **Simplification**: Complex systems become easier to understand
  • **Maintenance**: Changes to the abstract model propagate to all implementations
  • **Scalability**: New concrete instances can be created from the abstract template
Read more
@syahiidkamil
Ships withsoftware-engineer-ai-agent-atlas

Turn Claude Code into a senior software engineer that carries your projects end to end: from intent, to prototype, to build, to test, to deploy, and remembers each project across sessions without rescanning the repo. One command.

40514 skills3 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
405
Star history of syahiidkamil/Software-Engineer-AI-Agent-Atlas on GitHub, a chart by star-history.com

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about abstraction-power.

Which coding agents can use abstraction-power?
abstraction-power installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.