Agent skill · magnus919
programming-principles
Apply distilled coding principles from 14 classic software books to code review, refactoring, design, and implementation decisions. Do not use for language- or framework-specific tutorials, tool manuals, or tasks already governed by a project's established conventions.
What it needs
About 10k tokens when loaded.
What this skill does
Programming Principles (14 Books) Principles distilled from the mattpocock/agent-rules-books repo — 14 pre-made AGENTS.md rule sets derived from classic software engineering books. Use this skill directly during code review, refactoring, design, and implementation. For deeper per-book coverage, load the relevant reference file. Task-to-Book Mapping When the task involves... Load / apply principles from ──────────────────────────────────────────────────────────────────────── Everyday implementation & code review Clean Code, Code Complete Refactoring existing code Refactoring, WELC Architecture / dependency management Clean Architecture, APoSD Domain modeling / business rules DDD, DDD Distilled, IDDD Enterprise app patterns / layering PoEAA Production reliability / stability Release It! Data consistency / scalability / events DDIA Engineering craft / automation Pragmatic Programmer Designing APIs / module boundaries APoSD Legacy code / risky changes WELC, Refactoring How to Perform a Code Assessment For a structured, reproducible workflow that combines book principles with actual repo exploration, see references/code-assessment-workflow.md. It covers: loading the evaluation framework, reading the repo and GitHub context, deduplicating against existing issues/PRs, classifying findings by book + priority, and deciding whether each merits an issue. Cross-Cutting Principles Principles synthesized from multiple books, organized by concern. Naming & Communication One term per concept across the codebase. RENAMING is design work. Names reveal abstraction, not mechanism. Prefer domain vocabulary over technical implementation detail. Functions are verbs, classes/types are nouns, booleans are predicates. A name needing a comment to explain it is the wrong name. Comments exist for rationale, contracts, warnings, and non-obvious constraints — never to narrate code or compensate for bad names. Functions & Routines ONE level of abstraction per function. Tell the story top-down. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills magnus919/programming-principles