Installs into .claude/skills of the current project.
Are you the author of Validation Testing?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-validation-testing)
---
name: validation-testing
description: "Use when validating GeoPandas outputs, using geopandas.testing
assertions, designing fixtures, or selecting focused GeoPandas repository
tests."
disable-model-invocation: true
metadata:
disco-role: operating
license: BSD 3-Clause
---
# Validation and Testing
Use this sub-skill when the task is about proving GeoPandas results are correct, writing assertions for geometry-aware outputs, or maintaining/testing the GeoPandas repository.
## Read First
- [Testing reference](references/testing-reference.md): `geopandas.testing` assertion helper behavior, equality options, fixture design, and output comparison patterns.
- [Maintainer workflows](references/maintainer-workflows.md): focused test selection, optional dependency awareness, contributor-oriented checks, and when not to run expensive/service tests.
- [Troubleshooting](references/troubleshooting.md): assertion mismatches, CRS/index/order differences, optional dependency skips, and service/network test boundaries.
- [geopandas_assertion_demo.py](scripts/geopandas_assertion_demo.py): tiny demonstration of `assert_geodataframe_equal` and deliberate mismatch handling.
## Route Here When
- The user asks how to compare two `GeoDataFrame` or `GeoSeries` objects in tests.
- The task mentions `geopandas.testing.assert_geodataframe_equal`, `assert_geoseries_equal`, geometry equality tolerance, CRS/index checking, or expected output fixtures.
- The user is editing the GeoPandas repository and needs focused pytest commands or optional-dependency triage.
- A result from `core-data-model`, `io-formats`, `spatial-operations`, or `mapping-geocoding` needs assertion-backed validation.
## Route Elsewhere
- Use `../core-data-model/SKILL.md` for object construction and CRS semantics.
- Use `../io-formats/SKILL.md` for I/O workflow behavior before asserting round trips.
- Use `../spatial-operations/SKILL.md` for analysis logic before comparing outputs.
- Use `../mapping-geocoding/SKILL.md` for plot/geocoding optional dependencies before validation.
## Default Operating Rules
1. Prefer `geopandas.testing` helpers over raw pandas equality for geometry-aware objects.
2. Choose equality flags deliberately: CRS, index type/order, geometry type, coordinate tolerance, and column order can all matter differently by task.
3. Keep fixtures tiny, explicit, and CRS-labeled.
4. When testing optional workflows, distinguish missing optional dependency skips from real failures.
5. Avoid full test-suite runs unless the user asks and the environment has the needed optional/service dependencies.
6. For repository maintenance, start with focused tests around changed behavior, then broaden only when failures or risk justify it.
## Minimal Check
```bash
python scripts/geopandas_assertion_demo.py
```
Expected high-level signal: the script passes equal GeoDataFrame assertions, catches an intentional CRS mismatch, and reports the assertion helper behavior.
## Handoff
- Use this sub-skill at the end of a workflow to turn expected GeoPandas outputs into assertions.
- For production verification of this generated skill, pair its scripts with selected native tests and integration cases from the review artifacts.