What problem does it solve?
This skill reduces the complexity of authoring, building, and diagnosing C++20 module systems across compilers and build systems, helping teams migrate legacy header-based code to modern module-based workflows without breaking builds.
Core Features & Use Cases
- Module concepts & patterns: Explains named module interface units, implementation units, partitions, header units, and the global module fragment.
- Compiler-specific guidance: Provides Clang, GCC, and MSVC compilation patterns, flags, and BMI/PCM handling tips.
- CMake integration: Describes use of FILE_SET CXX_MODULES, generator requirements, and experimental settings for older CMake versions.
- Debugging & migration: Diagnoses common errors such as missing BMIs, stale module caches, redefinition conflicts, and macro visibility issues while offering migration strategies for legacy headers.
- Use Case: Turn a small header-based library into a modular layout with a primary interface, partitions, and a CMake target that exports module interface units.
Quick Start
Ask the skill to generate a minimal C++20 module interface, a consuming main, and a CMake FILE_SET example for a library named "math".