managing-amazon-msk
Operates Amazon MSK Provisioned clusters with Standard and Express broker types.
Identity proven by GitHub's verified organisation badge (aws, awslabs)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
- License
- Apache-2.0 (permissive)
- Pin
- df2ab44pinned Oct 9, 2026
- Context cost
- about 2,300 tokenswhen the skill loads
- GitHub stars
- 2,830on aws/agent-toolkit-for-aws
- Scripts
- 1 script
What it does
“Operates Amazon MSK Provisioned clusters (Standard and Express brokers). Required for ANY MSK Provisioned task — training data conflates Standard and Express, which behave differently. Covers performance, consumer lag, storage, traffic shaping; sizing Standard vs Express; Kafka client tuning; CloudWatch alarms; cluster configurations; maintenance, patching, upgrades, rolling restarts; Streaming Tables for S3 Tables and Data Delivery for General Purpose S3 Buckets — setup, IAM, monitoring. Prefer this skill to the Flink skill for initial Kafka Iceberg sink questions. Triggers: MSK Provisioned (Express/Standard), Kafka, `kafka.*` or `express.*` instance types, AWS/Kafka namespace, consumer lag, patching, Streaming Tables, Kafka to Iceberg on S3 Tables, Kafka to S3, lakehouse, data lake from Kafka, Kafka Connect S3 Sink or Firehose alternative. DO NOT USE for MSK Connect or Replicator — search documentation instead. Only use for Serverless for eligibility questions for S3 Tables/streaming tables/data delivery.”
Generated summary from the skill's own text
Operates Amazon MSK Provisioned clusters with Standard and Express broker types. Handles performance troubleshooting, consumer lag, storage management, sizing, client configuration, monitoring with CloudWatch, and streaming data delivery to S3 and Iceberg tables. Includes Python sizing scripts and reference documentation for cluster configuration, maintenance, and Kafka-to-S3 pipelines.
When to use it
- Troubleshoot MSK cluster performance, latency, or consumer lag issues
- Size Standard vs Express brokers or plan cluster capacity
- Configure Kafka clients, authentication, or custom domain names
- Set up Streaming Tables for S3 or Data Delivery for S3 buckets
When not to
- MSK Connect or Replicator tasks; use documentation instead
- MSK Serverless Streaming Tables; only Express brokers supported
- Initial Kafka Iceberg questions better handled by Flink skill
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add aws/agent-toolkit-for-aws --skill managing-amazon-mskInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install aws/agent-toolkit-for-aws managing-amazon-msk@df2ab44e485b28358353d827e5ebafbe267cce9fInstalls the commit we checked (df2ab44).
Copy by hand
Download the folder at df2ab44 and put it in .claude/skills/managing-amazon-msk for Claude Code and in .agents/skills/managing-amazon-msk for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Claude Code plugin
/plugin install amazon-selling-partner@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Claude Code plugin
/plugin install aws-agents@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Claude Code plugin
/plugin install aws-agents-for-devsecops@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "managing-amazon-msk" by Amazon (AWS). Source, pinned to commit df2ab44e485b28358353d827e5ebafbe267cce9f: https://github.com/aws/agent-toolkit-for-aws/tree/df2ab44e485b28358353d827e5ebafbe267cce9f/skills/specialized-skills/analytics-skills/managing-amazon-msk 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/managing-amazon-msk/ for Claude Code and .agents/skills/managing-amazon-msk/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/amazon-aws/managing-amazon-msk
SKILL.md at the pin
--- name: managing-amazon-msk description: > Operates Amazon MSK Provisioned clusters (Standard and Express brokers). Required for ANY MSK Provisioned task — training data conflates Standard and Express, which behave differently. Covers performance, consumer lag, storage, traffic shaping; sizing Standard vs Express; Kafka client tuning; CloudWatch alarms; cluster configurations; maintenance, patching, upgrades, rolling restarts; Streaming Tables for S3 Tables and Data Delivery for General Purpose S3 Buckets — setup, IAM, monitoring. Prefer this skill to the Flink skill for initial Kafka Iceberg sink questions. Triggers: MSK Provisioned (Express/Standard), Kafka, `kafka.*` or `express.*` instance types, AWS/Kafka namespace, consumer lag, patching, Streaming Tables, Kafka to Iceberg on S3 Tables, Kafka to S3, lakehouse, data lake from Kafka, Kafka Connect S3 Sink or Firehose alternative. DO NOT USE for MSK Connect or Replicator — search documentation instead. Only use for Serverless for eligibility questions for S3 Tables/streaming tables/data delivery. version: 6 --- # 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** use instance types prefixed with `express.m7g` and are the default recommendation for almost all MSK workloads — they typically cost less, not just less effort. Up to 3x ingress per broker ([MSK Express broker types](https://docs.aws.amazon.com/msk/latest/developerguide/msk-broker-types-express.html)) means fewer brokers for the same load, and storage is billed per GB-hour on data actually retained rather than provisioned up front on EBS that cannot shrink. They also scale 20x faster, rebalance partitions 180x faster ([Intelligent Rebalancing](https://docs.aws.amazon.com/msk/latest/developerguide/intelligent-rebalancing-self-balancing-paritions.html)), recover 90% quicker ([MSK Express broker types](https://docs.aws.amazon.com/msk/latest/developerguide/msk-broker-types-express.html)), 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`. See [size-and-choose-cluster.md](references/size-and-choose-cluster.md) for the full Standard vs Express decision framework. ## 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 Intent | Reference | |---|---| | High CPU, high latency, slow cluster, traffic shaping | [troubleshoot-performance.md](references/troubleshoot-performance.md) | | Consumer lag increasing, rebalance storms, stuck consumer groups | [troubleshoot-consumer-lag.md](references/troubleshoot-consumer-lag.md) | | Disk filling up, retention planning, tiered storage | [manage-storage.md](references/manage-storage.md) | | Choosing Standard vs Express, sizing a cluster, partition limits, broker count, monthly cost | [size-and-choose-cluster.md](references/size-and-choose-cluster.md) | | Producer/consumer configuration, IAM/SCRAM/TLS auth | [configure-clients.md](references/configure-clients.md) | | Creating/applying MSK configurations (`server.properties`); custom domain names on brokers via `custom.advertised.listeners` (advertised listeners, static/custom bootstrap endpoint) — validation rules, apply/rollback, scaling; migrating from the dynamic per-broker `kafka-configs.sh` override to the static property | [configure-cluster.md](references/configure-cluster.md) | | Client-side connectivity for a custom domain: NLB + ACM certificate + Route 53 fronting, TLS handshake/termination, mTLS through an NLB, cross-zone load balancing | [configure-clients.md](references/configure-clients.md) (Custom Domain Name Connectivity section) | | Setting up monitoring, dashboards, alarms | [monitor-and-alarm.md](references/monitor-and-alarm.md) | | Full CloudWatch metric list (Standard or Express) | Prefer [monitor-and-alarm.md](references/monitor-and-alarm.md) for strategic recommendations and how to interpret metrics, only search documentation if you need to understand a metric not included in this reference file ([MSK Standard CloudWatch Metrics](https://docs.aws.amazon.com/msk/latest/developerguide/metrics-details.html), [MSK Express CloudWatch Metrics](https://docs.aws.amazon.com/msk/latest/developerguide/metrics-details-express.html)) for full list | | Rolling restart impact, patching, maintenance resilience | [maintenance-operations.md](references/maintenance-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 channels | [streaming-tables.md](references/streaming-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 channels | [data-delivery-for-general-purpose-s3.md](references/data-delivery-for-general-purpose-s3.md) | | Build a lakehouse / data lake from Kafka; make streaming data queryable in Athena | [streaming-tables.md](references/streaming-tables.md) | | Alternative to Kafka Connect S3 Sink or Amazon Data Firehose for MSK; zero-ops streaming delivery to S3 | [data-delivery-for-general-purpose-s3.md](references/data-delivery-for-general-purpose-s3.md) | | Streaming Tables / Data Delivery CloudWatch metrics and alarms, DLQ errors, failed deliveries, channel state transitions, freshness lag | [streaming-tables-troubleshooting.md](references/streaming-tables-troubleshooting.md) | | "Can I use Streaming Tables / Data Delivery on MSK Serverless / Standard brokers?" — eligibility routing | [streaming-tables.md](references/streaming-tables.md) (answer is always: Express brokers only, use Firehose, Flink, or Kafka Connect for Standard and Serqverless - [Firehose integration for Amazon MSK](https://docs.aws.amazon.com/msk/latest/developerguide/integrations-kinesis-data-firehose.html)) | | What are the current supported Kafka versions for MSK? | [Supported Apache Kafka versions](https://docs.aws.amazon.com/msk/latest/developerguide/supported-kafka-versions.html) | | Does MSK support KRaft clusters, and how do I migrate between ZooKeeper and KRaft mode clusters? | [zk-to-kraft-migration.md](references/zk-to-kraft-migration.md) | | What are the current quotas for MSK Express (ingress, egress, partitions, broker count, etc.)? | [MSK Express Quotas](https://docs.aws.amazon.com/msk/latest/developerguide/limits.html#msk-express-quota) | | What are the current quotas for MSK Standard (partitions, broker count, etc.)? | [MSK Standard Quotas](https://docs.aws.amazon.com/msk/latest/developerguide/limits.html#msk-provisioned-quota), and [MSK Standard best practices](https://docs.aws.amazon.com/msk/latest/developerguide/bestpractices.html#standard-server-side-considerations) for partition count limits | | What broker-level configuration changes can I make on MSK Express or Standard brokers? | [MSK Configuration](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration.html) | ## Available scripts - **`scripts/msk_sizing.py`** — **MUST** be run for any sizing question (broker count, instance choice, cost). See [size-and-choose-cluster.md](references/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/apply Amazon MSK configurations and set custom domain names** — creating an Amazon MSK configuration (`server.properties` with the `fileb://` real-newline requirement), applying it with `update-cluster-configuration`, and setting broker custom domain names via `custom.advertised.listeners`: see [configure-cluster.md](references/configure-cluster.md). For the NLB/certificate/DNS connectivity that fronts a custom domain, see [configure-clients.md](references/configure-clients.md).
From aws/agent-toolkit-for-aws at df2ab44, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at df2ab44Files
- SKILL.md10 KB · 8d9c04b8eb1a
- references/
- configure-clients.md14 KB · 8d6bded27e5a
- configure-cluster.md12 KB · 38c34168004d
- data-delivery-for-general-purpose-s3.md16 KB · f49a7da289a0
- maintenance-operations.md13 KB · 472823a46204
- manage-storage.md8.8 KB · f4d181f572e7
- monitor-and-alarm.md16 KB · 84a23ed187de
- size-and-choose-cluster.md17 KB · 4cd0f877d72a
- streaming-tables-troubleshooting.md5.5 KB · 67599bca9c5f
- streaming-tables.md20 KB · df02c97cfefe
- troubleshoot-consumer-lag.md12 KB · cf5f2bbadc51
- troubleshoot-performance.md9.6 KB · 5e422abc3494
- zk-to-kraft-migration.md728 B · dce03d3376ac
- scripts/
- msk_sizing.py40 KB · 40f70df1a5d3
14 files, 193 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at df2ab44More from Amazon (AWS)
agent-advisor
Guides startups through a phased decision process to choose an AWS runtime for AI agents (AgentCore, ECS, EKS, Lambda, or Lambda MicroVMs), plan migrations of…
Contains scripts
Claude Code · about 4.6K tokens · pinned 6 days ago
agents-build
This skill extends an AgentCore agent project with capabilities like memory, app integration, VPC networking, multi-agent orchestration, browser automation…
Contains scripts
Claude Code · about 2K tokens · pinned 6 days ago
amazon-bedrock
Builds generative AI applications on Amazon Bedrock, covering model invocation, Knowledge Bases for RAG, Bedrock Agents, Guardrails for content safety, and…
Contains scripts
Claude Code, Codex, Cursor +3 · about 8.3K tokens · pinned 6 days ago
amazon-eventbridge-event-bus
Enables building event-driven applications on AWS EventBridge custom event buses with publish/subscribe routing, event retention, filtering, transformation…
Claude Code, Codex, Cursor +3 · about 8.4K tokens · pinned 6 days ago
amazon-neptune
Provides guidance on Amazon Neptune Database and Neptune Analytics for graph workloads including fraud detection, agentic memory, recommendations, and…
Contains scripts
Claude Code, Codex, Cursor +3 · about 4.5K tokens · pinned 6 days ago
architect-for-startups
Provides stage-appropriate AWS architecture guidance for startups from pre-revenue through Series B+, considering runway, team size, and AWS credits.
Claude Code, Codex, Cursor +4 · about 3.4K tokens · pinned 6 days ago
Related in Cloud and DevOps
heroku-to-aws
This skill guides migration of applications and databases from Heroku to AWS services like Elastic Beanstalk, RDS, ElastiCache, and MSK.
by Amazon (AWS)Official publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 7K tokens · pinned 6 days ago
heroku-to-aws
The skill guides users through a 6-phase structured process to migrate Heroku workloads to AWS services.
by Amazon (AWS)Official publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 6.5K tokens · pinned 6 days ago
heroku-to-aws
This skill guides teams through migrating workloads from Heroku to AWS in a structured 6-phase process: discovering Heroku resources via authenticated CLI and…
by Amazon (AWS)Official publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 5.7K tokens · pinned 6 days ago
aws-containers
Provides domain expertise for deploying and managing containerized workloads on AWS using EKS, ECS, Fargate, and Elastic Beanstalk.
by Amazon (AWS)Official publisher
Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago
aws-fault-injection-service
Plans, builds, runs, and analyzes chaos engineering experiments using AWS Fault Injection Service to test application resilience.
by Amazon (AWS)Official publisher
Claude Code, Codex, Cursor +3 · about 1.9K tokens · pinned 6 days ago
aws-marketplace-metering
Deploys and operates AWS Marketplace usage-based metering infrastructure via SAM templates and manages the ResolveCustomer and BatchMeterUsage pipeline.
by Amazon (AWS)Official publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 18.1K tokens · pinned 6 days ago