S3
itsmostafa/aws-agent-skills
AWS S3 object storage for bucket management, object operations, and access control.
Create managed Iceberg tables using Amazon S3 Tables (s3tables API namespace) with automatic compaction and snapshot management.
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aws/agent-toolkit-for-aws creating-data-lake-table --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/aws-data-analytics/skills/creating-data-lake-table .claude/skills/creating-data-lake-table && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "creating-data-lake-table" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/creating-data-lake-table into .claude/skills/creating-data-lake-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-data-lake-table", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/creating-data-lake-tableType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aws/agent-toolkit-for-aws creating-data-lake-table --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/aws-data-analytics/skills/creating-data-lake-table .agents/skills/creating-data-lake-table && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "creating-data-lake-table" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/creating-data-lake-table into .agents/skills/creating-data-lake-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-data-lake-table", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aws/agent-toolkit-for-aws creating-data-lake-table --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/aws-data-analytics/skills/creating-data-lake-table .cursor/skills/creating-data-lake-table && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "creating-data-lake-table" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/creating-data-lake-table into .cursor/skills/creating-data-lake-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-data-lake-table", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aws/agent-toolkit-for-aws.git --path plugins/aws-data-analytics/skills/creating-data-lake-table--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aws/agent-toolkit-for-aws creating-data-lake-table --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/aws-data-analytics/skills/creating-data-lake-table .gemini/skills/creating-data-lake-table && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "creating-data-lake-table" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/creating-data-lake-table into .gemini/skills/creating-data-lake-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-data-lake-table", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aws/agent-toolkit-for-aws creating-data-lake-tableInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/aws-data-analytics/skills/creating-data-lake-table .github/skills/creating-data-lake-table && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "creating-data-lake-table" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/creating-data-lake-table into .github/skills/creating-data-lake-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-data-lake-table", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aws/agent-toolkit-for-aws creating-data-lake-table --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/aws-data-analytics/skills/creating-data-lake-table .opencode/skills/creating-data-lake-table && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "creating-data-lake-table" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/creating-data-lake-table into .opencode/skills/creating-data-lake-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-data-lake-table", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
creating-data-lake-tableCreate managed Iceberg tables using Amazon S3 Tables (s3tables API namespace) with automatic compaction and snapshot management.
Creating Data Lake Table is an agent skill from aws/agent-toolkit-for-aws, published by the product's own GitHub organization. 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)…
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/access-control.md`, `references/athena-ddl-path.md` and `references/best-practices.md`).
It sits in Backend & APIs, covering Authorization and RBAC, File uploads and storage and Schema markup. It works with Amazon S3, Amazon Web Services and Model Context Protocol. The repository describes itself as: Official, AWS-supported MCP servers, skills, and plugins to help AI agents build on AWS. The licence is Apache-2.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit bd49cc8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
awsFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use aws, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Creating Data Lake Table loads about 2.1k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 163 tokens; SKILL.md has 735 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from aws/agent-toolkit-for-aws at commit bd49cc8, republished under its Apache-2.0 licence (© aws). 735 words, ~2,073 tokens.
.claude/skills/creating-data-lake-table/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.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:
ingesting-into-data-lake skill.references/table-creation-glue-etl.md first, then Steps 1-6."S3 Tables integration with Lake Formation".Constraints:
aws sts get-caller-identityingesting-into-data-lake skill.Constraints:
references/best-practices.md for Iceberg type mapping, partitions, and naming.references/athena-ddl-path.md.GENERIC_INTERNAL_ERROR. Namespace and table names MUST NOT contain hyphens.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 list-table-buckets and ask user to select or create new."S3 Tables KMS key policy" for required policy.references/best-practices.md for common errors.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 s3tablescatalogIf 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):
s3tables:GetTableBucket, s3tables:GetNamespace, s3tables:GetTable, s3tables:GetTableMetadataLocation, s3tables:GetTableDataQuerying principal permissions (IAM policy):
glue:GetCatalog, glue:GetDatabase, glue:GetTableYou 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 ETL pipeline | Spark DDL via --conf job args (not spark.conf.set()). You MUST read references/table-creation-glue-etl.md for the --conf string. |
Default: S3 Tables API:
aws s3tables create-table \
--table-bucket-arn <ARN> \
--namespace <NAMESPACE> \
--name <TABLE_NAME> \
--format ICEBERG \
--metadata '<METADATA_JSON>'Metadata JSON MUST nest under "iceberg" key:
{"iceberg":{"schema":{"fields":[
{"name":"order_date","type":"date","required":true},
{"name":"customer_id","type":"string","required":true},
{"name":"amount","type":"double","required":false}
]},
"partitionSpec":{"fields":[
{"sourceId":1,"fieldId":1000,"transform":"month","name":"order_date_month"}
]}}}Constraints:
partitionSpec.sourceId MUST reference a valid schema field IDreferences/athena-ddl-path.mdschemaV2 for complex types (list, map, struct) with explicit field IDs. See references/best-practices.md."IcebergPartitionField S3 Tables" for supported partition transformsYou MUST verify with aws s3tables get-table and confirm queryability with DESCRIBE <table_name> via Athena using --query-execution-context '{"Catalog":"s3tablescatalog/<BUCKET_NAME>","Database":"<NAMESPACE>"}'. Do NOT put catalog in SQL. Present summary: bucket ARN, namespace, table, schema, partitions.
| Error | Cause | Fix |
|---|---|---|
| "Table location can not be specified" | LOCATION in CREATE TABLE | Remove LOCATION clause. S3 Tables manages storage automatically. |
AccessDeniedException with s3:* policy | Using s3:* not s3tables:* | S3 Tables uses s3tables:* namespace. Update IAM policy. |
ingesting-into-data-lake skill© aws, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in plugins/aws-data-analytics/skills/creating-data-lake-table of aws/agent-toolkit-for-aws.
Open the folder on GitHubat commit bd49cc8
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in aws/agent-toolkit-for-aws, which our catalogue first saw on October 7, 2026.
Creating Data Lake Table next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Creating Data Lake Table this skillaws/agent-toolkit-for-aws | 2.8k | 1 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| S3itsmostafa/aws-agent-skills | 1.2k | — | ~2.3k | Automated safety check: Pass | MIT | |
| AWS Essentialsericrisco/rsc-harness | 156 | — | ~2.9k | Automated safety check: Notes | MIT | |
| FoundatioFoundatioFx/Foundatio | 2.1k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Django Storages for S3Jeffallan/claude-skills | 12k | — | ~1.9k | Automated safety check: Pass | MIT | |
| AWS S3sickn33/agentic-awesome-skills | 47k | 2 repos | ~3.1k | Automated safety check: Pass | MIT |
itsmostafa/aws-agent-skills
AWS S3 object storage for bucket management, object operations, and access control.
ericrisco/rsc-harness
A skill your agent uses when standing up the core AWS surface a small product needs: hardening a fresh account, a private S3 bucket, encrypted RDS Postgres, ECS Fargate vs EC2, CloudFront + OAC, or…
FoundatioFx/Foundatio
A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.
Jeffallan/claude-skills
Sets up Django 4.2+ to keep static and media files on AWS S3 through django-storages, with public and private backends, presigned URLs and CloudFront.
sickn33/agentic-awesome-skills
Configure S3 buckets, policies, and lifecycle rules. An agent skill from sickn33/agentic-awesome-skills.
mukul975/Anthropic-Cybersecurity-Skills
Provides step-by-step procedures for remediating Amazon S3 bucket misconfigurations that expose sensitive data: enabling S3 Block Public Access, auditing bucket policies and ACLs, enforcing…
aws/agent-toolkit-for-aws
Entry point for AI-agent work on AWS: pick a runtime, plan a migration for existing workloads, and build an executable POC — one phased flow.
aws/agent-toolkit-for-aws
A skill your agent uses to extend an existing agent project with memory, app integration, VPC, multi-agent, migration, model, browser, code interpreter, payments, or resource removal.
aws/agent-toolkit-for-aws
Migrates vibe-coded web applications to AWS. An agent skill from aws/agent-toolkit-for-aws.
aws/agent-toolkit-for-aws
Deploy an event-driven workflow that routes S3 uploads to either Lambda or Fargate via Step Functions based on file size.
aws/agent-toolkit-for-aws
Deploys, queries, and debugs AWS Marketplace usage-based (PAYG) metering — the pipeline (ResolveCustomer, BatchMeterUsage, EventBridge via SAM) and querying/debugging metering records, statuses…
aws/agent-toolkit-for-aws
A skill your agent uses when THIS agent needs to pay for x402-protected content at runtime: hitting a paywall mid-task, settling it via AgentCore Payments, and applying operator-defined spend limits.
Categories
Create managed Iceberg tables using Amazon S3 Tables (s3tables API namespace) with automatic compaction and snapshot management. Creating Data Lake Table is an agent skill from aws/agent-toolkit-for-aws, published by the product's own GitHub organization. Create managed Iceberg tables using Amazon S3 Tables (s3tables API namespace) with automatic compaction and snapshot management.
Creating Data Lake Table fits situations like: data lake table; analytics table; structured data storage; partitioning strategy.
Run `npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a claude-code`. Or copy the skill folder (plugins/aws-data-analytics/skills/creating-data-lake-table in aws/agent-toolkit-for-aws) into .claude/skills/creating-data-lake-table in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a codex`. Or copy the skill folder (plugins/aws-data-analytics/skills/creating-data-lake-table in aws/agent-toolkit-for-aws) into .agents/skills/creating-data-lake-table in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aws/agent-toolkit-for-aws --skill creating-data-lake-table -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/creating-data-lake-table, .gemini/skills/creating-data-lake-table, .github/skills/creating-data-lake-table and .opencode/skills/creating-data-lake-table in your project.
Going by SKILL.md and its folder, Creating Data Lake Table needs the command-line tools its instructions call (aws).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Creating Data Lake Table is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Creating Data Lake Table: S3 (itsmostafa/aws-agent-skills, 1.2k stars), AWS Essentials (ericrisco/rsc-harness, 156 stars), Foundatio (FoundatioFx/Foundatio, 2.1k stars) and Django Storages for S3 (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aws (a GitHub organization, an official publisher) maintains it in aws/agent-toolkit-for-aws, which has 2,816 GitHub stars. The repository holds 138 skills in this directory. The repository was last updated on October 7, 2026.
Source: aws/agent-toolkit-for-aws on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.