Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate CMake-based Qt project with proper module dependencies, cross-compilation support, and modern Qt6 configuration
.claude/skills/a5c-ai-qt-cmake-project-generator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-09 | ✓→✗ | ▼ Worse | 55% | 0% |
| case-11 | ✓→✗ | ▼ Worse | 74% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 39% | 0% |
Generate CMake-based Qt project configurations with proper module dependencies and cross-compilation support. This skill handles Qt6 CMake integration, module discovery, and platform-specific build configurations.
json{ "type": "object", "properties": { "projectPath": { "type": "string", "description": "Path to create/update the Qt project" }, "projectName": { "type": "string", "description": "Project name" }, "qtVersion": { "type": "string", "default": "6.6", "description": "Target Qt version" }, "qtModules": { "type": "array", "items": { "enum": ["Core", "Gui", "Widgets", "Quick", "Qml", "Network", "Sql", "Multimedia", "WebEngine", "Charts", "3D"] }, "default": ["Core", "Gui", "Widgets"] }, "appType": { "enum": ["widgets", "quick", "console", "library"], "default": "widgets" }, "targetPlatforms": { "type": "array", "items": { "enum": ["windows", "macos", "linux", "android", "ios", "wasm"] } }, "packageManager": { "enum": ["none", "vcpkg", "conan"], "default": "none" }, "cppStandard": { "enum": ["17", "20", "23"], "default": "17" }, "generatePresets": { "type": "boolean", "default": true } }, "required": ["projectPath", "projectName"] }
json{ "type": "object", "properties": { "success": { "type": "boolean" }, "files": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "description": { "type": "string" } } } }, "buildCommands": { "type": "object", "properties": { "configure": { "type": "string" }, "build": { "type": "string" }, "install": { "type": "string" } } }, "warnings": { "type": "array", "items": { "type": "string" } } }, "required": ["success"] }
cmakecmake_minimum_required(VERSION 3.21) project(MyQtApp VERSION 1.0.0 LANGUAGES CXX) # C++ Standard set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Qt Configuration set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) # Find Qt packages find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets) # Source files set(SOURCES src/main.cpp src/mainwindow.cpp src/mainwindow.h src/mainwindow.ui ) # Resources set(RESOURCES resources/resources.qrc ) # Create executable qt_add_executable(${PROJECT_NAME} ${SOURCES} ${RESOURCES} ) # Link Qt libraries target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets ) # Platform-specific settings if(WIN32) set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE TRUE ) elseif(APPLE) set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/platform/macos/Info.plist" ) endif() # Installation install(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION . RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) # Qt deployment qt_generate_deploy_app_script( TARGET ${PROJECT_NAME} OUTPUT_SCRIPT deploy_script NO_UNSUPPORTED_PLATFORM_ERROR ) install(SCRIPT ${deploy_script})
json{ "version": 6, "configurePresets": [ { "name": "default", "displayName": "Default", "binaryDir": "${sourceDir}/build/${presetName}", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "release", "inherits": "default", "displayName": "Release", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } }, { "name": "windows-msvc", "inherits": "default", "displayName": "Windows MSVC", "generator": "Visual Studio 17 2022", "architecture": "x64", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" } }, { "name": "macos", "inherits": "default", "displayName": "macOS", "generator": "Ninja", "cacheVariables": { "CMAKE_OSX_ARCHITECTURES": "x86_64;arm64" }, "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Darwin" } }, { "name": "linux", "inherits": "default", "displayName": "Linux", "generator": "Ninja", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" } } ], "buildPresets": [ { "name": "default", "configurePreset": "default" }, { "name": "release", "configurePreset": "release" } ] }
cmake# toolchain-linux-aarch64.cmake set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR aarch64) set(CMAKE_SYSROOT /opt/sysroots/aarch64-linux-gnu) set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
cmake# CMakeLists.txt if(DEFINED ENV{VCPKG_ROOT}) set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake") endif()
python# conanfile.py from conan import ConanFile from conan.tools.cmake import cmake_layout class MyQtAppConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "CMakeToolchain", "CMakeDeps" def requirements(self): self.requires("qt/6.6.0") def layout(self): cmake_layout(self)
find_package(Qt6 6.4 REQUIRED ...)qt-qml-component-generator - QML component creationqt-installer-framework-config - Installer configurationqt-test-fixture-generator - Test setupqt-cpp-specialist - Qt/C++ expertisedesktop-ci-architect - CI/CD for Qt projects| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 16,855 | 17,712 | +5% | 1 | 1 | 0% | 4,246 | 6,647 | +57% | 0 | 0 | — |
case-02 | fail→pass | 12,262 | 11,021 | -10% | 1 | 1 | 0% | 2,971 | 4,609 | +55% | 0 | 0 | — |
case-03 | pass→pass | 14,142 | 13,288 | -6% | 1 | 1 | 0% | 3,695 | 5,136 | +39% | 0 | 0 | — |
case-04 | pass→pass | 12,136 | 10,389 | -14% | 1 | 1 | 0% | 2,968 | 4,603 | +55% | 0 | 0 | — |
case-05 | pass→pass | 8,945 | 11,900 | +33% | 1 | 1 | 0% | 2,201 | 5,131 | +133% | 0 | 0 | — |
case-06 | pass→pass | 12,004 | 12,267 | +2% | 1 | 1 | 0% | 3,171 | 5,240 | +65% | 0 | 0 | — |
case-07 | pass→pass | 10,810 | 15,592 | +44% | 1 | 1 | 0% | 2,655 | 5,964 | +125% | 0 | 0 | — |
case-08 | pass→pass | 9,077 | 7,709 | -15% | 1 | 1 | 0% | 2,126 | 3,846 | +81% | 0 | 0 | — |
case-09 | pass→fail | 8,768 | 4,312 | -51% | 1 | 1 | 0% | 1,998 | 3,100 | +55% | 0 | 0 | — |
case-10 | pass→pass | 14,166 | 10,787 | -24% | 1 | 1 | 0% | 3,255 | 4,822 | +48% | 0 | 0 | — |
case-11 | pass→fail | 8,490 | 5,434 | -36% | 1 | 1 | 0% | 1,914 | 3,324 | +74% | 0 | 0 | — |
case-12 | pass→pass | 15,694 | 9,481 | -40% | 1 | 1 | 0% | 2,629 | 4,436 | +69% | 0 | 0 | — |
case-13 | pass→pass | 16,025 | 14,290 | -11% | 1 | 1 | 0% | 4,089 | 5,564 | +36% | 0 | 0 | — |
case-14 | pass→pass | 12,567 | 10,441 | -17% | 1 | 1 | 0% | 2,252 | 4,757 | +111% | 0 | 0 | — |
case-15 | pass→pass | 8,885 | 11,326 | +27% | 1 | 1 | 0% | 2,119 | 4,843 | +129% | 0 | 0 | — |
case-16 | pass→pass | 11,018 | 15,036 | +36% | 1 | 1 | 0% | 2,559 | 5,614 | +119% | 0 | 0 | — |
case-17 | pass→pass | 7,150 | 10,449 | +46% | 1 | 1 | 0% | 1,499 | 4,611 | +208% | 0 | 0 | — |
case-18 | pass→pass | 14,296 | 15,783 | +10% | 1 | 1 | 0% | 2,635 | 4,944 | +88% | 0 | 0 | — |
case-19 | pass→pass | 8,322 | 8,911 | +7% | 1 | 1 | 0% | 1,938 | 4,135 | +113% | 0 | 0 | — |
case-20 | pass→pass | 8,281 | 9,072 | +10% | 1 | 1 | 0% | 1,847 | 4,322 | +134% | 0 | 0 | — |
case-21 | pass→pass | 19,478 | 19,332 | -1% | 1 | 1 | 0% | 3,480 | 6,487 | +86% | 0 | 0 | — |
case-22 | pass→pass | 8,047 | 7,218 | -10% | 1 | 1 | 0% | 1,422 | 3,431 | +141% | 0 | 0 | — |
case-23 | pass→pass | 7,999 | 11,227 | +40% | 1 | 1 | 0% | 1,672 | 4,087 | +144% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of 0 percentage points is the difference between those two pass rates over the 23 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.