plugins/architecture/skills/solid-architecture/SKILL.md
Use when writing, reviewing, or refactoring code that involves structural decisions. Provides SOLID principles, composition patterns, module organization, and side-effect boundary guidelines.
npx skillsauth add rbergman/dark-matter-marketplace solid-architectureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Apply these principles when writing or modifying code. Use them as tie-breakers when design decisions conflict.
Favor small, focused types composed together rather than deep inheritance trees. When tempted to extend a class, first ask: "Can this be achieved through composition instead?"
Each module/type/function has one reason to change.
Violation signals:
Action: Split into focused modules with clear, singular purposes.
Extend via new implementations, not constant modification.
Violation signals:
Action: Add behavior through new modules and composition, not conditionals.
Subtypes must work anywhere their base type is expected.
Violation signals:
Action: Prefer interfaces over deep hierarchies. Ensure substitutability.
Depend only on the minimal surface needed.
Violation signals:
Action: Create small, specific interfaces. Split large ones.
Depend on abstractions, not concretions.
Violation signals:
Action: Inject dependencies. Use explicit context/environment objects passed to systems.
Establish clear dependency directions:
core → domain → application → UI
Rules:
Separate pure computation from side effects.
Pure (no side effects):
Impure (side effects):
Systems receive these via injection for deterministic testing:
Push I/O and external integrations to small, well-named boundary modules at system edges.
When refactoring: Bias toward making core logic purer and pushing side effects outward.
Before committing code changes:
development
Initialize a new repository with standard scaffolding - git, gitignore, AGENTS.md, justfile, mise, beads, and timbers. Use when starting a new project or setting up an existing repo for Claude Code workflows.
data-ai
Activate at session start when using Agent Teams for complex multi-agent work. Establishes team lead role with delegation protocols, teammate spawning, model selection, and beads integration. You coordinate the team; teammates implement.
data-ai
Use when creating a worktree, setting up a worktree, starting feature work that needs isolation, or before executing implementation plans. Covers git worktree creation under .worktrees/, gitignore setup, beads integration, and merge guardrails.
data-ai
Activate when you are a delegated subagent (not the orchestrator). Establishes subagent protocol with terse returns, details to history/, file ownership boundaries, and escalation rules. You implement; orchestrator reviews and commits.