Skip to main content
skill CX Codex

managing-amazon-kinesis-data-streams — Claude Code skill: KDS to S3

A skill for Amazon Kinesis Data Streams that sets up delivery from a stream into Iceberg tables on S3 Tables or plain S3 buckets.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aws/agent-toolkit-for-aws --skill managing-amazon-kinesis-data-streams -a claude-code
Open on GitHub

What managing-amazon-kinesis-data-streams does

The skill hands your agent working knowledge of streaming tables and Amazon S3 delivery. That means serverless delivery from a KDS stream straight into Apache Iceberg tables on S3 Tables, or into general-purpose S3 buckets. No consumers, no Firehose, no Flink for append-only delivery.

Delivery is configured as a channel on a stream through CreateChannel. Channels take no shard capacity and no enhanced fan-out slots, so they do not compete with consumers you already run. The skill walks through channel setup, IAM, Glue schemas, output key templates, CloudWatch metrics and alarms, DLQ handling, quotas and troubleshooting. The AWS MCP server is the recommended way to run operations; without it, use the AWS CLI.

Both destinations need an ON_DEMAND stream, since provisioned mode is not supported. You also need an IAM service execution role trusted by kinesis.amazonaws.com and a destination in the same Region as the stream. Check the hard limits before you design anything: append-only, no CDC or deletes, no schema evolution, no backfill, no transformations, one new table per channel, and data freshness of 300–900 seconds. A schema change means deleting the channel and creating it again. If any of that blocks you, the skill points to Managed Service for Apache Flink instead.

What it helps with

  • set up delivery from a KDS stream into Iceberg tables on S3 Tables
  • create a channel on a stream with CreateChannel without disturbing existing consumers
  • grant the IAM role the delivery needs
  • debug a channel stuck in ACTIVE with no data arriving
  • add CloudWatch alarms on data freshness

Example prompts for the agent

  • Set up delivery from my Kinesis stream into an Iceberg table on S3 Tables
  • The channel is active but no records show up — check the DLQ and data freshness
  • Create a channel on my stream that writes to an S3 bucket with a date-based key template

How to install managing-amazon-kinesis-data-streams

1Skills CLI (Vercel)

npx skills add aws/agent-toolkit-for-aws --skill managing-amazon-kinesis-data-streams -a claude-code

2Manually: put the files in place

~/.claude/skills/managing-amazon-kinesis-data-streams/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/managing-amazon-kinesis-data-streams/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about managing-amazon-kinesis-data-streams

How do I install managing-amazon-kinesis-data-streams in Claude?

Run npx skills add aws/agent-toolkit-for-aws --skill managing-amazon-kinesis-data-streams -a claude-code. The skill lands at ~/.claude/skills/managing-amazon-kinesis-data-streams/SKILL.md.

What does managing-amazon-kinesis-data-streams do?

It helps your agent configure delivery from Amazon Kinesis Data Streams into Apache Iceberg on S3 Tables or into general-purpose S3 buckets, covering channels, IAM, schemas, metrics and failure triage.

Does it cover Kinesis Data Firehose or Managed Service for Apache Flink?

No. Firehose, Kinesis Video Streams and Managed Service for Apache Flink need dedicated skills or the AWS documentation.

Source text

SKILL.md · Apache-2.0
---
name: managing-amazon-kinesis-data-streams
description: >-
  Operates Amazon Kinesis Data Streams (KDS). Covers streaming tables and Amazon S3
  delivery - serverless, fully managed delivery from a KDS stream to Apache Iceberg
  tables on S3 Tables or to general-purpose S3 buckets. Includes channel setup, IAM,
  schemas, output key templates, CloudWatch metrics and alarms, DLQ handling, quotas,
  and troubleshooting. For all other KDS topics and questions, search AWS documentation
  and blogs instead. Triggers: Kinesis Data Streams, KDS, streaming tables, stream
  to S3, stream to Iceberg, stream to S3 Tables, KDS delivery, KDS channel, CreateChannel,
  data channel, data freshness, dead-letter queue, KDS lakehouse, serverless Kinesis
  delivery, Firehose alternative for KDS, zero-ops Kinesis to S3. DO NOT USE for Kinesis
  Data Firehose, Kinesis Video Streams, or Managed Service for Apache Flink — use
  dedicated skills or search documentation instead.
version: 1
---

# Amazon Kinesis Data Streams

## Overview

Domain expertise for Amazon Kinesis Data Streams. This skill covers **streaming tables and Amazon S3 delivery**, which provide serverless, fully managed delivery from a KDS stream directly to Apache Iceberg tables on S3 Tables or to general-purpose S3 buckets — no consumers, no Firehose, no Flink required for append-only delivery.

