Amateur Radio DX Monitor

v1.0.0

Monitor DX clusters for rare station spots, track active DX expeditions, and get daily band activity digests for amateur radio operators.

0· 572·0 current·0 all-time
bycaptmarbles@capt-marbles
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The name/description match the shipped Python scripts: dx-monitor.py and dx-ai-enhanced.py implement telnet DX-cluster monitoring, digest generation, and a local AI-like scoring feature. The presence of package.json (Node-style metadata) is unnecessary but not dangerous; it appears to be registry metadata only. Overall capabilities align with the stated purpose.
!
Instruction Scope
The SKILL.md instructs the agent/user to run the included Python scripts and to schedule cron jobs for monitoring — that scope is appropriate. However there are contradictory details: SKILL.md claims state is saved to ~/dx-monitor-state.json (home directory), while the actual code uses STATE_FILE = '/tmp/dx-monitor-state.json'. The AI-enhanced watcher relies on invoking dx-monitor.py via subprocess and then parses human-readable output (fragile/inconsistent parsing). These documentation/code mismatches could cause unexpected behavior (lost state, failed parsing) and should be fixed before automated scheduling.
Install Mechanism
No install spec is provided (instruction-only skill with code files). That is low-risk: nothing is downloaded at install time and no external installers are invoked.
Credentials
The skill requests no environment variables or external credentials and only uses standard Python stdlib operations. Two items to note: a default dx-ai-config.json shipped with the skill includes a real-looking latitude/longitude (privacy concern — change before use), and the code writes a state file to /tmp (or is documented to use home dir). No unrelated credentials are requested.
Persistence & Privilege
The skill is not force-included (always: false) and does not request special platform privileges. It writes local state (state file) and reads/writes the included dx-ai-config.json in the skill directory — expected for this functionality. The SKILL.md recommends cron jobs; scheduling these is user-controlled.
What to consider before installing
This skill is functionally coherent with its DX-monitoring purpose and does not ask for secrets, but review and fix a few things before you run it automatically: 1) Documentation vs code mismatch — SKILL.md says state is saved in your home dir, but the code saves to /tmp/dx-monitor-state.json; decide which you want and update the code/docs so you know where persistent state will live. 2) Privacy — the included dx-ai-config.json contains specific lat/lon and a callsign; edit or remove that before use. 3) The AI-enhanced script invokes the local dx-monitor.py and parses its human-readable output; this is brittle and may miss spots or behave unexpectedly if output format changes — test interactively first. 4) The tool connects to public DX cluster telnet nodes (plain-text telnet); run it as a non-privileged user and do not expose sensitive data. 5) If you plan to schedule automated cron jobs or integrate notifications (Telegram/Discord), review and test those integrations locally first. If you want higher assurance, ask the author to: (a) correct the state-file/docs mismatch, (b) add structured output (JSON) mode for dx-monitor.py so the AI-enhanced watcher can reliably parse spots, and (c) remove/obfuscate any default personal location data.

Like a lobster shell, security has layers — review code before you run it.

latestvk9761hvsksmxga85exgqz15n6h819fav
572downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

Ham Radio DX Monitor 📻

Monitor DX clusters in real-time, get notified of rare DX stations, and track active DX expeditions. Perfect for ham radio operators who want to catch rare contacts!

Features

📡 Live DX Spots - Connect to global DX cluster network
🌍 Rare DX Alerts - Notify when rare stations appear
📊 Daily Digest - Band activity summary
🗺️ DX Expeditions - Track active expeditions
Automated Monitoring - Run via cron for alerts

Quick Start

Watch Live Spots

# Get latest DX spots
python3 dx-monitor.py watch

# Specific cluster node
python3 dx-monitor.py watch --cluster ea7jxh

# Use your callsign
python3 dx-monitor.py watch --callsign KN4XYZ

# Only show NEW spots (filters duplicates)
python3 dx-monitor.py watch --new-only

Output:

📡 Latest DX Spots from EA7JXH

   20m   SSB      14.195   K1ABC        - CQ Contest
   40m   CW        7.015   VP8/G3XYZ    - Falklands
   15m   FT8      21.074   ZL2ABC       - New Zealand

Daily Digest

python3 dx-monitor.py digest

Output:

# 📡 DX Digest - 2026-01-27

## Band Activity (last 100 spots)

   20m   ████████████ 24
   40m   ████████ 16
   15m   ██████ 12
   10m   ████ 8

## Rare DX Spotted

   🌍 VP8/G3XYZ    40m      7.015 - Falklands Expedition
   🌍 ZL2ABC       15m     21.074 - New Zealand

