Claude should never skip steps in an established build pipeline
Problem
When working with a multi-step build pipeline (e.g. npm run generate → npx cap sync → gradlew assembleDebug for a Capacitor/Android project), Claude may skip intermediate steps if it believes only certain files changed or that a step isn't necessary.
In our case, cap sync only copies from dist/ — it does NOT rebuild the Nuxt frontend. Skipping npm run generate meant web asset changes (CSS, Vue templates, JS plugins) never reached the APK. We spent over 2 hours debugging "issues" that were never actually deployed to the device, because the build didn't include our changes.
Expected behavior
Once a multi-step build pipeline is established in a conversation (or documented in CLAUDE.md / memory), Claude should run all steps every time without trying to optimize by skipping steps it thinks are unnecessary. Build tool internals are opaque — Claude cannot reliably determine which steps are safe to skip.
Suggested improvement
When a build pipeline is known, treat it as atomic. Never skip intermediate steps unless the user explicitly says to. This is especially important for cross-compilation pipelines (web → native, TypeScript → JavaScript, etc.) where the relationship between source changes and build outputs is not obvious.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