{"id":72869,"plugin_id":"plugin_asdk_app_6ab3de5f1a5c8191aabafb290af254f7","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-31T01:14:28.684Z","digest":"626bcd5b4fc8d131c94e75494c8fd00e19536bebda4e07a3ee441cc785d71707","against":null,"payload":{"description":"Research vessels, ports, marine weather, and maritime records with the connected Datalastic MCP tools. Use for vessel lookups, ship specifications and engines, ownership and inspection research, area searches, and maritime briefings.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":354}],"name":"datalastic-maritime","skill_md_contents":"---\nname: datalastic-maritime\ndescription: Research vessels, ports, marine weather, and maritime records with the connected Datalastic MCP tools. Use for vessel lookups, ship specifications and engines, ownership and inspection research, area searches, and maritime briefings.\n---\n\n# Datalastic maritime research\n\nUse this workflow for maritime research with the connected Datalastic MCP server. Follow the user's requested scope and source preferences. General nautical explanations and fictional ships do not require this workflow.\n\n## Resolve the subject\n\nUse a supplied IMO, MMSI, or other supported identifier. For a vessel name, use `find_vessels` and distinguish matching ships using returned identifiers, flag, and type. Ask for clarification when multiple plausible matches remain. Preserve the resolved identity throughout follow-up questions; do not guess an identifier.\n\nFor ports, use `find_ports` to resolve names or UN/LOCODEs, then `get_port` for details. A reported vessel destination may be abbreviated or ambiguous; distinguish a resolved destination from a hypothetical port supplied by the user.\n\nInspect the available tool descriptions and input schemas before calling tools. The mapping below describes documented capabilities, not guaranteed parameters or availability. If a required tool is unavailable, explain the missing capability rather than simulate a result.\n\n## Select only the tools needed\n\n| Request | Tools |\n| --- | --- |\n| Latest reported vessel position | `get_vessel` |\n| Position with destination, ETA, departure, or draught | `get_vessel_pro` |\n| Vessel specifications, dimensions, and tonnage | `get_vessel_info` |\n| Vessel search or multiple positions | `find_vessels`, `get_vessels_bulk` |\n| Historical AIS track | `get_vessel_history` |\n| Vessels around a location or port | `get_vessels_in_radius` |\n| Ports and terminals | `find_ports`, `get_port` |\n| Marine and atmospheric weather | `get_weather` |\n| Engines and propulsion | `intel_engine` |\n| Ownership and management | `intel_ownership`, `intel_companies` |\n| Inspections and casualties | `intel_inspections`, `intel_casualties` |\n| Dry-dock and classification records | `intel_drydock`, `intel_class` |\n| Recorded sale, purchase, or demolition transactions | `intel_spd` |\n| Schematic sea route and distance | `sea_route` |\n| Estimated position outside terrestrial AIS coverage | `estimated_vessel_position` |\n\nRequest engine, ownership, and other intelligence records only when relevant to the user's task. Follow supported pagination when a complete list is requested, and deduplicate vessel records by their returned identifiers.\n\n## Minimize unnecessary credit usage\n\nChoose the lowest-cost available tool that fully answers the request, using known pricing and the live tool descriptions. Do not sacrifice requested information merely to save a call.\n\n- Default to vessel Basic (`get_vessel`) for latest reported position, speed, heading, and navigation status. Vessel Pro (`get_vessel_pro`) is more expensive; do not use it for a simple question such as \"Where is this ship?\"\n- Use `get_vessel_pro` only when its additional fields, such as recognized destination port, ETA, departure, or draught, are needed for the user's request, or the user explicitly requests Pro. For \"Where is this ship and when will it arrive?\", call Pro directly instead of calling Basic and then Pro.\n- Do not switch to Pro merely because Basic returns an empty or stale position. Pro is not a guaranteed remedy for missing or old AIS observations. Explain the data gap and select a further lookup only when its documented capability addresses the request.\n- For specifications, use `get_vessel_info`; the word \"details\" alone does not justify a Pro position lookup. Resolve the fields needed from the conversation or ask a focused question when the scope is unclear.\n- Reuse resolved vessel identifiers and relevant results from the current conversation when they are still suitable. Include their timestamps. Refresh time-sensitive data when the user requests an update or freshness is necessary; never present reused data as newly retrieved.\n- For several vessels, consider `get_vessels_bulk` when its fields and documented cost fit the request. Do not assume a bulk call is cheaper without pricing evidence.\n- Clarify an ambiguous date range, area, or dataset before a broad historical query or export. Do not fetch unrelated intelligence records or every possible briefing section by default.\n- Do not invent credit prices or savings. Quote exact costs only when supplied by maintained pricing information or server metadata. Routine Basic lookups do not need an extra permission question merely because they consume credits.\n\n## Present evidence clearly\n\n- Identify vessels and ports with their returned names and identifiers.\n- Include observation timestamps for positions and distinguish last reported AIS positions from estimated positions. Do not present stale observations as the ship's exact current location.\n- Preserve units, forecast dates, and stated time zones. Distinguish forecasts and reported ETAs from observed events.\n- Separate registry specifications from live observations. Mark missing fields as unavailable rather than filling them from assumptions.\n- An empty inspection or casualty result means no matching records were returned; it does not establish a clean safety history.\n- Attribute retrieved facts to Datalastic. If the user requests additional sources, label those findings separately.\n- Describe sea routes as schematic estimates for research and visualization, not navigational instructions. Do not infer operational clearance or seaworthiness from the records.\n\nFor a vessel briefing, combine only the requested sections: latest status, vessel and engine profile, destination and port details, weather, and relevant maritime records. End with material gaps or uncertainty. A narrow lookup should receive a narrow answer, not a full briefing.\n\n## Authentication and entitlements\n\nUse the platform's connection flow if authentication is needed; do not ask users to paste passwords, API keys, or tokens into the conversation. Distinguish connection failures, entitlement errors, and empty datasets.\n\nSome intelligence tools require the Maritime Reports add-on. Use `intel_info` when needed to explain the current account's access. State missing entitlements neutrally; do not promote subscription upgrades, sell credits, or direct users to checkout. Stop repeated calls to a capability after an entitlement failure until access changes.\n\n## Requested data exports\n\nUse `report_request` or `intel_report_request` only when the user requests an export. These start asynchronous jobs and can consume account credits; explain any known cost or scope before starting and clarify ambiguous large requests. Do not create exports merely to answer a simple lookup.\n\nUse the returned job identifier with `report_status`; use `report_list` to find an existing report when appropriate. Avoid duplicate jobs and tight polling loops. If a report remains pending, report its state without claiming completion. On an uncertain job-creation response, check existing jobs before retrying.\n\nWhen ready, provide the returned download link. Treat signed URLs as private to the requesting user. For an expired link, check `report_status` for a fresh link rather than regenerating the export. Do not claim to have inspected the report contents unless they were actually retrieved and read within the user's requested scope.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}