オプション

nemo-mbridge-resiliency

NVIDIA/skills NVIDIA/skills

Megatron Bridgeのトレーニングジョブについて、フォールトトレランス、ストラグラー検出、プリエンプション、プロセス内再起動、および再実行ステートマシンを設定します。

...すべて拡張します
0
更新された時間 2026年9月25日

回復力

Stable docs: @docs/training/resiliency.md, @docs/training/checkpointing.md カード: @skills/nemo-mbridge-resiliency/card.yaml

機能有効化

フォールトトレランス(Slurmのみ)

オプション 1: NeMo Run プラグイン(推奨)

from megatron.bridge.recipes.run_plugins import FaultTolerancePlugin
import nemo_run as run

task = run.Script(...)
run_plugins = [
    FaultTolerancePlugin(
        enable_ft_package=True,
        calc_ft_timeouts=True,
        num_in_job_restarts=3,
        num_job_retries_on_failure=2,
        initial_rank_heartbeat_timeout=1800,
        rank_heartbeat_timeout=300,
    )
]
run.run(task, plugins=run_plugins, executor=executor)
プラグインのパラメータ デフォルト 説明
num_in_job_restarts 3 同一ジョブ内での最大再起動回数
num_job_retries_on_failure 2 失敗時の新規ジョブ起動回数の上限
初期ランク・ハートビート・タイムアウト 1800 最初のハートビートタイムアウト(秒)
rank_heartbeat_timeout 300 2回目以降のハートビートタイムアウト(秒)

オプション 2: 直接設定 + ft_launcher

from megatron.bridge.training.config import FaultToleranceConfig

cfg.ft = FaultToleranceConfig(
    enable_ft_package=True,
    calc_ft_timeouts=True,
    simulate_fault=False,
    simulated_fault_type="random",
)

ft_launcher(torchrunではない)を使用して起動:

export GROUP_RANK=0  # Slurm以外で使用する場合に必要
ft_launcher \
    --rdzv_backend=c10d --rdzv_endpoint=${MASTER_ADDR}:${MASTER_PORT} \
    --nnodes=${NUM_NODES} --nproc-per-node=${NUM_GPUS_PER_NODE} \
    --ft-rank_section_timeouts=setup:600,step:180,checkpointing:420 \
    --ft-rank_out_of_section_timeout=300 \
    your_training_script.py
設定パラメータ デフォルト 説明
enable_ft_package False フォールトトレランスを有効にする
calc_ft_timeouts False 最適なタイムアウトを自動計算する
simulate_fault False テスト用の障害シミュレーションを有効にする
simulated_fault_type "random" "rank_hung"、"rank_killed"、または"random"
simulated_fault_rank なし 障害が発生する特定のランク(Noneの場合は「random」)
simulated_fault_base_delay 0 フォルトをシミュレートする前の基本遅延時間

セクション単位のタイムアウト監視では、セットアップ、トレーニングステップ、チェックポイント、 およびセクション外での時間を個別に監視します。calc_ft_timeouts=True の場合、タイムアウト情報は ft_state.jsonに保存され、その後の実行で利用されます。

NVRx ストラグラー検出

from megatron.bridge.training.config import NVRxStragglerDetectionConfig

cfg.nvrx_straggler = NVRxStragglerDetectionConfig(
    enabled=True,
    report_time_interval=300.0,
    calc_relative_gpu_perf=True,
    calc_individual_gpu_perf=True,
    num_gpu_perf_scores_to_print=5,
    gpu_relative_perf_threshold=0.7,
    gpu_individual_perf_threshold=0.7,
    stop_if_detected=False,
    enable_logging=True,
)
パラメータ デフォルト 説明
有効 False 遅延車両の検出を有効にする
report_time_interval 300.0 ストレイグラーチェックの間隔(秒)
calc_relative_gpu_perf True ランク同士を比較する
calc_individual_gpu_perf True 時間の経過に伴うランクごとの性能低下を追跡する
gpu_relative_perf_threshold 0.7 相対パフォーマンスのしきい値 (0~1)
gpu_individual_perf_threshold 0.7 個別性能のしきい値 (0~1)
stop_if_detected False 遅れのあるノードが見つかった場合にトレーニングを終了する
num_gpu_perf_scores_to_print 5 出力する最高/最低スコアの数
プロファイリング間隔 1 検出器のプロファイリング間隔

