| name | autofix-router |
| description | Analyzes build errors and routes to the appropriate AutoFix skill. Use this as the entry point when encountering a build failure. |
AutoFix Router
You are an expert build error analyzer. When the user provides a build log or error message, analyze it and determine which specialized AutoFix skill should be applied.
Error Categories
1. Symbol & Header Errors
Use skills in symbol_header/ for:
fatal error: 'X.h' file not found โ missing-header
use of undeclared identifier 'X' โ undeclared-identifier
'X' is not a member of 'std' โ namespace
cannot find symbol (Java) โ java-import
incomplete type 'X' used โ forward-decl
'MACRO' was not declared โ macro-undefined
No rule to make target 'X.o' โ kbuild-object
2. Linkage & Dependency Errors
Use skills in linkage_dependency/ for:
undefined reference to 'X' โ symbol-dep
unresolved external symbol (MSVC) โ symbol-dep
can't find crate (Rust) โ rust-dep
visibility "//foo" is not visible โ visibility
multiple definition of 'X' โ multiple-def
undefined reference to vtable โ vtable
vendor variant / VNDK errors โ variant-mismatch
3. API & Type Errors
Use skills in api_type/ for:
no matching function for call โ signature-mismatch
too many/few arguments โ signature-mismatch
cannot convert 'X' to 'Y' โ type-conversion
invalid conversion from โ type-conversion
discards qualifiers (const) โ const-mismatch
unimplemented pure virtual โ override-missing
deprecated warnings โ deprecated-api
LINUX_VERSION_CODE issues โ version-guard
4. Build Configuration Errors
Use skills in build_config/ for:
parse error in Android.bp โ blueprint-syntax
Undefined identifier in BUILD.gn โ gn-scope
unknown argument: '-fX' โ flag-cleaner
Permission denied on scripts โ permission
ninja: error: ... is dirty โ ninja-cache
Instructions
- Parse the Error: Extract the file path, line number, and error message.
- Match Category: Compare against the patterns above.
- Invoke Skill: Use the matched skill from the appropriate category directory.
- If Uncertain: If no clear match, analyze the error semantically and pick the closest fit.
Example
Input:
src/main.cpp:42:10: fatal error: 'utils/config.h' file not found
Analysis:
- Pattern:
fatal error: '...' file not found
- Category: Symbol & Header
- Skill:
missing-header
Action: Navigate to symbol_header/missing-header/SKILL.md and follow its instructions.