isitwater

Check if geographic coordinates are over water or land using the IsItWater API.

7 stars

Best use case

isitwater is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Check if geographic coordinates are over water or land using the IsItWater API.

Teams using isitwater should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/isitwater/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/johnnagro/isitwater/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/isitwater/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How isitwater Compares

Feature / AgentisitwaterStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Check if geographic coordinates are over water or land using the IsItWater API.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# IsItWater

Determine whether a latitude/longitude coordinate is over water using the IsItWater API.

## Setup

Before making API calls, check whether the user has an API key configured:

1. Check if `ISITWATER_API_KEY` is set in the environment.
2. If it is **not** set:
   - Inform the user: "You need an IsItWater API key. You can get one at https://isitwater.com"
   - Offer to help them sign up using the browser tool — navigate to https://isitwater.com, create an account, and generate an API key from the dashboard.
   - Once the user has a key, guide them to configure it in `~/.openclaw/openclaw.json`:

```json
{
  "skills": {
    "entries": {
      "isitwater": {
        "apiKey": "YOUR_API_KEY_HERE"
      }
    }
  }
}
```

   - Alternatively, the user can export the environment variable directly: `export ISITWATER_API_KEY=YOUR_API_KEY_HERE`

3. Once the key is available, proceed with the API calls below.

## Water Lookup

Check whether a coordinate is over water or land.

**Endpoint:** `GET https://api.isitwater.com/v1/locations/water`

**Headers:**

- `Authorization: Bearer $ISITWATER_API_KEY`

**Query Parameters:**

| Parameter | Type   | Required | Description                    |
|-----------|--------|----------|--------------------------------|
| `lat`     | number | yes      | Latitude, between -90 and 90   |
| `lon`     | number | yes      | Longitude, between -180 and 180 |

**Example curl:**

```bash
curl -s "https://api.isitwater.com/v1/locations/water?lat=41.7658&lon=-72.6734" \
  -H "Authorization: Bearer $ISITWATER_API_KEY"
```

**Example response (land):**

```json
{
  "request_id": "abc123",
  "water": false,
  "features": ["earth"],
  "latitude": "41.7658",
  "longitude": "-72.6734"
}
```

**Example response (water):**

```json
{
  "request_id": "def456",
  "water": true,
  "features": ["earth", "ocean"],
  "latitude": "36.0",
  "longitude": "-30.0"
}
```

**Response Fields:**

| Field        | Type     | Description                                                                                         |
|--------------|----------|-----------------------------------------------------------------------------------------------------|
| `request_id` | string   | Unique identifier for the request                                                                   |
| `water`      | boolean  | `true` if the coordinate is over water, `false` if over land                                        |
| `features`   | string[] | Geographic features at the point — e.g. `earth`, `ocean`, `lake`, `river`, `glacier`, `nature_reserve` |
| `latitude`   | string   | The latitude that was queried                                                                       |
| `longitude`  | string   | The longitude that was queried                                                                      |

**Cost:** 1 credit per lookup.

## Account Info

Check the user's account details and remaining credit balance.

**Endpoint:** `GET https://api.isitwater.com/v1/accounts/me`

**Headers:**

- `Authorization: Bearer $ISITWATER_API_KEY`

**Example curl:**

```bash
curl -s "https://api.isitwater.com/v1/accounts/me" \
  -H "Authorization: Bearer $ISITWATER_API_KEY"
```

**Response Fields:**

| Field                  | Type    | Description                          |
|------------------------|---------|--------------------------------------|
| `id`                   | string  | Account identifier                   |
| `name`                 | string  | Account name                         |
| `balance`              | number  | Remaining credits                    |
| `auto_recharge_enabled`| boolean | Whether auto-recharge is turned on   |

**Cost:** Free (no credits consumed).

## Error Handling

| Status Code | Meaning              | Description                                    |
|-------------|----------------------|------------------------------------------------|
| 200         | OK                   | Request succeeded                              |
| 400         | Bad Request          | Invalid latitude or longitude values           |
| 401         | Unauthorized         | Missing or invalid API key                     |
| 402         | Payment Required     | Account has no remaining credits               |

Error responses return a JSON body:

```json
{
  "error": "description of the problem"
}
```

## Tips

- Each water lookup costs **1 credit**. Use the Account Info endpoint to check the user's balance before making many requests.
- When the user provides a **place name** instead of coordinates (e.g. "Is the Sahara Desert water?"), geocode the location first to get lat/lon, then call the water lookup endpoint.
- The `features` array can contain **multiple overlapping values** for a single point — for example, a point might return both `lake` and `nature_reserve`.

Related Skills

paylock

7
from Demerzels-lab/elsamultiskillagent

Non-custodial SOL escrow for AI agent deals.

agent-reputation

7
from Demerzels-lab/elsamultiskillagent

summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.

Telecom Agent Skill

7
from Demerzels-lab/elsamultiskillagent

Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.

OpenClaw-Finnhub

7
from Demerzels-lab/elsamultiskillagent

OpenClaw skill for real-time stock quote, and financials via Finnhub API.

```markdown

7
from Demerzels-lab/elsamultiskillagent

# OpenClaw-Last.fm

security-operator

7
from Demerzels-lab/elsamultiskillagent

Runtime security guardrails for OpenClaw agents.

operator-humanizer

7
from Demerzels-lab/elsamultiskillagent

Transform AI-generated text into authentic human writing.

kit-email-operator

7
from Demerzels-lab/elsamultiskillagent

**AI-powered email marketing for Kit (ConvertKit)**.

agora

7
from Demerzels-lab/elsamultiskillagent

Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.

surf-check

7
from Demerzels-lab/elsamultiskillagent

Surf forecast decision engine.

jinko-flight-search

7
from Demerzels-lab/elsamultiskillagent

Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.

mlx-whisper

7
from Demerzels-lab/elsamultiskillagent

Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).