Token导航 LogoToken导航TokenDH.com
运维和基础设施需要联网github未标认证来源可访问许可证需确认审计通过

k8s-crd-design-reviewKubernetes CRD 设计审查

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

367

周安装

15

GitHub Stars

公开资料未说明

下载量

119
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:k8s-crd-design-review(Kubernetes CRD 设计审查)
来源仓库:https://github.com/configbutler/skills
仓库路径:skills/k8s-crd-design-review
安装命令:
npx skills add https://github.com/configbutler/skills --skill k8s-crd-design-review
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/configbutler/skills --skill k8s-crd-design-review

简介

k8s-crd-design-review 用于辅助界面设计和视觉规范优化,适合在 Kubernetes CRD 设计中整理页面结构和改进组件层级。

  • 适用于 UI 方案生成和视觉一致性检查的场景。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需确认权限范围和维护状态后再使用。
  • 使用时需结合现有品牌和用户任务,不应只堆装饰元素;涉及真实页面改动时应通过截图检查表现。
  • 具体用法请结合原始 README 文档进一步核验功能细节和使用限制。

SKILL.md

Kubernetes CRD Design Review

Perform a deterministic design + contract review for Kubernetes CRDs (the generated CRD YAML is the compiled API contract).

Inputs

Accept at least one of:

  • CRD YAML (full manifest) or a CRD diff
  • A short description of intended API semantics and controller behavior

If key info is missing, ask for it before concluding compatibility/migration:

  • Whether a controller exists, what it owns, and whether it writes status
  • Whether this is a new API or a change to an existing API
  • Served versions, storage version, and existing clients
  • Whether objects already exist in clusters (migration needed?)
  • Any GitOps/SSA constraints (patch strategy, desired stable identities)

Workflow (always follow this order)

1) Identify scope

  • Identify group, kind(s), version(s), and whether this is new vs change.
  • Identify controller existence and ownership boundaries.
  • If reviewing Go types, confirm which generated CRD YAML(s) correspond to them.

2) Contract integrity checks (spec/status + controller operability)

  • Spec vs status boundary

- spec = user intent / desired state. - status = controller-observed state. - Flag lifecycle/state-machine fields in spec if the controller owns transitions.

  • Require subresources.status when a controller exists and writes status
  • Conditions + observedGeneration

- Recommend status.conditions and status.observedGeneration (Kubernetes conventions; critical for tooling/GitOps correctness). - Model Conditions as a map keyed by type, not a chronological list: prefer schema markers (x-kubernetes-map-type: map with x-kubernetes-list-map-keys: [type]) for SSA/GitOps safety. - Use state-style Condition types (adjectives/past tense: Ready, Degraded, Succeeded; avoid transition names or phases for new APIs). - Include one high-signal summary condition (Ready for long-running; Succeeded for bounded execution). - Ensure each Condition has semantic True/False/Unknown values with consistent meaning. - Remember: status updates via /status subresource use separate RBAC.

See ./references/conditions-and-status.md for deeper semantics.

3) Schema correctness & validation (prevent invalid stored objects)

Use a 3-step validation hierarchy: always exhaust each level before moving to the next.

Step 1: Schema validation (required)

Review the OpenAPI v3 schema (prefer the generated CRD YAML/diff):

  • Required fields for true invariants
  • Enums for constrained strings
  • Defaulting and nullable behavior
  • Type constraints, patterns, min/max bounds
  • Structural schema: ensure spec.preserveUnknownFields: false for strict validation and automatic version conversion
  • Object references & relationships: When a field refers to another Kubernetes object, use structured references (fooRef / fooRefs) per conventions. Name-only references (fooName as string) acceptable only for existing APIs, not new ones. Watch for cross-namespace references (security boundaries) and spec/status leakage.

- Use an object with group, kind, and name - add defaults and enum constraints for group and kind - require name: always - you MAY (very unlikely) add uid: UID is assigned by the API server and is not user-friendly or stable for config. It changes if the object is deleted/recreated, therefore you should not use them in spec, but only for reporting on the status field.

