Agent skill

Programming Principles

by magnus919 in magnus919/agent-skills

Apply distilled coding principles from 14 classic software books to code review, refactoring, design, and implementation decisions.

MITAuto-check passedDevelopment

Install Programming Principles

skills CLI
$ npx skills add magnus919/agent-skills --skill programming-principles -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install magnus919/agent-skills programming-principles --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/programming-principles .claude/skills/programming-principles && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
programming-principles
GitHub stars
111
Token cost
~4.7k tokens
SKILL.md length
2,160 words
Files
34 (incl. references)
Skills in repo
129
Repo updated
First seen
Licence
MIT

At a glance

Apply distilled coding principles from 14 classic software books to code review, refactoring, design, and implementation decisions.

  • Framework-specific tutorials
  • SKILL.md covers Task-to-Book Mapping, How to Perform a Code Assessment, Cross-Cutting Principles and Per-Book Compressed Rules, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks already governed by a projects established conventions

What it does

Programming Principles is an agent skill from magnus919/agent-skills. 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.

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 35 other files, including reference files (for example `README.md`, `evals/evals.json` and `references/a-philosophy-of-software-design.full.md`). Compatibility notes: Platform-agnostic. Works with any agent that supports the Agent Skills directory format. No external dependencies.

It sits in Development, covering Refactoring and Code review. The repository describes itself as: Curated collection of AI agent skills for Hermes and other agent frameworks. The licence is MIT.

When your agent uses it

  • Framework-specific tutorials
  • Tasks already governed by a projects established conventions

Example prompts

  • “/programming-principles”

Requirements

  • Compatibility (from SKILL.md): Platform-agnostic. Works with any agent that supports the Agent Skills directory format. No external dependencies.

What it can do on your machine

Read from SKILL.md and the folder at commit 96fbe07. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Platform-agnostic. Works with any agent that supports the Agent Skills directory format. No external dependencies.

    From compatibility in the SKILL.md frontmatter.

Context cost

Programming Principles loads about 4.7k tokens when it runs, and up to ~89k if it reads all its reference files. Until then it costs about 73 tokens; SKILL.md has 2,160 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~73
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~89k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from magnus919/agent-skills at commit 96fbe07, republished under its MIT licence (© magnus919). 2,160 words, ~4,742 tokens.