プリエンプション

プラグイン (Slurm)

from megatron.bridge.recipes.run_plugins import PreemptionPlugin

plugins = [
    PreemptionPlugin(
        preempt_time=60,
        enable_exit_handler=True,
        enable_exit_handler_for_data_loader=False,
    )
]
プラグインパラメータ デフォルト 説明
preempt_time 60 ジョブ制限時間より前にシグナルを送信する秒数
enable_exit_handler True トレーニング中にシグナルハンドラを有効にする
enable_exit_handler_for_data_loader False データローダーのワーカーに対して有効にする

直接設定

import signal
cfg.train.exit_signal_handler = True
cfg.train.exit_signal = signal.SIGTERM
cfg.train.exit_signal_handler_for_dataloader = False

ステートマシンの再実行 (実験的)

from megatron.bridge.training.config import RerunStateMachineConfig

cfg.rerun_state_machine = RerunStateMachineConfig(
    rerun_mode="validate_results",
    check_for_nan_in_loss=True,
    check_for_spiky_loss=False,
    spiky_loss_factor=10.0,
)
パラメータ デフォルト 説明
rerun_mode "disabled" "disabled","validate_results","report_determinism_stats"
check_for_nan_in_loss True 損失関数内のNaNの有無を確認する
check_for_spiky_loss False 予想外に大きな損失がないか確認する
spiky_loss_factor 10.0 損失が factor * 観測された最大値 を超えた場合にフラグを立てる(大規模なモデルの場合はこの値を大きくする)

終了コード:16 = 曖昧解消のために再開、17 = 検証失敗。

処理中の再起動(実験的機能)

from megatron.bridge.training.config import InProcessRestartConfig

cfg.inprocess_restart = InProcessRestartConfig(
    enabled=True,
    granularity="node",
    soft_timeout=60.0,
    hard_timeout=90.0,
)
パラメータ デフォルト 説明
enabled False プロセス内での再起動を有効にする
active_world_size なし ワークロードを実行するランク(残りはウォームリザーブ)
粒度 "node" 「ノード」または「ランク」再起動の粒度
max_iterations なし 再起動の最大試行回数 (None = 無制限)
soft_timeout 60.0 GIL 解放後のハングを検出する時間 (秒)
hard_timeout 90.0 ハングしたランクを強制終了する(秒)
heartbeat_interval 30.0 ハートビート間隔(秒)
heartbeat_timeout 60.0 ハートビートが検出されない場合のタイムアウト(秒)
barrier_timeout 120.0 分散バリアのタイムアウト (秒)
完了タイムアウト 120.0 完了バリアのタイムアウト (秒)
empty_cuda_cache True 再起動時にCUDAキャッシュをクリアする
max_rank_faults なし 終了に至るまでの最大ランク障害数
monitor_process_logdir なし モニターログの保存先ディレクトリ

必要な環境変数:

export TORCH_CPP_LOG_LEVEL=error
export TORCH_NCCL_RETHROW_CUDA_ERRORS=0
export NCCL_NVLS_ENABLE=0

PyTorch NCCL ウォッチドッグのタイムアウトは、hard_timeout より長く設定する必要があります。NeMo-Run の Slurm エグゼキュータはサポートされていません。srun --kill-on-bad-exit=0 を指定して直接起動してください。

非同期チェックポイントの保存

cfg.checkpoint.async_save = True
cfg.checkpoint.ckpt_format = "torch_dist"

ローカルチェックポイント(NVRx)

cfg.checkpoint.non_persistent_local_ckpt_dir = "/local/scratch/ckpt"
cfg.checkpoint.non_persistent_local_ckpt_algo = "fully_parallel"

コードアンカー

フォールトトレランス

  • 設定:src/megatron/bridge/training/config.py—FaultToleranceConfig
  • 実行時:src/megatron/bridge/training/fault_tolerance.py
  • プラグイン:src/megatron/bridge/recipes/run_plugins.py—FaultTolerancePlugin
  • パフォーマンスプラグイン:scripts/performance/nemo-mbridge-resiliency_plugins.py
  • テスト:tests/unit_tests/training/test_fault_tolerance.py
  • 例:examples/training_features/nemo-mbridge-resiliency/fault_tolerance/

