Excellent question. There should definitely be a first class feature to handle this in skaffold. It doesn't have to be prod. Wiping out dev resources when you meant to simply run locally can generate a ton of work, and it is easily handled. I'm disappointed skaffold doesn't have one or more features to prevent these scenarios.
Here is how I handle it in my monorepo:
I have the following start script in package.json - devs just run "npm start" to launch...
"start": "node pre-skaffold-checks.js && skaffold dev --no-prune=false --cache-artifacts=false",
In pre-skaffold-checks.js, I check to see if docker is running, then I check the context. If the context is not "docker-desktop", I write to the console, "Wrong context!!! Use docker-desktop", then just stop - process.exit(0). If everything's good (context is local), I exit with a success - process.exit(1), and the skaffold command actually runs.
It took me wiping out all resources on dev twice before I buckled down and implemented the above. I've never had to worry about it since.