Claude-skill-registry check-live-stations
Analyze live weather station integrations, validate data sources, and identify spots missing live conditions
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/check-live-stations" ~/.claude/skills/majiayu000-claude-skill-registry-check-live-stations && rm -rf "$T"
manifest:
skills/data/check-live-stations/SKILL.mdsource content
Check Live Stations Skill
Analyze live weather data sources in FetchCurrentConditions strategies and cross-reference with spots.json to identify coverage and issues.
Instructions
Perform the following analysis and report all findings.
1. Discover All Strategies
Scan
src/main/java/com/github/pwittchen/varun/service/live/strategy/ for all FetchCurrentConditionsStrategy*.java files.
For each strategy, extract:
- Class name
- Windguru ID(s) it handles (from
method or ID constants/maps)canProcess() - Data source URL(s)
- Data format (JSON, plain text, HTML scraping)
- Provider name (from class comments or URL domain)
2. Load Spots Data
Read
src/main/resources/spots.json and extract:
- Spot name
- Country
- Windguru ID (from
, extract numeric ID)windguruUrl - Fallback Windguru ID if present (from
)windguruFallbackUrl
3. Cross-Reference Coverage
For each spot in spots.json:
- Determine if any strategy can process its Windguru ID
- Mark spots as "has live data" or "no live data"
4. Test Live Data Sources
For each unique data source URL found in strategies:
- Attempt to fetch the URL using curl (with 10s timeout)
- Check HTTP response code
- Verify response contains expected data markers (non-empty, valid format)
5. Analyze Strategy Patterns
For each strategy, document:
- Parsing method (regex, JSON, HTML table extraction)
- Fields extracted (wind speed, gusts, direction, temperature, timestamp)
- Unit conversions performed (m/s to knots, etc.)
- Error handling approach
Output Format
Generate a report in this format:
## Live Weather Stations Analysis Report ### Summary - Total strategies: X - Total spots: Y - Spots with live data: Z (W%) - Spots without live data: N ### Strategy Inventory | Strategy Class | Provider | WG IDs | Data URL | Format | |----------------|----------|--------|----------|--------| | ... | ... | ... | ... | ... | ### Coverage by Country | Country | Total Spots | With Live Data | Without Live Data | |---------|-------------|----------------|-------------------| | Poland | X | Y | Z | | ... | ... | ... | ... | ### Spots WITH Live Data Integration | Spot Name | Country | WG ID | Strategy | Data Source | |-----------|---------|-------|----------|-------------| | ... | ... | ... | ... | ... | ### Spots WITHOUT Live Data Integration These spots only have forecast data and could benefit from live weather station integration: | Spot Name | Country | WG ID | Potential Sources | |-----------|---------|-------|-------------------| | ... | ... | ... | (suggest if known) | ### Data Source Health Check | URL | Status | Response Time | Notes | |-----|--------|---------------|-------| | ... | OK/FAIL| Xms | ... | ### Issues Found #### Critical (data sources unreachable) - [Strategy] URL not responding: url #### Warnings (potential improvements) - [Spot] Could add live data from nearby station - [Strategy] Missing gust data extraction ### Recommendations 1. Priority spots for live data integration (high-traffic locations) 2. Nearby stations that could be leveraged 3. Strategy improvements or consolidation opportunities
Execution Steps
- Use
to find all strategy files in the strategy directoryGlob - Use
to analyze each strategy fileRead - Use
to load spots.jsonRead - Use
withBash
to test each data source URLcurl - Cross-reference and generate the report
- Provide actionable recommendations
Notes
- Windguru IDs are extracted from URLs like
->https://www.windguru.cz/500760500760 - Some spots use
whenwindguruFallbackUrl
is empty (generated IDs)windguruUrl - Strategies may handle multiple spots (e.g., WiatrKadynyStations handles 4 spots)
- Data sources may be temporarily offline; distinguish between transient and permanent failures