ストラグラー検出

  • 設定:src/megatron/bridge/training/config.py—NVRxStragglerDetectionConfig
  • 実行時:src/megatron/bridge/training/nvrx_straggler.py
  • トレーニングループ:src/megatron/bridge/training/train.py—check_nvrx_straggler_detection
  • テスト:tests/unit_tests/training/test_nvrx_straggler.py、tests/functional_tests/training/test_nvrx_straggler.py
  • 例:examples/training_features/nemo-mbridge-resiliency/straggler_detection/

プロセス内再起動

  • 設定:src/megatron/bridge/training/config.py—InProcessRestartConfig
  • 実行時:src/megatron/bridge/training/inprocess_restart.py
  • エントリポイント:src/megatron/bridge/training/pretrain.py—maybe_wrap_for_inprocess_restart
  • テスト:tests/unit_tests/training/test_inprocess_restart.py、tests/functional_tests/training/test_inprocess_restart.py

プリエンプション

  • プラグイン:src/megatron/bridge/recipes/run_plugins.py—PreemptionPlugin
  • シグナルハンドラ:src/megatron/bridge/training/utils/sig_utils.py
  • テスト:tests/unit_tests/recipes/test_run_plugins.py

ステートマシンの再実行

  • 設定:src/megatron/bridge/training/config.py—RerunStateMachineConfig
  • 初期化:src/megatron/bridge/training/initialize.py—init_rerun_state

チェックポイント

  • 非同期保存:src/megatron/bridge/training/checkpointing.py—schedule_async_save
  • ローカルチェックポイント:src/megatron/bridge/training/checkpointing.py—LocalCheckpointManager
  • テスト:tests/functional_tests/training/test_local_checkpointing.py

注意点

  1. torchrun ではなく ft_launcher: 直接的なFaultToleranceConfigには ft_launcher が必要です。torchrunを使用すると、FT が黙って無効化されます。Slurm 以外の場合は、 GROUP_RANK=0 に設定してください。

  2. 非同期保存には torch_dist が必要:async_save=True は ckpt_format="torch_dist" でのみ動作します。他の形式では、エラー表示なしに失敗するか、エラーが発生します。

  3. IPR + NeMo-Run: インプロセス再起動は、NeMo-Run またはSlurmプリエンプションプラグインと互換性がありません。特定のPyTorch/NCCLバージョン および環境変数が必要です。

  4. NVRx 対 従来のストラグラー: 2 種類の検出器が存在します。NVRx (nvrx_straggler) を使用してください。両方を有効にしないでください。

  5. stop_if_detected のデフォルト設定: NVRx はデフォルトではログを記録しますが、 トレーニングを停止しません。自動終了を行うには、stop_if_detected=Trueに設定してください。

  6. NCCLウォッチドッグとhard_timeout: IPRの場合、NCCLウォッチドッグのタイムアウトは hard_timeoutを上回っている必要があります。そうしないと、PyTorchがリカバリ前にプロセスを強制終了してしまいます。

  7. 再実行ステートマシンはアルファ版です:NaN検出には check_for_nan_in_loss=Trueを使用してくださいが、現時点では完全な再実行ワークフローには依存しないでください。

検証

フォールトトレランス

./examples/training_features/nemo-mbridge-resiliency/fault_tolerance/run_fault_tolerance.sh
./examples/training_features/nemo-mbridge-resiliency/fault_tolerance/run_fault_tolerance.sh --simulate-fault

[FaultTolerance]/[RankMonitorServer]のログ行のうち、timeouts のセクションを含むものを探してください。 シミュレートされた障害により、チェックポイントからの再起動がトリガーされるはずです。

ストラグラーの検出

uv run python -m torch.distributed.run --nproc_per_node=2 \
    examples/training_features/nemo-mbridge-resiliency/straggler_detection/straggler_detection_example.py

ランクごとのスコアを含む、GPU相対パフォーマンスおよびGPU個別パフォーマンスのレポートを確認してください。

非同期チェックポイント

ログ内で「Scheduling async checkpoint save」という記述を確認してください。チェックポイントファイルの書き込み中も、 トレーニングの反復処理は継続されるはずです。

プロセス内再起動

pytest tests/functional_tests/training/test_inprocess_restart.py -v

互換性のある PyTorch/NCCL バージョンが必要です。

GitHubで見る
---
name: nemo-mbridge-resiliency
description: Configure fault tolerance, straggler detection, preemption, in-process restart, and re-run state machine for Megatron Bridge training jobs.
license: Apache-2.0
---

