Replace the library-style main() with argparse subcommands: ls, stat,
pull, push (writes then verifies read-back), and backup (recursive
directory download). Drops the hardcoded scratchpad paths. Update the
SKILL.md notes to the new commands.
Claude-Session: https://claude.ai/code/session_01Ctisr9uXe4H8XsscZ2exGE
Probe each candidate serial port with a DIAG version request and keep
the one that answers, interface 0 (-if00-) first, instead of hardcoding
ttyUSB0. Use /dev/serial/by-id for stable naming; DIAGPORT overrides.
Claude-Session: https://claude.ai/code/session_01Ctisr9uXe4H8XsscZ2exGE
No-wipe newflasher upgrade flow for the XQ-EC72, keeping Magisk root.
Includes the Linux procedure for re-enabling US 5G over the Qualcomm
diag port: the pyserial EFS2 client, the policyman band files that get
written, and a backup of the device's original band config.
Claude-Session: https://claude.ai/code/session_01Ctisr9uXe4H8XsscZ2exGE