Token导航 LogoToken导航TokenDH.com
效率敏感数据clawhub未标认证来源可访问clear审计通过

sealegs-marine-forecast海豹海洋预报

Agent Skill

sealegs-marine-forecast 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

27,148

周安装

1,109

GitHub Stars

公开资料未说明

下载量

8,695
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:sealegs-marine-forecast(海豹海洋预报)
来源仓库:https://github.com/sealegs-ai-coder/sealegs-marine-forecast
安装命令:
openclaw skills install sealegs-marine-forecast
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install sealegs-marine-forecast

简介

sealegs-marine-forecast 提供全球任意地点的人工智能海洋天气预报服务。

  • 适用于航海、渔业或户外作业等需要精准海况预测的场景。
  • 通过 clawhub 安装,调用时输入地理位置即可获取预报数据。
  • 使用前需确认 API 密钥配置及数据更新频率。
  • 该技能依赖外部气象模型,结果仅供参考,不保证实时性。

SKILL.md

name
sealegs-marine-forecast
description
Get AI-powered marine weather forecasts for any location worldwide
homepage
https://developer.sealegs.ai
metadata
{"openclaw": {"requires": {"env": ["SEALEGS_API_KEY"], "bins": ["curl"]}, "primaryEnv": "SEALEGS_API_KEY"}, "emoji": "⛵", "tags": ["weather", "marine", "forecast", "boating", "sailing", "ocean", "waves", "wind"]}

SeaLegs AI Marine Forecast API

Get AI-powered marine weather forecasts for any location worldwide. Includes wind, waves, visibility, precipitation analysis with GO/CAUTION/NO-GO safety classifications.

Features

  • SpotCast Forecasts: Get marine weather forecasts for any coordinates worldwide
  • AI Safety Analysis: GO / CAUTION / NO-GO classifications for each day
  • Vessel-Specific: Tailored recommendations based on boat type and size
  • Multi-Language: Supports English, Spanish, French, Portuguese, Italian, Japanese

Setup

1. Get an API Key

  1. Sign up at https://developer.sealegs.ai — you'll get 10 free credits to get started
  2. Generate an API key from your dashboard
  3. Need more? Add credits anytime ($10 = 200 forecast-days)

2. Configure OpenClaw

Add to your OpenClaw configuration:

{
  skills: {
    entries: {
      "sealegs-marine-forecast": {
        enabled: true,
        apiKey: "sk_live_your_key_here"
      }
    }
  }
}

Or set the environment variable:

export SEALEGS_API_KEY=sk_live_your_key_here

3. Install the Skill

clawhub install sealegs-marine-forecast

Usage Example

// Miami, FL
POST /v3/spotcast
{
  "latitude": 25.7617,
  "longitude": -80.1918,
  "start_date": "2026-02-10T00:00:00Z",
  "num_days": 2,
  "vessel_info": {"type": "sailboat", "length_ft": 35}  // optional
}

Sample response:

{
  "id": "spc_FrZdSAs6T3cxbXiPtNZvxu",
  "coordinates": {
    "latitude": 25.7617,
    "longitude": -80.1918
  },
  "forecast_period": {
    "start_date": "2026-02-10T00:00:00-05:00",
    "end_date": "2026-02-11T23:59:59-05:00",
    "num_days": "2"
  },
  "trip_duration_hours": "12",
  "metadata": {
    "location_name": "Miami Marina"
  },
  "latest_forecast": {
    "status": "completed",
    "ai_analysis": {
      "summary": "Ideal conditions both days with light winds",
      "daily_classifications": [
        {
          "date": "2026-02-10",
          "classification": "GO",
          "short_summary": "Outstanding conditions all day with light winds under 7kt and calm 1.1-1.6ft seas. Best window is morning 5:00 AM-12:00 PM with nearly calm 1-4kt northwest winds and comfortable 1.4ft seas at 11-second periods.",
          "summary": "Outstanding sailing conditions throughout Monday with exceptionally light winds and calm seas. Morning hours offer the best window with nearly calm 1-4kt northwest winds and comfortable 1.4ft seas at 11-second periods from the northeast."
        },
        {
          "date": "2026-02-11",
          "classification": "GO",
          "short_summary": "Exceptional conditions with very light winds 1-6kt and minimal 1.2-1.3ft seas all day. Best window 9:00 AM-1:00 PM offers glassy conditions with 1-3kt winds and 1.2ft seas at 11-second periods.",
          "summary": "Exceptional boating conditions on Tuesday with very light winds and minimal seas throughout the day. Morning through midday provides ideal glassy conditions with 1-3kt east-southeast winds and 1.2ft seas at 10-11 second periods from the northeast."
        }
      ]
    }
  }
}

