
Clean Code Principles
Apply SOLID, DRY, KISS, YAGNI, and design-pattern guidance when reviewing architecture, refactoring, or setting team coding standards with an agent.
Overview
clean-code-principles is a journey-wide agent skill that applies SOLID and clean-code rules—usable whenever a solo builder needs structured design critique before committing structure.
Install
npx skills add https://github.com/asyrafhussin/agent-skills --skill clean-code-principlesWhat is this skill?
- 23 documented rules spanning 10 SOLID, 12 core principles, and design patterns
- Seven priority categories from CRITICAL SOLID down to comment hygiene
- Language-agnostic bad/good examples for maintainability decisions
- Trigger phrases include separation of concerns, DRY, and design patterns
- Structured rules/ directory with sections metadata for agent navigation
- 23 rules total
- 10 SOLID + 12 core + 1 pattern category
- 7 principle categories by priority
Adoption & trust: 664 installs on skills.sh; 42 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent rewrites features quickly but drifts into tangled modules, duplicated logic, and violations of basic SOLID boundaries.
Who is it for?
Indie developers who want language-agnostic design coaching during reviews, refactors, and standards conversations.
Skip if: Situations where you only need auto-fix lint rules with zero design discussion, or when a formal spec is already frozen and no structural change is allowed.
When should I use this skill?
Reviewing code architecture, refactoring, making design decisions, establishing coding standards, teaching design principles, or addressing technical debt.
What do I get? / Deliverables
Reviews and refactors align to 23 prioritized principles with concrete bad/good examples so architecture stays maintainable across features.
- Architecture review against SOLID and core principles
- Refactoring recommendations with bad/good examples
- Coding standards checklist aligned to rule categories
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Decide whether a proposed feature needs new services or fits existing boundaries using YAGNI and SRP.
Refactor a growing handler module before adding endpoints so interfaces stay segregated.
Run a SOLID-focused review on a pull request before merge to main.
Keep CMS integration code DRY when marketing asks for duplicate page variants.
Plan technical debt paydown with explicit pattern guidance instead of ad-hoc patches.
How it compares
Principle and pattern playbook for agents—not a replacement for CI linters or security scanners.
Common Questions / FAQ
Who is clean-code-principles for?
Solo and indie builders who want SOLID- and clean-code-backed reviews from Claude Code, Cursor, or Codex without hiring a staff architect.
When should I use clean-code-principles?
During Build when splitting modules; during Ship for PR and architecture review; during Validate when scoping refactor scope; and during Operate when addressing technical debt—whenever you say review architecture or clean code.
Is clean-code-principles safe to install?
It is advisory documentation under MIT license—review the Security Audits panel on this page; it does not execute shell commands by default.
SKILL.md
READMESKILL.md - Clean Code Principles
# Clean Code Principles - Agent Documentation **Version:** 1.0.2 **Focus:** SOLID Principles, Core Principles (DRY, KISS, YAGNI), Design Patterns **Rules:** 23 (10 SOLID + 12 Core + 1 Pattern); 4 categories planned **License:** MIT --- This skill provides comprehensive clean code principles, SOLID guidelines, and design patterns for building maintainable, scalable software. ## Overview The clean-code-principles skill offers language-agnostic software design principles organized into 7 categories, from CRITICAL (SOLID, Core Principles) to LOW priority (Comments). Each rule provides bad/good examples, explanations, and practical guidance. ## When to Use This Skill Activate this skill when: - Reviewing code architecture or design - Refactoring existing code - Making design decisions - Establishing coding standards - Teaching software design principles - Addressing technical debt - Improving code quality and maintainability ## Trigger Phrases The skill activates on: - "review architecture" - "check code quality" - "SOLID principles" - "design patterns" - "clean code" - "refactoring advice" - "code smells" - "best practices" - "DRY principle" - "separation of concerns" ## Skill Structure ``` clean-code-principles/ ├── SKILL.md # Main skill definition ├── AGENTS.md # This file - agent documentation ├── README.md # User-facing documentation ├── metadata.json # Structured metadata and references └── rules/ ├── _sections.md # Category definitions and organization ├── _template.md # Template for new rules ├── solid-*.md # SOLID principles (10 rules) ├── core-*.md # Core principles (12 rules) └── pattern-*.md # Design patterns (1 rule) ``` ## Rule Categories ### 1. SOLID Principles (CRITICAL - 10 rules) **Prefix:** `solid-` Five fundamental object-oriented design principles: - **S**ingle Responsibility: `solid-srp-class`, `solid-srp-function` - **O**pen/Closed: `solid-ocp-extension`, `solid-ocp-abstraction` - **L**iskov Substitution: `solid-lsp-contracts`, `solid-lsp-preconditions` - **I**nterface Segregation: `solid-isp-clients`, `solid-isp-interfaces` - **D**ependency Inversion: `solid-dip-abstractions`, `solid-dip-injection` **Use when:** Designing architecture, planning refactoring, discussing system design ### 2. Core Principles (CRITICAL - 12 rules) **Prefix:** `core-` Fundamental coding practices: - **DRY** (Don't Repeat Yourself): 3 rules - **KISS** (Keep It Simple): 2 rules - **YAGNI** (You Aren't Gonna Need It): 2 rules - **Other**: Separation of Concerns, Composition Over Inheritance, Law of Demeter, Fail Fast, Encapsulation **Use when:** Daily coding, code reviews, addressing duplication or complexity ### 3. Design Patterns (HIGH - 1 rule) **Prefix:** `pattern-` Common solutions to recurring problems: - Repository Pattern (data access abstraction) **Use when:** Solving architectural problems, abstracting infrastructure concerns ### 4-7. Future Categories - **Code Organization** (`org-`): Module structure, boundaries - **Naming & Readability** (`name-`): Identifier naming conventions - **Functions & Methods** (`func-`): Function-level best practices - **Comments & Documentation** (`doc-`): Documentation guidelines ## How to Use Rules ### Accessing Rules 1. **By ID:** Reference specific rules using their ID ``` Check against solid-srp-class and core-dry ``` 2. **By Category:** Apply all rules in a category ``` Review this class against SOLID principles ``` 3. **By Scenario:** Choose relevant rules for the context ``` This has duplicated validation logic - check DRY rules ``` ### Rule Format Each rule follows a consistent structure: ```markdown --- id: {rule-id} title: {Full Title} category: {category} priority: {critical|high|medium|low} tags: [{tags}] related: [{related-rule-ids}] --- # {Rule Title} {One-sentence summary} ## Bad Example {Anti-pattern code with problems liste