satellite-osint
- Repo stars 0
- Author updated Live
- Author repo nano-core
- Domain
- Other
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 88 / 100 · community maintained
- Author / version / license
- @0-CYBERDYNE-SYSTEMS-0 · no license declared
- Token usage
- Lean
- Setup complexity
- Guided setup
- External API key
- Required · Google
- Operating systems
- macOS
- Runtime requirements
- No special requirements
- Permissions
-
- Read-only
- Write / modify
- Shell exec
- Network behavior
- External requests
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: satellite-osint
description: Open satellite imagery using deeplinks with coordinates and zoom Use when the user request match…
category: other
runtime: no special runtime
---
# satellite-osint output preview
## PART A: Task fit
- Use case: Open satellite imagery using deeplinks with coordinates and zoom Use when the user request matches this skill's domain and capabilities. Open satellite maps via deeplinks. Capture at multiple zoom levels. Analyze land/structures. requires Google API key. Works with Claude Code, Cursor, Cline and 23 more..
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “When to use this skill / When not to use this skill / 🚀 CRITICAL: Address-First Approach (FASTEST METHOD)” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “Open satellite imagery using deeplinks with coordinates and zoom Use when the user request matches this skill's domain and capabilities. Open satellite maps via deeplinks. Capture at multiple zoom levels. Analyze land/structures. requires Google API key. Works with Claude Code, Cursor, Cline and 23 more.”.
- **02** When the source has headings, the agent prioritizes “When to use this skill / When not to use this skill / 🚀 CRITICAL: Address-First Approach (FASTEST METHOD)” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files, run shell commands; may access external network resources; requires Google API keys.
## Running Rules
- read files, write/modify files, run shell commands; may access external network resources; requires Google API keys.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source does not require a stable slash command. After installation, invoke the skill by name and describe the task.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files, run shell commands.
Start with a small task and check whether the result follows “When to use this skill / When not to use this skill / 🚀 CRITICAL: Address-First Approach (FASTEST METHOD)”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: satellite-osint
description: Open satellite imagery using deeplinks with coordinates and zoom Use when the user request match…
category: other
source: 0-CYBERDYNE-SYSTEMS-0/nano-core
---
# satellite-osint
## When to use
- Open satellite imagery using deeplinks with coordinates and zoom Use when the user request matches this skill's domain…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “When to use this skill / When not to use this skill / 🚀 CRITICAL: Address-First Approach (FASTEST METHOD)” and keep inference separate from source facts.
- read files, write/modify files, run shell commands; may access external network resources; requires Google API keys.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "satellite-osint" {
input -> user goal + target files + boundaries + acceptance criteria
context -> When to use this skill / When not to use this skill / 🚀 CRITICAL: Address-First Approach (FASTEST METHOD)
rules -> SKILL.md triggers / order / output contract
runtime -> no special runtime | read files, write/modify files, run shell commands | may access external network resources
guardrails -> requires Google API keys + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} Satellite OSINT & Land Analysis
When to use this skill
- Use when the user request matches this skill's domain and capabilities.
- Use when this workflow or toolchain is explicitly requested.
When not to use this skill
- Do not use when another skill is a better direct match for the task.
- Do not use when the request is outside this skill's scope.
Open satellite maps via deeplinks. Capture at multiple zoom levels. Analyze land/structures.
🚀 CRITICAL: Address-First Approach (FASTEST METHOD)
ALWAYS try the address directly in the URL first. Both Google Maps and Apple Maps auto-geocode addresses - no parsing needed!
Apple Maps (Preferred - Native macOS, Fastest)
# Satellite view with address (Apple Maps auto-geocodes)
open "maps://?q=110+Clover+St+Cedar+Creek+Texas&t=h"
# Satellite view with coordinates and zoom
open "maps://?t=h&ll=30.0872,-97.5014&z=18"
Google Maps (Alternative - Browser-based)
# Satellite view with address (Google Maps auto-geocodes)
open "https://www.google.com/maps/search/110+Clover+St+Cedar+Creek+Texas/@?layer=satellite"
# Satellite view with coordinates and zoom
open "https://www.google.com/maps/@30.0872,-97.5014,18z/data=!3m1!1e3"
Force Satellite View with AppleScript
# Activate Maps and set to satellite view (Cmd+3)
osascript -e 'tell app "Maps" to activate' \
-e 'delay 1' \
-e 'tell app "System Events" to keystroke "3" using command down'
Only Geocode If:
- ❌ You need exact lat/lon for calculations
- ❌ The address format is unusual or international
- ❌ You're doing multi-location analysis with coordinates
NEVER waste tool calls geocoding when the address works directly in the URL!
Obtaining Coordinates
From Address (Geocoding - No API Key)
# Nominatim/OpenStreetMap - replace spaces with +
ADDRESS="123+Main+St,+Des+Moines,+Iowa"
curl -s "https://nominatim.openstreetmap.org/search?q=${ADDRESS}&format=json" | jq -r '.[0] | "\(.lat),\(.lon)"'
From Device Location (macOS)
# Requires Location Services enabled in System Settings > Privacy
osascript -e 'tell application "System Events" to get the value of location'
# Alternative: Use CoreLocation via swift (more reliable)
swift -e 'import CoreLocation; let m=CLLocationManager(); if let l=m.location { print("\(l.coordinate.latitude),\(l.coordinate.longitude)") }'
From IP (Approximate - Fallback)
curl -s "https://ipapi.co/json" | jq -r '"\(.latitude),\(.longitude)"'
Manual Lookup
- Google Maps: Right-click location → "What's here?" → coordinates appear at bottom
- Apple Maps: Long-press to drop pin → tap pin → coordinates in info panel
- What3Words: Convert 3-word address at what3words.com
From Property Address (Google Geocoding)
# If you have Google API key
curl -s "https://maps.googleapis.com/maps/api/geocode/json?address=123+Farm+Rd,+Iowa&key=YOUR_KEY" | jq -r '.results[0].geometry.location | "\(.lat),\(.lng)"'
URL Patterns (Use with bash open command)
Google Maps Satellite
https://www.google.com/maps/@{LAT},{LON},{ZOOM}z/data=!3m1!1e3
- ZOOM: 1-21 (21=max detail, 18=buildings clear, 15=property, 12=region)
Google Earth Web
https://earth.google.com/web/@{LAT},{LON},{ALT}a,35y,0h,0t,0r
- ALT: altitude in meters (500=high detail, 2000=overview)
Bing Maps Aerial
https://www.bing.com/maps?cp={LAT}~{LON}&lvl={ZOOM}&style=a
Sentinel Hub (Agricultural/NDVI)
https://apps.sentinel-hub.com/eo-browser/?zoom={ZOOM}&lat={LAT}&lng={LON}
ESRI World Imagery
https://www.arcgis.com/home/webmap/viewer.html?center={LON},{LAT}&level={ZOOM}
Execution Examples
Method 1: Direct Address (FASTEST)
# Apple Maps - Single command for address + satellite + screenshot
open "maps://?q=110+Clover+St+Cedar+Creek+Texas&t=h"
sleep 4
screencapture -x ~/Desktop/satellite_capture.png
Method 2: Address with Multi-Zoom (Apple Maps)
ADDRESS="110+Clover+St+Cedar+Creek+Texas"
# Regional view (zoom 12)
open "maps://?q=${ADDRESS}&t=h&z=12"
sleep 4
screencapture -x ~/Desktop/overview_z12.png
# Property level (zoom 16)
open "maps://?q=${ADDRESS}&t=h&z=16"
sleep 4
screencapture -x ~/Desktop/property_z16.png
# Structure detail (zoom 19)
open "maps://?q=${ADDRESS}&t=h&z=19"
sleep 4
screencapture -x ~/Desktop/structures_z19.png
Method 3: Coordinates with Multi-Zoom (Google Maps)
LAT=37.7749; LON=-122.4194
# Regional context
open "https://www.google.com/maps/@${LAT},${LON},12z/data=!3m1!1e3"
sleep 4
screencapture -x ~/Desktop/z12.png
# Property level
open "https://www.google.com/maps/@${LAT},${LON},16z/data=!3m1!1e3"
sleep 4
screencapture -x ~/Desktop/z16.png
# Structure detail
open "https://www.google.com/maps/@${LAT},${LON},19z/data=!3m1!1e3"
sleep 4
screencapture -x ~/Desktop/z19.png
Method 4: With AppleScript for Reliable Satellite View
# Uses AppleScript to force satellite mode and fullscreen for better quality
osascript <<'EOF'
property theAddress : "110 Clover St, Cedar Creek, Texas"
-- Open Apple Maps with satellite view
do shell script "open 'maps://?q=" & theAddress & "&t=h'"
tell application "Maps"
activate
end tell
delay 2
-- Force satellite view (Cmd+3)
tell application "System Events"
tell process "Maps"
keystroke "3" using command down
end tell
end tell
delay 4
-- Fullscreen for better screenshot
tell application "System Events"
tell process "Maps"
keystroke "f" using {command down, control down}
end tell
end tell
delay 1
-- Capture
do shell script "screencapture -x ~/Desktop/satellite_" & (do shell script "date +%Y%m%d_%H%M%S") & ".png"
EOF
Screenshot commands
screencapture -x ~/Desktop/capture.png # Silent full screen
screencapture -i ~/Desktop/selection.png # Interactive select
screencapture -T 5 -x ~/Desktop/delayed.png # 5 second delay
Visual Verification (CRITICAL STEP)
After opening the map, ALWAYS verify you're looking at the correct location!
# After capture, analyze the screenshot to confirm the address
# Use image analysis to check that the location markers and labels are correct
# If location is wrong:
# 1. Check the address spelling
# 2. Try full address with ZIP code
# 3. Use explicit coordinates instead
# 4. Re-open map and re-capture
Why This Matters:
- Last session used approximate town coordinates (Cedar Creek center) instead of actual property
- Result: 4 wrong screenshots wasted before discovery
- Prevention: Analyze first screenshot to confirm correct location before multi-zoom sequence
Complete Workflow (Agent Must Follow)
Step 1: Detect Input Type
- User provides ADDRESS → Use directly in URL (Method 1 or 2)
- User provides COORDINATES → Use in URL (Method 3)
- User says "my location" → Get device location first
Step 2: Open Map with Address/Coordinates
# Preferred: Apple Maps (faster, native)
open "maps://?q=ADDRESS&t=h"
# Alternative: Google Maps (browser-based)
open "https://www.google.com/maps/search/ADDRESS/@?layer=satellite"
Step 3: Wait for Tiles
sleep 4 # Allow satellite imagery to load fully
Step 4: Capture Screenshot
screencapture -x ~/Desktop/satellite_$(date +%Y%m%d_%H%M%S).png
Step 5: Visual Verification
# Analyze the screenshot:
# - Does it show the correct address?
# - Are the location labels visible?
# - Is the satellite view active (not road view)?
# If NO → Adjust and re-open map
Step 6: Multi-Zoom Analysis (Optional)
# If more detail needed, repeat steps 2-5 at different zoom levels:
# - zoom 12 (regional)
# - zoom 16 (property)
# - zoom 19 (structures)
Zoom Level Reference
| Zoom | View Level | Use Case |
|---|---|---|
| 10-12 | County/Region | Context, neighboring properties |
| 13-15 | Township | Property boundaries, road access |
| 16-17 | Property | Field layout, major structures |
| 18-19 | Buildings | Structure identification |
| 20-21 | Detail | Roof condition, equipment |
Provider Selection
| Need | Best Provider |
|---|---|
| General/Buildings | Google Maps |
| 3D/Terrain | Google Earth |
| Crop health/NDVI | Sentinel Hub |
| Alternative imagery | Bing Maps |
| Historical | Google Earth timeline |
Farm Analysis Workflow
- Overview (zoom 12): Regional context, access roads
- Property (zoom 16): Boundaries, field divisions
- Structures (zoom 19): Building inventory
- Crop Analysis: Use Sentinel for vegetation indices
Coordinate Format
Use Decimal Degrees (DD):
- Latitude: -90 to 90 (negative = South)
- Longitude: -180 to 180 (negative = West)
- Example: 37.7749, -122.4194
Output Organization
Save captures to organized folders:
~/Desktop/farm_analysis/
├── overview/ (zoom 10-14)
├── property/ (zoom 15-17)
├── structures/ (zoom 18-21)
Integration
Use bash tool to execute open commands. Use sleep 3-5 between URL and screenshot to allow tiles to load. Maximize browser window for best capture quality.
Decide Fit First
Design Intent
How To Use It
Boundaries And Review