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 agentmods add skills/yindia/rootcause/k8s-costnpx skills add yindia/rootcause --skill k8s-costgit clone --depth 1 https://github.com/yindia/rootcauseWrote 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/yindia/rootcause/k8s-cost)<a href="https://agentmods.dev/skills/yindia/rootcause/k8s-cost"><img src="https://agentmods.dev/badge/skills/yindia/rootcause/k8s-cost.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.00000 | $0.02288 |
| Opus 5 | $0.00000 | $0.01144 |
| Sonnet 5 | $0.00000 | $0.00458 |
| Haiku 4.5 | $0.00000 | $0.00229 |
Grade A, and why
k8s-cost 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 6d 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 — 345 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill: k8s-cost
Kubernetes cost optimization framework using usage evidence, right-sizing, autoscaling signal quality, storage hygiene, and node pool efficiency.
This skill focuses on actionable cost reduction without sacrificing reliability.
Trigger Phrases
Use this skill when the user mentions:
- cluster spend too high
- reduce k8s cost
- overprovisioned workloads
- idle resources
- right sizing
- node utilization low
- too many nodes
- expensive node families
- vpa recommendations
- hpa waste or thrashing
- orphaned pvcs
- immediate cost wins
RootCause Tools Allowed
Only use these tool names in this skill:
k8s.resource_usagek8s.best_practicek8s.vpa_debugk8s.hpa_debugk8s.storage_debugk8s.overviewk8s.describek8s.listkarpenter.nodepool_debugkarpenter.nodeclass_debug
Cost Optimization Principles
- Start with utilization truth, not YAML intent.
- Fix biggest waste categories first.
- Separate immediate savings from architecture changes.
- Preserve SLOs while reducing slack.
- Re-run measurements after each change wave.
End-to-End Cost Workflow
Phase 1: Baseline and Scope
Use k8s.overview for macro shape:
namespace: payments
Then use k8s.resource_usage for live pressure:
namespace: payments
includePods: true
includeNodes: true
sortBy: cpu
And run memory view:
namespace: payments
includePods: true
includeNodes: true
sortBy: memory
Capture:
- top pod CPU consumers
- top pod memory consumers
- node utilization spread
- namespaces with low utilization but high reservation
Phase 2: Workload Right-Sizing
For each top consumer and top overprovisioned candidate:
k8s.describeworkload to capture requests/limits.k8s.best_practiceto find missing/unsafe resource config.k8s.vpa_debugfor recommendation baseline.
Example k8s.best_practice:
kind: Deployment
name: payments-api
namespace: payments
Example k8s.vpa_debug:
namespace: payments
name: payments-api-vpa
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.
- 6d ago First seen · 345 lines · 0 tokens per session scan A f717f7731e74
k8s-cost is a skill published in the GitHub repository yindia/rootcause (42 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,288 tokens. 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-30.
Other skills, from other repositories
bazel-k8s-expert
Expert knowledge for deploying Quarkus/Java applications to Kubernetes using Bazel. Covers rulesk8s, Helm, Kustomize, ConfigMaps, Secrets, and health probes.
kubernetes-review
Kubernetes & Cloud-Native Review: Reviews Kubernetes manifests, Helm charts, and cloud-native configurations for security, reliability, resource management, and best practices. Covers pods, deployments, services, ingress, RBAC, network policies, HPA, PDB, security contexts, and GitOps patterns. Use when the user…
kubernetes-operator
Deploy and manage applications on Kubernetes. Covers deployments, services, ingress, HPA, secrets, and production-grade cluster configuration.
securing-helm-chart-deployments
Secure Helm chart deployments by validating chart integrity, scanning templates for misconfigurations, and enforcing security contexts in Kubernetes releases.
k8s-network-policy
Review Kubernetes NetworkPolicies — what is actually permitted to reach a workload, and whether the answer can be trusted. Use when asked what can talk to a pod, whether a namespace is restricted, why traffic is being blocked, or for any security review of cluster network segmentation.
k8s-service-path
Trace the Kubernetes service path — Service to selector to pods to EndpointSlices to readiness, plus Ingress routing. Use when a service is getting no traffic, an ingress is not routing, or someone asks why a workload is unreachable inside a cluster.