Ham Radio DX Monitor
PassAudited by ClawScan on May 1, 2026.
Overview
The skill appears to do what it promises—check public ham-radio DX clusters—but users should notice the optional cron monitoring and the README’s reference to a setup script that is not included in the package.
This skill looks coherent for ham-radio DX monitoring. Before installing, avoid running any setup script that is not actually included and reviewed, add cron entries only if you want continuous monitoring, remember that a real callsign is sent to the selected DX cluster, and check or clear the /tmp state/log files if needed.
Findings (4)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
If a user follows the README literally, the referenced setup script is not part of the reviewed package; using a replacement from another source would be outside the reviewed artifacts.
The README tells users to run a setup helper, but the supplied manifest only includes README.md, SKILL.md, and dx-monitor.py. This creates an incomplete setup/provenance path for users who might look for or run an unreviewed script elsewhere.
./scripts/dx-monitoring-setup.sh YOUR_CALLSIGN
Use the included dx-monitor.py and the documented manual cron entries, or review any setup script before running it.
If installed in cron, the monitor will keep making network checks and appending logs until the cron entry is removed.
The skill documents a cron entry that would keep running the monitor every five minutes. This persistence is disclosed and user-directed, but it should be intentional.
*/5 * * * * cd ~/clawd && python3 skills/ham-radio-dx/dx-monitor.py watch --new-only --callsign YOUR_CALL >> /tmp/dx-alerts.log
Only add the cron entries if you want continuous monitoring, and keep track of how to remove them and rotate or delete logs.
Your supplied callsign may be visible to the external DX cluster you connect to.
When a callsign is supplied, the code sends it to the selected DX cluster during login. This is expected for DX cluster use, but a real callsign can identify an operator.
self.sock.sendall(f"{self.callsign}\n".encode())Provide a real callsign only if you are comfortable using it with the chosen cluster; otherwise use the default or a permitted monitor callsign where allowed.
The state file can make spots appear as already seen, and on shared systems it may be easier for another local user to alter or conflict with it.
The skill stores duplicate-filtering state in a predictable /tmp file. This is minor and purpose-aligned, but it affects which spots are treated as new.
STATE_FILE = "/tmp/dx-monitor-state.json"
Clear the state file if alerts seem wrong, and consider moving state to a user-owned directory if running on a shared machine.
