← 返回 Skills 市场
panlm

Eks Workload Best Practice Assessment

作者 panlm · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
32
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install eks-workload-best-practice-assessment
功能描述
Use when assessing or reviewing Kubernetes workloads running on Amazon EKS for best practice compliance, including pod configuration, security posture, obser...
使用说明 (SKILL.md)

EKS Workload Best Practice Assessment

Assess Kubernetes workloads on Amazon EKS against best practices from K8s official documentation and the EKS Best Practices Guide. Covers 8 dimensions: workload configuration, security, observability, networking, storage, EKS platform integration, CI/CD, and image security.

Prerequisites

This skill requires:

  • aws knowledge mcp server tools:
    • aws___search_documentation — search AWS documentation
    • aws___read_documentation — read full documentation pages
    • aws___recommend — get related documentation
  • context7 MCP tools:
    • context7_resolve-library-id — resolve K8s library ID
    • context7_query-docs — query K8s documentation
  • AWS CLI (aws) — configured with read access to the target EKS cluster and ECR
  • kubectl — configured to access the target EKS cluster
  • jq — for parsing JSON output from AWS CLI and kubectl commands

Scope Boundary

This skill focuses on workload-level checks — items that require kubectl or in-cluster inspection. It complements aws-best-practice-research which covers the infrastructure layer (control plane, node groups, addons, etc.).

This Skill (Workload Layer) aws-best-practice-research (Infra Layer)
Pod resource requests/limits Control plane configuration
Probes (liveness/readiness/startup) Node group sizing and AZ distribution
PDB, topology constraints Addon versions
Pod security context, PSA Secrets envelope encryption
Network Policies Cluster networking (VPC, subnets)
Service Accounts, RBAC Authentication mode, Access Entries
Container image scanning GuardDuty EKS protection
HPA/VPA/Karpenter workload config Karpenter/CA infrastructure config

Workflow

Step 1: Confirm Assessment Scope

Determine from user input:

  • Cluster name and AWS Region
  • Assessment scope:
    • Full cluster — assess all namespaces (excluding kube-system, kube-public, kube-node-lease by default)
    • Specific namespaces — user-specified list
    • Specific workloads — user-specified Deployments/StatefulSets
  • Include infrastructure layer? — whether to also invoke aws-best-practice-research for the EKS infrastructure layer and merge results (default: yes)

If the user provides only a cluster name, default to full cluster assessment.

Step 2: Environment Detection & Version Awareness

Run the following commands to detect the environment:

# Cluster info via AWS CLI
aws eks describe-cluster --name {CLUSTER} --region {REGION}

# K8s version
kubectl version --output=json

# Node distribution
kubectl get nodes -o wide --no-headers

Record:

  • K8s server version (e.g., 1.30) — used for version-aware filtering
  • EKS platform version (e.g., eks.15)
  • Node count and AZ distribution
  • Node instance types

Version-aware filtering rules (apply in Step 3):

  • K8s >= 1.25: Check Pod Security Admission (PSA), skip PodSecurityPolicy (PSP)
  • K8s \x3C 1.25: Check PSP, note PSA as upgrade recommendation
  • K8s >= 1.20: Check Startup Probes
  • K8s >= 1.19: Check Topology Spread Constraints
  • K8s >= 1.29 + VPC CNI >= 1.21.1: Check Admin Network Policies
  • EKS with Pod Identity available: Prefer Pod Identity over IRSA

Step 3: Dynamic Best Practice Research

Research the latest best practices using context7 and aws-knowledge-mcp-server. Run all queries sequentially (one at a time) to avoid rate limiting.

For each of the 8 assessment dimensions, execute the search queries defined in references/search-queries.md. The general flow per dimension is:

  1. Query context7 (/websites/kubernetes_io) for K8s official best practices
  2. Query aws-knowledge-mcp-server for EKS-specific best practices
  3. Read key documentation pages from search results (max 2-3 pages per dimension)
  4. Extract check items with specific thresholds and conditions

After all research is complete, merge results with the baseline framework in references/check-dimensions.md to ensure no critical dimension is missed.

Apply version-aware filtering from Step 2 to remove inapplicable items and add version-specific recommendations.

