applying-solid-principles
SOLID Principles and Clean Code - File Contents
This document is a mandatory guide to SOLID principles and clean code practices for all code implementations.
Main Components
This skill is made up of four detailed documents:
-
SOLID Principles in Detail - Explanation and comparison examples for the five design principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion). See @SOLID-PRINCIPLES.md.
-
Clean Code Basics - Fundamentals for everyday implementation: naming conventions, function design, reducing nesting, and eliminating magic numbers. See @CLEAN-CODE-BASICS.md.
-
Quality Checklist - Criteria for confirming adherence to design principles, detecting code smells, and deciding when to refactor. See @QUALITY-CHECKLIST.md.
-
Quick Reference - One-line summaries for rapid lookup, common mistakes and fixes, and code review points. See @QUICK-REFERENCE.md.
The Five SOLID Principles
The documentation systematically explains the patterns that underpin extensibility and maintainability, starting with the Single Responsibility rule that "there should be only one reason to change."
Related Supplementary Principles
The additional principles referenced — DRY, YAGNI, and KISS — also provide frameworks that increase the effectiveness of your design.
More from benjaming/ai-skills
confluence-cli
Use confluence-cli (NPM package) to manage Confluence content, pages, and spaces from the command line. Ideal for documentation workflows, bulk content operations, page migration, and when users request CLI-based Confluence interactions. Trigger on requests like "use Confluence CLI", "create Confluence pages via CLI", "migrate Confluence content", "automate documentation workflows", or when users want to script Confluence operations.
43atlassian-cli-jira
Use Atlassian CLI (acli) to manage Jira work items, projects, and workflows from the command line. Ideal for bulk operations, automation, scripting, and when users request CLI-based Jira interactions. Trigger on requests like "use Jira CLI", "create Jira issues via CLI", "bulk update Jira tickets", "automate Jira workflows", or when users want to script Jira operations.
29ralph-loop
Create autonomous iterative loops (Ralph Wiggum pattern) for multi-step tasks. Use when setting up automated workflows that iterate over a backlog of tasks with clear acceptance criteria. Triggers on requests like "create a ralph loop", "set up an iterative agent", "automate this migration", or "create an autonomous loop".
21interview
Interview user to clarify any topic - exploring codebase, investigating issues, planning features, understanding requirements, or drilling into plans. Socratic questioning to uncover details.
20codex-cli
Use OpenAI Codex CLI in non-interactive mode for automated code analysis, review, and programmatic task execution. Trigger on requests like "use Codex to analyze", "run codex exec", "codex code review", or when users want AI-powered code analysis without interactive prompts. Ideal for automation workflows, code quality checks, and generating structured analysis reports.
19daily-standup
Daily standup assistant for Benjamin that compiles work priorities from Jira and Slack into a single prioritized task list. This skill should be used when Benjamin asks for morning standup, daily priorities, what to work on today, or needs to compile work items.
18