{
  "schemaVersion": "1.0",
  "item": {
    "slug": "amateur-radio-dx",
    "name": "Amateur Radio DX Monitor",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/capt-marbles/amateur-radio-dx",
    "canonicalUrl": "https://clawhub.ai/capt-marbles/amateur-radio-dx",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/amateur-radio-dx",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=amateur-radio-dx",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "dx-ai-config.json",
      "README-AI.md",
      "dx-monitor.py",
      "README.md",
      "dx-ai-enhanced.py",
      "package.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/amateur-radio-dx"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/amateur-radio-dx",
    "agentPageUrl": "https://openagent3.xyz/skills/amateur-radio-dx/agent",
    "manifestUrl": "https://openagent3.xyz/skills/amateur-radio-dx/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/amateur-radio-dx/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Ham Radio DX Monitor 📻",
        "body": "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!"
      },
      {
        "title": "Features",
        "body": "📡 Live DX Spots - Connect to global DX cluster network\n🌍 Rare DX Alerts - Notify when rare stations appear\n📊 Daily Digest - Band activity summary\n🗺️ DX Expeditions - Track active expeditions\n⏰ Automated Monitoring - Run via cron for alerts"
      },
      {
        "title": "Watch Live Spots",
        "body": "# Get latest DX spots\npython3 dx-monitor.py watch\n\n# Specific cluster node\npython3 dx-monitor.py watch --cluster ea7jxh\n\n# Use your callsign\npython3 dx-monitor.py watch --callsign KN4XYZ\n\n# Only show NEW spots (filters duplicates)\npython3 dx-monitor.py watch --new-only\n\nOutput:\n\n📡 Latest DX Spots from EA7JXH\n\n   20m   SSB      14.195   K1ABC        - CQ Contest\n   40m   CW        7.015   VP8/G3XYZ    - Falklands\n   15m   FT8      21.074   ZL2ABC       - New Zealand"
      },
      {
        "title": "Daily Digest",
        "body": "python3 dx-monitor.py digest\n\nOutput:\n\n# 📡 DX Digest - 2026-01-27\n\n## Band Activity (last 100 spots)\n\n   20m   ████████████ 24\n   40m   ████████ 16\n   15m   ██████ 12\n   10m   ████ 8\n\n## Rare DX Spotted\n\n   🌍 VP8/G3XYZ    40m      7.015 - Falklands Expedition\n   🌍 ZL2ABC       15m     21.074 - New Zealand"
      },
      {
        "title": "DX Cluster Nodes",
        "body": "Available clusters:\n\nea7jxh - dx.ea7jxh.eu:7373 (Europe)\nom0rx - cluster.om0rx.com:7300 (Europe)\noh2aq - oh2aq.kolumbus.fi:7373 (Finland)\nab5k - ab5k.net:7373 (USA)\nw6rk - telnet.w6rk.com:7373 (USA West Coast)"
      },
      {
        "title": "Using OpenClaw Cron (Recommended)",
        "body": "Use the OpenClaw cron tool to set up monitoring:\n\n# Create a cron job for DX alerts (every 5 minutes)\ncron add --name \"DX Monitor\" --schedule \"*/5 * * * *\" --payload 'systemEvent:Check DX cluster for rare spots' --sessionTarget main"
      },
      {
        "title": "Manual Cron (Alternative)",
        "body": "If using system cron, run as a non-privileged user:\n\n# Add to crontab (as your user, not root)\ncrontab -e\n\n# Add these lines:\n*/5 * * * * cd ~/clawd && python3 skills/ham-radio-dx/dx-monitor.py watch --new-only --callsign YOUR_CALL >> ~/dx-alerts.log 2>&1\n\n# Daily digest at 9am\n0 9 * * * cd ~/clawd && python3 skills/ham-radio-dx/dx-monitor.py digest >> ~/dx-digest-$(date +\\%Y-\\%m-\\%d).txt 2>&1\n\nNote: State is saved to ~/dx-monitor-state.json (in your home directory, not /tmp)."
      },
      {
        "title": "Example Prompts for Clawdbot",
        "body": "\"Check the DX cluster for new spots\"\n\"What's active on 20 meters?\"\n\"Show me today's DX digest\"\n\"Any rare DX on the air?\"\n\"Monitor for VP8 or ZL prefixes\""
      },
      {
        "title": "Rare DX Prefixes to Watch",
        "body": "Most Wanted:\n\nVP8 - Falkland Islands\nVK0 - Heard Island\n3Y0 - Bouvet Island\nFT5 - Amsterdam & St. Paul Islands\nP5 - North Korea\nBS7 - Scarborough Reef\n\nOther Rare:\n\nZL - New Zealand\nVK - Australia\nZS - South Africa\n9G - Ghana\nS9 - São Tomé and Príncipe"
      },
      {
        "title": "DX Expedition Resources",
        "body": "Track active expeditions:\n\nNG3K Calendar: https://www.ng3k.com/misc/adxo.html\nDX News: https://www.dx-world.net/\n425 DX News: http://www.425dxn.org/"
      },
      {
        "title": "Band Plans",
        "body": "Common DX frequencies:\n\n160m: 1.830-1.840 (CW), 1.840-1.850 (Digital)\n80m: 3.500-3.600 (CW), 3.790-3.800 (Digital)\n40m: 7.000-7.040 (CW), 7.070-7.080 (Digital)\n30m: 10.100-10.140 (CW/Digital only)\n20m: 14.000-14.070 (CW), 14.070-14.100 (Digital)\n17m: 18.068-18.100 (CW), 18.100-18.110 (Digital)\n15m: 21.000-21.070 (CW), 21.070-21.120 (Digital)\n12m: 24.890-24.920 (CW), 24.920-24.930 (Digital)\n10m: 28.000-28.070 (CW), 28.070-28.120 (Digital)"
      },
      {
        "title": "Tips",
        "body": "Use Your Callsign - Some clusters require valid callsigns\nCheck Multiple Clusters - Coverage varies by region\nFilter by Band - Focus on bands you can work\nTrack Rare Prefixes - Set up alerts for most-wanted\nMorning Check - Best DX often in early morning"
      },
      {
        "title": "Technical Details",
        "body": "Protocol: Telnet to DX cluster nodes\nFormat: Standard PacketCluster/AR-Cluster format\nState Tracking: /tmp/dx-monitor-state.json\nDependencies: Python 3.6+ (stdlib only)"
      },
      {
        "title": "🤖 NEW: AI-Enhanced Mode",
        "body": "Propagation prediction + DXCC filtering now available!\n\n# Setup your station (one time)\npython3 dx-ai-enhanced.py setup\n\n# Watch for workable DX with AI scoring\npython3 dx-ai-enhanced.py watch\n\nFeatures:\n\n✨ Propagation workability scoring (0-100%)\n🎯 Filters by YOUR needed DXCC\n📊 Smart scoring: rarity + workability + your needs\n🚨 High-priority alerts for excellent spots\n⚙️ Personalized to your QTH, power, antenna\n\nSee README-AI.md for full documentation."
      },
      {
        "title": "Future Ideas",
        "body": "DXCC entity tracking ✅ DONE (AI mode)\nPropagation prediction integration ✅ DONE (AI mode)\nReal-time solar data API\nML model trained on historical QSO data\nLog integration (auto-populate worked DXCC)\nContest mode (filter contest stations)\nFT8/FT4 integration via PSKReporter\n\n73 and good DX! 📻🌍"
      }
    ],
    "body": "Ham Radio DX Monitor 📻\n\nMonitor 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!\n\nFeatures\n\n📡 Live DX Spots - Connect to global DX cluster network\n🌍 Rare DX Alerts - Notify when rare stations appear\n📊 Daily Digest - Band activity summary\n🗺️ DX Expeditions - Track active expeditions\n⏰ Automated Monitoring - Run via cron for alerts\n\nQuick Start\nWatch Live Spots\n# Get latest DX spots\npython3 dx-monitor.py watch\n\n# Specific cluster node\npython3 dx-monitor.py watch --cluster ea7jxh\n\n# Use your callsign\npython3 dx-monitor.py watch --callsign KN4XYZ\n\n# Only show NEW spots (filters duplicates)\npython3 dx-monitor.py watch --new-only\n\n\nOutput:\n\n📡 Latest DX Spots from EA7JXH\n\n   20m   SSB      14.195   K1ABC        - CQ Contest\n   40m   CW        7.015   VP8/G3XYZ    - Falklands\n   15m   FT8      21.074   ZL2ABC       - New Zealand\n\nDaily Digest\npython3 dx-monitor.py digest\n\n\nOutput:\n\n# 📡 DX Digest - 2026-01-27\n\n## Band Activity (last 100 spots)\n\n   20m   ████████████ 24\n   40m   ████████ 16\n   15m   ██████ 12\n   10m   ████ 8\n\n## Rare DX Spotted\n\n   🌍 VP8/G3XYZ    40m      7.015 - Falklands Expedition\n   🌍 ZL2ABC       15m     21.074 - New Zealand\n\nDX Cluster Nodes\n\nAvailable clusters:\n\nea7jxh - dx.ea7jxh.eu:7373 (Europe)\nom0rx - cluster.om0rx.com:7300 (Europe)\noh2aq - oh2aq.kolumbus.fi:7373 (Finland)\nab5k - ab5k.net:7373 (USA)\nw6rk - telnet.w6rk.com:7373 (USA West Coast)\nAutomated Monitoring\nUsing OpenClaw Cron (Recommended)\n\nUse the OpenClaw cron tool to set up monitoring:\n\n# Create a cron job for DX alerts (every 5 minutes)\ncron add --name \"DX Monitor\" --schedule \"*/5 * * * *\" --payload 'systemEvent:Check DX cluster for rare spots' --sessionTarget main\n\nManual Cron (Alternative)\n\nIf using system cron, run as a non-privileged user:\n\n# Add to crontab (as your user, not root)\ncrontab -e\n\n# Add these lines:\n*/5 * * * * cd ~/clawd && python3 skills/ham-radio-dx/dx-monitor.py watch --new-only --callsign YOUR_CALL >> ~/dx-alerts.log 2>&1\n\n# Daily digest at 9am\n0 9 * * * cd ~/clawd && python3 skills/ham-radio-dx/dx-monitor.py digest >> ~/dx-digest-$(date +\\%Y-\\%m-\\%d).txt 2>&1\n\n\nNote: State is saved to ~/dx-monitor-state.json (in your home directory, not /tmp).\n\nExample Prompts for Clawdbot\n\"Check the DX cluster for new spots\"\n\"What's active on 20 meters?\"\n\"Show me today's DX digest\"\n\"Any rare DX on the air?\"\n\"Monitor for VP8 or ZL prefixes\"\nRare DX Prefixes to Watch\n\nMost Wanted:\n\nVP8 - Falkland Islands\nVK0 - Heard Island\n3Y0 - Bouvet Island\nFT5 - Amsterdam & St. Paul Islands\nP5 - North Korea\nBS7 - Scarborough Reef\n\nOther Rare:\n\nZL - New Zealand\nVK - Australia\nZS - South Africa\n9G - Ghana\nS9 - São Tomé and Príncipe\nDX Expedition Resources\n\nTrack active expeditions:\n\nNG3K Calendar: https://www.ng3k.com/misc/adxo.html\nDX News: https://www.dx-world.net/\n425 DX News: http://www.425dxn.org/\nBand Plans\n\nCommon DX frequencies:\n\n160m: 1.830-1.840 (CW), 1.840-1.850 (Digital)\n80m: 3.500-3.600 (CW), 3.790-3.800 (Digital)\n40m: 7.000-7.040 (CW), 7.070-7.080 (Digital)\n30m: 10.100-10.140 (CW/Digital only)\n20m: 14.000-14.070 (CW), 14.070-14.100 (Digital)\n17m: 18.068-18.100 (CW), 18.100-18.110 (Digital)\n15m: 21.000-21.070 (CW), 21.070-21.120 (Digital)\n12m: 24.890-24.920 (CW), 24.920-24.930 (Digital)\n10m: 28.000-28.070 (CW), 28.070-28.120 (Digital)\nTips\nUse Your Callsign - Some clusters require valid callsigns\nCheck Multiple Clusters - Coverage varies by region\nFilter by Band - Focus on bands you can work\nTrack Rare Prefixes - Set up alerts for most-wanted\nMorning Check - Best DX often in early morning\nTechnical Details\nProtocol: Telnet to DX cluster nodes\nFormat: Standard PacketCluster/AR-Cluster format\nState Tracking: /tmp/dx-monitor-state.json\nDependencies: Python 3.6+ (stdlib only)\n🤖 NEW: AI-Enhanced Mode\n\nPropagation prediction + DXCC filtering now available!\n\n# Setup your station (one time)\npython3 dx-ai-enhanced.py setup\n\n# Watch for workable DX with AI scoring\npython3 dx-ai-enhanced.py watch\n\n\nFeatures:\n\n✨ Propagation workability scoring (0-100%)\n🎯 Filters by YOUR needed DXCC\n📊 Smart scoring: rarity + workability + your needs\n🚨 High-priority alerts for excellent spots\n⚙️ Personalized to your QTH, power, antenna\n\nSee README-AI.md for full documentation.\n\nFuture Ideas\nDXCC entity tracking ✅ DONE (AI mode)\nPropagation prediction integration ✅ DONE (AI mode)\nReal-time solar data API\nML model trained on historical QSO data\nLog integration (auto-populate worked DXCC)\nContest mode (filter contest stations)\nFT8/FT4 integration via PSKReporter\n\n73 and good DX! 📻🌍"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/capt-marbles/amateur-radio-dx",
    "publisherUrl": "https://clawhub.ai/capt-marbles/amateur-radio-dx",
    "owner": "capt-marbles",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/amateur-radio-dx",
    "downloadUrl": "https://openagent3.xyz/downloads/amateur-radio-dx",
    "agentUrl": "https://openagent3.xyz/skills/amateur-radio-dx/agent",
    "manifestUrl": "https://openagent3.xyz/skills/amateur-radio-dx/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/amateur-radio-dx/agent.md"
  }
}