# Resiliency

Stable docs: @docs/training/resiliency.md, @docs/training/checkpointing.md
Card: @skills/nemo-mbridge-resiliency/card.yaml

## Enablement

### Fault tolerance (Slurm only)

#### Option 1: NeMo Run plugin (recommended)

```python
from megatron.bridge.recipes.run_plugins import FaultTolerancePlugin
import nemo_run as run

task = run.Script(...)
run_plugins = [
    FaultTolerancePlugin(
        enable_ft_package=True,
        calc_ft_timeouts=True,
        num_in_job_restarts=3,
        num_job_retries_on_failure=2,
        initial_rank_heartbeat_timeout=1800,
        rank_heartbeat_timeout=300,
    )
]
run.run(task, plugins=run_plugins, executor=executor)
```

| Plugin parameter | Default | Description |
|---|---|---|
| `num_in_job_restarts` | 3 | Max restarts within same job |
| `num_job_retries_on_failure` | 2 | Max new job launches on failure |
| `initial_rank_heartbeat_timeout` | 1800 | First heartbeat timeout (seconds) |
| `rank_heartbeat_timeout` | 300 | Subsequent heartbeat timeout (seconds) |

#### Option 2: Direct config + ft_launcher

```python
from megatron.bridge.training.config import FaultToleranceConfig

cfg.ft = FaultToleranceConfig(
    enable_ft_package=True,
    calc_ft_timeouts=True,
    simulate_fault=False,
    simulated_fault_type="random",
)
```

Launch with `ft_launcher` (not `torchrun`):

```bash
export GROUP_RANK=0  # required for non-Slurm
ft_launcher \
    --rdzv_backend=c10d --rdzv_endpoint=${MASTER_ADDR}:${MASTER_PORT} \
    --nnodes=${NUM_NODES} --nproc-per-node=${NUM_GPUS_PER_NODE} \
    --ft-rank_section_timeouts=setup:600,step:180,checkpointing:420 \
    --ft-rank_out_of_section_timeout=300 \
    your_training_script.py
```

| Config parameter | Default | Description |
|---|---|---|
| `enable_ft_package` | False | Enable fault tolerance |
| `calc_ft_timeouts` | False | Auto-compute optimal timeouts |
| `simulate_fault` | False | Enable fault simulation for testing |
| `simulated_fault_type` | `"random"` | `"rank_hung"`, `"rank_killed"`, or `"random"` |
| `simulated_fault_rank` | None | Specific rank to fault (random if None) |
| `simulated_fault_base_delay` | 0 | Base delay before simulating fault |

Section-based timeout monitoring covers setup, training steps, checkpointing,
and out-of-section time independently. Timeouts are saved to `ft_state.json`
for subsequent runs when `calc_ft_timeouts=True`.

### NVRx straggler detection

```python
from megatron.bridge.training.config import NVRxStragglerDetectionConfig

cfg.nvrx_straggler = NVRxStragglerDetectionConfig(
    enabled=True,
    report_time_interval=300.0,
    calc_relative_gpu_perf=True,
    calc_individual_gpu_perf=True,
    num_gpu_perf_scores_to_print=5,
    gpu_relative_perf_threshold=0.7,
    gpu_individual_perf_threshold=0.7,
    stop_if_detected=False,
    enable_logging=True,
)
```

| Parameter | Default | Description |
|---|---|---|
| `enabled` | False | Enable straggler detection |
| `report_time_interval` | 300.0 | Seconds between straggler checks |
| `calc_relative_gpu_perf` | True | Compare ranks against each other |
| `calc_individual_gpu_perf` | True | Track per-rank degradation over time |
| `gpu_relative_perf_threshold` | 0.7 | Threshold for relative performance (0-1) |
| `gpu_individual_perf_threshold` | 0.7 | Threshold for individual performance (0-1) |
| `stop_if_detected` | False | Terminate training on straggler |
| `num_gpu_perf_scores_to_print` | 5 | Number of best/worst scores to print |
| `profiling_interval` | 1 | Profiling interval for detector |

### Preemption

#### Plugin (Slurm)

```python
from megatron.bridge.recipes.run_plugins import PreemptionPlugin

plugins = [
    PreemptionPlugin(
        preempt_time=60,
        enable_exit_handler=True,
        enable_exit_handler_for_data_loader=False,
    )
]
```

