Claude-skill-registry fundamental-coding-principles

Apply SOLID, DRY, KISS, YAGNI, and SSOT principles when writing, reviewing, or refactoring code to ensure maintainability and quality.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/fundamental-coding-principles" ~/.claude/skills/majiayu000-claude-skill-registry-fundamental-coding-principles && rm -rf "$T"
manifest: skills/data/fundamental-coding-principles/SKILL.md
source content

Fundamental Coding Principles

Apply this skill to keep code changes focused, testable, and maintainable.

Quick Checklist

  • Confirm each edit has a single purpose before coding.
  • Ruthlessly remove duplication or dead paths you touch.
  • Only add behavior backed by an explicit requirement.
  • Prefer simple, composable solutions over clever ones.
  • Keep truthy data and decisions in one authoritative place.

Principle Guardrails

SOLID

  • S
    : Validate the change impacts one reason to vary; split helpers if mixed concerns appear.
  • O
    : Extend behavior through new types or functions rather than rewriting stable code paths.
  • L
    : Ensure new subtype logic preserves caller expectations (inputs, return contracts, exceptions).
  • I
    : Create targeted interfaces; avoid forcing consumers to implement unused members.
  • D
    : Depend on abstractions or injected collaborators; eliminate hardwired globals where possible.

DRY

  • Scan for repeated logic, constants, or schemas; consolidate into shared utilities before finishing.
  • Prefer extracting reusable modules over copy-pasting even inside the same file.

KISS

  • Trim optional branches, flags, and polymorphism unless they solve today’s requirement.
  • Keep functions short and state minimal; decompose complex flows into readable steps.

YAGNI

  • Challenge every new feature, parameter, or hook: is there a verified need right now?
  • Defer premature abstractions until duplication or clear requirements emerge.

SSOT

  • Update or create the canonical definition (config, schema, doc) when data models change.
  • Remove divergent caches or mirrors unless you enforce sync in the same change.

Reference Playbooks