Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/llm-d-incubation/llm-d-skillsnpx agentmods add skills/llm-d-incubation/llm-d-skills/configure-wva-autoscaling-llm-dWrote 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/llm-d-incubation/llm-d-skills/configure-wva-autoscaling-llm-d)<a href="https://agentmods.dev/skills/llm-d-incubation/llm-d-skills/configure-wva-autoscaling-llm-d"><img src="https://agentmods.dev/badge/skills/llm-d-incubation/llm-d-skills/configure-wva-autoscaling-llm-d/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/llm-d-incubation/llm-d-skills/configure-wva-autoscaling-llm-d"><img src="https://agentmods.dev/badge/skills/llm-d-incubation/llm-d-skills/configure-wva-autoscaling-llm-d.svg" alt="Reviewed on agentmods" width="80" 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.00068 | $0.07113 |
| Opus 5.5 | $0.00027 | $0.02845 |
| Sonnet 5.5 | $0.00014 | $0.01423 |
| Haiku 4.5 | $0.00007 | $0.00711 |
Grade A, and why
configure-wva-autoscaling-llm-d 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 2mo 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 — 642 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent Behavior Rules
- Follow steps IN ORDER. Never skip or combine steps.
- STOP after each step and ask for explicit permission to proceed to the next step.
- Do NOT modify existing repository code. Cloning a missing repo is allowed. Exception: the kustomize symlink fix in Step 4b is a known bug fix — apply it if needed.
- Use existing skill scripts when possible — see
scripts/SCRIPTS.md. - Before creating any Kubernetes resource, state what will be created and why.
- After each kubectl/make command, run a verification check and report the result before continuing.
Step 1 — Select Target Namespace and Deployments
Ask the user:
"Which Kubernetes namespace should WVA monitor?" (Provide a single namespace, e.g.,
my-llm-ns)
Export the answer:
export WVA_NS=<namespace>
WVA will be deployed into this namespace so it can watch the llm-d workloads there.
Then discover ALL llm-d decode deployments in that namespace:
kubectl get deployment -n $WVA_NS -l llm-d.ai/role=decode -o custom-columns=NAME:.metadata.name,MODEL:.metadata.labels.llm-d\.ai/model-id,REPLICAS:.spec.replicas
If no results, try the alternative label:
kubectl get deployment -n $WVA_NS -l app.kubernetes.io/part-of=llm-d -o custom-columns=NAME:.metadata.name,REPLICAS:.spec.replicas
Also discover EPPs (InferencePool / EndpointPickerPool) and map which deployments each EPP routes to:
kubectl get inferencepool -n $WVA_NS -o custom-columns=NAME:.metadata.name,SELECTOR:.spec.targetPortNumber 2>/dev/null || \
kubectl get endpointpickerpool -n $WVA_NS -o yaml 2>/dev/null
Determine which EPP routes to which decode deployments by inspecting the EPP's selector labels and matching them against the deployments' labels. Deployments served by the same EPP share a single WVA saturation-scaling ConfigMap — their thresholds (kv_cache_threshold, queue_length_threshold, etc.) must be identical. Deployments under different EPPs can have independent thresholds.
What ships with it
21 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- docs/DEPLOY-CONTROLLER.md 3.2 KB
- docs/LOAD-TEST.md 1.4 KB
- docs/REFERENCE.md 4.5 KB
- docs/Troubleshooting.md 27 KB
- evals/evals.json 5.9 KB
- scripts/apply-hpa.sh 6.1 KB runs code
- scripts/configs/configmap-aggressive-saturation.yaml 288 B
- scripts/configs/hpa-basic.yaml 854 B
- scripts/configs/variantautoscaling-basic.yaml 551 B
- scripts/configs/wva-example-balanced.yaml 928 B
- scripts/configs/wva-example-cost-optimized.yaml 901 B
- scripts/configs/wva-example-low-latency.yaml 897 B
- scripts/deploy-wva.sh.template 10 KB
- scripts/detect-accelerator.sh 1.9 KB runs code
- scripts/generate-deploy-script.sh 9.2 KB runs code
- scripts/preflight-check.sh 2.3 KB runs code
- scripts/SCRIPTS.md 15 KB
- scripts/test-wva-scaling.sh 8.6 KB runs code
- scripts/troubleshoot-metrics.sh 1.1 KB runs code
- scripts/troubleshoot-scaling.sh 1.2 KB runs code
- scripts/verify-wva.sh 1.4 KB runs code
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.
- 2mo ago First seen · 642 lines · 68 tokens per session scan A be52135acf06
configure-wva-autoscaling-llm-d is a skill published in the GitHub repository llm-d-incubation/llm-d-skills (7 stars, last pushed 8d ago), licensed Apache-2.0. It adds 68 tokens to every session and 7,113 once invoked, about $0.0003 per session on Opus 5.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.
configure-wva-autoscaling-llm-d compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| configure-wva-autoscaling-llm-dllm-d-incubation/llm-d-skills | Skill | 7 | 8d ago | Apache-2.0 | A | 68 | Claude Code, Codex |
| tensorrt-llmNousResearch/hermes-agent | Skill | 261k | yesterday | MIT | A | 18 | Claude Code, Codex |
| agent-platform-tuninggoogle/skills | Skill | 22k | yesterday | Apache-2.0 | A | 64 | Claude Code, Codex |
| google-cloud-solution-guided-gke-ai-migrationgoogle/skills | Skill | 22k | yesterday | Apache-2.0 | A | 157 | Claude Code, Codex |
| apigee-agent-gateway-governancegoogle/skills | Skill | 22k | yesterday | Apache-2.0 | A | 222 | Claude Code, Codex |
| modalK-Dense-AI/scientific-agent-skills | Skill | 56k | 4d ago | MIT | A | 65 | Claude Code, Codex |
| gke-inferencegoogle/skills | Skill | 22k | yesterday | Apache-2.0 | A | 119 | Claude Code, Codex |