| name | qt6-cpp |
| description | This skill should be used when the user is working on Qt6 C++ projects, debugging Qt crashes, designing C++ application architecture, setting up CMake builds, integrating VTK for 3D visualization, or troubleshooting Windows platform issues with MSVC or Clang-CL. Activates for Qt6, C++ architecture, signal/slot debugging, QObject lifecycle issues, model/view patterns, networking with QNetworkAccessManager, and Windows deployment. |
Qt6 C++ Pair Programming Reference
Comprehensive reference for building large Qt6/C++ systems on Windows (MSVC 2022 / Clang-CL, Qt 6.10+). Reference documents are in references/ and drop-in code templates are in templates/, both relative to this skill's directory.
Guiding Principle
Crash diagnosis infrastructure is priority #1. Every pattern must answer: "When this goes wrong at 2am, can Claude read the dump and tell you exactly what happened?"
Document Index
When a topic comes up, read the relevant reference document from the references/ subdirectory of this skill. To find the skill directory, search for SKILL.md containing qt6-cpp under C:\Projects\claude-local-plugins\.
| Topic | Reference File |
|---|
| Crash debugging, minidumps, object census, QPointer, sanitizers | references/crash-diagnosis.md |
| Project structure, error bus, startup/shutdown, signal/slot | references/architecture.md |
| CMake setup, presets, sanitizers, testing, deployment | references/cmake.md |
| QNetworkAccessManager, requests, retry, SSL | references/networking.md |
| Custom models, large datasets, sort/filter, delegates | references/model-view.md |
| VTK 9.5 + Qt, molecular viz, pipeline patterns | references/3d-vtk.md |
| Qt 6.10 API changes, version switching | references/qt68-lts.md |
| Dark mode, DPI, OpenGL/AMD, paths, DLLs, Defender | references/windows-gotchas.md |
Drop-In Templates
Copy these from the templates/ subdirectory into any new project for immediate crash diagnosis:
| Template | Purpose |
|---|
templates/crash-handler.h + .cpp | Minidump + object census + log ring buffer |
templates/error-bus.h + .cpp | Centralized error reporting + Result<T,E> |
templates/connection-auditor.h | Signal/slot connection tracking (header-only) |
templates/thread-guard.h | Thread affinity assertion (header-only) |
templates/structured-logger.h | Per-module logging + message handler |
templates/CMakeLists.txt | Project skeleton with diagnostics wired up |
Quick Patterns
Starting a New Project
- Copy
templates/ diagnostic files into your project
CrashHandler::instance()->install() + StructuredLogger::instance()->install() in main()
CENSUS_REGISTER(this) in every QObject constructor
ACONNECT() macro instead of QObject::connect() for audited connections
ASSERT_THREAD(this) at the top of thread-sensitive methods
When Something Crashes
- Find the companion
.txt file next to the .dmp — paste it to Claude
- Object Census: what was alive? Any
deleteLater=PENDING?
- Connection Audit: dangling connections?
- Log tail: last state transition? Thread transfers? Warnings?
MSVC Environment from Non-Developer Shells
Use Enter-VsDevShell PowerShell module — never write batch files as workarounds.
Import-Module "C:\Program Files\Microsoft Visual Studio\18\Community\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell -VsInstallPath "C:\Program Files\Microsoft Visual Studio\18\Community" -DevCmdArguments "-arch=x64" -SkipAutomaticLocation
Environment
- Target Qt: 6.10.2 (
C:\Qt\6.10.2\msvc2022_64)
- Compilers: MSVC 2022 (VS 18 Community), Clang-CL
- VTK: 9.5.2 source at
C:\Projects\VTK-9.5.2 (needs build+install to C:\Projects\VTK)
- CMake:
C:\Qt\Tools\CMake_64\bin\cmake.exe
- Ninja:
C:\Qt\Tools\Ninja\ninja.exe
- OS: Windows 11 (Modern Standby only, no S3)
- Hardware: AMD Ryzen AI Max+ PRO, 128 GB LPDDR5x, Radeon 8060S (integrated)