flight-tracker
Track live aircraft positions with zero API keys — adsb.lol's open ADS-B network primary, OpenSky fallback, via curl: by callsign, registration, or …
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Flight Tracker Skill
"Where's that flight right now?" has a genuinely open answer: hobbyist ADS-B receiver networks share live aircraft transponder data keylessly — adsb.lol serves it clean, OpenSky backs it up. This skill queries by callsign, hex, or area, and translates transponder math into human answers ("over Poland at 38,000 ft, ~40 minutes from Warsaw-ish airspace"). It's equally honest about the boundary: this is positions, not airline operations — gate changes, delays, and cancellations live in keyed commercial services, and pretending otherwise produces confident fiction.
What This Skill Produces
- The position — where the aircraft is now: location in words, altitude, ground speed, heading, climb/descent
- The overhead list — aircraft above/near a point, sorted by distance
- The interpretation — cruise vs. descent, direction of travel, rough progress — labeled as inference from position data
- The command — exact curl, rerunnable — and the boundary line when the question was schedule-shaped
Required Inputs
Ask for these if not provided:
- The identifier — callsign (what ATC uses:
BAW123, often ≈ flight number with the airline's ICAO prefix — BA→BAW, LH→DLH, UA→UAL; do the mapping and say so), registration/tail number, or ICAO hex - Or the place — lat/lon for "what's overhead" questions, with a radius
- What they actually want — position/curiosity vs. "is it delayed / when does it land" — the second gets the honest redirect plus what positions can infer
Framework: The Network and the Boundary
- adsb.lol — primary: by callsign:
curl -s "https://api.adsb.lol/v2/callsign/BAW123"· by registration:.../v2/reg/G-XLEB· by hex:.../v2/hex/4075a2· overhead:.../v2/lat/51.5/lon/-0.12/dist/25(nm). Fields per aircraft:flight(callsign),alt_baro(ft),gs(knots),track(° heading),baro_rate(ft/min climb/descent),lat/lon,t(type). - OpenSky — fallback:
curl -s "https://opensky-network.org/api/states/all?lamin=51.4&lamax=51.6&lomin=-0.4&lomax=0.2"— anonymous access, tighter rate limits; state vectors as positional arrays (index 1 callsign, 5/6 lon/lat, 7 baro alt m, 9 velocity m/s). Units differ between the two (ft/knots vs. m and m/s) — convert deliberately, never mix. - Interpret the physics:
baro_ratenear 0 at 35,000+ ft = cruise; sustained −1,500 ft/min = descent (landing within ~30–45 min, framed as an estimate); track + position = direction in words ("heading east over Poland"). All labeled inference. - Coverage honesty: ADS-B networks depend on volunteer ground receivers — coverage is excellent over Europe/NA, patchy over oceans and parts of Africa/Asia. "Not found" means not currently received or not airborne, and the answer says both possibilities, not "the flight doesn't exist."
- The schedule boundary: delays, gates, cancellations, scheduled times → keyed services (airline apps, FlightAware/FR24) — name them, don't fake them. What positions legitimately infer (airborne yes/no, descent begun, rough progress) is offered as the keyless consolation, labeled as inference.
Output Format
Flight: [callsign/reg] — [fetch time]
[The answer: "Airborne — over [area] at [alt] ft, [speed] kn, heading [direction]; descending, likely landing within ~[range]." or the honest not-received line.]
| Field | Value |
|---|---|
[Position (words + coords) · altitude · speed · heading · climb/descent · aircraft type]
[Overhead mode: table sorted by distance]
Source: [adsb.lol / OpenSky] community ADS-B · as of [time] · rerun: [exact curl]
[Schedule-shaped questions: the boundary line + what position data can and can't infer]
Quality Checks
- [ ] Flight numbers were mapped to ICAO callsigns with the mapping shown
- [ ] Units are consistent and stated (the two sources differ)
- [ ] Inferences (descent, ETA-ish) are labeled as inferences from position
- [ ] "Not found" answers include the coverage explanation, both possibilities
- [ ] Schedule questions get the honest boundary, not improvised delay data
Anti-Patterns
- [ ] Do not fake schedule data — delays and gates are not in ADS-B, and confident fiction here strands people
- [ ] Do not mix the two sources' units — a 10,000 m cruise is not a 10,000 ft one
- [ ] Do not present patchy coverage as "flight doesn't exist"
- [ ] Do not track people — flights and public transponder data, not persistent monitoring of individuals' movements
- [ ] Do not answer from memory — a remembered aircraft position is nonsense by construction
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/pm-live/skills/flight-tracker/SKILL.md同一个仓库里的其他技能
同名技能的其他版本
有 3 个不同仓库或目录里都有叫 flight-tracker 的技能。它们内容并不相同,别混用:
- mohitagw15856/pm-claude-skills — Track live aircraft positions with zero API keys — adsb.lol's open ADS-B network primary,
- mohitagw15856/pm-claude-skills — Track live aircraft positions with zero API keys — adsb.lol's open ADS-B network primary,