"Use when adding, debugging, inspecting, or smoke-testing
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill parsers --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Parsers?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-parsers)More formats (shields.io, HTML) on the badges page.
---
name: parsers
description: "Use when adding, debugging, inspecting, or smoke-testing
Electricity Maps live parsers and parser registry mappings."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# Parsers
Use this sub-skill for live Electricity Maps parser work: production,
consumption, price, exchange, forecast, grid-alert, locational marginal price,
and intraday-statistics parser functions.
Do not use this route for installed capacity updates or `productionCapacity`
execution; those belong to [capacity](../capacity/SKILL.md). Use
[configuration](../configuration/SKILL.md) for broad zone/exchange YAML model
validation beyond parser mapping fields.
## First decisions
1. Identify whether the task is zone-side or exchange-side. Exchange-side data
types use two zone keys and exchange identifiers such as `NO-NO3->SE`.
2. Identify the parser data type. If the user omits it, production is the usual
default for a zone and exchange is the usual default for an exchange key.
3. Check whether a config mapping already exists before editing parser code:
```bash
python scripts/test_parser.py --repo-root <checkout> --describe FR production
python scripts/test_parser.py --repo-root <checkout> --list
```
4. Only use live execution after confirming network/API-token expectations:
```bash
python scripts/test_parser.py --repo-root <checkout> --execute FR production \
--target-datetime "2024-01-01T00:00:00+00:00"
```
## Read these references
- [api-reference.md](references/api-reference.md) for parser signatures,
`ParserDataType` groups, registry mappings, output model expectations, mode
enums, and decorator/token helpers.
- [workflows.md](references/workflows.md) for adding a parser, debugging an
existing parser, wiring config, writing mocks/tests, and selecting focused
native checks.
- [troubleshooting.md](references/troubleshooting.md) for parser-specific
import, token, date/time, output-shape, validation, and source/network
failures.
- `scripts/test_parser.py` is an adapted safe wrapper for registry inspection
and optional live parser execution. Run `--help` first when unsure.
## Parser workflow checklist
- Use source/config evidence before writing code: parser file, config mapping,
existing tests/mocks, and the parser interface contract.
- New zone parser functions should follow the zone-side signature:
`zone_key, session, target_datetime, logger`.
- New exchange functions should follow the exchange-side signature:
`zone_key1, zone_key2, session, target_datetime, logger`.
- Return a truthy dict or list of dicts with timezone-aware native
`datetime.datetime` values. Missing production modes should be omitted or
`None`, not silently set to zero unless the source explicitly reports zero.
- Use `ProductionBreakdownList`, `TotalConsumptionList`, `ExchangeList`,
`PriceList`, and related event-list helpers when possible so output fields
stay consistent.
- Add or update a focused pytest file with mocked HTTP/file fixtures; do not
make native verification depend on live API availability.
- Run `tests/test_parser_interface.py` after changing signatures, config
parser mappings, `ParserDataType`, or parser registry behavior.
## Validation shortcuts
```bash
uv run pytest tests/test_parser_interface.py -q
uv run pytest electricitymap/contrib/parsers/tests/test_<PARSER>.py -q
uv run test-parser FR production
uv run test-parser "NO-NO3->SE" exchange
```
If the command fails before reaching parser code, first run the root
`scripts/check_environment.py --repo-root <checkout>` diagnostic and then read
[repo troubleshooting](../../references/troubleshooting.md).
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!