Rate limit protection: If any MCP request returns "Too many requests", wait 5 seconds and retry once. If it fails again, skip and continue. Sequential execution is mandatory.

Step 4: Infrastructure Layer Assessment (Optional)

If infrastructure layer assessment is included (default: yes):

  1. Invoke the aws-best-practice-research skill for the EKS cluster
  2. Store the infrastructure-layer checklist and assessment results
  3. These will be merged into the final report in Step 7

If the user opts out, skip this step.

Step 5: Workload Data Collection

Collect workload configurations using kubectl. Independent commands can run in parallel (they are not subject to MCP rate limits).

See references/kubectl-assessment-commands.md for the complete command list. Key data to collect:

# Core workloads
kubectl get deployments,statefulsets,daemonsets,jobs,cronjobs --all-namespaces -o json

# Pod specifications (within workloads above)
# Already included in the -o json output

# Disruption and scaling
kubectl get pdb,hpa --all-namespaces -o json

# Networking
kubectl get networkpolicies,services,ingresses --all-namespaces -o json

# Security
kubectl get serviceaccounts --all-namespaces -o json
kubectl get clusterrolebindings,rolebindings -o json

# Storage
kubectl get pvc,storageclass -o json

# Namespace labels (for PSA)
kubectl get namespaces -o json

# Events (recent issues)
kubectl get events --all-namespaces --sort-by='.lastTimestamp' -o json

For ECR image scanning (if images are from ECR):

# For each unique ECR image found in workloads
aws ecr describe-image-scan-findings --repository-name {REPO} --image-id imageTag={TAG}
aws ecr describe-repositories --repository-names {REPO}
aws ecr get-lifecycle-policy --repository-name {REPO}

Filter collected data to the assessment scope (namespaces/workloads from Step 1).

Step 6: Per-Dimension Assessment

For each check item from the research phase (Step 3), evaluate every in-scope workload:

Status Meaning
PASS The workload configuration meets or exceeds the recommendation
FAIL The workload configuration does not meet the recommendation
WARN Cannot be fully verified, or partially meets the recommendation
N/A The check does not apply (e.g., storage checks for stateless workloads)

For each finding, record:

  • Check item ID and name
  • Status (PASS/FAIL/WARN/N/A)
  • Actual value observed (not just "not configured")
  • The specific workload(s) affected
  • Version relevance notes (if any)

Step 7: Generate Report and Save to Local File

Generate a single comprehensive report using the template in references/output-template.md and write it directly to a local markdown file.

IMPORTANT — File Writing Rules:

  • Use the Write/file tool (not bash heredoc/echo/cat) to create the report file
  • If the report is too large for a single write, split into sections: write the file with the first half, then use an append/edit operation to add the remaining sections
  • Do NOT output the full report content to the terminal

Use the following file naming convention:

TIMESTAMP=$(TZ=Asia/Shanghai date +%Y-%m-%d-%H-%M-%S)
CLUSTER_SLUG=$(echo "{CLUSTER_NAME}" | tr '[:upper:]' '[:lower:]' | tr ' :/' '-')

Assessment Report — see references/output-template.md

  • Full cluster overview
  • Compliance scorecard with rating scale, top 3 priorities, and quick stats
  • Dimension-by-dimension assessment tables
  • Per-workload detail section
  • Critical issues and prioritized remediation
  • Data sources and reference links
  • Save to: ${TIMESTAMP}-${CLUSTER_SLUG}-assessment-report.md

If infrastructure layer results exist from Step 4, merge them into the report.

After saving, print a brief summary to the terminal listing only:

  • The file path of the generated report
  • Overall compliance score
  • Number of PASS / FAIL / WARN findings

Step 8: Remediation Guidance & Next Steps

After saving the reports, offer:

  • "I can help fix specific FAIL items — which ones would you like to address?"
  • "I can re-run the assessment after remediation to verify improvements."

For Critical Issues (FAIL + High priority), provide:

  • Specific remediation commands or manifest changes
  • Whether the fix requires workload restart or is in-place
  • Impact assessment of the change