Download SKILL.mdSave it as .claude/skills/programming-principles/SKILL.md (or your agent's skills folder). This skill also uses 33 other files; get the full folder from GitHub.
name
programming-principles
description
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.
compatibility
Platform-agnostic. Works with any agent that supports the Agent Skills directory format. No external dependencies.
license
MIT
metadata.source
https://github.com/mattpocock/agent-rules-books

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.
  • Keep parameters few. Boolean flags mean split the function.
  • Separate commands (mutate) from queries (answer). Never both.
  • When a module exceeds ~400 lines or requires scrolling to understand its full scope, it's a candidate for decomposition. Split by stable responsibility boundary, not by execution order or framework convention.
  • The happy path must be readable. Isolate error handling, edge cases, and cleanup from the main flow.
  • A function too long to name precisely is too long. Extract.
Architecture & Boundaries
  • Source dependencies point INWARD toward higher-level policy. Domain and use cases never import frameworks, databases, UI, or vendor SDKs.
  • Every external dependency — HTTP clients, filesystems, databases, vendor SDKs — must sit behind a trait or interface owned by inner layers. Direct instantiation of infrastructure code inside application or domain logic is a structural violation (Dependency Inversion Principle).
  • Frameworks, databases, delivery mechanisms, and devices are outer-layer details. Keep them behind ports, gateways, and adapters.
  • Organize by business capability / use case first, NOT by technical layer (controllers/, services/, repositories/).
  • The dependency rule: inner layers OWN the interfaces they need; outer layers IMPLEMENT them.
  • Choose boundaries by volatility and policy importance, not by size or habit.
  • A wrapper, layer, or abstraction must HIDE more complexity than it adds. Pass-through layers are debt.
Data & State
  • Prefer types that make invalid states unrepresentable. Use enums for closed sets, Value Objects for meaningful primitives, and booleans only for binary meanings.
  • Make data ownership explicit: distinguish source of truth from derived, cached, or ephemeral data.
  • Treat shared mutable state, globals, and ambient context as costs that must earn themselves.
  • Keep identity, lifecycle, mutation, and loading behavior visible.
  • One authoritative representation per piece of system knowledge. Derive or generate everything else.
Testing
  • Tests are production code: readable, deterministic, aligned with behavior.
  • Keep tests focused on externally visible behavior, not internal implementation details.
  • Add a characterization test before changing behavior in untested code.
  • When fixing a bug, add a regression test that would have caught it.
  • Treat ignored, flaky, or skipped tests as unresolved questions.
  • The Boy Scout Rule for tests: leave the test suite cleaner than you found it.
Error & Failure Handling
  • Distinguish: programmer errors (assert), contract violations (panic/fail), expected domain failures (return/result type), retryable failures, and permanent failures.
  • Treat every dependency, timeout, retry, queue, and degraded state as capable of failing in slow, partial, or prolonged ways.
  • Timeouts on ALL outbound calls. No infinite waits. Finite retries with exponential backoff and jitter. Never retry validation errors or permanent failures — distinguish retryable from non-retryable outcomes.
  • Validate external input at trust boundaries. Never trust shape, size, or semantics of things from outside the process.
  • Fail fast when continuing hides unrecoverable trouble. Let-it-crash only with supervision and isolation.
Refactoring & Change
  • Refactoring is behavior-preserving structural improvement. Never disguise a feature or redesign as cleanup.
  • Work in small, reversible, buildable steps. Split patches too large for local reasoning.
  • Identify the structural friction blocking a change. Refactor BEFORE the feature only when it makes the feature safer or simpler.
  • Target the current blocking smell, not every smell in sight. Stop when the next cleanup would be speculative.
  • Remove duplication when the SAME edit appears a third time.
  • Decompose when a module exceeds ~400 lines or handles 3+ distinct responsibilities. A module you can't name in a single sentence is doing too much — extract the cohesive sub-concepts.
  • Prefer the simplest named move: rename, extract, inline, move, split, or substitute.

Per-Book Compressed Rules

Clean Code (Martin)

Readability, local reasoning, maintainability. Corrects: "working code = clean."

  • Functions: one thing, one level of abstraction, top-down narrative
  • Names: intention-revealing, pronounceable, one concept per term
  • No boolean flags, no output parameters, no hidden side effects
  • Comments only for rationale/constraints, never to narrate
  • Tests as production code: readable, deterministic, fast
  • Boy Scout Rule: leave touched code cleaner
A Philosophy of Software Design (Ousterhout)

Deep modules, information hiding, complexity reduction. Corrects: "familiar patterns = simple."

  • Deep modules: small interface, meaningful hidden complexity. Reject thin wrappers.
  • Pull complexity downward into the module that owns the detail
  • Design interfaces around what callers need to know, not how impl works
  • Reduce exception surface via stronger invariants. Define away invalid states.
  • Comments document design decisions and hidden complexity
  • Names, consistency, and obviousness ARE design information
Clean Architecture (Martin)

Business rules independent of frameworks/databases/UI. Corrects: "details = architecture."

  • Dependencies point inward. Domain never imports frameworks, DB, UI, vendors.
  • Entities guard enterprise invariants; Use Cases orchestrate one action
  • Frameworks, DB, delivery = outer-layer details behind Ports/Adapters
  • Inner layers OWn interfaces; outer layers IMPLEMENT
  • Use cases are not merged by sharing; duplication from different actors stays
  • Core tests run without real DB, network, framework, or hardware
Code Complete (McConnell)

Construction discipline, defect reduction, verifiable code. Corrects: "typing = construction."

  • Sketch pseudocode at consistent abstraction before complex routines
  • Input validation at every trust boundary. Assertions for programmer assumptions.
  • Handle errors at the right abstraction. Never silently continue from corruption.
  • Rising complexity IS defect risk. Split tangled routines.
  • Build in small, verifiable increments. Integrate often.
  • Comments explain intent, constraints, contracts — not mechanics.
Domain-Driven Design (Evans) + DDD Distilled (Vernon)

Ubiquitous language, bounded contexts, tactical patterns. Corrects: "model = data schema."

  • Name the Bounded Context before interpreting any term or module
  • One term per concept within the context. Code speaks Ubiquitous Language.
  • Aggregates: small, one root, invariant-protected, one per transaction default
  • Value Objects: immutable, validated at construction, compare by value
  • Repositories return domain objects, not tables or ORM rows
  • Domain Events: past-tense business facts, not property-change notifications
  • Anti-corruption layer at every context boundary
  • Core Domain gets richer modeling; supporting subdomains stay simpler
Implementing DDD (Vernon)

Practical DDD: aggregates, events, services, persistence. Corrects: "renamed CRUD = DDD."

  • Reference other Aggregates by identity, not by object graph
  • Domain Services for operations that fit no Entity or Value Object
  • Application Services coordinate use cases — they don't own domain decisions
  • CQRS when consistency or representation needs justify separate models
  • Event Sourcing only when the event sequence IS the right persistence model
  • Test invariants, valid/invalid state transitions, and events directly
Patterns of Enterprise Application Architecture (Fowler)

Layering, patterns for enterprise apps. Corrects: "more patterns = better design."

  • Choose business logic pattern by force: Transaction Script → Table Module → Domain Model
  • Service Layer for use-case coordination and transaction boundaries
  • Repository speaks domain terms; Data Mapper keeps SQL out of domain objects
  • Unit of Work for one logical commit; Identity Map for one identity per scope
  • Remote Facade + DTOs at cross-layer boundaries — never leak domain internals
  • Session state chosen deliberately: client, server, or DB with scaling accounted for
Show full SKILL.md (849 more words)Show less
Refactoring (Fowler)

Behavior-preserving structural improvement. Corrects: "cleanup = rewrite."

  • Preserve observable behavior. Isolate behavior change from structural change.
  • Small, reversible, testable steps. Safety net before risky work.
  • Preparatory refactoring: reshape blocking structure BEFORE the feature
  • Targeted at the current blocking smell, not every smell in sight
  • Simplest named move: rename, extract, inline, move, encapsulate, substitute
  • Stop when the requested change is easy and the blocking smell is gone
Working Effectively with Legacy Code (Feathers)

Safe change in untested code. Corrects: "rewrite = first move."

  • Legacy = code without trustworthy tests. Characterize before redesign.
  • Find or create a seam: place to change behavior without editing surrounding code
  • Break the ONE blocking dependency before making the change
  • Sprout Method, Sprout Class, Wrap Method, Wrap Class for insertion
  • Leave the area more testable than found
  • Reject: hidden dependency expansion, cosmetic-only refactoring, big rewrites
Designing Data-Intensive Applications (Kleppmann)

Distributed data, consistency, events, replication. Corrects: "everything is local/ordered/exactly-once."

  • Source of truth, derived representations, and consistency expectations must be EXPLICIT
  • Treat crashes, partial writes, duplicates, and timeouts as normal input
  • Write semantics: durable when? visible when? conflicts how? stale reads allowed?
  • Events describe facts. Consumers tolerate lag, duplicates, replay, versioned payloads.
  • Schemas, APIs, and events evolve across old/new readers/writers
  • Partition by workload-relevant locality; make hot-key and cross-partition costs explicit
  • Transactions and isolation matched to actual invariants, not blanket defaults
Release It! (Nygard)

Production reliability, stability patterns. Corrects: "happy path = production readiness."

  • Timeouts on every outbound call. No infinite waits. Bounded retries with backoff.
  • Circuit breakers, bulkheads, fast failure to isolate dependency failures
  • Design overload behavior: finite queues, load shedding, capacity for critical traffic
  • Startup, health checks, migrations, and operational controls: restartable, observable
  • Validate external responses for shape, plausibility, and semantics before trusting
  • Observability at every boundary: latency, saturation, errors, queue depth, breaker state
The Pragmatic Programmer (Hunt & Thomas)

Engineering craft, accountability, automation. Corrects: "local edit = done."

  • One authoritative source per fact. Everything else derives or traces.
  • Preserve orthogonality: independent components, narrow interfaces, separated concerns
  • Tracer bullets over piles of isolated pieces. Validate architecture end-to-end early.
  • Automate repetitive, error-prone, easy-to-forget work
  • Shorten feedback loops: relevant tests, automated checks, cheap early signals
  • Broken windows: fix or visibly contain small quality decay before it normalizes
  • Debug from reproduced facts: observe, isolate, explain, fix, verify
Refactoring.Guru

Smell catalog and technique catalog. Corrects: "pattern = always the answer."

  • Diagnose the smell before choosing the technique
  • Prefer the simplest treatment: rename before extract, extract before redesign
  • Each smell has a specific root cause and treatment path
  • See references/refactoring-guru.full.md for the full catalog

Compatibility Guide

Books that CONFLICT (do not load as equal guidance):

  • DDD ❌ PoEAA — different data ownership paradigms
  • IDDD ❌ PoEAA — same conflict at implementation level

Books that OVERLAP (choose one, they push similar pressure):

  • Clean Code 🔁 Pragmatic Programmer, Code Complete, APoSD — code quality
  • DDD 🔁 DDD Distilled, IDDD — DDD at different depths; pick the level you need
  • Clean Architecture 🔁 IDDD, PoEAA — architecture/layering overlap
  • Refactoring 🔁 Refactoring.Guru — code improvement; choose Refactoring for strategy, Guru for catalog

All other pairs are complementary. Default: one primary always-on book, others loaded on-demand per task.

Local Reference Files

Each book's mini rule set is available as a local reference file under references/. Load any with:

skill_view(name='programming-principles', file_path='references/{book-dir}.mini.md')
FileBook
references/a-philosophy-of-software-design.mini.mdA Philosophy of Software Design
references/clean-architecture.mini.mdClean Architecture
references/clean-code.mini.mdClean Code
references/code-complete.mini.mdCode Complete
references/designing-data-intensive-apps.mini.mdDesigning Data-Intensive Applications
references/domain-driven-design.mini.mdDomain-Driven Design
references/domain-driven-design-distilled.mini.mdDDD Distilled
references/implementing-domain-driven-design.mini.mdImplementing DDD
references/patterns-of-eaa.mini.mdPatterns of Enterprise App Architecture
references/refactoring.mini.mdRefactoring
references/refactoring-guru.mini.mdRefactoring.Guru
references/release-it.mini.mdRelease It!
references/the-pragmatic-programmer.mini.mdThe Pragmatic Programmer
references/working-effectively-with-legacy-code.mini.mdWorking Effectively with Legacy Code
references/code-assessment-workflow.mdAssessment methodology — not a book, but the workflow for combining all books against a real repo

Each book also has a full version (11-42 KB) for deep reference when you need the complete rule catalog. Load on demand:

skill_view(name='programming-principles', file_path='references/{name}.full.md')

Note: references/refactoring-guru.full.md is an index that routes to two part files (refactoring-guru.full-smells-and-priorities.md and refactoring-guru.full-technique-playbook-and-safety.md). Loading the index shows the "Parts of this reference" table; then load the specific part you need.

Full FileBookSize
references/a-philosophy-of-software-design.full.mdA Philosophy of Software Design13 KB
references/clean-architecture.full.mdClean Architecture17 KB
references/clean-code.full.mdClean Code13 KB
references/code-complete.full.mdCode Complete12 KB
references/designing-data-intensive-apps.full.mdDesigning Data-Intensive Applications16 KB
references/domain-driven-design.full.mdDomain-Driven Design42 KB
references/domain-driven-design-distilled.full.mdDDD Distilled11 KB
references/implementing-domain-driven-design.full.mdImplementing DDD12 KB
references/patterns-of-eaa.full.mdPatterns of Enterprise App Architecture15 KB
references/refactoring.full.mdRefactoring17 KB
references/refactoring-guru.full.mdRefactoring.Guruindex + 2 parts
references/release-it.full.mdRelease It!13 KB
references/the-pragmatic-programmer.full.mdThe Pragmatic Programmer13 KB
references/working-effectively-with-legacy-code.full.mdWorking Effectively with Legacy Code13 KB

Progressive disclosure pattern: load the mini file for daily guidance (triggers, decision rules, final checklist). Load the full file only for deep sessions, audits, or when you need the complete rule catalog with code-smell indexes and technique references.

Known Weaknesses (from repo criticism)

  • No empirical measurement of improvement — these are principle-based, not benchmarked. Apply judgment about whether rules improve actual outcomes.
  • Loading too many rule sets at once causes context saturation. Use at most one primary always-on set + one task-specific on-demand set.
  • Rules are book-derived, not incident-derived. The highest-value agent rules come from real failures, not theory.
  • Risk of pseudo-compliance: agent follows the letter of rules while missing the actual task. Test outputs against real requirements, not rule conformity.

© magnus919, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 33 other files (references) in programming-principles of magnus919/agent-skills.

  • SKILL.md
  • README.md
  • evals/evals.json
  • references/a-philosophy-of-software-design.full.md
  • references/a-philosophy-of-software-design.mini.md
  • references/clean-architecture.full.md
  • references/clean-architecture.mini.md
  • references/clean-code.full.md
  • references/clean-code.mini.md
  • references/code-assessment-workflow.md
  • references/code-complete.full.md
  • references/code-complete.mini.md
  • references/designing-data-intensive-apps.full.md
  • references/designing-data-intensive-apps.mini.md
  • references/domain-driven-design-distilled.full.md
  • references/domain-driven-design-distilled.mini.md
  • references/domain-driven-design.full.md
  • references/domain-driven-design.mini.md
  • references/implementing-domain-driven-design.full.md
  • … and 15 more

Open the folder on GitHubat commit 96fbe07

Compare with similar skills

Programming Principles next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Programming Principles compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Programming Principles this skillmagnus919/agent-skills111—~4.7kAutomated safety check: PassMIT
Dignified Python Standardsdocling-project/docling68k—~1.5kAutomated safety check: PassApache-2.0
Clean Code GuardamElnagdy/guard-skills1.3k2 repos~4.3kAutomated safety check: PassMIT
Maintainable Code for iPolloWorkDevin-AXIS/iPolloWork6.7k—~2.7kAutomated safety check: PassCustom licence
Cyclomatic Complexitysaurabhkumar8112/cyclomatic-complexity-skill405—~761Automated safety check: PassApache-2.0
Code Review Graph Navigatorhandsontable/handsontable22k—~939Automated safety check: PassCustom licence

Similar skills

  • Dignified Python Standards

    docling-project/docling

    Applies opinionated production Python conventions chosen by the project's Python version: modern type syntax, pathlib, explicit checks and interface guidance.

    68k GitHub stars~1.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Clean Code Guard

    amElnagdy/guard-skills

    Reviews generated or changed production code against Clean Code, SOLID, DRY, KISS, YAGNI and LLM-specific failure modes before it ships, in any language.

    1.3k GitHub starsUsed in 2 repos~4.3k tokens
    DevelopmentAuto-check passed
  • A code-change gate for the iPolloWork repository: search and reuse first, keep one source of truth, justify every new file or dependency, and audit the change.

    6.7k GitHub stars~2.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Cyclomatic Complexity

    saurabhkumar8112/cyclomatic-complexity-skill

    Refactor code to reduce cyclomatic complexity so it stays readable, maintainable, and aligned with the long-term vision of the codebase, not just optimized for AI comprehension.

    405 GitHub stars~761 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Code Review Graph Navigator

    handsontable/handsontable

    Queries a pre-built, Tree-sitter-based code graph of the whole monorepo instead of grepping call chains, for exploring, debugging, refactoring or reviewing code.

    22k GitHub stars~939 tokensUpdated today
    DevelopmentAuto-check passed
  • Software Design Philosophy

    luoling8192/software-design-philosophy-skill

    Software design philosophy guide based on John Ousterhout's "A Philosophy of Software Design." Use this skill during: code reviews, architecture discussions, API design, module decomposition…

    344 GitHub stars~3.4k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed

More from magnus919/agent-skills

All 129 skills in this repo
  • Artifact Pyramids

    magnus919/agent-skills

    Organize durable agent research outputs as summaries, analysis, and evidence dossiers.

    111 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Ascii City Engine

    magnus919/agent-skills

    Build portable, first-person colored ASCII city engines and small GIS-derived city packs.

    111 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Color Management

    magnus919/agent-skills

    Manage color workflows with ICC profiles, working spaces, gamut mapping, and color science.

    111 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check: notes
  • Data Scientist

    magnus919/agent-skills

    A skill your agent uses for PhD-level expertise in data science, statistics, and machine learning: rigorous statistical analysis, experimental design, causal inference, advanced modeling, research…

    111 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed
  • Docker Compose

    magnus919/agent-skills

    Use Docker Compose to define, run, debug, and harden multi-container applications.

    111 GitHub stars~2k tokensUpdated yesterday
    Auto-check: notes
  • Fpga Development

    magnus919/agent-skills

    Design, review, simulate, and verify FPGA logic using explicit RTL contracts, clock and reset models, CDC analysis, timing constraints, and reproducible implementation evidence.

    111 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Programming Principles

What does Programming Principles do?

Apply distilled coding principles from 14 classic software books to code review, refactoring, design, and implementation decisions. Programming Principles is an agent skill from magnus919/agent-skills. Apply distilled coding principles from 14 classic software books to code review, refactoring, design, and implementation decisions.

When should I use Programming Principles?

Programming Principles fits situations like: framework-specific tutorials; tasks already governed by a projects established conventions.

How do I install Programming Principles in Claude Code?

Run `npx skills add magnus919/agent-skills --skill programming-principles -a claude-code`. Or copy the skill folder (programming-principles in magnus919/agent-skills) into .claude/skills/programming-principles in your project. Claude Code loads it when a task matches its description.

How do I install Programming Principles in Codex?

Run `npx skills add magnus919/agent-skills --skill programming-principles -a codex`. Or copy the skill folder (programming-principles in magnus919/agent-skills) into .agents/skills/programming-principles in your project. Codex loads it when a task matches its description.

Can I use Programming Principles in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add magnus919/agent-skills --skill programming-principles -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/programming-principles, .gemini/skills/programming-principles, .github/skills/programming-principles and .opencode/skills/programming-principles in your project.

What does Programming Principles need to run?

SKILL.md names no scripts, command-line tools or credentials: Programming Principles is instructions for the agent only. Compatibility (from SKILL.md): Platform-agnostic. Works with any agent that supports the Agent Skills directory format. No external dependencies..

Does Programming Principles access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Programming Principles safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Programming Principles use?

Programming Principles is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Programming Principles use?

About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 85k tokens, read only when the agent opens those files.

What are the alternatives to Programming Principles?

Skills that share tags, products or a category with Programming Principles: Dignified Python Standards (docling-project/docling, 68k stars), Clean Code Guard (amElnagdy/guard-skills, 1.3k stars), Maintainable Code for iPolloWork (Devin-AXIS/iPolloWork, 6.7k stars) and Cyclomatic Complexity (saurabhkumar8112/cyclomatic-complexity-skill, 405 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Programming Principles?

magnus919 (a GitHub user) maintains it in magnus919/agent-skills, which has 111 GitHub stars. The repository holds 129 skills in this directory. The repository was last updated on October 6, 2026.

Source: magnus919/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.