← ClaudeAtlas

checking-upstream-firstlisted

Before writing a custom fix for a framework- or library-level problem, verifies that the current version does not already solve it. Covers the version actually resolved vs. the current one, reading the dependency's own code in node_modules, release notes and issue tracker, and whether an lt base repo already solved it. Activates whenever a workaround, shim, patch, wrapper, polyfill or guard is about to be built around a dependency's behaviour, and on "workaround", "patchen", "wir bauen uns das selbst", "eigene Lösung". NOT for feature work the dependency was never meant to cover. NOT for routine version bumps (use maintaining-npm-packages).
lenneTech/claude-code · ★ 0 · Web & Frontend · score 72
Install: claude install-skill lenneTech/claude-code
# Check Upstream Before Building It Yourself The most expensive code is the code that did not need to be written. A workaround built around a dependency's behaviour has to be designed, reviewed, tested, documented, and then carried forever — and if the dependency already fixed it, all of that is waste that also has to be un-built later. ## When This Skill Activates Any time the plan is to work *around* something rather than *with* it: - A shim, polyfill, wrapper, patch, guard, or "our own version of X" - A `patch-package` entry, a vendored copy of third-party code, a monkey-patch - Re-implementing behaviour a framework already owns (routing, hydration, form state, serialisation, auth, validation) - Any sentence of the form "the framework doesn't do X, so we…" **And — just as often missed — any time a file that CAME FROM a base repo is about to be edited**, whatever the reason: a bug in it, a gap in it, a tweak to it. Not only workarounds. These files arrive with a project and then quietly diverge, so the version in front of you is a snapshot of the template on the day the project was created, not the template as it is now. Both halves of the stack are affected the same way — the frontend is not the exception: **Backend, `projects/api/` (from `nest-server-starter`, `nest-server`):** - `Dockerfile`, `docker-entrypoint.sh`, `.dockerignore`, `.gitlab-ci.yml` - `tsconfig*.json`, `nest-cli.json`, `.oxlintrc.json`, `vitest*.config.ts` - `scripts/**` (`check.mjs`, `check-env