build-fix
Detect the project build system and incrementally fix build/type errors with minimal safe changes.
SKILL.mdskills/debugging/build-fix/SKILL.md
GitHubLibrary use: Apply the compatibility and execution contract. Source roles, memory claims, command names, hooks, and integrations are instructions or prerequisites—not installed capabilities.
Build and Fix
Incrementally fix build and type errors with minimal, safe changes.
Step 1: Detect Build System
Identify the project's build tool and run the build:
| Indicator | Build Command |
|---|---|
package.json with build script |
npm run build or pnpm build |
tsconfig.json (TypeScript only) |
npx tsc --noEmit |
Cargo.toml |
cargo build 2>&1 |
pom.xml |
mvn compile |
build.gradle |
./gradlew compileJava |
go.mod |
go build ./... |
pyproject.toml |
python -m compileall -q . or mypy . |
Step 2: Parse and Group Errors
- Run the build command and capture stderr
- Group errors by file path
- Sort by dependency order (fix imports/types before logic errors)
- Count total errors for progress tracking
Step 3: Fix Loop (One Error at a Time)
For each error:
- Read the file — Use Read tool to see error context (10 lines around the error)
- Diagnose — Identify root cause (missing import, wrong type, syntax error)
- Fix minimally — Use Edit tool for the smallest change that resolves the error
- Re-run build — Verify the error is gone and no new errors introduced
- Move to next — Continue with remaining errors
Step 4: Guardrails
Stop and ask the user if:
- A fix introduces more errors than it resolves
- The same error persists after 3 attempts (likely a deeper issue)
- The fix requires architectural changes (not just a build fix)
- Build errors stem from missing dependencies (need
npm install,cargo add, etc.)
Step 5: Summary
Show results:
- Errors fixed (with file paths)
- Errors remaining (if any)
- New errors introduced (should be zero)
- Suggested next steps for unresolved issues
Recovery Strategies
| Situation | Action |
|---|---|
| Missing module/import | Check if package is installed; suggest install command |
| Type mismatch | Read both type definitions; fix the narrower type |
| Circular dependency | Identify cycle with import graph; suggest extraction |
| Version conflict | Check package.json / Cargo.toml for version constraints |
| Build tool misconfiguration | Read config file; compare with working defaults |
Fix one error at a time for safety. Prefer minimal diffs over refactoring.
Related skills and principles
Source provenance
ecc/commands/build-fix.md