distributed-triage

Sub-triage PyTorch distributed training issues by routing to sub-oncalls and classifying modules.

103k|29.1k|Updated Aug 13, 2016
One-click install
npx skills add https://github.com/pytorch/pytorch --skill distributed-triage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: distributed-triage
Source: https://github.com/pytorch/pytorch/tree/main/.claude/skills/distributed-triage
Command: npx skills add https://github.com/pytorch/pytorch --skill distributed-triage

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Issues routed to the oncall: distributed queue in PyTorch require second-level triage to determine the correct distributed sub-oncall (parallelisms, infra, or checkpointing) and the specific module affected. This Skill automates that classification so the right team can pick up the issue quickly.

Core Features & Use Cases

  • Sub-Oncall Routing: Assigns exactly one of three distributed sub-oncall labels based on issue content (FSDP/DDP/DTensor → parallelisms; c10d/NCCL/elastic → infra; DCP → checkpointing).
  • Module Classification: Applies module: labels such as module: fsdp, module: ddp, module: dtensor, module: nccl, module: c10d, and others using keyword and stack-trace signals.
  • Mislabel Detection: Flags issues that are not actually distributed (single-GPU bugs, build errors, pure torch.compile issues) for human re-routing.
  • Use Case: When a new issue arrives in the oncall: distributed queue, this Skill reads the title, body, and comments, decides whether it is truly distributed, routes it to the correct sub-oncall, and applies the appropriate module labels with confidence calibration.

Quick Start

Triage the GitHub issue #12345 in the oncall:distributed queue by routing it to the correct distributed sub-oncall and applying the appropriate module labels.

Frequently Asked Questions about distributed-triage

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

FAQPage Schema
How do I triage PyTorch distributed training issues automatically?

Use the distributed-triage skill to read the issue, determine if it is truly distributed, route it to one of three sub-oncalls (parallelisms, infra, checkpointing), and apply module labels such as module: fsdp or module: nccl based on keyword and stack-trace signals.

What is the difference between FSDP, DDP, and DTensor issues?

FSDP issues involve FullyShardedDataParallel and sharding strategies, DDP issues involve DistributedDataParallel and gradient synchronization, and DTensor issues involve distribute_tensor and placements. FSDP2 issues that hit DTensor bugs should receive both module: fsdp and module: dtensor labels.

How to route an NCCL timeout during FSDP training?

Route NCCL timeouts during FSDP training to oncall: distributed infra, not parallelisms. The NCCL timeout is the bug, while FSDP is just the user context. Apply module: nccl alongside the sub-oncall label.

When should an issue be flagged as not distributed?

Flag issues as not distributed when they involve single-GPU bugs with no distributed code, build or packaging errors like undefined symbol at import torch, pure torch.compile failures, or domain library issues that merely mention distributed. Add triage review and post the not_distributed template.

Can torch.compile and distributed issues be triaged together?

Yes. If the error is in the compiler when compiling distributed ops, label oncall: pt2 plus the relevant distributed module label. If the error is in the distributed runtime after compilation, keep the distributed labels and preserve oncall: pt2 if already applied.

What labels should not be applied during distributed triage?

Do not apply high priority directly, do not remove existing labels such as oncall: distributed or oncall: pt2, do not close issues, and do not assign issues to users. Only apply labels listed in distributed-labels.json.