| Plugin parameter | Default | Description |
|---|---|---|
| `preempt_time` | 60 | Seconds before job limit to send signal |
| `enable_exit_handler` | True | Enable signal handler in training |
| `enable_exit_handler_for_data_loader` | False | Enable for dataloader workers |

#### Direct config

```python
import signal
cfg.train.exit_signal_handler = True
cfg.train.exit_signal = signal.SIGTERM
cfg.train.exit_signal_handler_for_dataloader = False
```

### Re-run state machine (experimental)

```python
from megatron.bridge.training.config import RerunStateMachineConfig

cfg.rerun_state_machine = RerunStateMachineConfig(
    rerun_mode="validate_results",
    check_for_nan_in_loss=True,
    check_for_spiky_loss=False,
    spiky_loss_factor=10.0,
)
```

| Parameter | Default | Description |
|---|---|---|
| `rerun_mode` | `"disabled"` | `"disabled"`, `"validate_results"`, `"report_determinism_stats"` |
| `check_for_nan_in_loss` | True | Check for NaN in loss |
| `check_for_spiky_loss` | False | Check for unexpectedly large loss |
| `spiky_loss_factor` | 10.0 | Loss flagged if > factor * max observed (increase for large models) |

Exit codes: 16 = resume to disambiguate, 17 = failed validation.

### In-process restart (experimental)

```python
from megatron.bridge.training.config import InProcessRestartConfig

cfg.inprocess_restart = InProcessRestartConfig(
    enabled=True,
    granularity="node",
    soft_timeout=60.0,
    hard_timeout=90.0,
)
```

| Parameter | Default | Description |
|---|---|---|
| `enabled` | False | Enable in-process restart |
| `active_world_size` | None | Ranks executing workload (rest are warm reserves) |
| `granularity` | `"node"` | `"node"` or `"rank"` restart granularity |
| `max_iterations` | None | Max restart attempts (None = unlimited) |
| `soft_timeout` | 60.0 | Detect GIL-released hangs (seconds) |
| `hard_timeout` | 90.0 | Force-terminate hung ranks (seconds) |
| `heartbeat_interval` | 30.0 | Heartbeat interval (seconds) |
| `heartbeat_timeout` | 60.0 | Missing heartbeat timeout (seconds) |
| `barrier_timeout` | 120.0 | Distributed barrier timeout (seconds) |
| `completion_timeout` | 120.0 | Completion barrier timeout (seconds) |
| `empty_cuda_cache` | True | Clear CUDA cache during restart |
| `max_rank_faults` | None | Max rank faults before terminating |
| `monitor_process_logdir` | None | Directory for monitor logs |

Required environment variables:

```bash
export TORCH_CPP_LOG_LEVEL=error
export TORCH_NCCL_RETHROW_CUDA_ERRORS=0
export NCCL_NVLS_ENABLE=0
```

The PyTorch NCCL watchdog timeout must exceed `hard_timeout`. NeMo-Run's
Slurm Executor is not supported; launch directly with `srun --kill-on-bad-exit=0`.

### Async checkpoint save

```python
cfg.checkpoint.async_save = True
cfg.checkpoint.ckpt_format = "torch_dist"
```

### Local checkpointing (NVRx)

```python
cfg.checkpoint.non_persistent_local_ckpt_dir = "/local/scratch/ckpt"
cfg.checkpoint.non_persistent_local_ckpt_algo = "fully_parallel"
```

## Code Anchors

### Fault tolerance
- Config: `src/megatron/bridge/training/config.py` — `FaultToleranceConfig`
- Runtime: `src/megatron/bridge/training/fault_tolerance.py`
- Plugin: `src/megatron/bridge/recipes/run_plugins.py` — `FaultTolerancePlugin`
- Perf plugin: `scripts/performance/nemo-mbridge-resiliency_plugins.py`
- Tests: `tests/unit_tests/training/test_fault_tolerance.py`
- Example: `examples/training_features/nemo-mbridge-resiliency/fault_tolerance/`

### Straggler detection
- Config: `src/megatron/bridge/training/config.py` — `NVRxStragglerDetectionConfig`
- Runtime: `src/megatron/bridge/training/nvrx_straggler.py`
- Train loop: `src/megatron/bridge/training/train.py` — `check_nvrx_straggler_detection`
- Tests: `tests/unit_tests/training/test_nvrx_straggler.py`, `tests/functional_tests/training/test_nvrx_straggler.py`
- Example: `examples/training_features/nemo-mbridge-resiliency/straggler_detection/`

