Back to Skills

pragmatic-programmer

Apply meta-principles of software craftsmanship: DRY, orthogonality, tracer bullets, and design by contract. Use when the user mentions "best practices", "pragmatic approach", "broken windows", "tracer bullet", "software craftsmanship", "technical debt prevention", "prototype vs tracer bullet", or "code ownership". Also trigger when evaluating build-vs-buy decisions, designing estimation approaches, or choosing between reversible and irreversible architectural decisions. Covers estimation, domai

1,232stars130forksUpdated 6/8/2026

Security Assessment

Safe(100/100)
Security Score100/100

About pragmatic-programmer

The Pragmatic Programmer AI skill provides guidance on applying meta-principles of software craftsmanship to improve software quality and engineering practices. It focuses on high-level decision-making in software development, emphasizing strategies like DRY (Don't Repeat Yourself), orthogonality, tracer bullets, and design by contract. This skill helps developers and engineering teams think critically about long-term maintainability, technical debt prevention, and the implications of architectural choices. It addresses problems such as duplicated knowledge, fragmented design, and unclear ownership of code, offering a systematic framework for evaluating software decisions and practices.

The skill's main features include assessing software and architecture using a scoring system from 0 to 10 based on adherence to pragmatic principles, providing actionable improvement suggestions, and covering areas such as estimation, domain-specific languages, reversibility of decisions, and build-vs-buy trade-offs. It differentiates itself from code-level quality analysis tools by operating at the meta-level, guiding how developers approach problems, structure systems, and maintain technical discipline. Key capabilities also involve evaluating prototypes versus tracer bullets and emphasizing the importance of knowledge consistency, orthogonal components, and careful communication within teams.

Target users include software engineers, architects, team leads, and consultants aiming to instill best practices and sustainable development habits. It is particularly useful for teams focused on long-lived systems, where maintainability, adaptability, and reducing technical debt are priorities. Typical use cases involve reviewing architecture, designing software with robust principles, mentoring teams on software craftsmanship, and making informed decisions about code reuse, modularity, and project estimation. By applying this skill, practitioners can enhance both the technical quality of their systems and the culture of disciplined software development.

FAQ

How should I use this skill in a code review or architecture evaluation?

You can use it to assess designs, code, or system architecture on a 0-10 scale based on alignment with pragmatic principles. Provide the current score and actionable improvements to move towards full adherence.

Which programming contexts or languages is this skill compatible with?

The skill is language-agnostic and focuses on meta-level software principles rather than specific syntax, so it applies to any programming language or system architecture.

Does this skill replace code-level quality tools like clean-code analyzers?

No, it complements code-level tools by focusing on high-level principles, design decisions, and long-term maintainability rather than detailed coding style or refactoring patterns.

Are there limitations to what this skill can evaluate?

Yes, it primarily addresses meta-principles and architectural decisions, so it may not provide detailed feedback on low-level implementation bugs or specific syntax issues.

Can this skill assist with estimating projects or making build-vs-buy decisions?

Yes, it is designed to guide evaluation of estimation approaches, build-vs-buy choices, and reversible versus irreversible architectural decisions.

All Files

7 files
references/tracer-bullets.md11.8 KB
View
references/broken-windows.md11.5 KB
View
references/dry-orthogonality.md10.7 KB
View
references/contracts-assertions.md13.3 KB
View
references/estimation-portfolio.md13.5 KB
View
references/reversibility.md13.8 KB
View
SKILL.md17.9 KB
View

Install pragmatic-programmer

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

wondelai/skills