checking-upstream-firstlisted
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