New to Claude Skills? Learn how to install them →

aws on GitHub

Amazon MSK Management

OfficialFree

Streamline your Amazon MSK cluster operations.

by aws2.3k stars on aws/agent-toolkit-for-aws
1 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Amazon MSK Management does

The Amazon MSK Management skill provides essential tools for operating Amazon Managed Streaming for Apache Kafka (MSK) Provisioned clusters, specifically focusing on Standard and Express broker types. This skill is designed for developers and DevOps engineers who need to manage Kafka clusters efficiently, addressing key aspects such as performance troubleshooting, consumer lag diagnosis, storage management, and cluster sizing. By leveraging this skill, users can ensure optimal performance and reliability of their streaming data applications.

One of the primary features of this skill is its ability to execute commands using tools available from the AWS MCP server. This allows for sandboxed execution, audit logging, and observability, which are critical for maintaining security and compliance in production environments. In cases where the MCP server is unavailable, users can fall back on the AWS CLI or shell commands, ensuring flexibility in managing their Kafka clusters.

The skill covers a wide range of operational tasks, including configuring client settings, setting up monitoring and alarms through CloudWatch, and performing maintenance operations such as patching and rolling restarts. Additionally, it provides guidance on the differences between Standard and Express brokers, helping users make informed decisions about which broker type to use based on their specific needs, such as throughput requirements and storage management.

For those looking to integrate streaming data with S3, the skill includes references for setting up Streaming Tables and Data Delivery for General Purpose S3 buckets. This makes it a valuable resource for building data lakes and lakehouses, enabling users to query streaming data effectively. Overall, the Amazon MSK Management skill is an indispensable tool for anyone managing Kafka workloads on AWS, ensuring that they can operate their clusters with confidence and efficiency.

When to use it

Use this skill when you need to manage and optimize Amazon MSK clusters, especially for tasks related to performance, storage, and monitoring.

When not to use it

This skill is not suitable for managing MSK Connect or Replicator tasks; refer to documentation for those functionalities instead.

What you can build with it

Troubleshooting Performance Issues

Use the skill to diagnose high CPU usage and latency problems in your Kafka clusters.

Setting Up Monitoring

Quickly configure CloudWatch alarms and dashboards to monitor your MSK cluster performance.

Managing Storage for Standard Brokers

Utilize the skill to manage EBS storage and retention planning for Standard broker types.

How to install Amazon MSK Management

View source

1. Install with the skills CLI

npx skills add aws/agent-toolkit-for-aws/managing-amazon-msk --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by aws

Amazon MSK

Overview

Domain expertise for operating Amazon MSK Provisioned clusters with Standard and Express broker types. Covers performance troubleshooting, consumer lag diagnosis, storage management, cluster sizing, client configuration, and CloudWatch monitoring.

Execute commands using available tools from the AWS MCP server when connected — it provides sandboxed execution, audit logging, and observability. When the MCP server is not available, fall back to the AWS CLI or shell as needed.

Standard brokers use customer-managed EBS volumes for storage. You choose instance types (kafka.m5/m7g families), provision EBS, and manage storage scaling.

Express brokers provide fully managed, pay-as-you-go storage with no EBS provisioning. They use instance types prefixed with express.m7g, offer up to 3x more throughput per broker, and have no maintenance windows. Express brokers have NO customer-managed EBS — do NOT recommend EBS expansion or provisioned throughput for Express clusters. Express brokers enforce fixed replication factor of 3 and min.insync.replicas=2 — do NOT attempt to create topics with RF=1 on Express. If RF=1 is needed, use Standard brokers.

Which Workflow Do You Need?

Determine the broker type first: aws kafka describe-cluster-v2 --cluster-arn <arn>. Check Provisioned.BrokerNodeGroupInfo.InstanceType — if it starts with express., it is an Express cluster.