Delivery is configured as a **channel** on a stream via `CreateChannel`. Channels consume no shard capacity and no enhanced fan-out slots, so they do not compete with existing consumers.

The AWS MCP server is recommended for executing AWS operations. When the MCP server is not available, use the AWS CLI or shell commands instead.

## Which Workflow Do You Need?

| Customer Intent | Reference |
|---|---|
| Deliver stream data to Apache Iceberg tables on S3 Tables — setup, IAM, Glue schema, type mapping, partitioning, channel lifecycle | [references/streaming-tables.md](references/streaming-tables.md) |
| Deliver stream data to a general-purpose S3 bucket as objects — setup, IAM, compression, storage class, output key templates, channel lifecycle | [references/general-purpose-delivery-to-s3.md](references/general-purpose-delivery-to-s3.md) |
| Build a lakehouse / data lake from Kinesis; make streaming data queryable in Athena | [references/streaming-tables.md](references/streaming-tables.md) |
| Zero-ops, serverless alternative to Firehose or Kinesis consumers for KDS → S3 delivery | [references/general-purpose-delivery-to-s3.md](references/general-purpose-delivery-to-s3.md) |
| CloudWatch metrics and alarms, delivery logging, CloudTrail, encryption, channel states, quotas, naming rules, what can be updated | [references/monitoring-security-and-limits.md](references/monitoring-security-and-limits.md) |
| Channel is ACTIVE but no data arrives; records landing in the DLQ; rising data freshness | Start with [references/monitoring-security-and-limits.md](references/monitoring-security-and-limits.md), then the destination-specific troubleshooting table |
| Deliver to both S3 and S3 Tables from one stream | Supported — create one channel per destination |

## Prerequisites

Both destinations require an **ON_DEMAND stream** — provisioned-mode streams are not supported. Each channel also needs an IAM service execution role trusted by `kinesis.amazonaws.com`, and a destination in the **same Region** as the stream.

## Hard Limits to Check First

These rule out the feature entirely, so confirm them before designing a solution:

- **Append-only** — no CDC, upserts, or deletes
- **No schema evolution** — a schema change means deleting and recreating the channel
- **No backfill** — only records produced after the channel is `ACTIVE` are delivered
- **No transformations** — records are delivered as-is
- **New table per channel** — cannot deliver into an existing Iceberg table
- **Data freshness is 300–900 seconds** — not sub-minute
- **Same Region only** — cross-account is supported, cross-Region is not

If any of these block the customer, recommend **Managed Service for Apache Flink** instead.

## Additional Resources

- [KDS Developer Guide](https://docs.aws.amazon.com/streams/latest/dev/introduction.html)
- [KDS API Reference](https://docs.aws.amazon.com/kinesis/latest/APIReference/)
- [S3 Tables Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html)
- [Glue Schema Registry](https://docs.aws.amazon.com/glue/latest/dg/schema-registry.html)

© aws · Apache-2.0 · aws/agent-toolkit-for-aws

Similar skills

All skills for Cloud: AWS, Azure, GCP →

From the same set137

aws-secrets-manager Teaches the agent to avoid plaintext secrets in its context window. Dynamic references resolved by asm-exec replace direct get-secret-value calls. CX Codex +1 1,900installs agents-harden Prepares Bedrock AgentCore agents for production. It audits IAM permissions, configures inbound authentication, and hardens runtime endpoints. CX Codex +1 2,000installs agents-optimize Measure and improve AgentCore agent quality with evaluators, monitoring, observability, CI/CD gates, and cost checks. CX Codex +1 2,000installs amazon-workspaces-agent-access Guides AI agents in controlling remote Windows apps on Amazon WorkSpaces Applications via MCP. It helps configure streaming sessions and automate GUI actions. CX Codex +1 1,800installs aws-sms-voice Walks a coding agent through AWS End User Messaging: a branded RCS test agent or an OTP text via Notify, then carrier registration. CX Codex +1 1,600installs coordinating-multi-space-devops-agent Routes questions to the right AWS DevOps Agent space — prod, staging or knowledge — and compares findings across accounts. CX Codex +1 1,500installs remediating-with-aws-security-agent Pulls AWS Security Agent scan results and helps patch discovered vulnerabilities. Useful when you need to triage penetration test findings directly in your repo. CX Codex +1 1,500installs diff-scanning-with-aws-security-agent Runs a fast AWS Security Agent scan over only the code changed since a git ref. Handy before a commit or a pull request. CX Codex +1 1,500installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor