msresearch-aurora

Aurora — Microsoft's foundation model for the Earth system. Use this skill for both inference (regional weather/climate forecasting, Norway example, ERA5/CDS…

npx skills add https://github.com/microsoft/vibe-kit --skill msresearch-aurora

Choosing the right path

Before diving in, identify what the user is actually trying to do. Three buckets:

  1. "I want to actually use Aurora for my problem" (custom variables, regional adaptation, domain-specific predictions) → fine-tuning path. This is the recommended path for serious applications.

  2. "I'm exploring / just curious / want to see Aurora work"inference path (Norway regional example with frontend visualization). Lower commitment, no GPU required.

  3. "Not sure / want to see Aurora in action first" → route by audience:

    • Non-technical audience (execs, PMs, general scientists): start with the Norway Prototype (docs/quick-start-inference.md) — visual maps over a real region, intuitive at a glance.
    • Weather/climate practitioners (familiar with NWP, ERA5, model evaluation): start with the Finetune Exploration Demo (docs/finetune-demo.md) — interactive divergence metrics and batch comparisons that surface fine-tuning behavior. Once they have a use case in mind, steer them toward the fine-tuning path.

If a user mentions a real problem they want Aurora to solve (custom forecasting, air quality, wave heights, regional energy planning, etc.), check the user for their familiarity/comfort with the Aurora model and finetuning in general. If a user is comfortable, steer them toward fine-tuning Aurora. If they want to learn more about Aurora first, direct them to docs/about-aurora.md. If they're familiar with Aurora and/or weather modeling, but they're new to finetuning, send them to docs/about-finetune.md.

Scope

  • Local and Azure-assisted Aurora inference for regional forecasts (Norway example as canonical starting point).
  • End-to-end fine-tuning of the base Aurora checkpoint on custom variables, regions, or lead times.
  • Data preparation (ERA5/CDS download, validation, batch construction).
  • Evaluation, checkpoint selection, training instability debugging.

Prerequisites

  • Windows users: run inside a WSL2 distro (Ubuntu recommended) with NVIDIA drivers installed on the Windows host (not inside WSL). The Aurora prototypes and demoes were developed and tested on WSL2/Ubuntu; native Windows Python/PowerShell is not supported. See Microsoft's WSL install guide and NVIDIA's CUDA-on-WSL guide.
  • Python 3.11+ with uv package manager
  • torch, lightning, numpy, xarray, microsoft-aurora>=1.5.2
  • Node.js 18+ with npm (only for the inference Norway example frontend)
  • 6 GB free disk space (Aurora checkpoint ~5 GB)
  • GPU optional for inference smoke runs; A100-class strongly recommended for serious training. See docs/about-finetune.md for the full hardware matrix.

Workflow

  1. Decide the path (see "Choosing the right path" above) before touching files.
  2. Inference path:
    1. Load docs/about-aurora.md for background if needed.
    2. Walk through docs/quick-start-inference.md to run the Norway example end-to-end.
    3. Use docs/customization-guide.md for regional adaptation; docs/technical-reference.md for grid/data/deployment specs.
  3. Fine-tuning path:
    1. Run initialization/initialize_starter_code.py first (use --skip-tests by default). This copies starter-code/ into aurora-finetune/ at the repo root.
    2. Validate with the smoke test from aurora-finetune/: uv run pytest tests/test_training.py::test_finetuning_2t_var_pretrained --maxfail=1.
    3. Walk the user through docs/quick-start-finetune.md, then deeper material in docs/finetuning-guide.md, docs/form-of-a-batch.md, and docs/available-models.md.
  4. Demo path (exploratory): Route to docs/finetune-demo.md and offer to walk the user through docker compose up.
  5. Route all errors to docs/troubleshooting.md — it has dedicated inference and fine-tuning sections.

