Agent skill · laurigates
design-diy-vs-dependency
Evaluate a transparent DIY reimplementation before depending on a heavy single-purpose tool — GUI wrapper, bundled runtime, unaudited or non-cross-platform binary. Use when a task is about to install such a tool, or when auditing an existing dependency for removal.
What it needs
About 5k tokens when loaded.
What this skill does
Design: DIY vs. a Heavy Dependency Before reaching for an existing single-purpose tool — especially one with a GUI, a bundled runtime, an unaudited binary, or that only runs on one platform — evaluate whether the underlying operation is simple and well-documented enough to reimplement directly, in code that can be read start to finish. This is not a mandate to always DIY. Most of the time the existing tool is still the right call. But the evaluation should always happen before defaulting to "just install the tool that does this." When to Use This Skill Use this skill when… Skip when… --- --- A task is about to install a single-purpose tool to perform one operation The dependency is a general-purpose runtime/library reused across the project The "app" is a GUI wrapping a well-defined mechanical operation A single well-known CLI installable via mise/uv/brew covers it — don't reimplement curl The tool is non-cross-platform, unmaintained, or an opaque bundled binary The tool encapsulates hard-to-verify complexity (crypto, hardware timing, safety-critical) Auditing an existing dependency for removal No authoritative reference exists to verify a reimplementation against The Trigger Run the evaluation whenever the tool about to be depended on is: Single-purpose — does exactly one narrow thing for this project, not a general-purpose runtime/library reused elsewhere too. A GUI wrapping something mechanical — the "app" is a UI on top of a well-defined operation ("point this at a file and click a button"). Not cross-platform, or otherwise poorly maintained, one-off, or distributed as an opaque bundled binary that can't easily be audited. Heavier than the job warrants — bundles a runtime (Electron, Qt, PyInstaller) or drags in a chain of transient dependencies just to perform one well-scoped operation. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills laurigates/design-diy-vs-dependency