Pragmatic Programmer
Practical software craftsmanship
Apply the timeless software craftsmanship principles from Hunt and Thomas's "The Pragmatic Programmer." This skill equips your AI agent with DRY thinking, orthogonal design, tracer bullets, and pragmatic approaches to estimation, testing, and automation.
npx skills add wondelai/skills/pragmatic-programmer --global
The Pragmatic Programmer Andrew Hunt & David Thomas View on Amazon
02 What it is
What is the Pragmatic Programmer skill?
Hunt and Thomas's The Pragmatic Programmer is about the craft habits that outlast any framework, and this free skill hands them to your agent: DRY applied to knowledge rather than characters, orthogonal design, tracer bullets that prove a path end to end, and contracts that state what a function actually promises.
03 Key concepts
Five principles your agent applies.
Drawn from The Pragmatic Programmer — not advice it repeats back to you, but decisions it makes while it works.
04 Fit
When to use it, and
when not to.
four symptoms it fixes, and four it doesn't.
Reach for it when
You're starting something new and want a thin working path through the whole system before filling it in.
The same knowledge is duplicated in three places and changing it means changing all three.
Modules are so entangled that a change in one reliably breaks another.
You want your agent to state a function's preconditions and invariants instead of guessing at edge cases.
Reach for something else when
You want line-level readability rules. Clean Code is the more specific tool.
The task is a named, mechanical code transformation. use Refactoring.
You are choosing between architectures or drawing dependency boundaries. use Clean Architecture.
The system is already in production and failing under load. Release It! covers stability, this does not.
05 Prompts
Say it like this.
Name the skill at the end of a prompt and the agent applies the framework rather than a vibe. Or say nothing — it loads on its own when a task matches.
Identify DRY violations across these modules and suggest consolidation using pragmatic-programmer skill
Design a tracer bullet implementation for this new feature using pragmatic-programmer skill
Check this codebase for orthogonality issues and tight coupling using pragmatic-programmer skill
Apply Design by Contract to define clear interfaces for this service using pragmatic-programmer skill
06 About the author
07 Same stack
The stack it sits in.
Six Code Quality skills. Most people run two: this one, and whichever fits the next problem.
All Code Quality skills08 Questions
Before you install.
How do I install the Pragmatic Programmer skill?
Run npx skills add wondelai/skills/pragmatic-programmer --global. It takes about 30 seconds and needs no account. The Pragmatic Programmer skill then works in Claude, Claude Code, Claude Cowork, Codex, Cursor, OpenClaw and Hermes Agent — anything that reads the open agentskills.io format — and your agent loads it on its own when a task calls for it. It is free and MIT-licensed, and the source is at https://github.com/wondelai/skills.
Which book is the Pragmatic Programmer skill based on?
It packages The Pragmatic Programmer by Andrew Hunt & David Thomas — agile Manifesto co-authors, founders of Pragmatic Bookshelf. The skill distils the book's method into instructions your agent follows while it works, covering dry principle, orthogonality and tracer bullets. It sits in the Code Quality part of the library.
What is a tracer bullet, in practice?
A thin, working slice through every layer of the system — real UI to real API to real database — built before any layer is complete. It proves the pieces connect and gives you something to aim adjustments at. It differs from a prototype in that you keep it: prototypes are thrown away, tracer bullets become the skeleton.
Is DRY just about not copy-pasting code?
No, and the skill applies the stronger version. DRY is about every piece of knowledge having one authoritative representation. Two functions with identical bodies that encode genuinely different rules are not a DRY violation and should not be merged; two different-looking functions that encode the same business rule are. The skill asks which knowledge is being duplicated before it suggests extracting anything.
Does this overlap with Clean Code?
They sit at different altitudes and are often installed together. Clean Code is about the sentence — this name, this function, this conditional. Pragmatic Programmer is about the paragraph and the habit: how you decouple modules, how you prove a design early, how you keep knowledge in one place. Neither replaces the other.
09 Guides that use it
Put it to work.
Long-form playbooks where this skill does part of the job.
One skill, one command.
Install Pragmatic Programmer, or the whole stack.
npx skills add wondelai/skills/pragmatic-programmer --global MIT licensed · Claude, Claude Code, Codex, Cursor, OpenClaw, Hermes · No account