weather-model-run-discovery – skill Khác cho agent AI
Xác định chu kỳ dự báo số trị thời tiết mới nhất đã hoàn chỉnh và các đối tượng dự báo trên các máy chủ gương của nhà cung cấp mà không tải toàn bộ dữ liệu.
Cài skill weather-model-run-discovery bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/weather-model-run-discovery-5e652.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /weather-model-run-discovery – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/weather-model-run-discovery-5e652.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $weather-model-run-discovery – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/weather-model-run-discovery-5e652.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /weather-model-run-discovery – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/weather-model-run-discovery-5e652.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /weather-model-run-discovery – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Weather Model Run Discovery
Overview
Resolve a numerical weather prediction run before downloading model fields.
Probe exact objects or narrow prefixes, verify a request-specific completion
contract, and return the newest qualifying initialization with its source
metadata.
This skill decides *which run and objects exist*. Use
weather-model-data-fetching afterward to transfer or subset the data.
When to Use This Skill
- An application needs the newest usable GFS, GEFS, HRRR, RAP, NAM, or similar
model cycle.
- The nominal latest cycle returns
404, has only early forecast hours, or is
still changing.
- Equivalent AWS, NOMADS, Google, Azure, or other mirrors must be compared
without silently mixing runs.
- A scheduled job needs a bounded fallback to an older complete cycle.
- The resolved run and provider must be recorded for later reproduction.
Do not activate this skill when the initialization is already fixed or when the
task is to download, decode, or interpret model variables.
Define Complete Before Probing
Collect the following request contract:
- model, domain, product, and ensemble member;
- legal UTC cycle hours and cycle interval;
- required forecast hours;
- required companion objects, such as pressure and surface products;
- required inventory or index sidecars;
- provider priority and whether cross-provider fallback is allowed;
- maximum lookback, maximum probes, and freshness requirement.
A run is complete only when every sentinel required by the consumer exists.
Examples include:
- one product at one forecast hour for a single-image job;
- both pressure-level and surface files for a sounding;
- the terminal forecast hour needed by a time series;
- every required member for an ensemble statistic.
The presence of forecast hour zero does not prove that a run is complete.
Discovery Workflow
1. Normalize the current time and all candidate initialization times to UTC.
2. Enumerate only legal cycles, newest first, within the lookback bound.
3. Build documented object keys for the exact model, product, member, and
forecast hour. Never recursively scan an entire bucket.
4. Probe exact objects with HeadObject, HTTP HEAD, or a narrow paginated
prefix listing. A probe should retrieve metadata, not the model payload.
5. Require every sentinel and sidecar in the completion contract. Reject zero-
length or obviously placeholder objects.
6. For a live mirror that may expose objects before publication finishes,
repeat the metadata probe after a short bounded interval and require stable
size and object identity.
7. Select the first complete candidate. A fallback provider must refer to the
same initialization, product, member, and forecast hour.
8. Emit a resolution record before starting the download.
Use a provider's documented cycle status page as supporting evidence, not as a
substitute for probing the exact objects the consumer requires.
Minimal Resolver Example
Keep provider-specific key construction separate from the selection rule. This
example accepts a metadata-only probe callback so it can be used with S3,
HTTP, or a test fixture.
from datetime import datetime, timedelta, timezone
def candidate_cycles(now, cycle_hours, lookback):
if now.tzinfo is None or now.utcoffset() is None:
raise ValueError("now must be timezone-aware")
if lookback < 0 or not cycle_hours or any(h not in range(24) for h in cycle_hours):
raise ValueError("invalid lookback or cycle hours")
now = now.astimezone(timezone.utc)
allowed = sorted(set(cycle_hours), reverse=True)
candidates = []
for days_back in range((lookback // 24) + 2):
day = (now - timedelta(days=days_back)).date()
for hour in allowed:
cycle = datetime(day.year, day.month, day.day, hour, tzinfo=timezone.utc)
if cycle <= now and now - cycle <= timedelta(hours=lookback):
candidates.append(cycle)
return sorted(set(candidates), reverse=True)
def resolve_latest(now, cycle_hours, lookback, required_objects, probe):
"""Return one complete run; probe(uri) returns metadata or None."""
attempts = []
for cycle in candidate_cycles(now, cycle_hours, lookback):
requested = required_objects(cycle)
if not requested:
raise ValueError("completion contract must contain at least one object")
found = {name: probe(uri) for name, uri in requested.items()}
missing = [name for name, metadata in found.items() if not metadata]
attempts.append({"cycle": cycle.isoformat(), "missing": missing})
if not missing:
return {
"initialization": cycle.isoformat(),
"objects": [
{"role": name, "uri": requested[name], **found[name]}
for name in requested
],
"attempts": attempts,
}
raise LookupError(f"no complete run within {lookback} hours: {attempts}")The caller must make required_objects express the real completion contract;
checking a single convenient file defeats the purpose of discovery.
Public S3 Diagnostics
For public NOAA Open Data buckets, inspect exact objects without loading AWS
credentials:
aws s3api head-object --no-sign-request \
--bucket BUCKET \
--key "EXACT/DOCUMENTED/OBJECT"
aws s3api list-objects-v2 --no-sign-request \
--bucket BUCKET \
--prefix "MODEL.DATE/DOMAIN/PRECISE-RUN-PREFIX" \
--max-items 100Paginate narrow listings. S3 returns at most one page at a time, and a
successful listing still needs defensive response parsing. 403 and 404
from HeadObject can be intentionally nonspecific; distinguish a missing
public object from a permission or endpoint error before falling back.
Resolution Record
Return enough information for the fetcher and provenance layer to use the exact
same objects:
{
"requested_at_utc": "2026-09-18T08:45:00Z",
"model": "hrrr",
"product": "prs",
"initialization": "2026-09-18T06:00:00Z",
"required_forecast_hours": [0, 6, 18],
"provider": "aws",
"objects": [
{
"role": "pressure_f018",
"uri": "s3://bucket/exact-key",
"size_bytes": 123456,
"etag": "opaque-object-identity",
"last_modified": "2026-09-18T07:12:34Z"
}
],
"fallback_cycles_rejected": []
}Keep ETags as opaque identity values. They are not guaranteed to be full-file
MD5 checksums.
Reliability and Caching
- Cache positive results only briefly enough for the model cadence and
publication latency. Cache negative probes for a shorter interval.
- Retry timeouts,
408,429, and transient5xxresponses with bounded
exponential backoff and jitter; honor Retry-After.
- Bound lookback and total probes so a provider outage cannot create an
unbounded bucket walk.
- Do not treat one mirror's lag as proof that the run is absent everywhere.
- Do not mix objects from different providers unless their run identity and
product semantics have been verified equivalent.
- Record rejected cycles and missing sentinels so fallback is visible.
Verification Checklist
- Candidate cycles are legal for the requested model and expressed in UTC.
- Every required product, member, forecast hour, and sidecar is present.
- Object sizes are nonzero and stable when a stabilization check is required.
- The resolved provider and exact object identities are recorded.
- The selected run satisfies the user's freshness and lookback bounds.
- No model payload was downloaded merely to discover availability.
- A failure reports which cycles were checked and which sentinels were absent.
Security & Safety Notes
- Probe only public datasets or resources the user is authorized to access.
- Never embed cloud credentials, signed URLs, session tokens, or private
endpoint details in a resolution record.
- Keep TLS verification enabled. Unsigned public S3 access is not the same as
disabling certificate verification.
- Bound prefix width, pagination, retries, and request rate before probing.
- Treat provider object names and metadata as untrusted input when writing logs
or constructing local paths.
Common Pitfalls
- Newest cycle has
f000: Later required forecast hours are still
publishing. Test the actual terminal sentinels.
- A provider fallback changes the forecast: The fallback changed a product,
member, or cycle as well as the mirror. Reject it.
- A listing found an object but the download changes: The publisher was
still updating it. Require stable metadata or conditional reads.
- Discovery is slow and expensive: The prefix is too broad or pagination is
unbounded. Construct exact keys wherever possible.
- Local time selected the wrong day: Perform cycle arithmetic in UTC and
convert only for display.
Limitations
- Publication schedules, provider retention, key layouts, and mirror status can
change; verify them
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- weather-observation-fetching – Lấy dữ liệu quan trắc thời tiết bề mặt và tầng cao từ API và kho lưu trữ chính thức, giữ…
- web-performance-optimization – Tối ưu hiệu năng website và ứng dụng web, gồm tốc độ tải, Core Web Vitals, kích thước…
- web3-rate-limiting-circuit-breaker – Sổ đăng ký circuit breaker giới hạn tốc độ on-chain và relayer: ngưỡng thông lượng, điều…
- weightloss-analyzer – Phân tích dữ liệu giảm cân, tính tốc độ trao đổi chất, theo dõi thâm hụt năng lượng và…
- wgm – Biến yêu cầu sơ sài thành phần mềm chạy được qua vòng lặp xây dựng có kiểm soát: thống…
- wiki-architect – Bạn là kiến trúc sư tài liệu, tạo danh mục wiki có cấu trúc và tài liệu onboarding từ mã…
- wiki-onboarding – Tạo hai tài liệu onboarding bổ trợ nhau, giúp bất kỳ kỹ sư nào, từ người mới đến…
- windows-shell-reliability – Thực thi lệnh đáng tin cậy trên Windows: đường dẫn, mã hóa ký tự và các lỗi thường gặp…