skills/boost-build/SKILL.md
Use when working with Boost.Build (b2/bjam), Jamfiles, Jamroot, toolset configuration, submodule dependencies, feature propagation, or diagnosing gcc/clang/nvcc compilation errors and C++ template error messages.
npx skillsauth add miaodi/llm_config boost-buildInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Navigate Boost.Build (b2/bjam) configuration, diagnose build failures, and interpret gcc/clang/nvcc error messages — especially deep template instantiation errors.
Use when working with Jamfiles, Jamroot, project-config.jam, user-config.jam, toolset configuration, library dependencies, feature propagation, or when build errors from gcc, clang, or nvcc need interpretation.
<include>, <define>, <link>, <threading>, etc.).<toolset>gcc:<cxxflags>-Wextra — applied only when condition matches.gcc, clang, nvcc, msvc) defined in user-config.jam or project-config.jam.debug, release, profile — predefined build configurations.b2 -d+2 or -n for dry run).__host__/__device__ annotation issues, and unsupported C++ features in device code.<library> dependencies, and symbol visibility.__host__ __device__ annotation mismatches and unsupported language features in device code.<include>path to requirements or usage-requirements.<cxxstd>17 or <cxxflags>-std=c++20 to requirements.usage-requirements so dependents inherit it.using gcc : version : /path/to/g++ ; in user-config.jam.-ccbin points to a compatible host compiler version.<toolset>gcc not <toolset>g++).<linkflags> bypass this — use <library> when possible.b2 -d+2 output consistent with what the Jamfile intends?b2 -j$(nproc) (or -jN) to run N compile jobs in parallel.BJAM_JOBS or alias b2 to always pass -j so it's never forgotten.<pch-header> and <pch-source> properties.#include with forward declarations in headers whenever the full definition isn't needed.iwyu) or manual inspection to remove unused includes..cpp files when possible.extern template class X<T>;) in headers, explicit instantiation in one .cpp.-pipe (gcc/clang) to avoid temporary files.-O0 -g1 instead of -O0 -g to reduce debug-info overhead.-gsplit-dwarf (gcc/clang) to defer debug-info linking.-fno-exceptions or -fno-rtti if the code doesn't use them.ccache or sccache as the compiler wrapper (using gcc : : ccache g++ ; in user-config.jam).Provide:
development
Use when creating C++ learning notes or minimal experiments for low-level computational, numerical, CPU/GPU, compiler, and hardware concepts such as false sharing, floating point, registers, caches, SIMD, atomics, numerical stability, and benchmarking pitfalls.
development
Use when configuring, diagnosing, or compiling LaTeX projects, especially multi-file reports, theses, books, chapter-based projects, Overleaf exports, latexmk/arara/Makefile workflows, bibliography/index/glossary passes, or projects that require pdflatex, xelatex, lualatex, latex->dvips, biber, or bibtex.
development
Use when working with graph traversals (BFS, DFS, level-order), minimum spanning trees, strongly connected components, topological sort, graph coloring, bipartite detection, elimination trees, level-set extraction, parallel graph algorithms, task-tree parallelism, sparse graph representations, and exploiting graph structure for parallel sparse computations.
testing
Use when planning or executing Git branch workflows, especially merge/rebase across branches, conflict resolution, safe history rewriting, and recovery from mistakes.