Customer IntentReference
High CPU, high latency, slow cluster, traffic shapingtroubleshoot-performance.md
Consumer lag increasing, rebalance storms, stuck consumer groupstroubleshoot-consumer-lag.md
Disk filling up, retention planning, tiered storagemanage-storage.md
Choosing Standard vs Express, sizing a cluster, partition limits, broker count, monthly costsize-and-choose-cluster.md
Producer/consumer configuration, IAM/SCRAM/TLS authconfigure-clients.md
Setting up monitoring, dashboards, alarmsmonitor-and-alarm.md
Full CloudWatch metric list (Standard or Express)Search AWS docs for "MSK CloudWatch metrics Standard brokers" or "MSK CloudWatch metrics Express brokers"
Rolling restart impact, patching, maintenance resiliencemaintenance-operations.md
Deliver streaming data to Apache Iceberg tables on S3 Tables with low cost in a fully managed service (Streaming Tables) — setup, IAM, schema, create/update/delete/list/describe channelsstreaming-tables.md
Deliver topic data to S3 bucket as JSON/ByteArray/String objects with low cost in a fully managed service (Data Delivery for General Purpose S3 buckets) — setup, IAM, output key templates, create/update/delete/list/describe channelsdata-delivery-for-general-purpose-s3.md
Build a lakehouse / data lake from Kafka; make streaming data queryable in Athenastreaming-tables.md
Alternative to Kafka Connect S3 Sink or Amazon Data Firehose for MSK; zero-ops streaming delivery to S3data-delivery-for-general-purpose-s3.md
Streaming Tables / Data Delivery CloudWatch metrics and alarms, DLQ errors, failed deliveries, channel state transitions, freshness lagstreaming-tables-troubleshooting.md
"Can I use Streaming Tables / Data Delivery on MSK Serverless / Standard brokers?" — eligibility routingstreaming-tables.md (answer is always: Express brokers only)

Available scripts

  • scripts/msk_sizing.pyMUST be run for any sizing question (broker count, instance choice, cost). See size-and-choose-cluster.md for the required workflow and script reference.

Guardrail — where this skill's own files live (MCP vs local install)

This skill can be loaded two ways, and they resolve the skill's own bundled files — the references/ documents and the scripts/ files from different places. Determine how the skill was loaded before you read a reference or run a script:

  • Loaded through the AWS MCP retrieve_skill tool call. The skill is not installed on the local filesystem; its reference files and scripts do not exist on disk. You MUST fetch each reference or script through the same retrieve_skill tool by passing the file parameter (for example, file="references/configure-clients.md" or file="scripts/msk_sizing.py"), and run a script from the content that tool returns. Do NOT file_read these paths from the local or working directory, and do NOT search the filesystem for them — they are not there, and any local file that happens to match the name is unrelated to this skill.
  • Installed locally (the skill lives in a local skills directory such as .claude/skills/managing-amazon-msk/, ~/.claude/skills/managing-amazon-msk/, or .kiro/skills/managing-amazon-msk/). Read references and run scripts from the local skill directory using the relative paths shown throughout this documentation.

This distinction applies only to the skill's own packaged files. Every artifact created during a session or supplied by users are read from and written to the user's working directory regardless of how the skill was loaded. Never fetch or write customer data through retrieve_skill.

Common Workflows

Create cluster configuration (server.properties):

The --server-properties argument MUST be a real Kafka properties file with one key=value per line, separated by actual newline (\n) characters — NOT the literal two-character escape sequence \n. The MSK API accepts the bytes as-is; if you pass "k1=v1\nk2=v2" as a single string with escaped newlines, MSK stores ONE invalid property line and the cluster will fail to apply it.

Recommended pattern: write the properties to a local file with real newlines, then pass it via fileb:// so the CLI uploads the raw bytes verbatim. Verify by reading the revision back with describe-configuration-revision and base64-decoding ServerProperties — you should see one property per line.

cat > server.properties <<'EOF'
auto.create.topics.enable=false
default.replication.factor=3
min.insync.replicas=2
unclean.leader.election.enable=false
num.io.threads=32
num.network.threads=16
log.retention.hours=168
EOF

aws kafka create-configuration \
  --name <config-name> \
  --kafka-versions "3.6.0" \
  --server-properties fileb://server.properties

For per-instance-size thread tuning (num.io.threads, num.network.threads) and durability defaults, see size-and-choose-cluster.md and configure-clients.md.

Additional Resources

Frequently asked questions about Amazon MSK Management

Similar skills