cli-anything-qgis — скилл для Claude Code: QGIS из терминала
Ведёт проект QGIS прямо из терминала: слои GeoPackage, объекты по WKT, печатные макеты, экспорт в PDF и алгоритмы qgis_process. Пригодится, когда карту надо собрать без мышки.
npx skills add HKUDS/CLI-Anything --skill cli-anything-qgis -a claude-codeЧто делает cli-anything-qgis
Скилл даёт агенту доступ к настоящему рантайму QGIS. Проекты .qgs и .qgz создаются и сохраняются, векторные слои пишутся в GeoPackage, объекты приходят как WKT с типизированными атрибутами. Подкоманды разложены по группам: project, layer, feature, layout, export, process, session. Запуск без подкоманды открывает REPL, и состояние сессии никуда не девается.
Автор советует --json для всего, что читает машина: ответы разбираются без парсинга человекочитаемого вывода. Одноразовый вызов по готовому проекту берёт --project <path>. Экспорт макета не рисует PDF сам — за ним стоят алгоритмы native:printlayouttopdf и native:printlayouttoimage, а группа process открывает любой алгоритм qgis_process.
Без локальной установки QGIS ничего не поедет. qgis_process должен лежать в PATH, PyQGIS — импортироваться из того же Python-окружения, где запущен CLI, нужен Python 3.10+. Это повод проверить окружение до того, как просить агента строить карту.
Какие задачи решает
- собрать проект
demo.qgzс нужной системой координат - добавить точечный слой в GeoPackage с типизированными полями
- записать в слой объекты по WKT и вычитать их обратно
- сверстать печатный макет с картой и подписью
- выгрузить макет в PDF или картинку
Примеры запросов агенту
- Создай проект
demo.qgzс--crs EPSG:4326и добавь слойplacesс полямиname:stringиscore:int, всё через--json. - Добавь в слой
placesобъектPOINT(1 2)с атрибутамиname=HQиscore=5, потом покажи первые 10 записей. - Сверстай макет
Mainс картой и подписью и выгрузи его вoutput.pdf.
Как установить cli-anything-qgis
1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-qgis -a claude-code2Вручную: положить файлы
~/.claude/skills/cli-anything-qgis/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/cli-anything-qgis/
1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-qgis -a codex2Вручную: положить файлы
.agents/skills/cli-anything-qgis/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-qgis -a cursor2Вручную: положить файлы
.cursor/skills/cli-anything-qgis/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install HKUDS/CLI-Anything cli-anything-qgis2Вручную: положить файлы
.github/skills/cli-anything-qgis/SKILL.md1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-qgis -a gemini-cli2Командой платформы
gemini skills install https://github.com/HKUDS/CLI-Anything --path skills/cli-anything-qgisВручную: положить файлы
.devin/skills/cli-anything-qgis/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-qgis -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о cli-anything-qgis
Как установить cli-anything-qgis в Claude Code?
Выполните npx skills add HKUDS/CLI-Anything --skill cli-anything-qgis -a claude-code. Файл скилла окажется по пути ~/.claude/skills/cli-anything-qgis/SKILL.md.
Что делает cli-anything-qgis?
Управляет проектами QGIS из терминала: создаёт слои и объекты, собирает макеты, экспортирует их, запускает алгоритмы qgis_process. Работает поверх настоящего рантайма QGIS, а не поверх заглушки.
Что нужно, чтобы скилл заработал?
Установленный QGIS с qgis_process в PATH, импортируемый PyQGIS в том же Python-окружении, где запускается CLI, и Python 3.10+.
Исходный текст
SKILL.md · Apache-2.0
--- 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 ```bash 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 ```bash 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 ```bash 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 ```bash 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 ```bash cli-anything-qgis ``` Example interactive flow: ```text 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 ```
© HKUDS · Apache-2.0 · HKUDS/CLI-Anything