# Build Modscan

> Build deterministic read-only BETA ModScan setup, poll-plan, point-map, and protocol test-message artifacts. Use when the user asks for ModScan files, a ModScan read plan, or ModScan probe/final setup.

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

---


# Build ModScan (BETA)

Generate documented setup files. This target remains BETA; generation does not
verify the user's installed application or native polling behavior.

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

## Process

1. Read `references/options.md` before using options or making a version claim.
2. Infer ModScan32 or ModScan64 from the request or available installation; ask once
   only when the target genuinely affects the output and cannot be discovered.
3. Require a canonical map, read plan, and `probe` or `final` mode.
4. Run `python3 <skill-dir>/scripts/run.py --map <map.json> --plan <read-plan.json> --mode <mode> --output <directory>`.
5. Inspect the setup manifest and generated CSV files.
6. Configure ModScan from the plan when available; these CSVs are operator-entry
   instructions, not native import files. Otherwise report native verification as
   unavailable and use the fallback only for one reviewed request.
7. Use the generated Point Address column for the tested ModScan UI; raw protocol
   messages retain zero-based offsets. Follow the generated README and
   `references/native-verification.md` for the version-specific mapping.

## Output files

- `modscan/read-plan.csv` - The bounded read blocks to enter in ModScan.
- `modscan/point-map.csv` - The names and meanings of the returned registers.
- `modscan/test-message-plan.csv` - Optional protocol test messages for verification.
- `modscan/README.md` - Start here for setup instructions.
- `modscan/pymodbus-read-once.py` - Optional cross-platform FC01-04 fallback. It
  requires one compiled request, endpoint, port, and matching unit ID.
- The JSON manifest and result files - Normally ignore these. They prove which map and plan produced the CSV files and record any holds.

Completion requires a generated or held status with visible native-verification state.

## Windows lab verification

For native application checks, follow `references/native-verification.md`.
Keep receipts in a local diagnostic directory, separate from the user deliverables.

## Stop

- Stop without a canonical map, read plan, and probe or final mode.
- Never claim native verification when it was not run.
- Do not invent undocumented ModScan configuration formats.

## Handoff

- No read plan exists: suggest `plan-reads`.
- The user needs several target formats: suggest `build-tool-pack`.

Preserve documented ModScan files. Never claim native verification when it was not run.

