agentsclimarketplace

Implementing cpp

Skill qte77/claude-code-plugins/plugins/cpp-desktop/skills/implementing-cpp

A Claude Code plugin marketplace providing skills, rules, and scripts extracted from a production development workflow.

Install
npx -y skills add qte77/claude-code-plugins --skill implementing-cpp

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

3.3 KB, as published. Nobody here has run it

C++ Desktop Implementation

Target: $ARGUMENTS

Implement C++ desktop GUI code following framework conventions, C++17 standards, and CMake best practices. No over-engineering.

Workflow

  1. Detect framework:
    • wxWidgets in CMakeLists.txt or wx/ includes -> wxWidgets
    • gtk in pkg-config or CMakeLists.txt -> GTK3
    • Qt in CMakeLists.txt or .pro file -> Qt
    • None detected -> ask user which framework
  2. Study existing patterns in src/ and include/ structure
  3. Implement minimal solution matching stated functionality
  4. Build and validate with CMake
  5. Report — list created files, build status

C++ Standards

  • C++17 minimum — use std::optional, std::variant, structured bindings
  • RAII — acquire resources in constructors, release in destructors
  • Smart pointersstd::unique_ptr by default, std::shared_ptr only when shared ownership required
  • Const-correctnessconst on methods, parameters, and locals where possible
  • No raw new/delete — use smart pointers or container types

Framework Patterns

wxWidgets

  • Use wxBEGIN_EVENT_TABLE/wxEND_EVENT_TABLE or Bind() for events
  • Derive frames from wxFrame, dialogs from wxDialog
  • Use sizers (wxBoxSizer, wxGridSizer) for layout, never absolute positioning
  • Parent windows own children (no manual delete)

GTK3

  • Use g_signal_connect for signal/slot wiring
  • Follow GObject conventions for custom widgets
  • Use GtkBuilder with .ui files for complex layouts
  • Proper g_object_unref / g_free for C API resources

Qt

  • Use signals/slots with Q_OBJECT macro and MOC
  • Derive from QWidget, QMainWindow, QDialog as appropriate
  • Use layouts (QVBoxLayout, QHBoxLayout, QGridLayout)
  • Parent-child ownership model — parent deletes children

CMake Best Practices

  • Target-based — use target_link_libraries, target_include_directories

  • No global state — avoid include_directories(), link_libraries()

  • Modern findfind_package() with imported targets

  • Minimum versioncmake_minimum_required(VERSION 3.16)

  • Platform conditionals:

    if(WIN32)
      # Windows-specific
    elseif(APPLE)
      # macOS-specific
    else()
      # Linux/Unix
    endif()
    

Platform Compilation

Use preprocessor guards for platform-specific code:

#ifdef _WIN32
  // Windows
#elif __APPLE__
  // macOS
#else
  // Linux/Unix
#endif

Quality Checks

Before completing any task:

cmake --build build/ && ctest --test-dir build/ --output-on-failure

Rules

  • Follow existing code style (indentation, naming) in the project
  • Create header declarations alongside implementations
  • Use forward declarations to minimize include dependencies
  • Prefer #pragma once over include guards
  • Keep GUI logic separate from business logic

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.