DX Cluster Nodes

Available clusters:

  • ea7jxh - dx.ea7jxh.eu:7373 (Europe)
  • om0rx - cluster.om0rx.com:7300 (Europe)
  • oh2aq - oh2aq.kolumbus.fi:7373 (Finland)
  • ab5k - ab5k.net:7373 (USA)
  • w6rk - telnet.w6rk.com:7373 (USA West Coast)

Automated Monitoring

Using OpenClaw Cron (Recommended)

Use the OpenClaw cron tool to set up monitoring:

# Create a cron job for DX alerts (every 5 minutes)
cron add --name "DX Monitor" --schedule "*/5 * * * *" --payload 'systemEvent:Check DX cluster for rare spots' --sessionTarget main

Manual Cron (Alternative)

If using system cron, run as a non-privileged user:

# Add to crontab (as your user, not root)
crontab -e

# Add these lines:
*/5 * * * * cd ~/clawd && python3 skills/ham-radio-dx/dx-monitor.py watch --new-only --callsign YOUR_CALL >> ~/dx-alerts.log 2>&1

# Daily digest at 9am
0 9 * * * cd ~/clawd && python3 skills/ham-radio-dx/dx-monitor.py digest >> ~/dx-digest-$(date +\%Y-\%m-\%d).txt 2>&1

Note: State is saved to ~/dx-monitor-state.json (in your home directory, not /tmp).

Example Prompts for Clawdbot

  • "Check the DX cluster for new spots"
  • "What's active on 20 meters?"
  • "Show me today's DX digest"
  • "Any rare DX on the air?"
  • "Monitor for VP8 or ZL prefixes"

Rare DX Prefixes to Watch

Most Wanted:

  • VP8 - Falkland Islands
  • VK0 - Heard Island
  • 3Y0 - Bouvet Island
  • FT5 - Amsterdam & St. Paul Islands
  • P5 - North Korea
  • BS7 - Scarborough Reef

Other Rare:

  • ZL - New Zealand
  • VK - Australia
  • ZS - South Africa
  • 9G - Ghana
  • S9 - São Tomé and Príncipe

DX Expedition Resources

Track active expeditions:

Band Plans

Common DX frequencies:

  • 160m: 1.830-1.840 (CW), 1.840-1.850 (Digital)
  • 80m: 3.500-3.600 (CW), 3.790-3.800 (Digital)
  • 40m: 7.000-7.040 (CW), 7.070-7.080 (Digital)
  • 30m: 10.100-10.140 (CW/Digital only)
  • 20m: 14.000-14.070 (CW), 14.070-14.100 (Digital)
  • 17m: 18.068-18.100 (CW), 18.100-18.110 (Digital)
  • 15m: 21.000-21.070 (CW), 21.070-21.120 (Digital)
  • 12m: 24.890-24.920 (CW), 24.920-24.930 (Digital)
  • 10m: 28.000-28.070 (CW), 28.070-28.120 (Digital)

Tips

  1. Use Your Callsign - Some clusters require valid callsigns
  2. Check Multiple Clusters - Coverage varies by region
  3. Filter by Band - Focus on bands you can work
  4. Track Rare Prefixes - Set up alerts for most-wanted
  5. Morning Check - Best DX often in early morning

Technical Details

  • Protocol: Telnet to DX cluster nodes
  • Format: Standard PacketCluster/AR-Cluster format
  • State Tracking: /tmp/dx-monitor-state.json
  • Dependencies: Python 3.6+ (stdlib only)

🤖 NEW: AI-Enhanced Mode

Propagation prediction + DXCC filtering now available!

# Setup your station (one time)
python3 dx-ai-enhanced.py setup

# Watch for workable DX with AI scoring
python3 dx-ai-enhanced.py watch

Features:

  • ✨ Propagation workability scoring (0-100%)
  • 🎯 Filters by YOUR needed DXCC
  • 📊 Smart scoring: rarity + workability + your needs
  • 🚨 High-priority alerts for excellent spots
  • ⚙️ Personalized to your QTH, power, antenna

See README-AI.md for full documentation.


Future Ideas

  • DXCC entity tracking ✅ DONE (AI mode)
  • Propagation prediction integration ✅ DONE (AI mode)
  • Real-time solar data API
  • ML model trained on historical QSO data
  • Log integration (auto-populate worked DXCC)
  • Contest mode (filter contest stations)
  • FT8/FT4 integration via PSKReporter

73 and good DX! 📻🌍

Comments

Loading comments...