API Endpoints

OperationEndpointCost
Create forecastPOST /v3/spotcast1 credit/day
Get forecastGET /v3/spotcast/{id}Free
Check statusGET /v3/spotcast/{id}/statusFree
Refresh forecastPOST /v3/spotcast/{id}/refresh1 credit/day
List forecasts for SpotCastGET /v3/spotcast/{id}/forecastsFree
Get specific forecastGET /v3/spotcast/{id}/forecast/{forecast_id}Free
List SpotCastsGET /v3/spotcastsFree
Get balanceGET /v3/account/balanceFree

Weather Factors Used

  • Wind speed, gusts, and direction
  • Wave height, period, and direction
  • Visibility and fog probability
  • Precipitation probability and intensity
  • Air and water temperature

Authentication

All requests require:

Authorization: Bearer $SEALEGS_API_KEY
Content-Type: application/json

Rate Limits

  • Standard tier: 60 requests per minute
  • Rate limit headers included in all responses: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset

Billing

  • 1 credit per forecast-day (3-day forecast = 3 credits)
  • GET operations are free
  • Refreshes cost 1 credit per forecast-day

SpotCast Forecasts

SpotCast generates AI-powered marine weather forecasts for specific coordinates.

Create SpotCast

POST https://api.sealegs.ai/v3/spotcast

Creates a new forecast request. Processing is asynchronous (typically 30-60 seconds).

Required parameters:

  • latitude (number): -90 to 90
  • longitude (number): -180 to 180
  • start_date (string): ISO 8601 format (e.g., "2025-12-05T00:00:00Z")
  • num_days (integer): 1-5

Optional parameters:

  • webhook_url (string): HTTPS endpoint for completion notification
  • metadata (object): Custom key-value pairs for your reference
  • trip_duration_hours (integer): Trip duration in hours
  • preferences.language: en, es, fr, pt, it, ja (default: en)
  • preferences.distance_units: nm, mi, km (default: nm)
  • preferences.speed_units: kts, mph, ms (default: kts)
  • vessel_info.type: powerBoat, sailboat, pwc, yacht, catamaran
  • vessel_info.length_ft: 1-500

Example request:

curl -X POST https://api.sealegs.ai/v3/spotcast \
  -H "Authorization: Bearer $SEALEGS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "latitude": 25.7617,
    "longitude": -80.1918,
    "start_date": "2025-12-05T00:00:00Z",
    "num_days": 2,
    "vessel_info": {"type": "sailboat", "length_ft": 35}
  }'

Response (202 Accepted):

{
  "id": "spc_abc123xyz",
  "forecast_id": "fcst_xyz789",
  "status": "processing",
  "created_at": "2025-12-01T10:30:00Z",
  "estimated_completion_seconds": 45,
  "credits_charged": 2,
  "credits_remaining": 98,
  "links": {
    "self": "https://api.sealegs.ai/v3/spotcast/spc_abc123xyz",
    "forecast": "https://api.sealegs.ai/v3/spotcast/spc_abc123xyz/forecast/fcst_xyz789",
    "status": "https://api.sealegs.ai/v3/spotcast/spc_abc123xyz/status"
  }
}

Check SpotCast Status

GET https://api.sealegs.ai/v3/spotcast/{id}/status

Poll this endpoint until status is "completed" or "failed". Recommended poll interval: 10-15 seconds.

Status values:

  • pending: Queued for processing (no progress field)
  • processing: Currently generating forecast (includes progress)
  • completed: Ready to retrieve (includes progress at 100%)
  • failed: Error occurred

Progress stages (only present when status is processing or completed):

  • fetching_weather
  • processing_data
  • ai_analysis
  • completing
  • completed (100%)

Example request:

curl https://api.sealegs.ai/v3/spotcast/spc_abc123xyz/status \
  -H "Authorization: Bearer $SEALEGS_API_KEY"

Response (pending):

{
  "id": "spc_abc123xyz",
  "forecast_id": "fcst_xyz789",
  "status": "pending",
  "created_at": "2025-12-01T10:30:00Z"
}

Response (processing):

