Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add arjunprabhulal/devops-skills --skill kubernetes-storagegit clone --depth 1 https://github.com/arjunprabhulal/devops-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/arjunprabhulal/devops-skills/kubernetes-storage)<a href="https://agentmods.dev/skills/arjunprabhulal/devops-skills/kubernetes-storage"><img src="https://agentmods.dev/badge/skills/arjunprabhulal/devops-skills/kubernetes-storage.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00098 | $0.01476 |
| Opus 5 | $0.00049 | $0.00738 |
| Sonnet 5 | $0.00020 | $0.00295 |
| Haiku 4.5 | $0.00010 | $0.00148 |
Grade A, and why
kubernetes-storage scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Kubernetes Storage
Kubernetes was designed for stateless, disposable pods, and storage is the layer where that assumption breaks down and has to be bolted back on carefully. A pod can be rescheduled to any node at any time; the volume it depends on has to either follow it there or already be reachable from there — get this wrong and a routine reschedule becomes a data-loss incident.
Treat every PVC as a promise about what happens when the pod above it dies, not just where the bytes live today. The reclaim policy and access mode you pick now decide what happens the day something goes wrong, not the day it's created.
1. Understand the claim as a request, not a guarantee
A PVC asks for a certain size, access mode, and StorageClass; the PV that satisfies it is either
pre-provisioned or, more commonly now, dynamically created by the StorageClass's provisioner. A
Pending PVC almost always means no StorageClass/provisioner can satisfy what was asked for —
capacity, access mode, or a zone constraint that doesn't match available storage.
kubectl get pvc <name> # Pending? check events
kubectl describe pvc <name> # provisioning failure reason
kubectl get storageclass # is the referenced class real, and is one default?
- No default StorageClass and no
storageClassNamespecified means the PVC has nothing to bind to — this is a common first-cluster surprise. - Zonal mismatch: many cloud provisioners create volumes in a specific zone; if the pod gets scheduled to a different zone, attachment fails even though the PV exists.
Done when: every PVC is Bound, or the Pending reason is identified from describe, not
guessed.
2. Match access mode to what the workload actually does
ReadWriteOnce (single node), ReadWriteMany (multiple nodes, needs a filesystem-based backend
like NFS/EFS/Filestore), and ReadOnlyMany are not interchangeable, and picking RWX by default
"just in case" often forces a slower, more expensive storage backend than the workload needs.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 113 lines · 98 tokens per session scan A 20fcfe3d3186
kubernetes-storage is a skill published in the GitHub repository arjunprabhulal/devops-skills (3 stars, last pushed 13d ago), licensed MIT. It adds 98 tokens to every session and 1,476 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
alloydb-basics
Manages clusters, instances, and backups for AlloyDB for PostgreSQL, and integrates with AlloyDB Model Context Protocol (MCP) tools for automated database operations. Use when creating, configuring, or administering AlloyDB databases. Do NOT use for general PostgreSQL instances (e.g. Cloud SQL) or other GCP databases.
gke-app-onboarding
Manages GKE application onboarding, covering containerization, deployment manifests, and migration. Use when onboarding or deploying an application to GKE for the first time, or containerizing an app for GKE. Don't use for general GKE cluster administration or upgrades (use gke-basics or gke-upgrades instead).
google-cloud-storage-fuse
Mounts Cloud Storage buckets as a POSIX file system with Cloud Storage FUSE (gcsfuse). Use when interacting with gcsfuse: decide whether FUSE, native gs:// reads, or Filestore/Managed Lustre fits a workload, deploy tuned mounts on GKE, Compute Engine, or Cloud Run, enable and size file, stat, and list caches, tune…
bigquery-bigframes
Generates Python code using BigQuery DataFrames (BigFrames), the pandas/scikit-learn-style API over BigQuery. Use when writing BigFrames code or doing pandas-style dataframe/ML work against BigQuery (e.g. in a notebook). Don't use for SQL-first workflows or the google-cloud-bigquery client library — use…
bigtable-basics
Assists in provisioning instances/tables, designing performant schemas, and querying data in Bigtable. Use when designing Bigtable row keys, configuring column families, writing SQL queries or client library code (Java, Go, Python) for Bigtable, or diagnosing performance/hotspotting issues. Also use when provisioning…
cloud-databases-onboarding
Guides users through discovering their database requirements, recommends a Google Cloud database based on a recommendation matrix, and assists in database creation. Use when a user asks 'What database service should I use?', 'Help me pick a database', or when a user wants to create a new database on Google Cloud.…