Claude Code Plugins

Community-maintained marketplace

Feedback

diagnose-storage-issue

@X-McKay/kubani
1
0

>

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name diagnose-storage-issue
description Diagnose storage and persistent volume issues. Checks PVC binding, storage class configuration, and volume mount status. Use when pods are stuck pending due to volume issues. Keywords: PVC, PV, storage, volume, pending, mount, storage class.
metadata [object Object]

Diagnose Storage Issue

Preconditions

Before applying this skill, verify:

  • PVC name or pod name is known
  • Namespace is specified
  • Storage issue symptoms observed

Actions

1. Get PVC Status

Check PersistentVolumeClaim binding status.

mcp_tool: kubernetes-mcp-server/resources_get
params:
  apiVersion: v1
  kind: PersistentVolumeClaim
  name: $pvc_name
  namespace: $namespace
timeout: 30s

2. Get PV Details

Check bound PersistentVolume if exists.

mcp_tool: kubernetes-mcp-server/resources_list
params:
  apiVersion: v1
  kind: PersistentVolume
timeout: 30s

3. Check Storage Classes

Verify storage class exists and is configured.

mcp_tool: kubernetes-mcp-server/resources_list
params:
  apiVersion: storage.k8s.io/v1
  kind: StorageClass
timeout: 30s

4. Get Pod Volume Mounts

Check pod's volume mount status.

mcp_tool: kubernetes-mcp-server/pods_get
params:
  name: $pod_name
  namespace: $namespace
timeout: 30s

5. Check Events

Look for storage-related events.

mcp_tool: kubernetes-mcp-server/events_list
params:
  namespace: $namespace
timeout: 30s

Success Criteria

The skill succeeds when:

  • PVC status determined (Bound/Pending/Lost)
  • Storage class availability confirmed
  • Root cause identified

Failure Handling

If storage issue cannot be resolved:

  1. Check CSI driver logs
  2. Verify node has available storage
  3. Escalate with volume details

Examples

Input Context:

{
  "pvc_name": "data-volume",
  "namespace": "default",
  "pod_name": "db-pod-abc123"
}

Output:

{
  "pvc_status": "Pending",
  "pv_bound": false,
  "storage_class": "local-path",
  "diagnosis": "No available PV matching storage class requirements",
  "recommendation": "Create PV with matching storage class or use dynamic provisioning"
}