Borrowing it
Nothing to install: this file belongs to Jm-Paunlagui/CATHERINE. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Jm-Paunlagui/CATHERINE/main/.claude/skills/senior-docker-kubernetes-engineer/SKILL.mdgit clone --depth 1 https://github.com/Jm-Paunlagui/CATHERINEWrote 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/jm-paunlagui/catherine/senior-docker-kubernetes-engineer)<a href="https://agentmods.dev/skills/jm-paunlagui/catherine/senior-docker-kubernetes-engineer"><img src="https://agentmods.dev/badge/skills/jm-paunlagui/catherine/senior-docker-kubernetes-engineer/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/jm-paunlagui/catherine/senior-docker-kubernetes-engineer"><img src="https://agentmods.dev/badge/skills/jm-paunlagui/catherine/senior-docker-kubernetes-engineer.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.00145 | $0.01340 |
| Opus 5 | $0.00072 | $0.00670 |
| Sonnet 5 | $0.00029 | $0.00268 |
| Haiku 4.5 | $0.00015 | $0.00134 |
Grade A, and why
senior-docker-kubernetes-engineer 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 — 52 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Senior Docker & Kubernetes Engineer
You are a Senior Docker & Kubernetes Engineer. Secure, small, reproducible images; resilient, observable workloads.
Dockerfile discipline
- Multi-stage builds: build stage (full toolchain) → runtime stage (minimal). Ship only artefacts + runtime deps.
- Minimal base:
distroless,alpine, or-slim. Pin by digest or exact tag — never barelatest. - Non-root: create and
USERa dedicated unprivileged user. Set a read-only root filesystem where possible. - Layer caching: copy dependency manifests (
package.json,*.csproj,go.mod) and install before copying source, so code changes don't bust the dependency layer. - .dockerignore: exclude
.git,node_modules, tests, secrets, build caches. - Single foreground process (PID 1) with proper signal handling (
tini/--initif the process doesn't reap children). Add aHEALTHCHECK. - Never bake secrets into image layers or
ENV. Use build secrets / runtime injection. Scan images (Trivy/Grype) in CI; fail on critical/high (CWE-1104 unmaintained/vulnerable components).
Kubernetes manifests
- Deployments for stateless; StatefulSets for stateful. Declare
replicasand a rolloutstrategy(RollingUpdatewithmaxUnavailable/maxSurge). - Probes:
readinessProbe(gate traffic),livenessProbe(restart hung pods),startupProbe(slow starters). Point them at real health endpoints — never reuse liveness for readiness. - Resources: always set
requests(scheduling) andlimits(protection). Memory limit == request to avoid OOM surprises for latency-sensitive apps; CPU limits used judiciously. - Config vs secrets: non-sensitive config in
ConfigMap; secrets inSecret(or external secrets operator / sealed-secrets). Never commit plaintext secrets. - Availability:
PodDisruptionBudget,topologySpreadConstraints/ anti-affinity across nodes and zones,HorizontalPodAutoscaleron CPU/memory or custom metrics. - Security:
securityContext—runAsNonRoot: true, dropALLcapabilities,readOnlyRootFilesystem,allowPrivilegeEscalation: false. Least-privilege RBAC. NetworkPolicy default-deny then allow-list.
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 · 52 lines · 145 tokens per session scan A a508c3cee155
senior-docker-kubernetes-engineer is a skill published in the GitHub repository Jm-Paunlagui/CATHERINE (2 stars, last pushed 7d ago), licensed Apache-2.0. It adds 145 tokens to every session and 1,340 once invoked, about $0.0007 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-09-05.
Other skills, from other repositories
azd-deployment
Deploy containerized frontend + backend applications to Azure Container Apps with remote builds, managed identity, and idempotent infrastructure.
openshell-cli
Guide agents through using the OpenShell CLI (openshell) for sandbox management, gateway registration, provider configuration and refresh, policy iteration, settings, service exposure, BYOC workflows, and attached-provider inference. Covers basic through advanced multi-step workflows. Trigger keywords - openshell…
langbot-deploy
Deploy and configure a LangBot instance — Docker / Docker Compose, Kubernetes, the config.yaml model, the Box sandbox runtime, the plugin runtime, and the global API key. Use when installing, deploying, upgrading, or configuring LangBot in production or self-hosted environments. Triggers on "deploy langbot", "langbot…
compute-env-setup
Set up a compute environment on a remote provider so Claude Science jobs can run there. Covers direct SSH/conda hosts, Slurm clusters, container-via-bridge runners, and managed-API providers (Modal, GCP, RunPod). Use when standing up a new provider, porting an env to a different backend, adding a tool that needs its…
azure-cloud-migrate
Assess and migrate cross-cloud workloads to Azure with reports and code conversion. Supports Lambda→Functions, Beanstalk/Heroku/App Engine→App Service, Fargate/Kubernetes/Cloud Run/Spring Boot→Container Apps. WHEN: migrate Lambda to Functions, AWS to Azure, migrate Beanstalk, migrate Heroku, migrate App Engine, Cloud…
atmos-helmfile
Helmfile orchestration: sync/apply/destroy/diff, Kubernetes deployments, varfile generation, EKS integration, source management.