{
  "id": "spc_abc123xyz",
  "forecast_id": "fcst_xyz789",
  "status": "processing",
  "created_at": "2025-12-01T10:30:00Z",
  "progress": {
    "stage": "ai_analysis",
    "percentage": 75
  }
}

Response (completed):

{
  "id": "spc_abc123xyz",
  "forecast_id": "fcst_xyz789",
  "status": "completed",
  "created_at": "2025-12-01T10:30:00Z",
  "completed_at": "2025-12-01T10:30:45Z",
  "progress": {
    "stage": "completed",
    "percentage": 100
  }
}

Get SpotCast

GET https://api.sealegs.ai/v3/spotcast/{id}

Retrieves the completed forecast with AI analysis.

Example request:

curl https://api.sealegs.ai/v3/spotcast/spc_abc123xyz \
  -H "Authorization: Bearer $SEALEGS_API_KEY"

Response (200 OK):

{
  "id": "spc_abc123xyz",
  "created_at": "2025-12-01T10:30:00Z",
  "coordinates": {
    "latitude": 25.7617,
    "longitude": -80.1918
  },
  "forecast_period": {
    "start_date": "2025-12-05T00:00:00Z",
    "end_date": "2025-12-06T00:00:00Z",
    "num_days": 2
  },
  "trip_duration_hours": 12,
  "forecast_count": 1,
  "metadata": {
    "location_name": "Miami Marina"
  },
  "latest_forecast": {
    "forecast_id": "fcst_xyz789",
    "status": "completed",
    "created_at": "2025-12-01T10:30:00Z",
    "completed_at": "2025-12-01T10:30:45Z",
    "ai_analysis": {
      "summary": "Excellent conditions expected. Light winds 8-12kt from the NE with calm 1-2ft seas.",
      "daily_classifications": [
        {
          "date": "2025-12-05",
          "classification": "GO",
          "summary": "Light winds 8-12kt from NE. Seas 1-2ft. Visibility excellent at 10+ nm. No precipitation expected."
        },
        {
          "date": "2025-12-06",
          "classification": "CAUTION",
          "summary": "Winds increasing to 15-20kt. Seas building to 3-4ft by afternoon. Morning departure recommended."
        }
      ]
    }
  }
}

Refresh SpotCast

POST https://api.sealegs.ai/v3/spotcast/{id}/refresh

Updates an existing forecast with the latest weather data. Costs 1 credit per forecast-day.

Optional body:

  • webhook_url (string): Override webhook for this refresh

Example request:

curl -X POST https://api.sealegs.ai/v3/spotcast/spc_abc123xyz/refresh \
  -H "Authorization: Bearer $SEALEGS_API_KEY"

Response (202 Accepted):

{
  "id": "spc_abc123xyz",
  "forecast_id": "fcst_newxyz789",
  "status": "processing",
  "created_at": "2025-12-02T08:00:00Z",
  "links": {
    "self": "https://api.sealegs.ai/v3/spotcast/spc_abc123xyz",
    "status": "https://api.sealegs.ai/v3/spotcast/spc_abc123xyz/status"
  }
}

List Forecasts

GET https://api.sealegs.ai/v3/spotcast/{id}/forecasts

Lists all forecasts for a SpotCast, sorted by creation date (newest first). Each time you create or refresh a SpotCast, a new forecast is generated.

Query parameters:

  • limit (integer): Number of results to return (default: 10)

Example request:

curl "https://api.sealegs.ai/v3/spotcast/spc_abc123xyz/forecasts?limit=5" \
  -H "Authorization: Bearer $SEALEGS_API_KEY"

Response (200 OK):

{
  "spotcast_id": "spc_abc123xyz",
  "data": [
    {
      "forecast_id": "fcst_newxyz789",
      "status": "completed",
      "created_at": "2025-12-02T08:00:00Z",
      "completed_at": "2025-12-02T08:00:42Z"
    },
    {
      "forecast_id": "fcst_xyz789",
      "status": "completed",
      "created_at": "2025-12-01T10:30:00Z",
      "completed_at": "2025-12-01T10:30:45Z"
    }
  ],
  "has_more": false
}

Get Forecast

GET https://api.sealegs.ai/v3/spotcast/{id}/forecast/{forecast_id}

Retrieves a specific forecast with full details including AI analysis. Use this to access any forecast in a SpotCast's history, not just the latest one.

Example request:

curl "https://api.sealegs.ai/v3/spotcast/spc_abc123xyz/forecast/fcst_xyz789" \
  -H "Authorization: Bearer $SEALEGS_API_KEY"

