skill-module-export

Document Qt export and QML registration macros for API visibility.

19|29|Updated May 6, 2013
One-click install
npx skills add https://github.com/qt/qtqa --skill skill-module-export
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: skill-module-export
Source: https://github.com/qt/qtqa/tree/main/documentation_review/skills/skill-module-export
Command: npx skills add https://github.com/qt/qtqa --skill skill-module-export

SYSTEM DOCUMENTATION & REQUIREMENTS

## What problem does it solve?

Qt export macros and QML registration macros govern symbol visibility and how documentation should distinguish public API from internal usage. This Skill provides a reference to interpret these macros and the implications for documentation and API surface.

## Core Features & Use Cases

  • Provides a consolidated view of common export macros (e.g., Q_CORE_EXPORT, Q_GUI_EXPORT) and QML registration macros, plus patterns for when export plus internal is valid.
  • Includes decision trees and examples to decide when a class requires full public API documentation versus internal notes, including handling of _p.h headers and *Private classes.
  • Documents the cross-cutting guidance for combining C++ export rules with QML exposure to ensure consistent user-facing docs.

### Quick Start

Consult this guide to classify Qt API surfaces by header type, export macro usage, and QML registration macros.

Frequently Asked Questions about skill-module-export

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do Qt export macros determine public versus internal API visibility?▼

Qt export macros like Q_CORE_EXPORT and Q_GUI_EXPORT govern symbol visibility and classify API surfaces. They indicate whether C++ headers require full public documentation or internal notes based on their export patterns.

What is the documentation rule for Qt private headers and Private suffix classes?▼

Qt private headers use the _p.h suffix, and classes with a Private suffix indicate internal API visibility. They require internal documentation notes rather than full public API reference materials.

How do I document QML registration macros for C++ and QML integration?▼

QML registration macros expose C++ types to QML and require cross-cutting documentation combining C++ export rules with QML exposure. This ensures consistent user-facing docs across integration scenarios.

When is an export macro combined with internal valid in Qt modules?▼

An export-with-internal pattern is valid when a Qt module needs to share symbols internally across modules while restricting public API visibility. This specific pattern requires careful documentation to distinguish internal sharing from public exposure.

How do I classify Qt API surfaces by header location and export macros?▼

Classify Qt API surfaces by examining header location rules, export macro usage, and QML registration macros. Apply decision trees to C++ headers across Qt modules to determine documentation requirements.