hormuz-strait — Claude Code skill: what it does, how to install
Pulls the Hormuz Strait Monitor dashboard and answers whether the strait is open, how many tankers got through, and what happened to Brent.
npx skills add himself65/finance-skills --skill hormuz-strait -a claude-codeWhat hormuz-strait does
The skill does one job: runs curl against the public dashboard API of Hormuz Strait Monitor and sorts the returned JSON into sections. Strait status, tanker transits for the last 24h against the normal daily figure, stranded vessels by type, Brent with its 24h change, war-risk insurance levels, cargo throughput in DWT, VLCC freight rates, diplomacy and the crisis timeline.
Inside is a SKILL.md with a step-by-step routine and a lookup table mapping a request to the right data section, plus references/api_schema.md with field names and types. No authentication, no writes. The catch: the whole answer rests on one feed. If the API comes back with success: false or the call fails, there is nothing else to fall back on and the skill just reports that the monitor is down. Worth keeping a second source within reach.
Ask a broad question and you get a briefing: status first, then traffic, price, insurance, diplomacy, trade impact. Ask something narrow and it opens the matching section. A percentOfNormal below 80% or above 120% gets flagged as abnormal, and the sparkline trend is described in words instead of raw numbers. Each answer carries the lastUpdated stamp plus a note that the data can lag.
What it helps with
- check whether the strait is open right now
- compare daily tanker transits against the normal figure
- estimate the daily cost of a disruption to global trade
- read off war-risk insurance premiums
- walk the crisis timeline event by event
Example prompts for the agent
- Is the Strait of Hormuz open right now?
- How many tankers transited in the last 24h versus normal?
- What are war-risk premiums and VLCC rates doing in the Persian Gulf?
How to install hormuz-strait
1Skills CLI (Vercel)
npx skills add himself65/finance-skills --skill hormuz-strait -a claude-code2Manually: put the files in place
~/.claude/skills/hormuz-strait/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/hormuz-strait/
1Skills CLI (Vercel)
npx skills add himself65/finance-skills --skill hormuz-strait -a codex2Manually: put the files in place
.agents/skills/hormuz-strait/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add himself65/finance-skills --skill hormuz-strait -a cursor2Manually: put the files in place
.cursor/skills/hormuz-strait/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install himself65/finance-skills hormuz-strait2Manually: put the files in place
.github/skills/hormuz-strait/SKILL.md1Skills CLI (Vercel)
npx skills add himself65/finance-skills --skill hormuz-strait -a gemini-cli2Platform CLI
gemini skills install https://github.com/himself65/finance-skills --path plugins/data-providers/skills/hormuz-straitManually: put the files in place
.devin/skills/hormuz-strait/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add himself65/finance-skills --skill hormuz-strait -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set3
The whole set →Similar
Questions about hormuz-strait
How do I install hormuz-strait in Claude Code?
Run npx skills add himself65/finance-skills --skill hormuz-strait -a claude-code. The skill file lands at ~/.claude/skills/hormuz-strait/SKILL.md.
What does hormuz-strait do?
It reads the Hormuz Strait Monitor dashboard and turns the feed into a briefing: strait status, tanker transits, Brent price, insurance risk, throughput and the diplomatic picture.
Does it need an API key or an account?
No. The skill only reads the public dashboard feed and never writes anything, so there is nothing to authenticate. It does need that feed to be reachable.
Source text
SKILL.md · MIT
---
name: hormuz-strait
description: >
Check the live status of the Strait of Hormuz from the Hormuz Strait Monitor
dashboard: open, restricted, or closed status, tanker transits vs normal, stranded
vessels, Brent price impact, war-risk insurance levels, cargo throughput, tanker
freight rates, diplomatic developments, and global trade impact. Use this skill
whenever the user asks about the Strait of Hormuz or the Persian Gulf in the context
of oil, shipping, or geopolitical risk — whether Hormuz is open, chokepoint or
transit disruption, Gulf tanker traffic, war-risk premiums, Middle East shipping
routes, or energy supply-chain risk.
---
# Hormuz Strait Monitor Skill
Fetches real-time status of the Strait of Hormuz from the [Hormuz Strait Monitor](https://hormuzstraitmonitor.com) dashboard API. Covers shipping transits, oil prices, stranded vessels, insurance risk, diplomatic status, global trade impact, and crisis timeline.
**This skill is read-only.** It fetches public dashboard data — no authentication required.
---
## Step 1: Fetch Dashboard Data
Use `curl` to fetch the dashboard API:
```bash
curl -s https://hormuzstraitmonitor.com/api/dashboard
```
Parse the JSON response. The API returns `{ "success": true, "data": { ... }, "timestamp": "..." }`.
If `success` is `false` or the request fails, inform the user the monitor is temporarily unavailable and suggest checking https://hormuzstraitmonitor.com directly.
---
## Step 2: Identify What the User Needs
Match the user's request to the relevant data sections. If the user asks for a general status update, present all sections. If they ask about something specific, focus on the relevant section(s).
| User Request | Data Section | Key Fields |
|---|---|---|
| General status / "is Hormuz open?" | `straitStatus` | `status`, `since`, `description` |
| Ship traffic / transit count | `shipCount` | `currentTransits`, `last24h`, `normalDaily`, `percentOfNormal` |
| Oil price impact | `oilPrice` | `brentPrice`, `change24h`, `changePercent24h`, `sparkline` |
| Stranded / stuck vessels | `strandedVessels` | `total`, `tankers`, `bulk`, `other`, `changeToday` |
| Insurance / war risk | `insurance` | `level`, `warRiskPercent`, `normalPercent`, `multiplier` |
| Cargo throughput | `throughput` | `todayDWT`, `averageDWT`, `percentOfNormal`, `last7Days` |
| Diplomatic situation | `diplomacy` | `status`, `headline`, `parties`, `summary` |
| Global trade impact | `globalTradeImpact` | `percentOfWorldOilAtRisk`, `estimatedDailyCostBillions`, `affectedRegions`, `lngImpact`, `alternativeRoutes`, `supplyChainImpact` |
| Crisis timeline / events | `crisisTimeline` | `events[]` with `date`, `type`, `title`, `description` |
| Tanker freight rates / VLCC rates | `tankerRates` | `currentRate`, `preCrisisRate`, `changePercent`, `route`, `vesselType`, `trend`, `unit` |
| Latest news | `news` | `title`, `source`, `url`, `publishedAt`, `description` |
---
## Step 3: Present the Data
Format the results clearly for financial research. Adapt the presentation based on what the user asked for.
### General status briefing (default)
When the user asks for a general update, cover these sections — a line each while shipping is operating normally, more depth wherever there is active disruption:
1. **Strait Status** — lead with the current status (e.g., "OPEN", "RESTRICTED", "CLOSED"), how long it's been in that state, and the description
2. **Ship Traffic** — current transits, last 24h count, and percent of normal
3. **Oil Price** — Brent price with 24h change
4. **Stranded Vessels** — total count broken down by type, with today's change
5. **Insurance Risk** — risk level, war risk premium percentage, and multiplier vs. normal
6. **Cargo Throughput** — today's DWT vs. average, percent of normal
7. **Diplomatic Status** — current status, headline, and brief summary
8. **Global Trade Impact** — percent of world oil at risk, estimated daily cost, and top affected regions
9. **Tanker Freight Rates** — current VLCC rate on the benchmark route vs. pre-crisis baseline, with trend direction
### Formatting guidelines
- Use tables for structured data (vessel counts, affected regions, alternative routes)
- Highlight abnormal values — if `percentOfNormal` is below 80% or above 120%, call it out
- For `oilPrice.sparkline`, describe the trend (rising, falling, stable) rather than listing raw numbers
- For `throughput.last7Days`, describe the trend direction
- Show `lastUpdated` timestamp so the user knows data freshness
- For news items, include the source and link
- For crisis timeline events, present chronologically with event type labels
### Risk assessment
Based on the data, provide a brief risk assessment. `insurance.level` values come back uppercase:
| Insurance Level | Interpretation |
|---|---|
| `NORMAL` | No elevated risk — shipping operating normally |
| `ELEVATED` | Some disruption concerns — monitor closely |
| `HIGH` | Significant risk — active disruption or credible threat |
| `CRITICAL` | Severe disruption — major impact on global oil supply |
| `EXTREME` | Effective closure — war risk premiums at multi-decade highs, most commercial traffic halted |
If the strait status is anything other than fully open, highlight:
- The estimated daily cost to global trade
- Which regions are most affected and their oil dependency
- Available alternative routes with additional transit days and cost
- LNG impact if applicable
- SPR (Strategic Petroleum Reserve) status in days
---
## Step 4: Respond to the User
- Lead with the most important information: strait status and any active disruption
- Include data freshness (`lastUpdated` timestamp)
- If the situation is elevated or worse, proactively include the global trade impact summary
- Keep the response concise for routine "all clear" statuses; expand for active incidents
- Add a disclaimer: data is sourced from Hormuz Strait Monitor and may have delays
---
## Reference Files
- `references/api_schema.md` — Complete API response schema with field descriptions and data types
Read the reference file when you need exact field names or data type details.
© himself65 · MIT · himself65/finance-skills