From engineering
Pragmatic Programmer principles - orthogonality, tracer bullets, DRY.
How this skill is triggered — by the user, by Claude, or both
Slash command
/engineering:pragmatic-principlesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Working habits from The Pragmatic Programmer, scoped to decisions about module boundaries, how to start risky work, and when to stop polishing. For the SOLID/DRY/KISS/YAGNI rule set and broader system shape, defer to `solid-dry-kiss-yagni` and `scalable-architecture` rather than restating them here.
Working habits from The Pragmatic Programmer, scoped to decisions about module boundaries, how to start risky work, and when to stop polishing. For the SOLID/DRY/KISS/YAGNI rule set and broader system shape, defer to solid-dry-kiss-yagni and scalable-architecture rather than restating them here.
Decouple unrelated things so a change in one module does not ripple into others. Two components are orthogonal when neither knows the other exists.
// Leaky: report logic knows how the store persists data
function buildReport(store: { rows: Row[] }) { return summarize(store.rows); }
// Orthogonal: report depends only on the data it needs
function buildReport(rows: Row[]) { return summarize(rows); }
Talk to your immediate collaborators, not their internals, and depend on interfaces rather than concrete types.
a.getB().getC().run()).For the dependency-inversion rationale behind "depend on interfaces", see solid-dry-kiss-yagni (DIP); this skill only covers the day-to-day reflex.
Every piece of knowledge has a single, authoritative representation. DRY is about duplicated knowledge, not duplicated text — two lines that look alike but encode different decisions are not a violation.
avoid-over-engineering as the counterweight.Build a thin slice that runs end-to-end — real wiring, real boundaries — then flesh it out. A tracer bullet stays in the codebase and grows; you adjust aim with live feedback.
Ship at the quality bar the context demands. "Good enough" is a deliberate, negotiated target, not an excuse for sloppiness — and perfect is the enemy of done (SIMPLE: Pragmatic).
npx claudepluginhub shoto290/shoto --plugin engineeringGuides test-driven development for Django applications using pytest-django, factory_boy, and Django REST Framework. Covers red-green-refactor workflow, conftest fixtures, and coverage reporting.