ray

Convert Python workloads into Ray-based distributed execution plans.

2|Updated Oct 16, 2025
One-click install
npx skills add https://github.com/anyscale/keynote-demo-2025 --skill ray
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ray
Source: https://github.com/anyscale/keynote-demo-2025/tree/main/.claude/skills/ray
Command: npx skills add https://github.com/anyscale/keynote-demo-2025 --skill ray

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps software engineers translate Python workloads into scalable Ray-based workflows, simplifying distributed processing, debugging, and performance tuning.

Core Features & Use Cases

  • Code conversion guidance: Convert sequential Python tasks into Ray Data pipelines, Ray Serve endpoints, or Ray Train workloads.
  • Debugging guidance: Diagnose distributed Ray apps with best practices, logging, tracing, and error handling.
  • Performance optimization: Suggest patterns to improve throughput and resource utilization, including when to prefer high-level Ray libraries over Ray Core.

Quick Start

Install Ray with: pip install ray Initialize Ray in your Python script: import ray; ray.init() Convert a Python function to a Ray task: @ray.remote def work(x): return x*x futures = [work.remote(i) for i in range(4)] print(ray.get(futures))

Frequently Asked Questions about ray

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert Python code to run on Ray for distributed execution?

Convert Python workloads to Ray by decorating functions with @ray.remote, replacing sequential calls with .remote() to create futures, and using ray.get() to retrieve results. Ray automatically distributes tasks across your cluster, handling parallelization and scaling without rewriting core logic.

When should I use Ray Data, Ray Serve, or Ray Train instead of Ray Core?

Use Ray's high-level libraries for specific workloads: Ray Data for batch processing and ETL, Ray Serve for online model serving endpoints, Ray Train for distributed training, and Ray Tune for hyperparameter optimization. They abstract complexity and provide optimized patterns; Ray Core is lower-level for custom distributed tasks.

How do I debug distributed Ray applications?

Debug Ray apps using logging with ray.util.logging, the Ray Dashboard for real-time monitoring, and ray.get() with try-except blocks to catch task failures. Enable task profiling and tracing to diagnose performance bottlenecks and pinpoint where errors occur across your cluster.

Can I scale batch processing, ETL, and model inference with Ray?

Yes. Ray Data handles large-scale batch processing and ETL through distributed pipelines. Ray Serve deploys batch inference endpoints, and Ray Train supports distributed inference workloads. Ray automatically manages resource allocation and parallelization across your infrastructure.

What default configurations should I use for Ray deployments?

Start with conservative defaults: set concurrency limits to match your cluster resources, choose batch_size based on memory constraints, and specify GPU usage explicitly to avoid overallocation. Ray provides safe, scalable configurations you can tune after profiling production workloads.

Do I need to refactor dependencies before converting Python to Ray?

Analyze your code structure and dependencies first to identify parallelizable tasks and Ray patterns that fit. Most dependencies work unchanged; Ray runs your functions as-is. Only refactor if dependencies block distribution or require inter-task communication Ray doesn't support.