← ClaudeAtlas

engineering-craftlisted

Use on every code delivery to hold the structural-quality bar — reusability where repetition is real, clear boundaries, explicit error handling, focused units, honest names, and tests for real logic. Invoke whenever you implement a claimed ticket and want the change to read like production code the repo's maintainers would approve, not a quick hack that merely passes. A cross-cutting lens that composes with `minimalism` (least code) and whatever build skill the ticket needs. For "make this reusable / well-structured", "production quality", "don't leave a hack".
tmj-90/gaffer · ★ 0 · AI & Automation · score 69
Install: claude install-skill tmj-90/gaffer
# Engineering craft — code the maintainers would approve The counterpart to `minimalism`. Minimalism asks *"is this the least code that works?"*; craft asks *"is the code that remains well-structured, honest, and safe to change?"* The target is the intersection: the **smallest change that a careful reviewer would approve without asking you to redo it**. This is a lens, not a stage — apply it while you implement, and confirm it in `self-review` before submitting. Craft is never a licence to add code. When craft and minimalism seem to disagree, they don't: the rule below (real repetition, not speculative) resolves it every time. ## The craft bar (hold all of these) 1. **Reuse only real repetition — never speculative abstraction.** DRY applies to duplication that *already exists* (the same logic in two places you can see). Do NOT introduce a base class, generic, config system, or "flexible" helper for a second caller that doesn't exist yet — that's the over-engineering `minimalism` forbids. Rule of thumb: extract on the *third* occurrence, inline the first two. When you do extract, give the shared unit one clear responsibility. 2. **Boundaries at the edges.** Keep transport (HTTP/CLI), business logic, and persistence (DB/filesystem) separable — don't put a SQL query or a `fetch` in the middle of domain logic. Depend on the seam the repo already uses; don't invent a new layering the codebase doesn't have. 3. **Handle errors explicitly — no silent failu