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 bregman-arie/devops-sre-skills --skill triage-service-dnsgit clone --depth 1 https://github.com/bregman-arie/devops-sre-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/bregman-arie/devops-sre-skills/triage-service-dns)<a href="https://agentmods.dev/skills/bregman-arie/devops-sre-skills/triage-service-dns"><img src="https://agentmods.dev/badge/skills/bregman-arie/devops-sre-skills/triage-service-dns/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/bregman-arie/devops-sre-skills/triage-service-dns"><img src="https://agentmods.dev/badge/skills/bregman-arie/devops-sre-skills/triage-service-dns.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.00019 | $0.00508 |
| Opus 5 | $0.00010 | $0.00254 |
| Sonnet 5 | $0.00004 | $0.00102 |
| Haiku 4.5 | $0.00002 | $0.00051 |
Grade A, and why
Triage Kubernetes Service DNS 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 12d 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.
What it actually says
When to use
Use when pods cannot resolve service names (e.g., *.svc.cluster.local) or external DNS intermittently fails.
Preconditions
- You can run commands in a diagnostic pod or an affected pod.
- You can access CoreDNS/kube-dns logs.
Procedure
- Confirm whether the issue is cluster-wide or namespace/workload-specific.
- Validate resolver configuration inside the pod (
/etc/resolv.conf) and search domains. - Query the same name from multiple pods/nodes to identify locality.
- Check CoreDNS health, restarts, and error logs.
- Check network policies and CNI health that might block DNS to the DNS service.
Decision points
- Only one namespace affected: network policy or custom DNS config.
- Only one node affected: node-level networking issues.
- CoreDNS errors/timeouts: capacity, upstream recursion, or misconfiguration.
- NXDOMAIN for a service: confirm the service/endpoints exist.
Verification
- Repeated DNS queries succeed from multiple pods.
- CoreDNS error logs stop increasing.
Rollback / undo
- Revert CoreDNS config changes.
- Revert network policy changes if they widen access unexpectedly.
Escalation
- Platform/network team for CNI or node-level packet loss.
- Service owner if the service/endpoints are missing due to deploy issues.
Examples
kubectl -n <ns> exec <pod> -- cat /etc/resolv.conf
kubectl -n <ns> exec <pod> -- nslookup <service>.<ns>.svc.cluster.local
kubectl -n kube-system logs -l k8s-app=kube-dns --tail=200
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.
- 12d ago First seen · 72 lines · 19 tokens per session scan A 379d2f65c4dd
Triage Kubernetes Service DNS is a skill published in the GitHub repository bregman-arie/devops-sre-skills (22 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 19 tokens to every session and 508 once invoked, about $0.0001 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-30.
Other skills, from other repositories
k8s-incident-triage
Read-only Kubernetes incident triage using kubectl. Accepts natural language or structured input. Produces root-cause hypotheses, evidence, and next-step commands.
networkpolicy-debug
Diagnose NetworkPolicy-related connectivity issues (traffic unexpectedly blocked, default-deny effects, egress blocking DNS). Identifies which NetworkPolicies affect a pod, checks ingress/egress rules, and verifies CNI support.
statefulset-debug
Diagnose StatefulSet rollout and scaling failures (ordered update stuck, OnDelete not updating, partition misconfiguration, PVC binding deadlocks). Checks update strategy, pod ordinal progression, PVC bindings, and ordered startup to identify why a StatefulSet is not progressing.
image-pull-debug
Diagnose container image pull failures (ErrImagePull / ImagePullBackOff). Checks pod status, containerd logs, and events to identify root cause.
pod-pending-debug
Diagnose pod scheduling failures (Pending, Unschedulable). Checks events, node resources, taints, affinity, and PVC bindings to identify why a pod cannot be scheduled.
deployment-rollout-debug
Diagnose Deployment rollout failures (stuck rollouts, ProgressDeadlineExceeded, replica mismatch). Checks rollout status, ReplicaSets, and new pod health to identify why an update is failing.