Writing Skills
writing-skills
效率与协作技能,来自 obra/superpowers,查看原文获取完整用途和操作说明。
ray【部署与运维】Use Ray for distributed Python applications, clusters, Data pipelines, Train/Tune experiments, Serve deployments, and RLlib workloads.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this repo skill when a task is about Ray, ray, Ray Core, Ray clusters, Ray Data, Ray Train, Ray Tune, Ray Serve, or RLlib. Ray is a distributed Python runtime plus AI libraries for scalable data processing, training, tuning, serving, and reinforcement learning.
Confirm the user’s workflow and install surface. Prefer narrow extras such as ray[default], ray[data], ray[train], ray[tune], ray[serve], or ray[rllib]; avoid ray[all] unless the user explicitly needs many unrelated Ray libraries.
Run the root environment checker when package state is unclear:
python scripts/check_ray_environment.py --help
python scripts/check_ray_environment.py --require core --require data --json
Route to the focused sub-skill before writing detailed code, commands, configs, or troubleshooting steps.
For cluster-mutating commands such as ray start, ray stop, ray up, ray down, ray job submit, or serve deploy, confirm the target cluster/address and side effects first.
| User task | Read |
|---|---|
Use ray.remote, tasks, actors, ObjectRef, ray.get, ray.wait, resource annotations, object store behavior, or Core anti-patterns | sub-skills/core-runtime/SKILL.md |
Operate clusters with ray CLI, Jobs, dashboard, runtime environments, ray status, ray list, logs, state APIs, or OOM observability | sub-skills/cluster-ops/SKILL.md |
Build ray.data pipelines, load local/cloud data, transform rows/batches, write datasets, tune blocks/concurrency, or debug Data schemas/OOM | sub-skills/data-pipelines/SKILL.md |
Use Ray Train or Tune for distributed training, checkpoints, storage, Tuner, TuneConfig, schedulers, resources, or ResultGrid | sub-skills/train-tune/SKILL.md |
Build, run, deploy, lint, update, or troubleshoot Ray Serve apps, @serve.deployment, Serve YAML, serve run, or serve deploy | sub-skills/serve-deployments/SKILL.md |
Configure RLlib AlgorithmConfig/PPOConfig, Gymnasium envs, EnvRunners, Learners, RLlib checkpoints, or RLlib Tune sweeps | sub-skills/rllib-workloads/SKILL.md |
core-runtime for Python runtime semantics even when a higher-level library starts Ray under the hood.cluster-ops for Jobs, dashboard, state, logs, and runtime environment packaging around any Ray application.data-pipelines for dataset construction before handing training/tuning to train-tune or model serving to serve-deployments.train-tune for generic Tune search spaces, schedulers, resources, result analysis, and storage; use rllib-workloads only for RLlib-specific config/env/algorithm work.serve-deployments for Serve application configs and lifecycle, but route generic cluster startup, dashboard, and node visibility back to cluster-ops.Ray’s Python package is distributed as ray and imports as ray. The source baseline for this skill supports Python >=3.10.
pip install ray
python - <<'PY'
import ray
print(ray.__version__)
PY
Choose extras by workflow:
pip install "ray[default]" # cluster dashboard, jobs, state APIs
pip install "ray[data]" # Ray Data readers/transforms
pip install "ray[train]" # Ray Train
pip install "ray[tune]" # Ray Tune
pip install "ray[serve]" # Ray Serve
pip install "ray[rllib]" torch # RLlib with common PyTorch backend
references/troubleshooting.md for cross-cutting install/import, optional extras, Python version, cluster command safety, and workflow routing failures.references/repo-provenance.md when checking whether this skill is stale relative to a Ray checkout or package version.references/repo-routing-metadata.json is structured import metadata consumed by repo-skills-router during managed import.scripts/check_ray_environment.py checks package metadata, selected imports, optional CLI commands, and common workflow extras without starting a Ray cluster.This skill is Python-focused. Java, C++, LLM extra-extra workflows, heavy benchmarks, release engineering, CI/build infrastructure, cloud credential provisioning, Kubernetes operator deployment authoring, and GPU/service-specific notebooks are recorded as gaps unless the user explicitly asks for those areas and provides the needed environment or platform constraints.