Guides QGIS development with focus on UI responsiveness, thread management, and layer processing.

Install

mkdir -p .claude/skills/qgis-core && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14182" && unzip -o skill.zip -d .claude/skills/qgis-core && rm skill.zip

Installs to .claude/skills/qgis-core

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Knowledge about the QGIS API, plugin structure, and asynchronous processing with QgsTask.
89 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Separate logic into core and GUI components
  • Validate layer integrity using `isValid()`
  • Wrap long processes in `QgsTask` for asynchrony
  • Explicitly handle coordinate transformations
  • Use signals and slots for communication with `QgsTask`
  • Avoid global use of `iface`

How it works

The skill standardizes interaction with the QGIS API by enforcing architectural patterns like Core/GUI separation and the use of `QgsTask` for long-running operations.

Inputs & outputs

You give it
A request to implement a QGIS tool or handle layers
You get back
Guidance on structuring QGIS plugins, using `QgsTask`, and managing CRS

When to use qgis-core

  • Implement a new QGIS tool
  • Handle map layer processing
  • Add asynchronous processing to plugin

About this skill

QGIS Core Development

Standardizes interaction with the QGIS API, ensuring a responsive and well-structured plugin.

When to use this skill

  • When implementing new tools that interact with the map canvas.
  • When handling vector or raster layers.
  • When performing heavy operations that require secondary threads.

Degree of Freedom

  • Strict: The use of QgsTask for long processes and Core/GUI decoupling are mandatory.

Workflow

  1. Architecture: Separate logic into core/ (processing) and gui/ (visualization).
  2. Validation: Always verify isValid() on layers before operating.
  3. Asynchrony: Wrap processes > 0.5s in a QgsTask.
  4. CRS Management: Explicitly handle coordinate transformations.

Instructions and Rules

Golden Rules

  • QgsTask: Do not block the UI. Use signals and slots for communication.
  • Network/Threads: Avoid threading.Thread (use QgsTask) and synchronous network calls (rules UNSAFE_THREAD and BLOCKING_NETWORK_CALL).
  • Boundaries: Use WKT to communicate core logic with the graphical interface.
  • Modernization: Avoid legacy QVariant; the analyzer will detect OBSOLETE_VARIANT.
  • Injection: Avoid global use of iface; prefer passing objects in constructors.

Plugin Structure

  • core/: Business logic agnostic to the UI.
  • gui/: Widgets and dialogs dependent on PyQGIS.
  • exporters/: Data output modules.

Quality Checklist

  • Is UI blocking avoided through QgsTask?
  • Is layer integrity validated in every operation?
  • Are CRS transformations explicitly defined?
  • Is the Core/GUI separation of responsibilities followed?

When not to use it

  • When developing outside of the QGIS API environment
  • When the task does not involve PyQGIS, layers, CRS, or QgsTask

Limitations

  • The skill is specific to the QGIS API and PyQGIS.
  • The skill mandates the use of `QgsTask` for processes longer than 0.5 seconds.
  • The skill prohibits the use of `threading.Thread` and synchronous network calls.

How it compares

This skill provides a structured and standardized approach to QGIS plugin development, ensuring responsiveness and maintainability, unlike an ad-hoc method that might lead to UI blocking or inconsistent code.

Compared to similar skills

qgis-core side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
qgis-core (this skill)05moNo flagsIntermediate
pdf-processing-pro1710moReviewIntermediate
python-repl64moReviewBeginner
math-router67moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

Search skills

Search the agent skills registry