analyzing-release-read…
Trigger a pre-merge release readiness review on a GitHub PR, GitLab MR, or local branch. Use when the user wants to analyze code…
Create managed Iceberg tables using Amazon S3 Tables (s3tables API namespace) with automatic compaction and snapshot management. Sets up table bucket, namespace, table, schema, Glue catalog registration, partitioning, IAM access control. Triggers on: create table, data lake
Claude Code
$ npx -y skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table --agent claude-code
Codex
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a codex -y
Cursor
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a cursor -y
Gemini CLI
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a gemini-cli -y
GitHub Copilot
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a github-copilot -y
OpenCode
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a opencode -y
Windsurf
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a windsurf -y
name: creating-data-lake-table description: >- Create managed Iceberg tables using Amazon S3 Tables (s3tables API namespace) with automatic compaction and snapshot management. Sets up table bucket, namespace, table, schema, Glue catalog registration, partitioning, IAM access control. Triggers on: create table, data lake table, analytics table, structured data storage, S3 Tables, Iceberg, Athena table, partitioning strategy, access permissions. Do NOT use for: importing files (use ingesting-into-data-lake), vector storage (use storing-and-querying-vectors), querying existing tables (use querying-data-lake), or locating existing table (use finding-data-lake-assets). metadata: version: "1" argument-hint: "'[table-description|schema-spec]'"
Amazon S3 Tables provides managed Iceberg tables with automatic compaction and snapshot management. Queryable via Athena and Iceberg-compatible engines.
You MUST use AWS MCP server tools when connected, they provide command validation, sandboxed execution, and audit logging. Fall back to AWS CLI if MCP unavailable.
**Before creating, You MUST check what exists:**
You MUST run `aws glue get-tables --database-name <NAME>` when user mentions a database.
| What you find | Action | |---------------|--------| | Fuzzy database name ("our analytics db") | You MUST STOP. Delegate to `finding-data-lake-assets` to resolve. | | Non-S3-Tables table with matching name | You MUST STOP. Delegate to `finding-data-lake-assets`. You MUST NOT create until user confirms. | | Existing S3 Tables table with matching name | You MUST check schema match. Reuse if compatible, recreate only if user confirms. | | No matching tables | Proceed with creation (Steps 1-8). | | User explicitly requests new S3 Tables table | Skip checks, proceed with creation. |
**Creation paths:**
**Constraints:**
**Constraints:**
Names: 3-63 chars, lowercase, numbers, hyphens.
aws s3tables create-table-bucket --name <BUCKET_NAME> --region <REGION>
Capture `table-bucket-arn`. Encryption (SSE-S3 default, SSE-KMS) and storage class (STANDARD, INTELLIGENT_TIERING) set at creation. See `references/best-practices.md`.
**Constraints:**
aws s3tables create-namespace --table-bucket-arn <ARN> --namespace <NAMESPACE>
**Constraints:**
Check if `s3tablescatalog` exists (create once per region per account):
aws glue get-catalog --catalog-id s3tablescatalog
If not found, create (requires `glue:CreateCatalog`, `glue:passConnection`):
aws glue create-catalog --name "s3tablescatalog" --catalog-input '{
"FederatedCatalog": {
"Identifier": "arn:aws:s3tables:<REGION>:<ACCOUNT_ID>:bucket/*",
"ConnectionName": "aws:s3tables"
},
"CreateDatabaseDefaultPermissions": [{"Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"}, "Permissions": ["ALL"]}],
"CreateTableDefaultPermissions": [{"Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"}, "Permissions": ["ALL"]}],
"AllowFullTableExternalDataAccess": "True"
}'Verify with `aws glue get-catalogs --parent-catalog-id s3tablescatalog`.
S3 Tables uses `s3tables:*` IAM namespace (not `s3:*`).
**Querying principal permissions (bucket policy):**
**Querying principal permissions (IAM policy):**
You MUST scope to correct ARN patterns. You MUST read `references/access-control.md` for exact resource ARNs.
**Constraints:**
| Context | Path | |---------|------| | Default (any user) | **S3 Tables API** (below) | | User specifically wants SQL DDL | **Athena DDL** (see `references/athena-ddl-path.md`) | | Glue
Help AI coding agents build, deploy, and manage applications on AWS. The Agent Toolkit for AWS gives AI coding agents the tools, knowledge, and guardrails they need to work with AWS services.
Trigger a pre-merge release readiness review on a GitHub PR, GitLab MR, or local branch. Use when the user wants to analyze code…
Have a fast, conversational analysis with the AWS DevOps Agent. Use for cost optimization, architecture review, topology mapping,…
Coordinate the AWS DevOps Agent across multiple AgentSpaces from one Claude Code session — route questions to the right space…
Run a fast AWS Security Agent diff scan on only the changed code since a git ref. Use when the user asks to scan changes, run a…
Run a deep root-cause investigation on the AWS DevOps Agent. Use when the user describes an incident, alarm, outage, or…
Run an AWS Security Agent penetration test against a live web application — registers and verifies the target domain, exercises…
Use when running, building, or managing Linux containers on macOS, or when a task involves Docker, docker compose, Lima, Colima,…
Operate FrontendExtension (FE) resources in frontend-forge: create, update, rebuild, inspect package artifacts, download…
Build, debug, or review Cloudflare Agents SDK applications using the agents package.
Use when writing, reviewing, or debugging Terraform/OpenTofu modules, tests, CI, scans, or state ops - diagnoses failure mode…