Skip to content
cccskills
FreePublished on GitHub

cli-anything-qgis

Create and edit QGIS map projects from the terminal. Add geographic features and attributes, arrange maps and labels in print layouts, export PDFs or images, and run QGIS algorithms for processing geographic data.

OriginalShow the original description

Stateful QGIS CLI for projects, writable layers, features, layouts, exports, and qgis_process operations using the real QGIS runtime.

See how to install

Good for

  • Creating a map project and adding points
  • Adding geographic features and attributes
  • Exporting labeled maps as PDFs or images
  • Running QGIS geographic processing algorithms

Files included (1)

  • SKILL.md3.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

cli-anything-qgis

Use this skill when you need to inspect or modify QGIS projects from the terminal through the real QGIS runtime.

Requirements

  • QGIS installed with qgis_process on PATH
  • PyQGIS importable from the Python environment running the CLI
  • Python 3.10+

Agent guidance

  • Prefer --json for all machine-driven use.
  • For one-shot commands, pass --project <path> when operating on an existing project.
  • Running cli-anything-qgis with no subcommand starts a stateful REPL.
  • Layout export is backed by real QGIS processing algorithms:
    • native:printlayouttopdf
    • native:printlayouttoimage

What this CLI covers

  • create, open, save, and inspect .qgs / .qgz projects
  • create writable GeoPackage-backed vector layers
  • add features via WKT geometry and typed key=value attributes
  • create print layouts and add map/label items
  • export layouts to PDF or image
  • inspect and run generic qgis_process algorithms
  • inspect session status and history

Command groups

project

  • new -o/--output [--title] [--crs]
  • open PATH
  • save [PATH]
  • info
  • set-crs CRS

layer

  • create-vector --name --geometry --crs [--field name:type ...]
  • list
  • info LAYER
  • remove LAYER

feature

  • add --layer LAYER --wkt WKT [--attr key=value ...]
  • list --layer LAYER [--limit N]

layout

  • create --name [--page-size] [--orientation]
  • list
  • info LAYOUT
  • remove LAYOUT
  • add-map --layout LAYOUT --x --y --width --height [--extent xmin,ymin,xmax,ymax]
  • add-label --layout LAYOUT --text TEXT --x --y --width --height [--font-size N]

export

  • presets
  • pdf OUTPUT --layout LAYOUT [--dpi] [--force-vector] [--force-raster] [--georeference/--no-georeference] [--overwrite]
  • image OUTPUT --layout LAYOUT [--dpi] [--overwrite]

process

  • list
  • help ALGORITHM_ID
  • run ALGORITHM_ID [--param KEY=VALUE ...]

session

  • status
  • history [--limit N]

Examples

Create a project and add a writable layer

cli-anything-qgis --json project new -o demo.qgz --title "Demo" --crs EPSG:4326
cli-anything-qgis --json --project demo.qgz layer create-vector \
  --name places \
  --geometry point \
  --field name:string \
  --field score:int

Add features and inspect them

cli-anything-qgis --json --project demo.qgz feature add \
  --layer places \
  --wkt "POINT(1 2)" \
  --attr name=HQ \
  --attr score=5

cli-anything-qgis --json --project demo.qgz feature list --layer places --limit 10

Create and export a layout

cli-anything-qgis --json --project demo.qgz layout create --name Main
cli-anything-qgis --json --project demo.qgz layout add-map --layout Main --x 10 --y 20 --width 180 --height 120
cli-anything-qgis --json --project demo.qgz layout add-label --layout Main --text "Demo map" --x 10 --y 8 --width 100 --height 10
cli-anything-qgis --json --project demo.qgz export pdf output.pdf --layout Main --overwrite

Inspect or run processing algorithms

cli-anything-qgis --json process help native:buffer
cli-anything-qgis --json --project demo.qgz process run native:buffer \
  --param INPUT=/tmp/demo_data.gpkg|layername=places \
  --param DISTANCE=1 \
  --param SEGMENTS=8 \
  --param END_CAP_STYLE=0 \
  --param JOIN_STYLE=0 \
  --param MITER_LIMIT=2 \
  --param DISSOLVE=false \
  --param OUTPUT=/tmp/buffer.geojson

REPL

cli-anything-qgis

Example interactive flow:

project new -o demo.qgz --title "Demo"
layer create-vector --name places --geometry point --field name:string
feature add --layer places --wkt "POINT(1 2)" --attr name=HQ
layout create --name Main
session status
quit

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

cli-anything

FreeSummary

Use Reasonix to build or improve a Python command-line interface for existing software. The workflow covers source analysis, interactive commands, JSON output, tests, documentation, and installation checks using the software’s own backend where possible.

  • Build command-line access to a GUI application
  • Add missing features to an existing command-line interface
  • Test commands against the actual software backend
HKUDS/CLI-Anything54.7KUpdated Sep 22, 2026

cli-anything

FreeSummary

Build and improve Python command interfaces for GUI applications with OpenClaw. The skill guides source analysis, command design, testing, and packaging, including interactive sessions and structured JSON output for agents.

  • Build a command interface for a GUI application
  • Add missing commands to an existing interface
  • Test workflows against the actual application
HKUDS/CLI-Anything54.7KUpdated Sep 22, 2026

cli-anything

FreeSummary

Use Codex to build Python command-line tools for applications with graphical interfaces. Analyze source code, add commands, test against the actual software, validate packaging and documentation, and discover tools already generated or installed.

  • Build a command-line tool from application source code
  • Extend an existing tool with more commands
  • Test behavior against the actual application
HKUDS/CLI-Anything54.7KUpdated Sep 22, 2026

cli-anything-3mf

FreeSummary

Inspect and edit 3MF files for 3D printing. Detect cylindrical holes, change their diameters, repair mesh issues, and compare files while preserving BambuStudio and PrusaSlicer metadata when repacking the edited file.

  • Detect cylindrical holes and check their diameters
  • Resize selected holes to a target diameter
  • Repair degenerate faces and duplicate vertices
HKUDS/CLI-Anything54.7KUpdated Sep 22, 2026

Manage AdGuard Home network filtering from the command line. Update blocklists, register devices, configure DNS rules that map names to addresses, and inspect query logs and statistics through the AdGuard Home REST API.

  • Adding and refreshing ad-blocking filter lists
  • Mapping local domain names to IP addresses
  • Registering devices and managing fixed address assignments
HKUDS/CLI-Anything54.7KUpdated Sep 22, 2026

Generate slides, documents, websites, and diagrams from natural language prompts through AnyGen OpenAPI. Manage reference uploads, check generation progress, and download finished files using commands with structured output for AI agents.

  • Generate slides or documents from written instructions
  • Upload reference files for a generation task
  • Check generation progress and download finished files
HKUDS/CLI-Anything54.7KUpdated Sep 22, 2026

See all skills by HKUDS

Report a problem with this skill