Every skill in this package MUST meet the following criteria:
- SKILL.md < 500 lines
- Valid YAML frontmatter with
nameanddescription name: kebab-case, max 64 characters, prefixqgis-description: max 1024 characters, includes trigger keywordsreferences/directory with: methods.md, examples.md, anti-patterns.md
- All PyQGIS code examples MUST be syntactically correct Python
- Processing algorithm calls MUST use correct algorithm IDs
- Data provider URIs MUST follow correct format
- CRS definitions MUST use valid EPSG codes or WKT
- Target: QGIS 3.x (latest LTR and current release)
- PyQGIS: QGIS 3.x Python API
- Note breaking changes between QGIS versions where applicable
- Specify minimum QGIS version for features introduced after 3.0
- Every skill MUST document known mistakes in references/anti-patterns.md
- Common CRS transformation errors documented
- Data loading pitfalls documented
- Processing algorithm misuse documented
- Use ALWAYS/NEVER language
- No hedging words: "might", "consider", "often", "usually"
- Decision trees for conditional logic
- Each skill works independently without requiring other skills
- All necessary context included within the skill
- Cross-references to related skills are informational only
- All skill content in English
- Claude reads English, responds in any language
- No Dutch, German, or other languages in skill files
- MUST cover the complete QGIS data model (layers, features, geometries)
- MUST include the provider architecture (OGR, GDAL, PostgreSQL, WMS/WFS)
- MUST document CRS handling and transformations
- MUST include complete PyQGIS class/method references
- MUST show both minimal and full examples
- MUST document expression syntax and functions
- MUST cover Processing script structure and registration
- MUST produce working PyQGIS code
- MUST include realistic analysis examples (not just toy examples)
- MUST document required data formats and expected outputs
- MUST include real error scenarios with reproduction steps
- MUST provide fix patterns for every documented error
- MUST include decision trees for analysis type selection
- MUST validate generated code against PyQGIS API rules