PR

project-context

Provides an overview of the qgis-plugin-analyzer architecture and static analysis capabilities.

Install

mkdir -p .claude/skills/project-context && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13846" && unzip -o skill.zip -d .claude/skills/project-context && rm skill.zip

Installs to .claude/skills/project-context

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.

Summary of the purpose, architecture, and structure of the qgis-plugin-analyzer project.
88 charsno explicit “when” trigger
Beginner

Key capabilities

  • Audit Python code for QGIS standards compliance
  • Detect QGIS-specific hazards like blocking loops
  • Generate analysis reports in multiple formats
  • Identify obsolete QGIS APIs
  • Analyze code using Python's AST module

How it works

The tool performs static analysis on Python source code using custom AST visitors to detect QGIS-specific issues and generate reports.

Inputs & outputs

You give it
QGIS plugin Python source code
You get back
Analysis report in Terminal, JSON, Markdown, or HTML

When to use project-context

  • Understand how to add new analysis rules
  • Learn the project directory structure
  • Review QGIS plugin audit standards

About this skill

Project Context: QGIS Plugin Analyzer

Purpose

qgis-plugin-analyzer is a static analysis tool designed for QGIS plugin developers. It audits Python code to ensure compliance with QGIS standards, security best practices, and maintainability metrics.

Key Features

  • AST-based Analysis: Custom visitors to detect QGIS-specific hazards (blocking loops, signal leaks).
  • Quality Scoring: Combined metrics for Stability and Maintainability.
  • Automated Reporting: Generates summaries in Terminal, JSON, Markdown, and HTML.
  • Legacy Support: Detects obsolete APIs and GDAL/PyQt import patterns.

Architecture

  • src/analyzer/cli/: Typer-based command line interface.
  • src/analyzer/visitors/: Core analysis logic using Python's ast module.
  • src/analyzer/reporters/: Transformation of raw data into user-facing reports.
  • src/analyzer/engine.py: Orchestrator of the analysis pipeline.
  • src/analyzer/scoring.py: Logic for quality index calculation.

Tech Stack

  • Language: Python 3.9+
  • Tooling: uv (Package management), ruff (Linting), pytest (Testing).
  • Core Libs: ast (Standard library), jinja2 (HTML reports), typer (CLI).

Design Philosophy

  • Stateless & Static: No execution of the plugin code; only source analysis.
  • Fast & Parallel: Uses process pooling for multi-file analysis.
  • Extensible: New rules can be added by implementing a new BaseVisitor.

When not to use it

  • When analyzing non-Python code
  • When the project is not a QGIS plugin
  • When needing to execute plugin code

Limitations

  • The tool is stateless and static, it does not execute the plugin code.
  • Analysis is limited to Python 3.9+.

How it compares

This tool focuses specifically on QGIS plugin development standards and hazards, providing automated reporting and quality scoring tailored to that ecosystem, unlike a general-purpose linter.

Compared to similar skills

project-context side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
project-context (this skill)03moNo flagsBeginner
embu-data-audit03moReviewIntermediate
python-testing-patterns772moReviewIntermediate
deepwiki-rs259moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

embu-data-audit

murzoglu

Audit active EMBU data pipeline decisions in the doktoratezi repository. Use when working on EMBU, EMBU-C, EMBU-P, Likert 4pt/6pt, Stage 1, Stage 2, Stage 3, family matching, outliers, ICC, CFA, mixed Likert families, find_embu_columns, PII removal, or EMBU v2.0 validation.

00

python-testing-patterns

wshobson

Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.

77204

deepwiki-rs

sopaco

AI-powered Rust documentation generation engine for comprehensive codebase analysis, C4 architecture diagrams, and automated technical documentation. Use when Claude needs to analyze source code, understand software architecture, generate technical specs, or create professional documentation from any programming language.

25170

jupyter-notebook

davila7

Use when the user asks to create, scaffold, or edit Jupyter notebooks (`.ipynb`) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script `new_notebook.py` to generate a clean starting notebook.

30158

validate-openapi-specs

epieczko

Validates and registers hook manifest files (YAML) in the Hook Registry for versioned hook management.

594

python-design-patterns

wshobson

Python design patterns including KISS, Separation of Concerns, Single Responsibility, and composition over inheritance. Use when making architecture decisions, refactoring code structure, or evaluating when abstractions are appropriate.

1969

Search skills

Search the agent skills registry