Important Guidelines

  • Be comprehensive: The value of this skill is thoroughness. Better to include a check and mark it N/A than to miss it.
  • Always cite sources: Every check item must reference its source (EKS Best Practices Guide, K8s official docs, etc.).
  • Sequential MCP queries: All context7 and aws-knowledge-mcp requests must be sequential. kubectl commands can be parallel.
  • Rate limit protection: Wait 5s and retry once on "Too many requests". Skip on second failure.
  • Version awareness: Always filter checks by detected K8s/EKS version. Never recommend features unavailable in the cluster's version.
  • Actual values in findings: Always report what was observed, not just "not configured". Good: "resources.requests.memory: not set — container has no memory request" Bad: "Memory request missing"
  • Per-workload granularity: Report findings at the individual Deployment/StatefulSet level, not just cluster-wide summaries.
  • Exclude system namespaces by default: Skip kube-system, kube-public, kube-node-lease unless the user explicitly includes them.
  • Respect language: Output in the same language as the user's conversation.
  • Infrastructure vs workload boundary: Never duplicate checks from aws-best-practice-research. This skill handles ONLY what requires kubectl/in-cluster access.
安全使用建议
Use this only with an intentionally scoped EKS/AWS identity. Prefer read-only IAM and Kubernetes RBAC, specify namespaces or workloads when possible, avoid copying the cluster-admin setup commands unless an administrator approves them, and opt out of the infrastructure-layer assessment if you only want workload checks.
功能分析
Type: OpenClaw Skill Name: eks-workload-best-practice-assessment Version: 1.0.0 The skill performs a comprehensive EKS workload assessment using 'kubectl' and 'awscli' to collect cluster-wide configuration data. While the logic in SKILL.md and the commands in references/kubectl-assessment-commands.md are aligned with the stated purpose, the skill is classified as suspicious due to the requirement for broad administrative permissions (specifically suggesting 'AmazonEKSClusterAdminPolicy' in README.md) and the instruction to write detailed reports to local files while suppressing terminal output. Additionally, the documentation mentions 'FIS Pod fault injection actions' which are high-risk behaviors not explicitly defined in the provided assessment workflow.
能力评估
Purpose & Capability
The workload-assessment purpose is coherent and disclosed; it reasonably uses kubectl, AWS CLI, ECR/CloudWatch checks, and documentation lookups, but this gives the agent broad visibility into cluster and image configuration.
Instruction Scope
The workflow defaults to full-cluster assessment if only a cluster name is provided and includes infrastructure-layer assessment by default; this is disclosed, but it expands the review beyond a single namespace or workload.
Install Mechanism
There is no install spec and no executable code; this is an instruction-only skill, and the static scan reported no findings.
Credentials
The README recommends mutating EKS authentication mode and creating access entries, which is broader than the read-only access described as needed for a workload assessment.
Persistence & Privilege
No background persistence is shown, but the suggested EKS Access Entry with cluster-scoped admin policy would create lasting administrative privilege; generated reports are also saved to local files.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install eks-workload-best-practice-assessment
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /eks-workload-best-practice-assessment 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
EKS Workload Best Practice Assessment v1.0.0 - Initial release providing end-to-end workload best practice assessment for EKS Kubernetes clusters. - Assesses workloads against 8 key dimensions: configuration, security, observability, networking, storage, platform integration, CI/CD, and image security. - Implements version-aware checks and dynamic best practice research from Kubernetes and AWS EKS documentation. - Workload data gathering supports cluster-wide, namespace-specific, or workload-targeted scopes. - Optional integration with "aws-best-practice-research" for infrastructure-layer best practices. - Generates a detailed, markdown-formatted assessment report, saved locally per workflow instructions.
元数据
Slug eks-workload-best-practice-assessment
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Eks Workload Best Practice Assessment 是什么?

Use when assessing or reviewing Kubernetes workloads running on Amazon EKS for best practice compliance, including pod configuration, security posture, obser... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 32 次。

如何安装 Eks Workload Best Practice Assessment?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install eks-workload-best-practice-assessment」即可一键安装,无需额外配置。

Eks Workload Best Practice Assessment 是免费的吗?

是的,Eks Workload Best Practice Assessment 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Eks Workload Best Practice Assessment 支持哪些平台?

Eks Workload Best Practice Assessment 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Eks Workload Best Practice Assessment?

由 panlm(@panlm)开发并维护,当前版本 v1.0.0。

💬 留言讨论