Operational notes

  • Terminal hygiene (inference): During the Norway quick-start, the frontend dev server (Step 1) must keep running in its own terminal. Open a new terminal for Steps 2-5 (Python install, inference, build) so you don't kill the dev server.
  • Repo-root trap (inference): npm install and npm run dev must run from assets/inference/norway-example/frontend/ (or the analogous regional directory). The repo root has a different boilerplate app and will fail with confusing errors.
  • Install cdsapi proactively as soon as the user mentions adapting to a new region or downloading ERA5 data: uv pip install cdsapi. Don't wait for an import error mid-workflow.
  • Secret hygiene: When walking the user through CDS credential setup (assets/inference/.env.example.env), instruct them to edit .env locally. Never accept, display, or commit API keys.
  • Execute, don't display: When the agent supports terminal execution, run quick-start commands directly via the terminal tool rather than displaying bash blocks for the user to copy. Show bash blocks only when reviewing or when the user explicitly wants to copy commands.
  • Fine-tuning quick-start UX: Brief the user before each command, confirm before continuing, and summarize completed vs. next actions.
  • When a user starts or completes fine-tuning, surface TensorBoard: Remind them to inspect loss curves with uv run tensorboard --logdir tb_logs/finetuning and open http://localhost:6006. Look for steady descent in train_loss and val_loss; flag plateauing or divergence with concrete remediation prompts (see docs/troubleshooting.md).
  • After any code change in the fine-tuning workflow: Run uv run pytest (or a targeted eval) before declaring success. Flag NaN, divergence, or plateauing loss with concrete remediation prompts (lower learning rate, gradient clipping, see docs/troubleshooting.md).

Routing

Format: {{Doc}} — {{when to load}}

Assets

  • assets/inference/norway-example/ — Reference inference implementation with frontend.
  • assets/inference/scripts/ — ERA5 download, validation, regional setup utilities.
  • assets/inference/paper/ — Paper artifacts and supplementary material.
  • assets/finetune/finetune-exploration-demo-app/ — Dockerized exploration demo (no training required).
  • starter-code/ — Full Python project (vibe-tune-aurora) with training loop, losses, data loaders, CLIs, and tests.
  • initialization/initialize_starter_code.py — Copies starter-code/ into the user's repo as aurora-finetune/.

Reference Links

More skills from microsoft

oss-growth
microsoft
OSS growth hacker persona
agent-framework-azure-ai-py
microsoft
Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code interpreter, file search, web search), integrating MCP servers, managing conversation threads, or implementing streaming responses. Covers function tools, structured outputs, and multi-tool agents.
development
airunway-aks-setup
microsoft
Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: "setup AI Runway", "onboard AKS cluster", "install AI Runway", "airunway setup", "deploy model to AKS", "GPU inference on AKS", "KAITO setup on AKS", "run LLM on AKS", "vLLM on AKS", "set up model serving on AKS", "AI Runway controller".
devops
appinsights-instrumentation
microsoft
Guidance for instrumenting webapps with Azure Application Insights. Provides telemetry patterns, SDK setup, and configuration references. WHEN: how to instrument app, App Insights SDK, telemetry patterns, what is App Insights, Application Insights guidance, instrumentation examples, APM best practices.
devops
applicationinsights-web-ts
microsoft
Instrument browser/web apps with the Application Insights JavaScript SDK (@microsoft/applicationinsights-web). Use for Real User Monitoring (RUM) — page views, clicks, AJAX/fetch dependencies, exceptions, custom events, and browser-side GenAI agent traces correlated to backend OpenTelemetry traces. Covers SDK Loader Script and npm setup, framework extensions (React, React Native, Angular), Click Analytics, telemetry initializers, and OTel GenAI semantic conventions for agent/tool/model spans emitted from the browser.
devops
azure-ai-anomalydetector-java
microsoft
Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate/multivariate anomaly detection, time-series analysis, or AI-powered monitoring.
development
azure-ai-language-conversations-py
microsoft
Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.
development
azure-ai-ml-py
microsoft
Azure Machine Learning SDK v2 for Python. Use for ML workspaces, jobs, models, datasets, compute, and pipelines. Triggers: "azure-ai-ml", "MLClient", "workspace", "model registry", "training jobs", "datasets".
development