
Fix Errors
- 16.2k installs
- 148 repo stars
- Updated July 24, 2026
- warpdotdev/common-skills
Structured guidance on identifying root causes of compilation, linting, formatting, and test failures; step-by-step commands to isolate and resolve specific error types.
About
This skill diagnoses and fixes compilation errors, clippy linting violations, formatting issues, test failures, and WASM-specific problems in the warp Rust codebase. Developers use it when builds fail, presubmit checks don't pass, or tests break during development. Key workflows include running individual cargo fmt, clippy, and nextest commands; gating WASM-incompatible code behind feature flags; and interpreting common error patterns like type mismatches, unused imports, struct field changes, and enum variant additions. The presubmit script orchestrates all checks at once; specific test filtering and per-package runs target narrow issues.
- Run unified presubmit checks (fmt, clippy, all tests) via ./script/presubmit before opening PRs
- Filter and run specific tests by package name or test substring using cargo nextest
- Gate WASM-incompatible code (filesystem ops, dead code) behind local_fs feature flag with #[cfg] attributes
- Fix common error types: unused imports, type mismatches, struct field changes, enum variant additions, function signatur
- Diagnose WASM build failures via cargo clippy --target wasm32-unknown-unknown --profile release-wasm-debug_assertions
Fix Errors by the numbers
- 16,188 all-time installs (skills.sh)
- +1,947 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #11 of 610 Debugging skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
fix-errors capabilities & compatibility
- Capabilities
- diagnose compilation errors · run and filter tests by package or name · validate wasm compatibility · explain error types and fixes · guide presubmit check execution
- Use cases
- debugging · testing · code review · ci cd
What fix-errors says it does
Before opening or updating a pull request, all presubmit checks must pass.
npx skills add https://github.com/warpdotdev/common-skills --skill fix-errorsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 16.2k |
|---|---|
| repo stars | ★ 148 |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 24, 2026 |
| Repository | warpdotdev/common-skills ↗ |
What it does
Resolve Rust compilation errors, linting failures, and test issues in the warp codebase before submitting pull requests.
Who is it for?
Rust developers on the warp team debugging build failures, test regressions, or linting violations before code review.
Skip if: First-time Rust learners unfamiliar with cargo ecosystem; non-warp codebases with different check scripts.
When should I use this skill?
Build fails, cargo check/clippy/fmt report errors, tests fail, presubmit script blocks PR, WASM compilation errors occur.
What you get
All compilation, linting, formatting, and test checks pass; code is WASM-compatible where required; PR is ready to submit.
- Passing cargo fmt check
- Passing cargo clippy check
- All tests passing
By the numbers
- Presubmit script covers formatting, linting, and all tests in one command
- WASM-specific clippy target: wasm32-unknown-unknown with release-wasm-debug_assertions profile
- Support for filtering tests by substring via cargo nextest -E 'test(<substring>)'
Files
fix-errors
Fix compilation errors, linting issues, and test failures in the warp Rust codebase.
Overview
This skill helps resolve common issues encountered during development, including:
- Compilation errors (unused imports, type mismatches, etc.)
- Linting failures (clippy warnings)
- Formatting violations
- WASM-specific errors
- Test failures
Before opening or updating a pull request, all presubmit checks must pass.
Presubmit Checks
Run all presubmit checks at once:
./script/presubmitThis runs formatting, linting, and all tests. If it passes, you're ready to open a PR.
Individual Checks
Run checks separately when debugging specific issues:
Rust formatting:
cargo fmt -- --checkClippy (full workspace):
cargo clippy --workspace --exclude warp_completer --all-targets --all-features --tests -- -D warnings
cargo clippy -p warp_completer --all-targets --tests -- -D warningsWASM Clippy:
cargo clippy --target wasm32-unknown-unknown --profile release-wasm-debug_assertions --no-depsObjective-C/C/C++ formatting:
./script/run-clang-format.py -r --extensions 'c,h,cpp,m' ./crates/warpui/src/ ./app/src/All tests:
cargo nextest run --no-fail-fast --workspace --exclude command-signatures-v2
cargo nextest run -p warp_completer --features v2Doc tests:
cargo test --docRunning Specific Tests
Single package:
cargo nextest run -p <package_name>Filter by test name:
cargo nextest run -E 'test(<substring>)'Specific package with filter:
cargo nextest run -p <package_name> -E 'test(<substring>)'With output (no capture):
cargo nextest run -p <package> --nocaptureCommon Error Types
Unused Imports
Remove unused use statements identified by the compiler.
Unused Constants
Remove constants that are defined but never used.
Unknown Imports
Add the correct use statement for undefined types. Search the codebase to find the correct module path.
Type Mismatches
Update function calls to pass arguments of the correct type. Common fixes:
- Use
.as_str()instead of.clone()when a&stris expected - Use
&valuewhen a reference is needed - Use
.to_string()whenStringis expected but&stris provided
Struct Field Changes
When a struct adds/removes fields, update all places where it's constructed or destructured:
- Struct initialization
- Pattern matching (
match,if let) - Destructuring assignments
Function Signature Changes
When a function adds a new parameter, update all call sites to provide the new argument:
- For
boolparams: passtrueorfalsebased on context - For
Option<T>params: passNoneas default orSome(value)if needed
Enum Variant Changes
When adding a new enum variant, update exhaustive match statements:
- Add a new match arm with appropriate handling
- Mirror the implementation pattern of similar variants
Incorrect Trait Implementation
Fix trait implementations that return the wrong type or don't satisfy trait bounds.
WASM-Specific Errors
WASM builds (wasm32-unknown-unknown target) don't support filesystem operations. Code that uses filesystem APIs must be gated behind the local_fs feature flag.
Common WASM errors:
- Dead code warnings for code only used in non-WASM builds
- Unused code that's only relevant when
local_fsis available - Tests that require filesystem access
Fixes:
Gate tests behind `local_fs`:
#[test]
#[cfg(feature = "local_fs")]
fn test_find_git_repo_with_worktree() {
// Test that uses filesystem operations
}Conditionally allow dead code for types only used when `local_fs` is enabled:
#[cfg_attr(not(feature = "local_fs"), allow(dead_code))]
#[derive(Clone, EnumDiscriminants, Serialize)]
pub enum ExampleType {
// Variants only used when local_fs is enabled
Variant1,
Variant2,
Variant3,
}WASM errors are discovered by running:
cargo clippy --target wasm32-unknown-unknown --profile release-wasm-debug_assertions --no-depsBest Practices
Before fixing:
- Read the full error message to understand the root cause
- Check if multiple errors are related (fixing one may resolve others)
- For trait/type errors, verify you understand the expected vs actual types
- For WASM errors, check if code needs to be gated behind
local_fs
When fixing:
- Fix one error type at a time when there are multiple issues
- Run
cargo checkfrequently to verify fixes - For WASM errors, run WASM clippy to verify the fix
- For complex changes, run relevant tests after fixing
After fixing:
- Always run
cargo fmtandcargo clippybefore pushing - Run the full presubmit script before opening or updating a PR. Use the
create-prskill for more detailed instructions - Verify tests pass in the areas you modified
Related skills
How it compares
Pick fix-errors over generic Rust debugging skills when failures occur inside Warp's presubmit, WASM, or monorepo-specific toolchain.
FAQ
How do I run all presubmit checks at once?
Run ./script/presubmit to execute formatting, linting (clippy), and all tests together. If it passes, your code is ready for a PR.
How do I run tests for a specific package?
Use cargo nextest run -p <package_name>, optionally filtering by test name with -E 'test(<substring>'.
What causes WASM build errors and how do I fix them?
WASM (wasm32-unknown-unknown) doesn't support filesystem operations. Gate filesystem code behind #[cfg(feature = "local_fs")] or mark unused code #[cfg_attr(not(feature = "local_fs"), allow(dead_code))].
Is Fix Errors safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.