Response (200 OK - Completed):

{
  "forecast_id": "fcst_xyz789",
  "spotcast_id": "spc_abc123xyz",
  "status": "completed",
  "created_at": "2025-12-01T10:30:00Z",
  "completed_at": "2025-12-01T10:30:45Z",
  "forecast_period": {
    "start_date": "2025-12-05T00:00:00Z",
    "num_days": 2
  },
  "ai_analysis": {
    "summary": "Excellent conditions expected. Light winds 8-12kt from the NE with calm 1-2ft seas.",
    "daily_classifications": [
      {
        "date": "2025-12-05",
        "classification": "GO",
        "summary": "Light winds and calm seas throughout the day."
      },
      {
        "date": "2025-12-06",
        "classification": "CAUTION",
        "summary": "Improving conditions with best windows in the afternoon."
      }
    ]
  }
}

Response (200 OK - Processing):

{
  "forecast_id": "fcst_xyz789",
  "spotcast_id": "spc_abc123xyz",
  "status": "processing",
  "created_at": "2025-12-01T10:30:00Z",
  "forecast_period": {
    "start_date": "2025-12-05T00:00:00Z",
    "num_days": 2
  },
  "progress": {
    "stage": "analyzing",
    "percentage": 65
  }
}

Response (200 OK - Failed):

{
  "forecast_id": "fcst_xyz789",
  "spotcast_id": "spc_abc123xyz",
  "status": "failed",
  "created_at": "2025-12-01T10:30:00Z",
  "forecast_period": {
    "start_date": "2025-12-05T00:00:00Z",
    "num_days": 2
  },
  "error": "Processing failed"
}

List SpotCasts

GET https://api.sealegs.ai/v3/spotcasts

Retrieves all SpotCasts for your account.

Query parameters:

  • limit (integer): 1-100 results (default: 20)
  • after (string): Cursor for pagination

Example request:

curl "https://api.sealegs.ai/v3/spotcasts?limit=10" \
  -H "Authorization: Bearer $SEALEGS_API_KEY"

Response (200 OK):

{
  "data": [
    {
      "id": "spc_abc123xyz",
      "created_at": "2025-12-01T10:30:00Z",
      "coordinates": {
        "latitude": 25.7617,
        "longitude": -80.1918
      },
      "start_date": "2025-12-05T00:00:00-05:00",
      "end_date": "2025-12-06T23:59:59-05:00",
      "num_days": 2,
      "latest_forecast": {
        "forecast_id": "fcst_xyz789",
        "status": "completed"
      }
    }
  ],
  "has_more": true,
  "next_cursor": "spc_def456"
}

Account

Get Balance

GET https://api.sealegs.ai/v3/account/balance

Returns your current credit balance and usage.

Example request:

curl https://api.sealegs.ai/v3/account/balance \
  -H "Authorization: Bearer $SEALEGS_API_KEY"

Response (200 OK):

{
  "credit_balance": 100,
  "total_credits_purchased": 200,
  "total_credits_used": 100,
  "purchase_url": "https://developers.sealegs.ai/dashboard/billing"
}

Webhooks

When you provide a webhook_url during SpotCast creation or refresh, SeaLegs sends a POST request to that URL when processing completes or fails.

Webhook Headers

Content-Type: application/json
X-SeaLegs-Event: spotcast.forecast.completed
X-SeaLegs-Signature: sha256=abc123...
X-SeaLegs-Delivery-ID: whk_abc123xyz
X-SeaLegs-Timestamp: 1733045400
User-Agent: SeaLegs-Webhooks/1.0

Verifying Signatures

Every webhook includes an HMAC-SHA256 signature in the X-SeaLegs-Signature header. Your webhook secret is available in the Developer Dashboard. Always verify the signature before processing the payload.

Python:

import hmac
import hashlib

def verify_webhook(payload: bytes, signature: str, secret: str) -> bool:
    expected = hmac.new(secret.encode(), payload, hashlib.sha256).hexdigest()
    return hmac.compare_digest(f"sha256={expected}", signature)

JavaScript:

const crypto = require('crypto');

function verifyWebhook(payload, signature, secret) {
  const expected = crypto.createHmac('sha256', secret).update(payload).digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(`sha256=${expected}`),
    Buffer.from(signature)
  );
}

Completed Event

