Skip to content
CLI Tools
Skill

/cli-anything-qgis

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

From plugin
cli-anything
59k71 skills9 commands

Claude Code

$ npx -y skills add HKUDS/CLI-Anything --skill cli-anything-qgis --agent claude-code

SKILL.md

cli-anything-qgis.SKILL.md
name: "cli-anything-qgis"
description: Stateful QGIS CLI for projects, writable layers, features, layouts, exports, and qgis_process operations using the real QGIS runtime.

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
Read more
@hkuds
Ships withcli-anything

"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/

Stars on GitHub

Momentum

stars in total
58.5k
Star history of HKUDS/CLI-Anything on GitHub, a chart by star-history.com

Other skills on cli-anything.

cli-anything-adguardhome

cli-anything-adguardho…

Command-line interface for AdGuard Home - Network-wide ad blocking and DNS management via AdGuard Home REST API. Designed for AI…

@hkuds@hkudsInstall Skill
cli-anything-anygen

cli-anything-anygen

Command-line interface for Anygen - A stateful command-line interface for AnyGen OpenAPI — generate professional slides,…

@hkuds@hkudsInstall Skill
cli-anything-audacity

cli-anything-audacity

Command-line interface for Audacity - A stateful command-line interface for audio editing, following the same patterns as the…

@hkuds@hkudsInstall Skill

More skills from other plugins.

find-skills

find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a…

skills4d39k
@vercel-labs-2@vercel-labs-2Install Skill
ohmyposh

ohmyposh

Install, configure, or troubleshoot Oh My Posh/ohmyposh: shell init, themes, segments, Nerd Font icons, and prompt setup on…

@jandedobbeleer@jandedobbeleerInstall Skill
mgrep

mgrep

MANDATORY: Replaces ALL built-in search tools. You MUST invoke this skill BEFORE using WebSearch, Grep, or Glob. NEVER use the…

mgrep6mo4.4k
@mixedbread-ai@mixedbread-aiInstall Skill

Questions about cli-anything-qgis.

Which coding agents can use cli-anything-qgis?
cli-anything-qgis installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.