abstraction-laws

Law-driven abstraction protocol: evidence first, seam test, minimal algebra, executable law check.

16 stars

Best use case

abstraction-laws is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Law-driven abstraction protocol: evidence first, seam test, minimal algebra, executable law check.

Teams using abstraction-laws should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/abstraction-laws/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/devops/abstraction-laws/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/abstraction-laws/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How abstraction-laws Compares

Feature / Agentabstraction-lawsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Law-driven abstraction protocol: evidence first, seam test, minimal algebra, executable law check.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Abstraction Laws

## When to use
- You see the same code shape in 3+ places and want to unify it.
- Refactors stall on “how general should this be?”.
- Parameter clusters repeat across modules.
- Algebraic cues show up (map/fold/compose, identity/associativity, combine/merge ops).

## Quick start
1. Collect 3+ concrete instances (file:line).
2. Classify similarity: essential (domain) vs accidental (incidental implementation).
3. Run the seam test (can callers stay ignorant of the concrete variant?).
4. Name the abstraction by behavior.
5. If algebraic, pick the minimal construction and add one executable law check.

## Evidence table
```
| Instance | Location | Shared Shape | Variance Point |
|----------|----------|--------------|----------------|
| A        | file:line| ...          | ...            |
| B        | file:line| ...          | ...            |
| C        | file:line| ...          | ...            |
```

## Essential vs accidental
- Essential: the shared shape exists because of domain rules.
- Accidental: the shared shape exists because of today’s implementation.
- If accidental, prefer duplication (or a smaller helper) until the domain forces convergence.

## Seam test (yes/no)
1. Can callers use the abstraction without knowing the concrete variant?
2. Can you describe it in one sentence without naming a current implementation?
3. Would a new instance fit without adding flags or branching?

If any answer is “no”, extract a smaller helper or keep duplication.

## Abstraction template
```
Name: <behavioral name>
Fixed parts:
- ...
Variance points:
- ...
Interface sketch:
- ...
Break-glass:
- <next likely change that makes this harmful>
```

## Universalist pass (only if algebraic)
Map to the smallest construction:
- Product (record/struct) for independent fields
- Coproduct (tagged union) for alternatives
- Semigroup/monoid for combine operations
- Functor/applicative/monad only if you can state and test the laws

## Law check (make it executable)
Pick one and implement it where the repo can run it:
- Identity: `op(x, identity) == x`
- Associativity: `op(a, op(b, c)) == op(op(a, b), c)`
- Functor identity: `map(id, x) == x`
- Functor composition: `map(f, map(g, x)) == map(compose(f, g), x)`

Verification:
- Prefer property tests if the repo already has them.
- Otherwise add a small set of representative cases (include an edge case).

## Deliverable format
- Evidence table (3+ instances).
- Essential vs accidental verdict.
- Proposed abstraction (fixed vs variance points) + break-glass scenario.
- One executable law check.

## Activation cues
- "this looks like that"
- "duplicate pattern"
- "shared shape"
- "extract abstraction"
- "monoid/fold/compose"

Related Skills

acc-check-leaky-abstractions

16
from diegosouzapw/awesome-omni-skill

Detects leaky abstractions in PHP code. Identifies implementation details exposed in interfaces, concrete returns from abstract methods, framework leakage into domain, and infrastructure concerns in application layer.

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

agentuity-cli-cloud-deployment-undeploy

16
from diegosouzapw/awesome-omni-skill

Undeploy the latest deployment. Requires authentication. Use for Agentuity cloud platform operations

agentuity-cli-cloud-deployment-show

16
from diegosouzapw/awesome-omni-skill

Show details about a specific deployment. Requires authentication. Use for Agentuity cloud platform operations

agentuity-cli-cloud-deployment-rollback

16
from diegosouzapw/awesome-omni-skill

Rollback the latest to the previous deployment. Requires authentication. Use for Agentuity cloud platform operations

agentuity-cli-cloud-deployment-remove

16
from diegosouzapw/awesome-omni-skill

Remove a specific deployment. Requires authentication. Use for Agentuity cloud platform operations

agentuity-cli-cloud-deployment-logs

16
from diegosouzapw/awesome-omni-skill

View logs for a specific deployment. Requires authentication. Use for Agentuity cloud platform operations

agentuity-cli-cloud-deployment-list

16
from diegosouzapw/awesome-omni-skill

List deployments. Requires authentication. Use for Agentuity cloud platform operations

agentuity-cli-cloud-deploy

16
from diegosouzapw/awesome-omni-skill

Deploy project to the Agentuity Cloud. Requires authentication. Use for Agentuity cloud platform operations

agentuity-cli-cloud-agent-list

16
from diegosouzapw/awesome-omni-skill

List agents for a project. Requires authentication. Use for Agentuity cloud platform operations

agentuity-cli-cloud-agent-get

16
from diegosouzapw/awesome-omni-skill

Get details about a specific agent. Requires authentication. Use for Agentuity cloud platform operations

agent-terraform-engineer

16
from diegosouzapw/awesome-omni-skill

Expert Terraform engineer specializing in infrastructure as code, multi-cloud provisioning, and modular architecture. Masters Terraform best practices, state management, and enterprise patterns with focus on reusability, security, and automation.