{
  "event": "spotcast.forecast.completed",
  "created_at": "2025-12-01T10:30:45Z",
  "data": {
    "spotcast_id": "spc_abc123xyz",
    "forecast_id": "fcst_xyz789",
    "status": "completed",
    "summary": "Excellent conditions expected. Light winds 8-12kt from the NE with calm 1-2ft seas.",
    "metadata": {
      "trip_name": "Weekend Fishing Trip"
    }
  }
}

The summary field is included when AI analysis completes successfully. The metadata object is included when you provided metadata in the original POST /v3/spotcast request, echoed back exactly as sent.

Failed Event

{
  "event": "spotcast.forecast.failed",
  "created_at": "2025-12-01T10:31:00Z",
  "data": {
    "spotcast_id": "spc_abc123xyz",
    "forecast_id": "fcst_xyz789",
    "status": "failed",
    "error": {
      "code": "processing_failed",
      "message": "Unable to fetch weather data for the specified location"
    },
    "metadata": {
      "trip_name": "Weekend Fishing Trip"
    }
  }
}

Retry Policy

Failed deliveries are retried up to 4 times: after 5 minutes, 30 minutes, 2 hours, and 24 hours.


Understanding Results

Daily Classifications

Each forecast day receives a safety classification:

ClassificationMeaning
GOSafe conditions for the vessel type
CAUTIONProceed with awareness; conditions may be challenging
NO-GOConditions not recommended for the vessel type

Classifications are adjusted based on vessel type and size when vessel_info is provided.

Weather Variables Analyzed

  • Wind: Speed (kts), gusts, direction (degrees)
  • Waves: Height (ft), period (seconds), direction, swell
  • Visibility: Distance (nm), fog probability
  • Precipitation: Probability (%), intensity
  • Temperature: Air and water (F/C)

Vessel-Specific Adjustments

When vessel_info is provided:

  • PWC/Jet Ski: Stricter wave height limits
  • Sailboats: Wind optimization recommendations
  • Large Yachts: Higher tolerance for wave conditions
  • Small Powerboats: Balanced wind/wave thresholds

Error Handling

Error Response Format

{
  "error": {
    "code": "invalid_coordinates",
    "message": "Latitude must be between -90 and 90",
    "param": "latitude"
  }
}

HTTP Status Codes

CodeMeaningAction
200SuccessRequest completed
201CreatedResource created
202AcceptedAsync processing started
400Bad RequestCheck parameter values
401UnauthorizedVerify API key is correct
402Payment RequiredAdd credits at developer.sealegs.ai
403ForbiddenAccount not verified or suspended
404Not FoundCheck resource ID
429Rate LimitedWait and retry (60 req/min limit)
500Server ErrorRetry after brief delay

Error Codes

Authentication (401)

CodeDescription
missing_api_keyNo API key provided in request
invalid_api_keyAPI key is not recognized
key_revokedAPI key has been revoked

Authorization (403)

CodeDescription
account_not_verifiedDeveloper account has not been verified
account_suspendedDeveloper account has been suspended

Payment (402)

CodeDescription
insufficient_balanceNot enough credits (response includes current_balance, required_credits, purchase_url)

Validation (400)

CodeDescription
invalid_coordinatesCoordinates out of valid range
invalid_date_formatNot ISO 8601 format
invalid_webhook_urlNot a valid HTTPS URL
invalid_preferencesPreferences format is invalid
invalid_languageLanguage not supported (use: en, es, fr, pt, it, ja)
invalid_distance_unitsDistance units not supported (use: nm, mi, km)
invalid_speed_unitsSpeed units not supported (use: kts, mph, ms)
invalid_jsonRequest body is not valid JSON

Not Found (404)

CodeDescription
spotcast_not_foundThe specified SpotCast does not exist
forecast_not_foundThe specified forecast does not exist

Rate Limit (429)

CodeDescription
rate_limit_exceededToo many requests (response includes retry_after seconds)

Server (500)

CodeDescription
internal_errorAn unexpected error occurred
creation_failedFailed to create SpotCast
retrieval_failedFailed to retrieve resource

Common Workflows

Get a Marine Forecast

  1. Create a SpotCast with coordinates and dates
  2. Poll the status endpoint until "completed"
  3. Retrieve the full forecast with AI analysis
  4. Present GO/CAUTION/NO-GO classification to user

Check Conditions Before a Trip

  1. Create SpotCast with trip coordinates and date
  2. Include vessel_info for tailored recommendations
  3. Check daily_classifications for each day
  4. Review AI summary for specific concerns

Links

License

MIT

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

91.8%
按下载量换算7,982

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills