Vet
atilladeniz/Kubeli
Run vet immediately after ANY logical unit of code changes. An agent skill from atilladeniz/Kubeli.
A skill your agent uses when building a Kubernetes Operator — custom controllers that reconcile CRD state.
$ npx skills add alirezarezvani/claude-skills --skill kubernetes-operator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alirezarezvani/claude-skills kubernetes-operator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/engineering/skills/kubernetes-operator .claude/skills/kubernetes-operator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "kubernetes-operator" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/engineering/skills/kubernetes-operator into .claude/skills/kubernetes-operator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubernetes-operator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/alirezarezvani/claude-skills/tree/main/engineering/skills/kubernetes-operatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add alirezarezvani/claude-skills --skill kubernetes-operator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alirezarezvani/claude-skills kubernetes-operator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/engineering/skills/kubernetes-operator .agents/skills/kubernetes-operator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kubernetes-operator" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/engineering/skills/kubernetes-operator into .agents/skills/kubernetes-operator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubernetes-operator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alirezarezvani/claude-skills --skill kubernetes-operator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alirezarezvani/claude-skills kubernetes-operator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/engineering/skills/kubernetes-operator .cursor/skills/kubernetes-operator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "kubernetes-operator" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/engineering/skills/kubernetes-operator into .cursor/skills/kubernetes-operator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubernetes-operator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/alirezarezvani/claude-skills.git --path engineering/skills/kubernetes-operator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add alirezarezvani/claude-skills --skill kubernetes-operator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alirezarezvani/claude-skills kubernetes-operator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/engineering/skills/kubernetes-operator .gemini/skills/kubernetes-operator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "kubernetes-operator" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/engineering/skills/kubernetes-operator into .gemini/skills/kubernetes-operator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubernetes-operator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install alirezarezvani/claude-skills kubernetes-operatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add alirezarezvani/claude-skills --skill kubernetes-operator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/engineering/skills/kubernetes-operator .github/skills/kubernetes-operator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "kubernetes-operator" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/engineering/skills/kubernetes-operator into .github/skills/kubernetes-operator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubernetes-operator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alirezarezvani/claude-skills --skill kubernetes-operator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alirezarezvani/claude-skills kubernetes-operator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/engineering/skills/kubernetes-operator .opencode/skills/kubernetes-operator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "kubernetes-operator" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/engineering/skills/kubernetes-operator into .opencode/skills/kubernetes-operator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kubernetes-operator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
kubernetes-operatorA skill your agent uses when building a Kubernetes Operator — custom controllers that reconcile CRD state.
Kubernetes Operator is an agent skill from alirezarezvani/claude-skills. Use when building a Kubernetes Operator — custom controllers that reconcile CRD state. Triggers on "build an operator", "CRD design", "reconcile loop", "controller-runtime", "kubebuilder", "operator-sdk", "metacontroller", "KOPF", "operator capability levels", or "custom resource". Ships CRD validator, reconcile-loop linter, and OperatorHub capability auditor (all stdlib Python), 4 references on the operator pattern + CRD design + reconcile patterns + tooling landscape, and a /operator-audit slash command. NOT a…
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts, reference files and assets (for example `assets/crd_template.yaml`, `references/crd_design.md` and `references/operator_pattern.md`).
It sits in DevOps & Cloud, covering Container orchestration. It works with Kubernetes and Python. The repository describes itself as: 380 Claude Code skills & agent skills & plugins (30+ Agents, 70+ custom commands, 380+ skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8… The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 19392f7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Python and Go), which the agent can run.
Shell commands in SKILL.md call:
pythonkubectlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use kubectl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Kubernetes Operator loads about 2.8k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 148 tokens; SKILL.md has 960 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from alirezarezvani/claude-skills at commit 19392f7, republished under its MIT licence (© alirezarezvani). 960 words, ~2,787 tokens.
.claude/skills/kubernetes-operator/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Build operators that reconcile correctly. Most operator bugs are not Kubernetes bugs — they are reconcile-loop bugs: missing finalizers, blocking calls, no requeue on transient errors, status drift, RBAC over-grants. This skill catches them deterministically before they reach a cluster.
helm-chart-buildersenior-devopscloud-securityobserve(actual) → desired = read(spec) → diff(actual, desired) → act → update(status)
↓
requeue / doneOperators that fail are the ones that:
The 3 tools below catch each of these.
SKILL=engineering/kubernetes-operator/skills/kubernetes-operator
# Validate a CRD design
python "$SKILL/scripts/crd_validator.py" --crd config/crd/myapp.yaml
# Lint a Go reconcile function
python "$SKILL/scripts/reconcile_lint.py" --controller controllers/myapp_controller.go
# Score against OperatorHub Capability Levels (1-5)
python "$SKILL/scripts/operator_capability_audit.py" --operator-dir .All stdlib-only. Run with --help.
crd_validator.pyValidates a CRD YAML against operator-pattern best practices.
python scripts/crd_validator.py --crd config/crd/myapp.yaml
python scripts/crd_validator.py --crd config/crd/ --format jsonChecks:
spec.versions[*].subresources.status is set (status subresource)spec.scope is Namespaced (not Cluster) unless explicitly justifiedspec.versions[*].schema.openAPIV3Schema has type definitions (no x-kubernetes-preserve-unknown-fields: true at top level)served: true AND storage: truemetav1.Conditions)Age and Status/Phasereconcile_lint.pyLints a Go controller reconcile function for anti-patterns.
python scripts/reconcile_lint.py --controller controllers/myapp_controller.goChecks (regex-based heuristics):
(ctrl.Result, error) shapereturn ctrl.Result{Requeue: true}, err)client.Update() on the spec object is flagged (controllers should update only status)time.Sleep inside reconcile is flagged (use RequeueAfter)defer after a finalizer addIsConditionTrue / SetCondition calls when conditions present in CRDoperator_capability_audit.pyScores an operator against OperatorHub's 5 Capability Levels.
python scripts/operator_capability_audit.py --operator-dir .Levels:
Reports current level + concrete next steps to advance one level.
Pick a framework based on language and complexity. See references/tooling_landscape.md.
| Framework | Language | Best for | Maintenance |
|---|---|---|---|
| controller-runtime | Go | Production-grade, low-level control | Active (sig-api-machinery) |
| kubebuilder | Go | Standard scaffolding, opinionated | Active (Kubernetes SIGs) |
| operator-sdk | Go / Helm / Ansible | OpenShift / mixed-paradigm teams | Active (Red Hat) |
| metacontroller | Any (webhook-based) | Polyglot teams, avoiding Go | Less active |
| KOPF | Python | Python shops, async-first | Active (community) |
| java-operator-sdk | Java | JVM shops | Active (Red Hat / Java SIG) |
Decision rules:
See references/crd_design.md for full detail. Quick rules:
Ready, Reconciling, Degraded. Each carries a reason and message.v1alpha1 → v1beta1 → v1. Plan a conversion webhook.additionalPrinterColumns for kubectl get. Show Age, Phase, Ready at minimum.See references/reconcile_loop.md for full detail. Quick rules:
ctrl.Result{RequeueAfter: ...} for known transient cases.time.Sleep. No long HTTP calls without context.1. Pick a Group/Version/Kind: e.g., apps.example.com/v1alpha1, kind=MyApp
2. kubebuilder init --domain example.com --repo github.com/org/myapp-operator
3. kubebuilder create api --group apps --version v1alpha1 --kind MyApp
4. Run crd_validator.py on config/crd/bases/apps.example.com_myapps.yaml
→ Fix every WARN before writing controller code
5. Implement the reconcile function (Karpathy principle 2: simplest correct version first)
6. Run reconcile_lint.py on controllers/myapp_controller.go
7. Run operator_capability_audit.py --operator-dir . — confirm L1
8. Test in a kind cluster: kubectl apply -f config/samples/
9. Add status conditions; aim for L2 in the same PR1. Run operator_capability_audit.py --operator-dir <path>
2. Run crd_validator.py --crd config/crd/
3. Run reconcile_lint.py --controller controllers/
4. Triage findings:
- FAIL → block release; fix before next deploy
- WARN → file an issue; fix in next 30 days
5. Document current capability level in README; commit
6. Plan one capability level advancement per quarter1. Identify primary language constraint (team skill)
2. Identify deployment target (vanilla k8s vs OpenShift)
3. Identify operator complexity (single CRD vs multi-CRD vs cluster-wide)
4. Cross-reference with references/tooling_landscape.md
5. Build a 1-week proof-of-concept before committingreferences/operator_pattern.md — what an operator IS, when to use vs alternativesreferences/crd_design.md — CRD design principles, versioning, conversion webhooksreferences/reconcile_loop.md — reconcile patterns, error handling, idempotencyreferences/tooling_landscape.md — framework comparison + decision tree/operator-audit — Run all 3 tools on an operator repo and produce a markdown report.
assets/crd_template.yaml — CRD with status subresource, conditions, finalizer hint, printer columnsassets/reconcile_skeleton.go — Go controller reconcile function with idempotency, conditions, finalizers, requeue patternstime.Sleep(30 * time.Second) inside reconcile — block other reconciles. Use RequeueAfter.r.Client.Update(ctx, obj) to set status — use r.Status().Update(ctx, obj) instead.x-kubernetes-preserve-unknown-fields: true on spec root — defeats validation.A team using this skill should achieve:
crd_validator.py before mergereconcile_lint.py strict mode© alirezarezvani, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (scripts, references, assets) in engineering/skills/kubernetes-operator of alirezarezvani/claude-skills.
Open the folder on GitHubat commit 19392f7
Kubernetes Operator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Kubernetes Operator this skillalirezarezvani/claude-skills | 28k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Vetatilladeniz/Kubeli | 387 | 3 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Alibabacloud Ecs Sec Userspacealiyun/alibabacloud-ecs-troubleshoot-skills | 148 | 1 repos | ~2.6k | Automated safety check: Notes | Apache-2.0 | |
| Dstack Presetsdstackai/dstack | 2.3k | — | ~403 | Automated safety check: Pass | MPL-2.0 | |
| Toolsastronomer/astronomer | 491 | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Dstackdstackai/dstack | 2.3k | — | ~6.2k | Automated safety check: Warn | MPL-2.0 |
atilladeniz/Kubeli
Run vet immediately after ANY logical unit of code changes. An agent skill from atilladeniz/Kubeli.
aliyun/alibabacloud-ecs-troubleshoot-skills
Linux 用户态安全入侵检测与取证工具,专为 AI Agent 设计。自动判断服务器是否被入侵, 提供完整证据链和可执行修复建议。51 个安全分析器覆盖进程/网络/认证/持久化/Rootkit/ 恶意软件/内存取证/容器逃逸等 12 类检测维度,10 个数据采集器全面采集系统状态, 映射 103+ MITRE ATT&CK 技术,支持 standalone/docker/k8s 三种部署模式。
dstackai/dstack
Create and manage dstack presets: a toolkit that streamlines model inference optimization with agents, and a portable preset format.
astronomer/astronomer
A skill your agent uses when writing, editing, or reviewing command-line tools and helper scripts in this repo (things in bin/).
dstackai/dstack
dstack is an open-source control plane for GPU provisioning and orchestration across GPU clouds, Kubernetes, and on-prem clusters.
jjmartres/opencode
A skill your agent uses whenever the user wants to install, configure, or use asdf (asdf-vm), the universal version manager.
alirezarezvani/claude-skills
Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.
alirezarezvani/claude-skills
OKR cascade toolkit for product leaders: generates aligned company-to-team OKRs from five strategy types and scores how well they line up.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.
alirezarezvani/claude-skills
Design AWS architectures for startups using serverless patterns and IaC templates.
alirezarezvani/claude-skills
Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.
alirezarezvani/claude-skills
Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.
Works with
Categories
A skill your agent uses when building a Kubernetes Operator — custom controllers that reconcile CRD state. Kubernetes Operator is an agent skill from alirezarezvani/claude-skills. Use when building a Kubernetes Operator — custom controllers that reconcile CRD state.
Kubernetes Operator fits situations like: building a Kubernetes Operator — custom controllers that reconcile CRD state; build an operator; controller-runtime; operator capability levels.
Run `npx skills add alirezarezvani/claude-skills --skill kubernetes-operator -a claude-code`. Or copy the skill folder (engineering/skills/kubernetes-operator in alirezarezvani/claude-skills) into .claude/skills/kubernetes-operator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alirezarezvani/claude-skills --skill kubernetes-operator -a codex`. Or copy the skill folder (engineering/skills/kubernetes-operator in alirezarezvani/claude-skills) into .agents/skills/kubernetes-operator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alirezarezvani/claude-skills --skill kubernetes-operator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kubernetes-operator, .gemini/skills/kubernetes-operator, .github/skills/kubernetes-operator and .opencode/skills/kubernetes-operator in your project.
Going by SKILL.md and its folder, Kubernetes Operator needs Python and Go for the scripts in its folder and the command-line tools its instructions call (python and kubectl). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Kubernetes Operator is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Kubernetes Operator: Vet (atilladeniz/Kubeli, 387 stars), Alibabacloud Ecs Sec Userspace (aliyun/alibabacloud-ecs-troubleshoot-skills, 148 stars), Dstack Presets (dstackai/dstack, 2.3k stars) and Tools (astronomer/astronomer, 491 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alirezarezvani (a GitHub user) maintains it in alirezarezvani/claude-skills, which has 27,829 GitHub stars. The repository holds 342 skills in this directory. The repository was last updated on August 30, 2026.
Source: alirezarezvani/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.