LLM Skills
~/catalog/debugging & maintenance//cpp-build

Compilation and debugging in C++

/cpp-build

Diagnoses and corrects C++ compilation, dependency, and configuration errors.

affaan-maffaan-m
240.5k
May 24, 2026
MIT License
// skill content

--- description: Fix C++ build errors, CMake issues, and linker problems incrementally. Invokes the cpp-build-resolver agent for minimal, surgical fixes. --- # C++ Build and Fix This command invokes the cpp-build-resolver agent to incrementally fix C++ build errors with minimal changes. ## What This Command Does 1. Run Diagnostics: Execute cmake --build, clang-tidy, cppcheck 2. Parse Errors: Group by file and sort by severity 3. Fix Incrementally: One error at a time 4. Verify Each Fix: Re-run build after each change 5. Report Summary: Show what was fixed and what remains ## When to Use Use /cpp-build when: - cmake --build build fails with errors - Linker errors (undefined references, multiple definitions) - Template instantiation failures - Include/dependency issues - After pulling changes that break the build ## Diagnostic Commands Run ``bash # CMake configure cmake -B build -S . # Build cmake --build build 2>&1 | head -100 # Static analysis (if available) clang-tidy src/*.cpp -- -std=c++17 cppcheck --enable=all src/ ` ## Example Session `text User: /cpp-build Agent: # C++ Build Resolution ## Initial Diagnostics `bash $ cmake --build build src/service/user.cpp:25:15: error: use of undeclared identifier 'UserRepository' src/handler/api.cpp:42:9: error: no matching function for call to 'process' src/handler/api.cpp:58:1: error: non-void function does not return a value ` Errors found: 3 ## Fix 1: Undeclared Identifier File: src/service/user.cpp:25 Error: use of undeclared identifier 'UserRepository' Cause: Missing include `cpp // Added include #include "repository/user_repository.hpp" ` `bash $ cmake --build build # 2 errors remaining ` ## Fix 2: No Matching Function File: src/handler/api.cpp:42 Error: no matching function for call to 'process' `cpp // Changed process(params.get("count")); // To process(std::stoi(params.get("count"))); ` `bash $ cmake --build build # 1 error remaining ` ## Fix 3: Missing Return File: src/handler/api.cpp:58 Error: non-void function does not return a value `cpp std::optional<User> getUser(const std::string& id) { if (id.empty()) { return std::nullopt; } auto user = findUser(id); // Added missing return return user; } ` `bash $ cmake --build build # Build successful! ` ## Final Verification `bash $ ctest --test-dir build --output-on-failure Test project build 1/5 Test #1: unit_tests ........ Passed 0.02 sec 2/5 Test #2: integration_tests Passed 0.15 sec All tests passed. ` ## Summary | Metric | Count | |--------|-------| | Build errors fixed | 3 | | Linker errors fixed | 0 | | Files modified | 2 | | Remaining issues | 0 | Build Status: PASS: SUCCESS ` ## Common Errors Fixed | Error | Typical Fix | |-------|-------------| | undeclared identifier | Add #include or fix typo | | no matching function | Fix argument types or add overload | | undefined reference | Link library or add implementation | | multiple definition | Use inline or move to .cpp | | incomplete type | Replace forward decl with #include | | no member named X | Fix member name or include | | cannot convert X to Y | Add appropriate cast | | CMake Error | Fix CMakeLists.txt configuration | ## Fix Strategy 1. **Compilation errors first** - Code must compile 2. **Linker errors second** - Resolve undefined references 3. **Warnings third** - Fix with -Wall -Wextra 4. **One fix at a time** - Verify each change 5. **Minimal changes** - Don't refactor, just fix ## Stop Conditions The agent will stop and report if: - Same error persists after 3 attempts - Fix introduces more errors - Requires architectural changes - Missing external dependencies ## Related Commands - /cpp-test - Run tests after build succeeds - /cpp-review - Review code quality - verification-loop skill - Full verification loop ## Related - Agent: agents/cpp-build-resolver.md - Skill: skills/cpp-coding-standards/`

// original public source
affaan-m/ECC
/commands/cpp-build.md
License: MIT License
Independent project, not affiliated with Anthropic. This skill remains the property of its original author.
// install this skill
Paste this command in your terminal at the root of your project:
mkdir -p .claude/commands && curl -o ".claude/commands/cpp-build.md" "https://raw.githubusercontent.com/affaan-m/ECC/main/commands/cpp-build.md"
Then in Claude Code, type /cpp-build to activate it.
open_in_newOpen original source
// save
Save available after sign in.
loginSign in to save
// information
Creatoraffaan-m
Stars 240.5k
LicenseMIT License
UpdatedMay 24, 2026
Format.md
AccessFree
// similar

Skills Debugging & maintenance

View allarrow_forward