Skip to content

Repository files navigation

Coding Skills for AI Agents

Foundational coding principles as AI agent skills. KISS, DRY, SOLID, YAGNI, Separation of Concerns, Law of Demeter, Boy Scout Rule, Convention over Configuration — plus a stack detection skill that makes them all language-aware. Works with Claude Code, OpenAI Codex, Cursor, Windsurf, and any agent that supports the Agent Skills spec.

Built by Jordan Coin Jackson. Contributions welcome — open a PR or file an issue.

What Are These?

Skills are markdown files that give AI agents specialized knowledge for specific tasks. These skills teach agents how to think about code quality — not syntax, not framework APIs, but the principles that separate code that ships reliably from code that breaks in production.

Each skill includes:

  • Rules — concrete, actionable guidelines (not platitudes)
  • Anti-patterns — what violations actually look like in real code
  • Examples — before/after showing the principle applied
  • Boundaries — when NOT to apply the principle (every principle has limits)
  • Code review checklist — for agents reviewing PRs or auditing codebases

How Skills Work Together

Every skill reads .agents/stack-context.md first (generated by detect-stack) to understand the project's language, framework, and conventions. Then it applies the principle idiomatically — Rust patterns for Rust, Python patterns for Python, etc.

 ┌──────────────────────────────────────┐
│ detect-stack │
│ (generates stack-context.md) │
└──────────────────┬───────────────────┘
│
│ read by all skills
│
┌────────┬──────────┬───────────────┼────────────┬──────────┬──────────────┐
│ │ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼ ▼
┌──────┐ ┌──────┐ ┌────────┐ ┌──────────────┐ ┌────────┐ ┌────────┐ ┌────────────┐
│ KISS │ │ DRY │ │ SOLID │ │ Separation │ │ Law │ │ Boy │ │ Convention │
│ │ │ │ │ │ │ of Concerns │ │ of │ │ Scout │ │ over │
│ │ │ │ │ │ │ │ │Demeter │ │ Rule │ │ Config │
└──┬───┘ └──┬───┘ └───┬────┘ └──────┬───────┘ └───┬────┘ └───┬────┘ └─────┬──────┘
│ │ │ │ │ │ │
└────────┴────┬────┴─────────────┴─────────────┴──────────┴─────────────┘
│
Skills cross-reference each other:
kiss ↔ yagni ↔ solid
separation-of-concerns ↔ solid ↔ law-of-demeter
boy-scout-rule ↔ convention-over-configuration ↔ kiss

See each skill's Related Skills section for the full dependency map.

Available Skills

SkillDescription
kissReduce complexity and improve readability. Use when code is "too complex," "hard to read," or "can't follow this."
dryEliminate duplicated knowledge and business logic. Use when "this is duplicated" or "we have this in two places."
yagniPrevent over-engineering and speculative features. Use when code is "over-engineered" or builds for "just in case."
solidDesign module boundaries and interfaces for maintainable architecture. SRP, OCP, LSP, ISP, DIP.
separation-of-concernsStructure code into layers with clear boundaries. Use when "this function does too much" or "fat controller."
law-of-demeterReduce coupling and deep object chains. Use when code has "train wrecks" or "mocking is painful."
boy-scout-ruleLeave code better than you found it — incrementally. Use when touching existing code and spotting small improvements.
convention-over-configurationEstablish patterns and reduce configuration overhead. Use when "too much config" or "inconsistent structure."
detect-stackAnalyze a codebase to detect language, framework, conventions, and CI gates. Generates .agents/stack-context.md.

Installation

Option 1: CLI Install (Recommended)

# Install all skills
npx skills add JordanCoin/codingskills
# Install specific skills
npx skills add JordanCoin/codingskills --skill kiss dry solid
# List available skills
npx skills add JordanCoin/codingskills --list

Option 2: Claude Code Plugin

/plugin marketplace add JordanCoin/codingskills
/plugin install coding-skills

Option 3: Clone and Install

git clone https://github.com/JordanCoin/codingskills.git
cd your-project && /path/to/codingskills/install.sh

This copies skills to .agents/skills/ and symlinks .claude/skills/ for Claude Code compatibility.

Option 4: Git Submodule

git submodule add https://github.com/JordanCoin/codingskills.git .agents/codingskills

Option 5: Fork and Customize

Fork, tweak the principles for your team's conventions, clone into your projects.

Option 6: SkillKit (Multi-Agent)

npx skillkit install JordanCoin/codingskills

Usage

Once installed, just ask your agent to help with code quality:

"Simplify this function"
→ Uses kiss skill
"Is this over-engineered?"
→ Uses yagni skill
"Review this PR for code quality"
→ Uses kiss, dry, law-of-demeter skills
"Audit this codebase for tech debt"
→ Uses all skills sequentially

Invoke skills directly:

/kiss
/dry
/solid
/yagni
/separation-of-concerns
/law-of-demeter
/boy-scout-rule
/convention-over-configuration
/detect-stack

When to Apply Each Principle

SituationPrimarySupporting
Adding a new featureyagnikiss, separation-of-concerns
Refactoringseparation-of-concerns, soliddry, boy-scout-rule
Reviewing a PRkiss, drylaw-of-demeter, convention-over-configuration
Fixing a bugboy-scout-rule, kissseparation-of-concerns
Designing module boundariesseparation-of-concerns, solidlaw-of-demeter
Choosing between approacheskiss, yagniconvention-over-configuration
Organizing project structureconvention-over-configurationseparation-of-concerns, solid
Reducing couplinglaw-of-demeter, solidseparation-of-concerns
Auditing for tech debtallrun detect-stack first, then each principle

Stack Detection

The detect-stack skill scans your project and generates .agents/stack-context.md with:

  • Language and version
  • Framework and database layer
  • Build, test, lint, and format tools
  • CI gate configuration
  • Project conventions and naming patterns

Every other skill reads this file first and applies principles idiomatically for your stack. No static reference files per language — agents use their built-in knowledge plus context7 MCP for framework-specific details on demand.

Contributing

Found a way to improve a skill? Have a new principle to add? PRs and issues welcome.

See CONTRIBUTING.md for guidelines.

License

MIT — use these however you want.

About

Coding principles for Claude Code and AI agents. KISS, DRY, SOLID, YAGNI, separation of concerns, and more. Language-agnostic skills that help agents ship production-quality code.

Topics

Resources

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages