Skip to content
Back to skills

K8s Deploy Manifest Review

ASecurity

Use when authoring or reviewing Kubernetes manifests for a production

  • 4 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 12, 2026
devopsgokubernetessecurity

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill k8s-deploy-manifest-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of K8s Deploy Manifest Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for K8s Deploy Manifest Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-k8s-deploy-manifest-review/badge)](https://www.skillsdirectory.com/skills/aibot88-k8s-deploy-manifest-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: k8s-deploy-manifest-review
description: Use when authoring or reviewing Kubernetes manifests for a production
  workload. Produces or hardens Deployment, Service, HPA, PDB, NetworkPolicy, and
  ServiceAccount with correct probes, resource bounds, security context, and a
  safe rollout strategy.
---

# Kubernetes Deploy Manifest Review

## When to use

Invoke when shipping a workload to Kubernetes for the first time, when the workload's manifests are being changed materially, or when reviewing inherited manifests for production-readiness. Do not invoke for non-Kubernetes deployments.

## Inputs

- Container image reference (registry + tag/digest).
- Workload type (stateless service assumed; stateful workloads need extra design).
- Replica count, expected resource usage (CPU/memory), HPA targets.
- Network model: which namespaces and external services this workload may reach.

## Output contract

Generated or reviewed manifests MUST conform to:

- [deployment-standards](../../../../../standards/deployment-standards/README.md) — rolling update default; tier-0 services require canary or blue-green; readiness/liveness probes mandatory; rollback artifact declared.
- [security-standards](../../../../../standards/security-standards/README.md) — `runAsNonRoot: true`, `readOnlyRootFilesystem: true`, `allowPrivilegeEscalation: false`, drop ALL capabilities, NetworkPolicy by default, ServiceAccount scoping (not the default SA).
- [observability-standards](../../../../../standards/observability-standards/README.md) — Prometheus scrape annotations or a ServiceMonitor; logs to stdout.
- [naming-conventions](../../../../../standards/naming-conventions/README.md) — resource names `kebab-case`, suffixed by kind when ambiguous.
- Tier classification from [architecture-schema](../../../../../standards/architecture-schema/README.md) drives PDB requirements and replica defaults.

## Process

1. Author or review `Deployment`:
   - `replicas` set; `strategy: RollingUpdate` with `maxSurge: 1, maxUnavailable: 0`.
   - `imagePullPolicy: IfNotPresent`; image pinned by digest when possible.
   - `resources.requests` AND `resources.limits` set on every container.
   - `securityContext`: `runAsNonRoot: true`, `readOnlyRootFilesystem: true`, `allowPrivilegeEscalation: false`, `capabilities: { drop: [ALL] }`.
   - Probes: `startupProbe` (slow start), `readinessProbe` (gate traffic), `livenessProbe` (restart on hang). They must be distinct.
2. Author `Service` (ClusterIP unless explicitly external).
3. Author `HorizontalPodAutoscaler` with min/max replicas and target metrics.
4. Author `PodDisruptionBudget` when replicas > 1 (`minAvailable: 1` or `maxUnavailable: 1`).
5. Author `NetworkPolicy` with default-deny ingress; allow only required peers.
6. Author dedicated `ServiceAccount` (no use of `default`); bind only required RBAC.
7. If reviewing existing manifests, produce `findings.md` categorized Blocker / High / Medium / Low.
8. Emit the manifest set under `k8s/` plus a `deploy.md` summarizing the rollout strategy and rollback procedure.

## Outputs

- `k8s/deployment.yaml`, `service.yaml`, `hpa.yaml`, `pdb.yaml`, `networkpolicy.yaml`, `serviceaccount.yaml`.
- `deploy.md` (rollout + rollback).
- `findings.md` when reviewing existing manifests.

## Quality checks

- [ ] Every container has both `requests` and `limits` set.
- [ ] `startupProbe`, `readinessProbe`, and `livenessProbe` are distinct.
- [ ] `runAsNonRoot: true`, `readOnlyRootFilesystem: true`, all capabilities dropped.
- [ ] `NetworkPolicy` denies by default and lists only required peers.
- [ ] `PodDisruptionBudget` exists for any workload with replicas > 1.
- [ ] No use of the `default` ServiceAccount.

## References

(None in v0.1.)

Files in this skill

  • SKILL.md3.7 KB
  • source.json627 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.