"Routes Rasterio rio CLI command selection, global options, raster
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill rio-cli --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Rio Cli?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-rio-cli)More formats (shields.io, HTML) on the badges page.
---
name: rio-cli
description: "Routes Rasterio rio CLI command selection, global options, raster
metadata, conversion, feature, masking, reprojection, and troubleshooting
tasks."
disable-model-invocation: true
metadata:
disco-role: operating
license: BSD 3-Clause
---
# Rio CLI
Use this sub-skill when a user wants a `rio` command rather than Python API code, or when they need to debug `rio` option parsing, file output, JSON/GeoJSON output, or command selection.
## Typical requests
- "What `rio` command shows raster metadata?"
- "Clip this raster to bounds on the command line."
- "Use `rio warp` to reproject a file."
- "Why does `rio` say these options cannot be combined?"
## What this sub-skill owns
- Global `rio` options: verbosity, AWS profile/no-sign/requester-pays, version, GDAL version, and show-versions.
- Metadata/inspection commands: `env`, `info`, `bounds`, `insp`, `blocks`, `gcps`, `sample`, and `transform`.
- Create/convert/update commands: `create`, `convert`, `edit-info`, `overview`, and `rm`.
- Feature/mask commands: `mask`, `rasterize`, and `shapes`.
- Multi-raster commands: `merge`, `stack`, and `warp`.
- Expression workflows with `rio calc`.
- Command-specific parse errors and safe command construction.
## What it excludes
- Deep Python API recipes; route to the owning API sub-skill after choosing the equivalent `rio` command.
- Network or credentialed S3 operations unless the user has explicitly configured the relevant environment and optional dependencies.
- Long-running or destructive file operations unless the user has confirmed output paths and overwrite behavior.
## Read first
- [`references/cli-reference.md`](references/cli-reference.md) for command selection, common flags, and output patterns.
- [`references/troubleshooting.md`](references/troubleshooting.md) for Click parse errors, invalid CRS/bounds, overwrite protection, and optional cloud flags.
- [`scripts/rio_smoke.py`](scripts/rio_smoke.py) for a safe local CLI smoke check.
## Workflow shape
1. Determine whether the user needs inspection, transformation, creation, masking/rasterizing, multi-raster composition, or environment diagnostics.
2. Choose the smallest `rio` command that matches that intent.
3. Add global options only when needed; do not use AWS flags without user approval.
4. Quote bounds or GeoJSON input carefully so the shell passes arguments as intended.
5. Validate outputs with `rio info`, `rio bounds`, or the bundled smoke helper.
## Decision points
- Use `rio info` for metadata and scalar extraction.
- Use `rio bounds` for bbox/GeoJSON extents.
- Use `rio transform` for coordinate arrays.
- Use `rio clip` for rectangular/data-window/template clipping, and `rio mask` for GeoJSON feature masks.
- Use `rio warp` for reprojection/resampling/grid changes.
- Use `rio merge` for mosaics and `rio stack` for multiband stacks.
- Use `rio calc` for simple array expressions; route complex NumPy workflows to Python API sub-skills.
## Common mistakes
- Forgetting that many write commands protect existing outputs unless overwrite is explicit.
- Mixing `--bounds`, `--res`, and `--dimensions` without one clear grid-sizing strategy.
- Passing malformed CRS strings such as `EPSG:`.
- Treating shell quoting errors as Rasterio API bugs.
- Using cloud/S3 flags without installing optional dependencies or configuring credentials.
## Good validation path
- `tests/test_rio_main.py::test_version`
- `tests/test_rio_info.py::test_info`
- `tests/test_rio_info.py::test_transform_point`
- `tests/test_rio_clip.py::test_clip_bounds`
- `tests/test_rio_warp.py::test_warp_reproject_dst_crs`
- `tests/test_rio_calc.py` selected safe cases
## What a future agent should be able to do here
A future agent should be able to answer ordinary and borderline `rio` command questions with copyable commands and concrete parse-error recovery, without reopening the original docs.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!