"Use when maintaining Electricity Maps zone, exchange, data-center,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill configuration --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Configuration?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-configuration-arex-skill)More formats (shields.io, HTML) on the badges page.
---
name: configuration
description: "Use when maintaining Electricity Maps zone, exchange, data-center,
emission-factor, geo, and config-model validation workflows."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# Configuration
Use this sub-skill for static repository configuration: `config/zones`,
`config/exchanges`, `config/defaults.yaml`, data-center JSON, co2eq/emission
factor metadata, geography consistency, and filename/model validation.
Use [parsers](../parsers/SKILL.md) for live parser code and parser output
contracts. Use [capacity](../capacity/SKILL.md) when the task specifically
updates installed capacity values or capacity parsers.
## First decisions
1. Identify the config surface: zone YAML, exchange YAML, data centers,
co2eq/emission factors, aggregate zone creation, or geometry consistency.
2. Run safe validators before and after edits:
```bash
python scripts/validate_config_filenames.py --repo-root <checkout>
uv run pytest tests/config/test_config_model.py tests/test_zones_json.py tests/test_exchanges_json.py -q
```
3. Use the aggregate helper in dry-run mode before writing a parent zone file:
```bash
python scripts/create_aggregated_zone_config.py --repo-root <checkout> US America/New_York
```
4. If a task also changes parser mappings or capacity values, route to the
owning sub-skill and then return here for model/filename/geo validation.
## Read these references
- [config-models.md](references/config-models.md) for zone/exchange/data-center
model fields, parser mapping locations, co2eq source rules, and geometry
consistency.
- [workflows.md](references/workflows.md) for editing zone/exchange configs,
creating aggregate zones, handling dangerous maintainer scripts, and choosing
focused tests.
- [troubleshooting.md](references/troubleshooting.md) for pydantic validation,
filename ordering, subzone/geo mismatch, data-center, and emission-factor
failures.
- `scripts/validate_config_filenames.py` checks uppercase zone filenames and
uppercase/sorted exchange filenames.
- `scripts/create_aggregated_zone_config.py` previews aggregate zone YAML from
subzones and requires `--write` before mutating files.
## Configuration checklist
- Zone filenames must be uppercase. Exchange filenames must be uppercase and
sorted by zone key using `_` as the filename separator.
- Exchange config keys load as `A->B` even though filenames use `A_B.yaml`.
- Parser mapping fields must use `ParserDataType` names and `MODULE.function`
strings; live parser mapping behavior is validated through the parser route.
- `subZoneNames` must point to existing zone config files and should align with
geography and exchange-neighbor expectations.
- Data-center JSON is validated by pydantic models; do not add duplicate or
malformed data-center entries by hand.
- Emission factor sources referenced in co2eq defaults/overrides must either be
known global references or appear in the corresponding zone's `sources` map.
- Bulk zone removal/name-update scripts are destructive and not safe defaults;
plan them explicitly with diffs and focused tests.
## Focused checks
```bash
uv run pytest tests/config/test_config_model.py tests/config/test_config_zones.py -q
uv run pytest tests/test_zones_json.py tests/test_exchanges_json.py -q
uv run pytest tests/config/test_data_center_model.py tests/config/test_emission_factors.py \
tests/test_co2eq_parameters.py -q
```
For parser mapping edits also run `tests/test_parser_interface.py`; for capacity
edits also run the capacity tests named by the capacity sub-skill.
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!