dev

Use when working with fundamental software development knowledge — patterns, algorithms, architecture, and craftsmanship principles drawn from canonical published works. USE FOR: development fundamentals, pattern selection, architecture decisions, algorithm choice, code quality principles, choosing between architectural styles DO NOT USE FOR: specific pattern implementations (use sub-skills: design-patterns, integration-patterns, algorithms, etc.), testing strategy (use testing), infrastructure (use iac)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "dev" with this command: npx skills add tyler-r-kendrick/agent-skills/tyler-r-kendrick-agent-skills-dev

Development Fundamentals

Overview

This skill covers the foundational knowledge every software developer should command — drawn from canonical published works and industry-proven practices. It spans from low-level algorithms through code craftsmanship to system-level architecture.

Knowledge Map

┌─────────────────────────────────────────────────────────┐
│  Architecture                                           │
│  Microservices, Monoliths, DDD, Event-Driven,          │
│  Hexagonal, Well-Architected Frameworks                 │
├─────────────────────────────────────────────────────────┤
│  Frontend                    │  Backend                 │
│  SPA, PWA, Micro-frontends, │  Data Modeling, API      │
│  SSR, Islands Architecture  │  Design, Caching, Auth   │
├─────────────────────────────────────────────────────────┤
│  Integration Patterns        │  Design Patterns         │
│  EIP: Messaging, Routing,   │  GoF: Creational,        │
│  Transformation, Endpoints  │  Structural, Behavioral  │
├─────────────────────────────────────────────────────────┤
│  Algorithms & Data Structures                           │
│  Sorting, Searching, Graphs, DP, Combinatorial          │
├─────────────────────────────────────────────────────────┤
│  Craftsmanship                                          │
│  Clean Code, Clean Architecture, SOLID, 12-Factor,     │
│  Refactoring, Boy Scout Rule                            │
└─────────────────────────────────────────────────────────┘

Canonical Works

BookAuthorCovers
Design PatternsGamma, Helm, Johnson, Vlissides (GoF)23 object-oriented patterns
Enterprise Integration PatternsHohpe & WoolfMessaging, routing, transformation
The Art of Computer ProgrammingDonald KnuthAlgorithms, data structures, combinatorics
Clean CodeRobert C. MartinNaming, functions, formatting, comments
Clean ArchitectureRobert C. MartinDependency rule, boundaries, layers
RefactoringMartin FowlerCode smells, refactoring catalog
Domain-Driven DesignEric EvansBounded contexts, aggregates, ubiquitous language
Building MicroservicesSam NewmanService decomposition, communication, deployment
The Pragmatic ProgrammerHunt & ThomasCareer, approach, tools, pragmatic philosophy
The Twelve-Factor AppAdam Wiggins (Heroku)Cloud-native application methodology
Release It!Michael NygardStability patterns, capacity, deployment
Fundamentals of Software ArchitectureRichards & FordArchitecture styles, characteristics, decisions

Choosing the Right Pattern Category

ProblemLook In
Object creation complexityDesign Patterns → Creational
Composing objects / adapting interfacesDesign Patterns → Structural
Object communication / state managementDesign Patterns → Behavioral
Service-to-service messagingIntegration Patterns
Algorithm selection / optimizationAlgorithms
Code readability and maintainabilityCraftsmanship
System decomposition and boundariesArchitecture
Client-side application structureFrontend
Server-side data and API structureBackend

Best Practices

  • Learn patterns as a vocabulary, not a checklist — apply them when the problem calls for it, not preemptively.
  • Start with the simplest architecture that works (monolith), evolve toward complexity (microservices) only when you have evidence you need it.
  • Apply the Boy Scout Rule: leave code better than you found it, every time you touch it.
  • Use SOLID principles as guardrails for daily decisions, not just for greenfield design.
  • Prefer composition over inheritance — most GoF patterns are variations of this principle.
  • Study algorithms for problem-solving intuition, not memorization — know when to reach for a graph algorithm vs. dynamic programming.
  • Keep integration patterns in mind whenever systems need to communicate — messaging solves problems that synchronous calls create.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

python

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

typescript

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

devcontainer

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

specs

No summary provided by upstream source.

Repository SourceNeeds Review
dev | V50.AI