In Kubernetes APIs, users reference objects by name + namespace (or just name when same-namespace). The UID belongs in status/observed state, not desired state.Do only do this if you have a real requirement, name is the 'normal' way to reference a resource.

  • Omit namespace unless you explicitly allow cross-namespace references.
  • Avoid apiVersion in references.
  • dependsOn is an advisable (community) deviation from the fooRefs advise. Use it when you explicitly model a dependency graph and your controller implements full DAG semantics (readiness definition, scope rules, cycle detection). See ./references/object-references.md.
  • Use parentRef only for resources your operator directly manages; do not use it to model general relationships.
  • See ./references/object-references.md for schema examples and deeper guidance.

Step 2: CEL validation (before webhooks)

When cross-field invariants or complex constraints cannot be expressed with basic OpenAPI rules, use CEL (x-kubernetes-validations):

  • Cross-field invalid combinations (e.g., "field A only allowed if field B is set")
  • Exactly-one-of constraints
  • Numeric range relationships between fields
  • Enum dependencies

Best practice: Write minimal, targeted rules with clear error messages. CEL is stateless, auditable, and version-safe—always prefer it to webhooks. See ./references/validation-and-cel.md for examples.

Step 3: Webhooks (only if Steps 1–2 are insufficient)

Only recommend webhooks when schema and CEL cannot express the constraint. This is a significant operational decision. Always double-check first:

  • Can this be expressed with required fields, enums, or patterns?
  • Can this be expressed with CEL (stateless, auditable, version-safe)?
  • Is the webhook truly necessary, or is the controller solving it better?
  • Webhooks add latency, availability risk, and debugging complexity—operational costs often exceed benefits.

If a webhook is necessary:

  • Conversion webhooks: Use only if structural schema conversion insufficient.
  • Validation/mutation webhooks: Configure with explicit timeouts, failurePolicy, and namespaceSelectors.
  • Validate webhook availability and latency in your rollout plan.

See ./references/versioning-and-migrations.md for conversion strategy and ./references/review-template.md for operational checklist.

4) GitOps/SSA ergonomics

Focus on patchability and stable diffs:

  • List semantics for arrays of objects

- If items have stable identity (e.g., name, id), prefer map-like lists (x-kubernetes-list-type: map with x-kubernetes-list-map-keys). - Identify ordering sensitivity and full-array replacement hazards.

See ./references/list-semantics-gitops-ssa.md.

5) Operator UX (kubectl)

Review/add additionalPrinterColumns for operator-facing UX:

  • Ready / health signal
  • Status message / reason
  • Key spec fields
  • Never duplicate AGE (already shown by kubectl).

See ./references/printer-columns.md.

6) Compatibility & migration impact (mandatory)

Always include an explicit compatibility assessment:

  • Classify change as non-breaking vs potentially breaking.
  • Look beyond removals: tightening validation, type changes, list semantic changes, defaulting changes, semantic behavior shifts.
  • If version evolution is involved: plan served versions, conversion webhooks, storage migration, and deprecation playbook.

See ./references/versioning-and-migrations.md.

7) Synthesize output

Follow the output template structure below:

  • Rank risks + explain impact.
  • List actionable changes with snippets.
  • Provide PR-sized improvement plan.
  • Include the PR review template (use ./references/review-template.md as the canonical template).

Output format (always use this template)

What’s good

Top risks (ranked)

  1. — why it matters: …
  2. — why it matters: …
  3. — why it matters: …

Recommended changes (actionable)

  • Change:

- Why: … - Snippet: #...

Compatibility & migration impact (mandatory)

  • Breaking? Yes/No
  • Why:
  • If breaking or risky:

- Migration / deprecation steps: 1. … 2. … - Rollout plan checklist: - … - … - Versioning notes: served versions, storage version, conversion considerations

Minimal improvement plan (PR-sized)


Template reference: Use ./references/review-template.md as the canonical template. Adapt to context while preserving section headings.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.27%
按下载量换算42

Claude

26.63%
按下载量换算32

Cursor

19.68%
按下载量换算23

Gemini CLI

8.64%
按下载量换算10

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills