{
  "schemaVersion": "1.0",
  "item": {
    "slug": "flight-tracker",
    "name": "A simple Flight Tracker",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/xenofex7/flight-tracker",
    "canonicalUrl": "https://clawhub.ai/xenofex7/flight-tracker",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/flight-tracker",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=flight-tracker",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      ".clawdhub/origin.json",
      "scripts/track.py",
      "scripts/schedule.py"
    ],
    "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. 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. 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/flight-tracker"
    },
    "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/flight-tracker",
    "agentPageUrl": "https://openagent3.xyz/skills/flight-tracker/agent",
    "manifestUrl": "https://openagent3.xyz/skills/flight-tracker/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/flight-tracker/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Flight Tracker",
        "body": "Track flights in real-time and search flight schedules between airports."
      },
      {
        "title": "Live Flight Tracking",
        "body": "Flights over a region (bounding box)\n\n# Switzerland (lat_min, lat_max, lon_min, lon_max)\ncurl -s \"https://opensky-network.org/api/states/all?lamin=45.8&lomin=5.9&lamax=47.8&lomax=10.5\" | \\\n  jq -r '.states[] | \"\\(.[1]) - \\(.[2]) | Alt: \\(.[7])m | Speed: \\(.[9])m/s | From: \\(.[5])\"'"
      },
      {
        "title": "Track specific flight by callsign",
        "body": "curl -s \"https://opensky-network.org/api/states/all?icao24=<aircraft-icao>\" | jq .\n\nGet live flight info\n\n# Use helper script\npython3 scripts/track.py --region switzerland\npython3 scripts/track.py --callsign SWR123\npython3 scripts/track.py --airport LSZH"
      },
      {
        "title": "Flight Schedules",
        "body": "Search for scheduled flights between airports:\n\n# Basic usage (shows search links)\npython3 scripts/schedule.py HAM ZRH\n\n# With specific date\npython3 scripts/schedule.py --from HAM --to ZRH --date 2026-01-15\n\n# With API key (optional, for detailed results)\nexport AVIATIONSTACK_API_KEY='your_key_here'\npython3 scripts/schedule.py HAM ZRH\n\nWithout API key: Shows helpful search links (Google Flights, FlightRadar24, airline websites)\n\nWith API key: Fetches live schedule data with departure/arrival times, terminals, gates, and status\n\nFree API key available at aviationstack.com (100 requests/month)"
      },
      {
        "title": "Regions",
        "body": "Pre-defined regions in the script:\n\nswitzerland: Swiss airspace\neurope: European airspace (rough bounds)\nzurich: Area around Zurich\ngeneva: Area around Geneva"
      },
      {
        "title": "All states",
        "body": "GET https://opensky-network.org/api/states/all\n\nOptional parameters:\n\nlamin, lomin, lamax, lomax: Bounding box\nicao24: Specific aircraft (hex code)\ntime: Unix timestamp (0 = now)"
      },
      {
        "title": "Response Format",
        "body": "Each flight state contains:\n\n[0]  icao24      - Aircraft ICAO24 address (hex)\n[1]  callsign    - Flight callsign (e.g., \"SWR123\")\n[2]  origin_country - Country name\n[5]  origin      - Origin airport (if available)\n[7]  baro_altitude - Altitude in meters\n[9]  velocity    - Speed in m/s\n[10] heading     - Direction in degrees\n[11] vertical_rate - Climb/descent rate in m/s"
      },
      {
        "title": "ICAO (for live tracking)",
        "body": "LSZH - Zurich\nLSGG - Geneva\nLSZB - Bern\nLSZA - Lugano\nLFSB - Basel-Mulhouse (EuroAirport)"
      },
      {
        "title": "IATA (for schedules)",
        "body": "ZRH - Zurich\nGVA - Geneva\nBSL - Basel\nBRN - Bern\nLUG - Lugano\nHAM - Hamburg\nFRA - Frankfurt\nMUC - Munich\nBER - Berlin\nLHR - London Heathrow\nCDG - Paris CDG\nAMS - Amsterdam"
      },
      {
        "title": "Live Tracking (OpenSky Network)",
        "body": "Free API with rate limits (anonymous: 400/day)\nReal-time data from ADS-B receivers worldwide\nNo API key required\nData updated every 10 seconds\nCreate account for higher limits and historical data"
      },
      {
        "title": "Flight Schedules (AviationStack)",
        "body": "Optional API key for detailed schedule data\nFree tier: 100 requests/month\nWithout API: provides search links to Google Flights, FlightRadar24, etc.\nSupports date-specific queries"
      }
    ],
    "body": "Flight Tracker\n\nTrack flights in real-time and search flight schedules between airports.\n\nQuick Commands\nLive Flight Tracking\nFlights over a region (bounding box)\n# Switzerland (lat_min, lat_max, lon_min, lon_max)\ncurl -s \"https://opensky-network.org/api/states/all?lamin=45.8&lomin=5.9&lamax=47.8&lomax=10.5\" | \\\n  jq -r '.states[] | \"\\(.[1]) - \\(.[2]) | Alt: \\(.[7])m | Speed: \\(.[9])m/s | From: \\(.[5])\"'\n\nTrack specific flight by callsign\ncurl -s \"https://opensky-network.org/api/states/all?icao24=<aircraft-icao>\" | jq .\n\nGet live flight info\n# Use helper script\npython3 scripts/track.py --region switzerland\npython3 scripts/track.py --callsign SWR123\npython3 scripts/track.py --airport LSZH\n\nFlight Schedules\n\nSearch for scheduled flights between airports:\n\n# Basic usage (shows search links)\npython3 scripts/schedule.py HAM ZRH\n\n# With specific date\npython3 scripts/schedule.py --from HAM --to ZRH --date 2026-01-15\n\n# With API key (optional, for detailed results)\nexport AVIATIONSTACK_API_KEY='your_key_here'\npython3 scripts/schedule.py HAM ZRH\n\n\nWithout API key: Shows helpful search links (Google Flights, FlightRadar24, airline websites)\n\nWith API key: Fetches live schedule data with departure/arrival times, terminals, gates, and status\n\nFree API key available at aviationstack.com (100 requests/month)\n\nRegions\n\nPre-defined regions in the script:\n\nswitzerland: Swiss airspace\neurope: European airspace (rough bounds)\nzurich: Area around Zurich\ngeneva: Area around Geneva\nAPI Endpoints\nAll states\nGET https://opensky-network.org/api/states/all\n\n\nOptional parameters:\n\nlamin, lomin, lamax, lomax: Bounding box\nicao24: Specific aircraft (hex code)\ntime: Unix timestamp (0 = now)\nResponse Format\n\nEach flight state contains:\n\n[0]  icao24      - Aircraft ICAO24 address (hex)\n[1]  callsign    - Flight callsign (e.g., \"SWR123\")\n[2]  origin_country - Country name\n[5]  origin      - Origin airport (if available)\n[7]  baro_altitude - Altitude in meters\n[9]  velocity    - Speed in m/s\n[10] heading     - Direction in degrees\n[11] vertical_rate - Climb/descent rate in m/s\n\nAirport Codes\nICAO (for live tracking)\nLSZH - Zurich\nLSGG - Geneva\nLSZB - Bern\nLSZA - Lugano\nLFSB - Basel-Mulhouse (EuroAirport)\nIATA (for schedules)\nZRH - Zurich\nGVA - Geneva\nBSL - Basel\nBRN - Bern\nLUG - Lugano\nHAM - Hamburg\nFRA - Frankfurt\nMUC - Munich\nBER - Berlin\nLHR - London Heathrow\nCDG - Paris CDG\nAMS - Amsterdam\nNotes\nLive Tracking (OpenSky Network)\nFree API with rate limits (anonymous: 400/day)\nReal-time data from ADS-B receivers worldwide\nNo API key required\nData updated every 10 seconds\nCreate account for higher limits and historical data\nFlight Schedules (AviationStack)\nOptional API key for detailed schedule data\nFree tier: 100 requests/month\nWithout API: provides search links to Google Flights, FlightRadar24, etc.\nSupports date-specific queries"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/xenofex7/flight-tracker",
    "publisherUrl": "https://clawhub.ai/xenofex7/flight-tracker",
    "owner": "xenofex7",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/flight-tracker",
    "downloadUrl": "https://openagent3.xyz/downloads/flight-tracker",
    "agentUrl": "https://openagent3.xyz/skills/flight-tracker/agent",
    "manifestUrl": "https://openagent3.xyz/skills/flight-tracker/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/flight-tracker/agent.md"
  }
}