# Build Custom Export

> Build a deterministic declarative text or CSV export from a documented example and canonical Modbus map. Use when the user needs a reusable text or CSV exporter and not a Node-RED, Modpoll (BETA), or ModScan (BETA) adapter.

- Skill: `studioxvii/build-custom-export` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add studioxvii/build-custom-export`
- Raw SKILL.md: https://api.skillmd.com/api/skills/studioxvii/build-custom-export/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- License: Apache-2.0
- Author: studioxvii (https://skillmd.com/u/studioxvii)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/studioxvii/build-custom-export

---


# Build Custom Export

Infer a data template, then render it without executing supplied code.

Follow `../../references/interaction-contract.md`.

## Process

1. Require a documented example and target field definitions.
2. Identify header, row, delimiter, quoting, and footer rules.
3. Run `python3 <skill-dir>/scripts/run.py --example <path> --map <map.json> --output <directory>`.
4. Render immediately when inference is unambiguous.
5. Validate escaping, newlines, spreadsheet formulas, and deterministic ordering;
   ask once only when multiple target shapes remain plausible.

## Output files

- `rendered-output.txt` - Open or import this generated data file.
- `format-config.json` - Keep this small recipe so the same format can be generated again.
- `evidence.json` - Normally ignore this. It records which example and map produced the output.

Completion requires a validated declarative configuration and deterministic output.

## Stop

- Stop when the example format is ambiguous or an opaque native binary is requested.
- Do not execute supplied template code.
- Stop for map validation errors or write requests.

## Handoff

- The input map is not reviewed: suggest `review-map`.
- The target is Node-RED, Modpoll (BETA), or ModScan (BETA): suggest its dedicated builder.

Use this skill for one simple text or CSV shape. Use a dedicated adapter for graphs, opaque binaries, or interdependent collections.

