space-earth-science
Skill0 starsChanged 38 days agoMITView on GitHub
Use when a task needs live space or geophysical data - "recent earthquakes near X / above magnitude Y", "NASA picture of the day", "near-Earth asteroids this week", or "latest full-disk Earth image". USGS FDSN is the default for quakes (no key, GeoJSON); NASA's APIs cover astronomy (DEMO_KEY works, free key is instant). Do NOT use for weather, storms, or air quality - use weather-climate instead; do NOT use for maps/geocoding - use geo-places instead; if the request is a vague "I need live data", route through public-data-api-picker.
In this repository8 other files it gives its agents.
- finance-fxSkill
- fun-contentSkill
- geo-placesSkill
- government-open-dataSkill
- language-referenceSkill
- public-data-api-pickerSkill
- test-placeholder-dataSkill
- weather-climateSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
Ask the user only if missing - quakes: region (default: global), min magnitude (default: 4.5), window (default: past 7 days).
- Very specific: line 58
Check media_type - on video days url is a YouTube embed, not an image.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Space & Earth Science Data
Fetch earthquakes and NASA astronomy data with verified endpoints. The mistakes this prevents: trusting community space APIs from training memory - the SpaceX API (api.spacexdata.com) and the popular ISS-position endpoints fail TLS or time out, verified - and burning NASA's shared DEMO_KEY quota mid-task.
Ranked APIs
- USGS Earthquake FDSN (earthquake.usgs.gov) - DEFAULT for anything seismic. Global catalog, rich filtering, GeoJSON, no key, fast.
- NASA APIs (api.nasa.gov) - APOD (picture of the day), NeoWs (near-Earth objects).
DEMO_KEYworks but is shared per-IP (~10-30 req/hr); a real key is a 30-second instant email signup at api.nasa.gov and lifts it to 1,000 req/hr. UseDEMO_KEYfor one-off calls only. - NASA EPIC mirror (epic.gsfc.nasa.gov) - full-disk Earth imagery, no key at all on this host. Prefer it over the api.nasa.gov EPIC route, which spends key quota for identical data.
Procedure
- Quakes: filter server-side. Time, magnitude, radius, and sort all belong in the query string - never fetch the whole feed and filter locally (templates below).
- NASA: budget the key. One-off →
DEMO_KEY. Anything in a loop, cron, or shipped app → tell the user to grab the instant free key and read theX-RateLimit-Remainingheader. A 429 here means quota, not outage - the fix is a key, not a retry. - Convert epoch times. USGS
timeis milliseconds since epoch; NASA dates areYYYY-MM-DDstrings. Report human-readable UTC.
Ask the user only if missing - quakes: region (default: global), min magnitude (default: 4.5), window (default: past 7 days). NASA: date (default: today).
URL templates + real response shapes
Earthquakes:
https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson
&starttime={YYYY-MM-DD}&endtime={YYYY-MM-DD}&minmagnitude=5
&latitude=35.6&longitude=139.7&maxradiuskm=500 ← optional region circle
&orderby=magnitude&limit=20{"features":[{"properties":{"mag":6.2,"place":"58 km W of Tobelo, Indonesia",
"time":1783045888846,"tsunami":0,"alert":"green","felt":7,
"url":"https://earthquake.usgs.gov/earthquakes/eventpage/us6000t9r5"},
"geometry":{"coordinates":[127.63,1.73,10.0]}}],
"metadata":{"count":1}}Gotchas: geometry.coordinates is [lon, lat, depth-km] - longitude first. orderby=time is newest-first. alert (PAGER: green/yellow/orange/red) and tsunami are the impact fields worth surfacing. Hard cap 20,000 events per query - page with offset (1-based) if you hit it.
NASA APOD (note: this endpoint often takes 2-10s - set a generous timeout):
https://api.nasa.gov/planetary/apod?api_key={KEY}&date={YYYY-MM-DD}{"date":"...","title":"...","explanation":"...","media_type":"image",
"url":"https://apod.nasa.gov/apod/image/...jpg","hdurl":"..."}Check media_type - on video days url is a YouTube embed, not an image.
Near-Earth asteroids:
https://api.nasa.gov/neo/rest/v1/feed?start_date={YYYY-MM-DD}&end_date={YYYY-MM-DD}&api_key={KEY}Max 7-day window per call (400 above that). Shape: element_count, then near_earth_objects keyed by date, each object with name, is_potentially_hazardous_asteroid, estimated_diameter.meters.estimated_diameter_max, and close_approach_data[0].miss_distance.kilometers (a string - parse it).
Full-disk Earth image (keyless mirror):
https://epic.gsfc.nasa.gov/api/natural ← latest image list
https://epic.gsfc.nasa.gov/archive/natural/{yyyy}/{mm}/{dd}/png/{image}.pngList items carry image (basename) and date; split the date into the {yyyy}/{mm}/{dd} path parts and append {image}.png.
Deliverable
The fetched events/objects with human-readable UTC times, magnitudes/diameters with units, impact fields (alert, tsunami, hazardous flags) surfaced, and the exact URL used.
Do NOT use - reach for X instead
- SpaceX API (api.spacexdata.com) - fails TLS (HTTP 525), verified; the project is archived. Don't cite it as a data source.
- ISS position (api.open-notify.org / wheretheiss.at) - HTTP-only and timing out respectively, verified. No keyless ISS tracker ships in this pack; say so rather than pointing at a dead endpoint.
- Weather, storms, air quality - weather-climate (the USGS/NASA slot is rocks and space, not atmosphere).
- "Where is this quake's city?" enrichment - geo-places for reverse geocoding beyond the
placestring USGS already gives you.
Quality bar
- USGS filters ran server-side; no full-catalog downloads.
- Epoch milliseconds became UTC datetimes;
[lon, lat]order was respected. - Any loop against api.nasa.gov uses a real key, never
DEMO_KEY.
Sourced and liveness-verified from the public-apis project (MIT).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

