plugins/cpp-desktop/skills/implementing-cpp/SKILL.md
Implements C++17 desktop GUI code with wxWidgets, GTK3, or Qt framework patterns and CMake build system. Use when writing C++ desktop application code, creating GUI components, or implementing framework-specific features.
npx skillsauth add qte77/claude-code-plugins implementing-cppInstall 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.
Target: $ARGUMENTS
Implement C++ desktop GUI code following framework conventions, C++17 standards, and CMake best practices. No over-engineering.
wxWidgets in CMakeLists.txt or wx/ includes -> wxWidgetsgtk in pkg-config or CMakeLists.txt -> GTK3Qt in CMakeLists.txt or .pro file -> Qtsrc/ and include/ structurestd::optional, std::variant, structured bindingsstd::unique_ptr by default, std::shared_ptr only when shared ownership requiredconst on methods, parameters, and locals where possiblenew/delete — use smart pointers or container typeswxBEGIN_EVENT_TABLE/wxEND_EVENT_TABLE or Bind() for eventswxFrame, dialogs from wxDialogwxBoxSizer, wxGridSizer) for layout, never absolute positioningg_signal_connect for signal/slot wiringGtkBuilder with .ui files for complex layoutsg_object_unref / g_free for C API resourcesQ_OBJECT macro and MOCQWidget, QMainWindow, QDialog as appropriateQVBoxLayout, QHBoxLayout, QGridLayout)Target-based — use target_link_libraries, target_include_directories
No global state — avoid include_directories(), link_libraries()
Modern find — find_package() with imported targets
Minimum version — cmake_minimum_required(VERSION 3.16)
Platform conditionals:
if(WIN32)
# Windows-specific
elseif(APPLE)
# macOS-specific
else()
# Linux/Unix
endif()
Use preprocessor guards for platform-specific code:
#ifdef _WIN32
// Windows
#elif __APPLE__
// macOS
#else
// Linux/Unix
#endif
Before completing any task:
cmake --build build/ && ctest --test-dir build/ --output-on-failure
#pragma once over include guardsdocumentation
Generate or update README.md files across three scopes — repo (with project-type detection), account (GitHub user profile), and org (organization profile). Use when creating, updating, or aligning a README to org conventions.
development
Audit README.md files against best practices for repos, accounts, or orgs. Detects missing sections, stale links, inconsistent formatting, and convention violations. Use when reviewing README quality across one or many repos.
development
Analyzes industry websites for design patterns, layout, typography, and content strategies using first-principles thinking. Use when researching website design, UI patterns, or competitive design analysis.
development
Audits website usability for UX optimization, covering forms, navigation, validation, and microcopy. Use when reviewing user experience, task completion flows, or interface friction points.