AgentStack
SKILL verified Apache-2.0 Self-run

Implementing Cpp

skill-qte77-claude-code-plugins-implementing-cpp · by qte77

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.

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add skill-qte77-claude-code-plugins-implementing-cpp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Implementing Cpp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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
  1. Study existing patterns in src/ and include/ structure
  2. Implement minimal solution matching stated functionality
  3. Build and validate with CMake
  4. 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:

``cmake 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

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.