con un clic
qgis-migration-4x
Expert guide for QGIS 4.x migration and agnostic API usage
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Expert guide for QGIS 4.x migration and agnostic API usage
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
This skill allows the agent to manage its own semantic memory, extracting lessons, patterns, and user preferences to improve long-term effectiveness.
Project coding standards, focused on the use of pathlib, Google docstrings, and strict typing.
Standards for handling drillhole data, section interpolation, and 3-level validation.
Standards for testing in a Dockerized environment and use of Mocks for QGIS.
Standards for the custom SecInterp interface, focused on programmatic creation and premium aesthetics.
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
| name | qgis-migration-4x |
| description | Expert guide for QGIS 4.x migration and agnostic API usage |
This skill provides technical guidelines to prepare the SecInterp code for the next major version of QGIS (4.x), focusing on the elimination of technical debt related to API changes and Qt dependencies.
Code should be agnostic of the underlying Qt version (Qt5 vs. Qt6) whenever possible. QGIS provides proxies for this.
❌ FORBIDDEN: Importing directly from PyQt5 or PyQt6.
✅ MANDATORY: Importing from qgis.PyQt.
pyproject.toml and requirements.txt.Incorrect Example:
from PyQt5.QtCore import pyqtSignal, QObject
from PyQt5.QtWidgets import QWidget
Correct Example:
from qgis.PyQt.QtCore import pyqtSignal, QObject
from qgis.PyQt.QtWidgets import QWidget
This ensures that when QGIS migrates to Qt6, the code will work without changes (as long as QGIS maintains the shim).
QgsProject.instance() in tight loops or static methods if it's possible to pass the instance explicitly. Implement dependency injection.QgsTask.QgsTask.fromFunction or QgsTask subclasses with finished signals.Run scripts or manual refactors to normalize all PyQt imports.
Monitor deprecation warnings in the QGIS console and act immediately.
pytest to fail on DeprecationWarning from qgis.* modules.Recompile resources.qrc using tools that support Qt abstraction, or ensure the compiler (pyrcc5) is compatible with the execution environment.
qgis.PyQt.@deprecated in QGIS 3.34+ documentation.DeprecationWarning.