qt-qml-test-run — Claude Code skill: what it does, how to install
Builds a Qt 6 CMake project, executes Qt Quick Test via qmltestrunner or CTest, and generates a Markdown report. Useful for verifying QML interfaces in terminal-enabled workflows.
npx skills add TheQtCompanyRnD/agent-skills --skill qt-qml-test-run -a claude-codeWhat qt-qml-test-run does
The skill detects Qt 6 paths across Linux, macOS, or Windows, locates tst_*.qml files, and runs the test suite. If tests rely only on relative imports, it invokes qmltestrunner directly without touching build configurations. For static QML modules, direct runner execution fails to load imports; passing --wire-up creates tests/CMakeLists.txt and tests/main.cpp alongside root CMake targets.
Once execution finishes, an internal Python script parses the JUnit XML output to generate a structured Markdown report. Optional flags let you bypass steps: --no-build uses the existing test binary, while --no-report suppresses report files during fast test-fix cycles.
Support is limited to CMake projects in environments with shell access. The runner will fail on qmake or cross-compiled device builds.
What it helps with
- run QML tests using qmltestrunner without manual CMake wiring
- scaffold a QUICK_TEST_MAIN test target via the --wire-up flag
- convert Qt Quick test JUnit XML results into a Markdown report
- verify test fixes quickly without project rebuilding via --no-build
Example prompts for the agent
- Run the QML tests in this project and generate a Markdown report
- Execute qmltestrunner on tests/ with --wire-up
- Run QML tests without rebuilding using --no-build
How to install qt-qml-test-run
1Skills CLI (Vercel)
npx skills add TheQtCompanyRnD/agent-skills --skill qt-qml-test-run -a claude-code2Manually: put the files in place
~/.claude/skills/qt-qml-test-run/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/qt-qml-test-run/
1Skills CLI (Vercel)
npx skills add TheQtCompanyRnD/agent-skills --skill qt-qml-test-run -a codex2Manually: put the files in place
.agents/skills/qt-qml-test-run/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add TheQtCompanyRnD/agent-skills --skill qt-qml-test-run -a cursor2Manually: put the files in place
.cursor/skills/qt-qml-test-run/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install TheQtCompanyRnD/agent-skills qt-qml-test-run2Manually: put the files in place
.github/skills/qt-qml-test-run/SKILL.md1Skills CLI (Vercel)
npx skills add TheQtCompanyRnD/agent-skills --skill qt-qml-test-run -a gemini-cli2Platform CLI
gemini skills install https://github.com/TheQtCompanyRnD/agent-skills --path skills/qt-qml-test-runManually: put the files in place
.devin/skills/qt-qml-test-run/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add TheQtCompanyRnD/agent-skills --skill qt-qml-test-run -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about qt-qml-test-run
How do I install qt-qml-test-run in Claude Code?
Run npx skills add TheQtCompanyRnD/agent-skills --skill qt-qml-test-run -a claude-code. Alternatively, copy SKILL.md directly into ~/.claude/skills/qt-qml-test-run/SKILL.md.
What does qt-qml-test-run do?
It discovers tst_*.qml files, builds the CMake project or calls qmltestrunner, executes the test suite, and outputs a formatted Markdown summary.
Why is --wire-up required for static QML libraries?
Direct qmltestrunner calls cannot load static QML plugins dynamically. Passing --wire-up generates the C++ harness and CMake targets needed to link static modules properly.