Install
$ agentstack add skill-qte77-claude-code-plugins-implementing-cpp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
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
- Detect framework:
wxWidgetsin CMakeLists.txt orwx/includes -> wxWidgetsgtkin pkg-config or CMakeLists.txt -> GTK3Qtin CMakeLists.txt or.profile -> Qt- None detected -> ask user which framework
- Study existing patterns in
src/andinclude/structure - Implement minimal solution matching stated functionality
- Build and validate with CMake
- 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 pointers —
std::unique_ptrby default,std::shared_ptronly when shared ownership required - Const-correctness —
conston 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_TABLEorBind()for events - Derive frames from
wxFrame, dialogs fromwxDialog - Use sizers (
wxBoxSizer,wxGridSizer) for layout, never absolute positioning - Parent windows own children (no manual delete)
GTK3
- Use
g_signal_connectfor signal/slot wiring - Follow GObject conventions for custom widgets
- Use
GtkBuilderwith.uifiles for complex layouts - Proper
g_object_unref/g_freefor C API resources
Qt
- Use signals/slots with
Q_OBJECTmacro and MOC - Derive from
QWidget,QMainWindow,QDialogas 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 find —
find_package()with imported targets - Minimum version —
cmake_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 onceover 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.
- Author: qte77
- Source: qte77/claude-code-plugins
- License: Apache-2.0
- Homepage: https://qte77.github.io/claude-code-plugins/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.