Skip to content
Agentmart
Submit a tool

crd-check

Use when writing or changing Kubernetes CustomResourceDefinitions, custom resources, operators or controllers, or before upgrading a cluster.

Skill by Srimukh99

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/srimukh99-crd-check

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when writing or changing Kubernetes CustomResourceDefinitions, custom resources, operators or controllers, or before upgrading a cluster. Validates CRD structure, custom resources against their schema, and removed or deprecated Kubernetes APIs.

Use cases: devops, writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/crd-check

What's inside

Skill name
crd-check
Description
Use when writing or changing Kubernetes CustomResourceDefinitions, custom resources, operators or controllers, or before upgrading a cluster. Validates CRD structure, custom resources against their schema, and removed or deprecated Kubernetes APIs.
License
MIT
Instructions
30 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (2)

  • SKILL.md
  • crd_check.py · scripts/

SKILL.md (first lines)

# crd-check

## Do

1. Run `python3 <this skill folder>/scripts/crd_check.py <manifest dirs> --target <cluster version>` (for example `--target 1.30`). Needs PyYAML.
2. For Helm charts, render first with `helm template` and scan the output.
3. Fix every **FAIL**; review every **WARN**.

## What it checks

| Check | Why it matters |
| --- | --- |
| `metadata.name` is `<plural>.<group>`, kind and scope set | The API server rejects the CRD otherwise |
| Exactly one storage version, at least one served | Objects can't be stored or read otherwise |
| Every version has an `openAPIV3Schema` | Required in `apiextensions.k8s.io/v1` |
| Root-level preserve-unknown-fields | Means no validation at all |
| Status field without a status subresource | Controllers and users overwrite each other |
| Multiple versions, different schemas, no conversion | Stored objects break when clients switch versions |
| Custom resources use a defined, served version | Applies fail or use a deprecated version |
| Custom resource fields vs schema | Missing required fields, wrong types, bad enums, and unknown fields that Kubernetes silently drops (usually typos) |
| Removed APIs (for example `batch/v1beta1` CronJob, `policy/v1beta1`) | Manifests fail on upgrade |

## Controller design rules

- Reconcile toward the desired state; never assume the previous step succeeded.
- Use `status.conditions` with `observedGeneration`.
- Use finalizers for external cleanup, and remove them reliably.
- Make reconciles idempotent and safe to run concurrently.

From Srimukh99/rubric, MIT.

More from Srimukh99/rubric

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 2, 2026 (26 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Srimukh99

Cite this page

crd-check skill. Agent Mart. https://agentmart.dev/skills/srimukh99-crd-check (last updated 2026-10-24)