separation-of-concerns

Installation
SKILL.md

SoC — Separation of Concerns

Before Applying

If .agents/stack-context.md exists, read it first. Apply this principle using idiomatic patterns for the detected stack. For framework-specific details, use context7 MCP or web search — don't guess.

Principle

Each module, layer, or component in a system should address a single concern. A concern is a distinct aspect of functionality — data access, business rules, presentation, authentication, error handling, logging.

Why This Matters in Production

When concerns are entangled, changes become dangerous. Modifying the database schema shouldn't break the UI. Changing the logging format shouldn't affect business logic. Adding authentication shouldn't require rewriting every handler.

Separated concerns mean:

  • Isolated failures. A bug in rendering doesn't corrupt data. A database timeout doesn't crash the UI.
  • Independent testing. Business rules can be tested without a database. UI can be tested without a backend.
  • Parallel development. Different team members can work on different layers without merge conflicts.
  • Targeted debugging. When something breaks, the problem is localized to one layer, not spread across the whole stack.
Related skills

More from jordancoin/codingskills

Installs
9
GitHub Stars
1
First Seen
Mar 1, 2026