Source profileQuality 94/100Review permissions

awslabs/agent-plugins/plugins/sagemaker-ai/skills/hyperpod-slurm-debugger/SKILL.md

hyperpod-slurm-debugger

Diagnostic-only skill for Slurm scheduler and node-daemon issues on Amazon SageMaker HyperPod Slurm clusters. Scope mirrors the HyperPod troubleshooting guide. Invoke when the user reports a Slurm node stuck in down/drain, "Node unexpectedly rebooted" after auto-repair, slurmd not running, jobs stuck PENDING with REASON=Resources while sinfo shows idle nodes, jobs stuck COMPLETING after node replacement, GRES/GPU counts wrong, scontrol ping failing, slurmctld unresponsive, an Action:Reboot/Repla

Source repository stars
874
Declared platforms
0
Static risk flags
1
Last source update
2026-08-27
Source checked
2026-08-28

Decision brief

What it does: where it fits

Diagnostic-only. Identify and classify Slurm scheduler and node-daemon issues on HyperPod Slurm clusters. Do not run, recommend, or print any state-mutating command. For remediation, link to the official AWS or Slurm documentation.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/awslabs/agent-plugins --skill "plugins/sagemaker-ai/skills/hyperpod-slurm-debugger"
    Safe inspection promptEditorial

    Inspect the Agent Skill "hyperpod-slurm-debugger" from https://github.com/awslabs/agent-plugins/blob/8b13a503746a4ebb0402b936645163224058bde3/plugins/sagemaker-ai/skills/hyperpod-slurm-debugger/SKILL.md at commit 8b13a503746a4ebb0402b936645163224058bde3. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Procedure

      1. HyperPod cluster name (not Slurm partition name). 2. AWS region. 3. Optional: a specific Slurm node name.

      HyperPod cluster name (not Slurm partition name).AWS region.Optional: a specific Slurm node name.
    2. 02

      Step 1 — Collect inputs

      1. HyperPod cluster name (not Slurm partition name). 2. AWS region. 3. Optional: a specific Slurm node name.

      HyperPod cluster name (not Slurm partition name).AWS region.Optional: a specific Slurm node name.
    3. 03

      Step 2 — Confirm orchestrator

      If Orchestrator.Eks is present, stop. Route per When NOT to invoke.

      If Orchestrator.Eks is present, stop. Route per When NOT to invoke.
    4. 04

      Step 3 — Run the diagnostic script

      bash bash scripts/slurm-diagnose.sh --cluster --region

      bash bash scripts/slurm-diagnose.sh --cluster --region
    5. 05

      Step 4 — Map findings → docs

      For each finding, look up the section in the decision table and link the user to the corresponding AWS / Slurm doc. Do not type out remediation commands.

      For each finding, look up the section in the decision table and link the user to the corresponding AWS / Slurm doc. Do not type out remediation commands.

    Permission review

    Static risk signals and limitations

    Runs scripts

    medium · line 61

    The documentation asks the agent to run terminal commands or scripts.

    ### Step 3 — Run the diagnostic script

    Runs scripts

    medium · line 64

    The documentation asks the agent to run terminal commands or scripts.

    bash scripts/slurm-diagnose.sh --cluster <NAME> --region <REGION>

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score94/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars874SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    awslabs/agent-plugins
    Skill path
    plugins/sagemaker-ai/skills/hyperpod-slurm-debugger/SKILL.md
    Commit
    8b13a503746a4ebb0402b936645163224058bde3
    License
    Apache-2.0
    Collected
    2026-08-28
    Default branch
    main
    View the original SKILL.md

    HyperPod Slurm Debugger

    Diagnostic-only. Identify and classify Slurm scheduler and node-daemon issues on HyperPod Slurm clusters. Do not run, recommend, or print any state-mutating command. For remediation, link to the official AWS or Slurm documentation.

    When to invoke

    Invoke when the user reports any of the symptoms in the decision table.

    When NOT to invoke

    • Cluster has Orchestrator.Eks — invoke hyperpod-node-debugger or hyperpod-nccl.
    • Single-node hardware fault with healthy Slurm scheduler — invoke hyperpod-node-debugger.
    • NCCL training-hang investigation — invoke hyperpod-nccl.
    • Node unreachable via SSM — invoke hyperpod-ssm.

    Constraints

    • Read-only. Do not run, recommend, or print state-mutating commands.
    • For any remediation, link to AWS or Slurm docs. The user authorizes and executes.
    • IaC-managed cluster (Terraform / CloudFormation / CDK): warn that direct mutation drifts the live state from the IaC plan.

    Canonical recovery URLs: references/slurm-details.md → Authoritative recovery documentation.

    Prerequisites

    • AWS CLI v2, authenticated for the target account and region with permissions:
      • sagemaker:DescribeCluster, sagemaker:ListClusterNodes
      • ssm:StartSession on the HyperPod-created SSM document
    • Session Manager plugin installed locally.
    • jq ≥ 1.6.
    • unbuffer (from the expect package). Required — without it aws ssm start-session returns empty stdout intermittently with Cannot perform start session: EOF and every check silently misreports. Install: expect package on Amazon Linux / RHEL / Debian / Ubuntu / macOS. Script exits at prerequisite check if missing.

    Procedure

    Step 1 — Collect inputs

    Ask the user for:

    1. HyperPod cluster name (not Slurm partition name).
    2. AWS region.
    3. Optional: a specific Slurm node name.

    Step 2 — Confirm orchestrator

    aws sagemaker describe-cluster --cluster-name <NAME/ARN> --region <REGION> \
      --query 'Orchestrator' --output json
    

    If Orchestrator.Eks is present, stop. Route per When NOT to invoke.

    Step 3 — Run the diagnostic script

    bash scripts/slurm-diagnose.sh --cluster <NAME> --region <REGION>
    # Scope to a node:
    bash scripts/slurm-diagnose.sh --cluster <NAME> --region <REGION> --node <SLURM_NODE>
    

    Relay the script output to the user verbatim.

    Step 4 — Map findings → docs

    For each finding, look up the section in the decision table and link the user to the corresponding AWS / Slurm doc. Do not type out remediation commands.

    Decision table

    Symptom (sinfo -o "%N %T %30E" or script finding)Section
    Node state = down or down*, reason other than belowA: Node Down
    Node state = down*, Reason = Node unexpectedly rebootedB: Unexpected Reboot
    Jobs PENDING with REASON=Resources while nodes are idleC: Controller State
    Jobs stuck COMPLETING after node replacementC: Controller State
    scontrol ping returns DOWN for the controllerC: Controller State
    GRES (GPU) counts incorrect or not releasedC: Controller State
    state=fail issued but no recovery occurredD: Action Reason Mismatch
    Accounting errors or RPC errors mentioning dbdC: Controller State (slurmdbd)
    slurm.conf edited; new partitions or nodes not visibleC: Controller State (config)
    Job exited on a hardware failure but did not restartE: Auto-resume

    Defaults

    BehaviorDefaultOverride
    Moderead-only — always; no remediation flag existsn/a
    Region$AWS_DEFAULT_REGION, falling back to us-east-1--region <R>
    Scopeall nodes in down / drain / fail / "unexpectedly rebooted"--node <SLURM_NODE_NAME>
    Outputcolorized terminal--no-color
    SSM target formatsagemaker-cluster:<clusterId>_<instanceGroupName>-<instanceId> (derived)n/a
    Controller discovery--controller-group (if set) → SlurmConfig.NodeType=Controllerprovisioning_parameters.json--controller-group <N>

    Error handling

    FailureSkill behaviorRequired user action
    describe-cluster failsPrint AWS error; exit 1Fix credentials/region; verify cluster name
    Cluster has Orchestrator.EksExit 1 with pointer to EKS-side skillsUse hyperpod-node-debugger or hyperpod-nccl
    session-manager-plugin missing / SSM unreachablesinfo returns empty; exit 1Install plugin; verify node InService
    Disk ≥ 95 % full on a down nodeReport finding disk-full-<node>Refer to AWS troubleshooting docs
    Missing jq or awsExit 1 at prerequisite checkInstall per Prerequisites

    A: Node Down

    Node is down because slurmd stopped responding. Causes: slurmd crash, disk full, OOM, network partition, hardware fault.

    Script checks: systemctl is-active slurmd, srun -w <NODE> hostname (RPC layer), disk, memory.

    Link: https://github.com/aws/sagemaker-hyperpod-cluster-setup/blob/troubleshooting-doc-20250917/troubleshoot/index.md

    If node returns to down after a manual resume → escalate to hyperpod-node-debugger.

    Context: references/slurm-details.md § A.


    B: Unexpected Reboot

    Node is down* with Reason "Node unexpectedly rebooted" because slurmd re-registered after an out-of-band reboot. Upstream Slurm behavior, not HyperPod. Node is typically healthy.

    Links:

    If node reboots again within minutes → escalate to hyperpod-node-debugger.

    Context: references/slurm-details.md § B.


    C: Controller State

    slurmctld in-memory state can desync from the on-disk state. A controller restart reloads from StateSaveLocation and clears bad caches. User decides and executes.

    Restart may help:

    SymptomWhy
    PENDING with REASON=Resources, idle nodesRe-evaluates the queue
    Jobs stuck COMPLETING after node replacementController held a reference to the old node
    GRES (GPU, EFA) not released after a job endsResource accounting de-synced
    Nodes stuck Unknown after reboot, slurmd is upRe-registration was not processed
    scontrol ping times outController event loop is hung
    Lost connection to slurmdbd / RPC errorsDBD connection wedged

    Do NOT restart when:

    • HyperPod replacement (Action:Replace) in progress on any node — concurrent changes fail the replacement.
    • Only one compute node is bad — restart slurmd on that node.
    • sinfo and squeue are responsive — problem is elsewhere.
    • journalctl -u slurmctld not reviewed yet — panic / OOM will reproduce.
    • slurm.conf was just edited — try scontrol reconfigure first.

    Folded triggers

    Restart procedure / what's preserved:

    Context: references/slurm-details.md § C.


    D: Action Reason Mismatch

    scontrol update state=fail reason=... was issued with a reason that does not match Action:Reboot or Action:Replace exactly. HyperPod silently ignores anything else. Script detects near-misses on nodes in fail state.

    Required strings (case-sensitive, no whitespace, no punctuation):

    • Action:Reboot
    • Action:Replace

    Link: https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance.html

    Context: references/slurm-details.md § Action reason-string validation.


    E: Auto-resume

    --auto-resume=1 is an srun step option. It re-runs the step after HMA (the Health Monitoring Agent) flags a node and Automatic node recovery replaces it.

    Why it didn't restart the job:

    • Flag on sbatch not srun — per-step; sbatch directives are silently ignored.
    • HMA did not flag the node — failure was application/transient, not hardware. Step exits as a normal Slurm failure.
    • Cluster NodeRecovery is None — faulty nodes are labeled but not replaced.
    • No checkpointing — step restarts from process zero each iteration.
    • AMI predates HMA support (released 2025-09-11) — needs AMI / cluster-software update.

    Link: https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm-auto-resume.html

    Context: references/slurm-details.md § HyperPod auto-resume.


    Escalation

    ConditionNext skill
    Node returns to down shortly after a manual resumehyperpod-node-debugger (hardware)
    slurmd logs contain CUDA / NVIDIA / XID errorshyperpod-node-debugger § G
    Disk full or /dev/shm exhaustedhyperpod-node-debugger § I
    Node unreachable via SSMhyperpod-ssm
    Controller restart does not clear COMPLETING after 2 attemptshyperpod-issue-report + AWS Support

    Frequently asked questions

    What to verify before installation and use

    What does the hyperpod-slurm-debugger source document cover?

    Diagnostic-only. Identify and classify Slurm scheduler and node-daemon issues on HyperPod Slurm clusters. Do not run, recommend, or print any state-mutating command. For remediation, link to the official AWS or Slurm documentation.

    How do I install hyperpod-slurm-debugger?

    The source record exposes this install command: npx skills add https://github.com/awslabs/agent-plugins --skill "plugins/sagemaker-ai/skills/hyperpod-slurm-debugger". Inspect the command and pinned source before running it.

    Which permission-related actions were detected?

    Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.

    Alternatives

    Compare before choosing

    Computed 100147

    oaustegard/claude-skills

    featuring

    Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre

    Computed 10017

    dancingteeth/unified-code-review

    unified-code-review

    Risk-first code review for PRs and branch audits: blast-radius triage, agent-authored discipline (tests first, intent evidence), call-graph pincer for integration defects between modules, then structural code-judo bar. Use when reviewing PRs, auditing agent-written diffs, catching rubber-stamp green CI, or wiring bugs single-file review misses. Prefer over structure-only thermo-nuclear review alone. Do not use for unrelated coding tasks or as an always-on rule.

    Computed 1009

    Postpartum-genushyacinthus29/dotnet-skills

    dotnet-worker-services

    Build long-running .NET background services with `BackgroundService`, Generic Host, graceful shutdown, configuration, logging, and deployment patterns suited to workers and daemons.

    Computed 99241

    enuno/unifi-mcp-server

    unifi-mcp-tool-builder

    Specialized guide for adding new MCP tools to the UniFi MCP Server following project standards, UniFi API patterns, and test-driven development practices. Use when implementing new UniFi Network Controller features as MCP tools.