### In-process restart
- Config: `src/megatron/bridge/training/config.py` — `InProcessRestartConfig`
- Runtime: `src/megatron/bridge/training/inprocess_restart.py`
- Entry point: `src/megatron/bridge/training/pretrain.py` — `maybe_wrap_for_inprocess_restart`
- Tests: `tests/unit_tests/training/test_inprocess_restart.py`, `tests/functional_tests/training/test_inprocess_restart.py`

### Preemption
- Plugin: `src/megatron/bridge/recipes/run_plugins.py` — `PreemptionPlugin`
- Signal handler: `src/megatron/bridge/training/utils/sig_utils.py`
- Tests: `tests/unit_tests/recipes/test_run_plugins.py`

### Re-run state machine
- Config: `src/megatron/bridge/training/config.py` — `RerunStateMachineConfig`
- Init: `src/megatron/bridge/training/initialize.py` — `init_rerun_state`

### Checkpointing
- Async save: `src/megatron/bridge/training/checkpointing.py` — `schedule_async_save`
- Local ckpt: `src/megatron/bridge/training/checkpointing.py` — `LocalCheckpointManager`
- Tests: `tests/functional_tests/training/test_local_checkpointing.py`

## Pitfalls

1. **ft_launcher, not torchrun**: Direct `FaultToleranceConfig` requires
   `ft_launcher`. Using `torchrun` silently disables FT. For non-Slurm,
   set `GROUP_RANK=0`.

2. **Async save requires torch_dist**: `async_save=True` only works with
   `ckpt_format="torch_dist"`. Other formats silently fail or error.

3. **IPR + NeMo-Run**: In-process restart is not compatible with NeMo-Run
   or Slurm preemption plugins. Requires specific PyTorch/NCCL versions
   and env vars.

4. **NVRx vs legacy straggler**: Two detectors exist. Use NVRx
   (`nvrx_straggler`); do not enable both.

5. **stop_if_detected default**: NVRx logs but does not stop training by
   default. Set `stop_if_detected=True` for automatic termination.

6. **NCCL watchdog vs hard_timeout**: For IPR, NCCL watchdog timeout must
   exceed `hard_timeout` or PyTorch kills the process before recovery.

7. **Rerun state machine is alpha**: Use `check_for_nan_in_loss=True` for
   NaN detection, but don't rely on full rerun workflows yet.

## Verification

### Fault tolerance
```bash
./examples/training_features/nemo-mbridge-resiliency/fault_tolerance/run_fault_tolerance.sh
./examples/training_features/nemo-mbridge-resiliency/fault_tolerance/run_fault_tolerance.sh --simulate-fault
```
Look for `[FaultTolerance]` / `[RankMonitorServer]` log lines with section
timeouts. Simulated fault should trigger restart from checkpoint.

### Straggler detection
```bash
uv run python -m torch.distributed.run --nproc_per_node=2 \
    examples/training_features/nemo-mbridge-resiliency/straggler_detection/straggler_detection_example.py
```
Look for `GPU relative performance` and `GPU individual performance` reports
with per-rank scores.

### Async checkpoint
Look for `Scheduling async checkpoint save` in logs. Training iterations
should continue while checkpoint files are being written.

### In-process restart
```bash
pytest tests/functional_tests/training/test_inprocess_restart.py -v
```
Requires compatible PyTorch/NCCL versions.

すべてのファイル

6件のファイル

nemo-mbridge-resiliencyをインストール

スキルファイルをダウンロードし、.claude/skills/ ディレクトリに解凍してください。

ZIPをダウンロード

リポジトリをクローンし、スキルファイルをプロジェクトにコピーしてください。

git clone https://github.com/NVIDIA/skills/tree/main/skills/nemo-mbridge-resiliency # Copy SKILL.md to your .claude/skills/ directory

コピー コピー
クイックセットアップ: スキルフォルダを .claude/skills/ にコピーしてください。 Claude が自動的にそのスキルを検出して使用します。
リポジトリ NVIDIA/skills

関連スキル

web-search
更新された時間 2026年6月29日
webapp-testing
更新された時間 2026年6月29日
lark-base
更新された時間 2026年7月5日
agentmail
更新された時間 2026年6月29日
OR