{"route":"/skills/modbus/compile-user-map","title":"Compile User Map","tab":"skills/modbus/compile-user-map.md","description":"Turn an OEM register map and a list of the values you need into an organized user map, JSON, CSV, and optional field-tool files.","updatedAt":"2026-08-28","enabled":true,"url":"https://studioseventeen.io/skills/modbus/compile-user-map","markdown":"# Compile User Map\n\nREAD-ONLY\n\nTurn an OEM register map and a list of the values you need into an organized user map, JSON, CSV, and optional field-tool files.\n\n## What you get\n\nGive it an OEM PDF, spreadsheet, or register file and name the values you need, such as temperatures, operating status, alarms, or power. The `output` folder contains `user-map.md`, `user-map.json`, and `user-map.csv`. A partial run still keeps useful map files and tells you what must be corrected.\n\n## How it runs\n\n**Finishes only when the requested map is supported by the source.** For a PDF, the skill finds the likely register tables and records which pages and rows it covered. It does not mark the map complete when coverage is unknown, a selected value cannot be traced to the manual, or a selected point still has a blocking problem. It saves the case so you can correct the source or answer one grouped question without starting over.\n\n## Example request\n\n```text\n$compile-user-map\n\nUse the OEM register map in `generator-controller.pdf`. Build a user map for temperatures, operating status, active alarms, and power. Create the readable map plus JSON and CSV files.\n```\n\n## Safety\n\nNo writes. No broadcasts. No discovery scans. No polls without a defined limit. Unknown values stay blank and remain visible for review.\n\n## Source\n\n- [Canonical SKILL.md](https://github.com/studioxvii/modbus-skills/blob/v0.2.2/plugins/modbus-skills/skills/compile-user-map/SKILL.md)\n- [Modbus Skills 0.2.2 release](https://github.com/studioxvii/modbus-skills/releases/tag/v0.2.2)\n- [All Modbus Skills](/skills/modbus.md)\n"}