finding-data-lake-assets
Resolve data lake and lakehouse asset references across Glue Data Catalog, S3, S3 Tables, and Redshift.
Skill by awsOfficial
Chalk Labs
Need help deploying finding-data-lake-assets?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/aws-finding-data-lake-assets-3850f5
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: cloud, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
finding-data-lake-assets- Description
- Resolve data lake and lakehouse asset references across Glue Data Catalog, S3, S3 Tables, and Redshift. Triggers on: find the table, where is our data, which table has, locate dataset, find data for, search catalog, what tables match, Redshift table, lakehouse table, data lake table, warehouse table, reverse lookup S3 path. Do NOT use for: full catalog audits (use exploring-data-catalog), running queries (use querying-data-lake), creating tables (use creating-data-lake-table).
- License
- Apache-2.0
- Metadata
- version: 2 · argument-hint: '[table-name|keyword|column-name|s3://path]'
- Instructions
- 314 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- search-strategy.md · references/
SKILL.md (first lines)
# Find Data Lake Assets
## Overview
Resolves data lake asset references to concrete catalog entries. Acts as a
resolver for other skills and direct user requests. Covers Glue,
S3, S3 Tables, and Redshift. Optimized for low token usage — return the
answer fast and get out of the way.
**Constraints for parameter acquisition:**
- You MUST accept a single argument: table name, keyword, column name, or S3 path
- You MUST accept the argument as direct input or a pointer to a file containing the spec
- You MUST ask for the target AWS region if not already set
- You MUST confirm ambiguous input before searching (e.g., "Did you mean table X or bucket Y?")
- You MUST respect the user's decision to abort at any step
## Common Tasks
You MUST execute commands using AWS MCP server tools when connected — they
provide validation, sandboxed execution, and audit logging. Fall back to
AWS CLI only if MCP is unavailable. You MUST explain each step before
executing.
### 1. Verify Dependencies
Check for required tools and AWS access before searching.
**Constraints:**
- You MUST verify AWS MCP server tools (`aws___call_aws`) are available; fall back to AWS CLI if not
- You MUST confirm credentials with `aws sts get-caller-identity`
- You MUST inform the user about any missing tools and ask whether to proceed
### 2. Consult Catalog Context (experimental — suggested first lookup)
The customer may publish **context skill assets** in the Glue Data Catalog that map
their business language to the real tables — canonical names and aliases, join keys,
metrics, usage notes, descriptions — that the raw schema does not carry. When present,
this catalog is often enough to answer the request on its own.
These are the **Glue Discovery** operations (`SearchAssets` / `GetAsset` /
`ListIterableForms` / `BatchGetIterableForms`) — a distinct metadata-search surface,
NOT the legacy `glue search-tables` used in Step 5. They are **experimental** — not
available in every CLI build. Gate the lookup on two checks first:
1. **Availability.** Confirm the `GetAsset` operation exists in the caller's Glue
CLI model (redirect output so the CLI pager cannot block a non-interactive agent):
```
aws glue get-asset help > /dev/null 2>&1
# exit 0 = available. exit 2 (with "Invalid choice" in stderr) = not in this CLI (skip).
# any other non-zero (network/credential error) = inconclusive; treat as unavailable.
```
If it is not available, skip this step and go to the normal search workflow (Steps 3-7).
2. **User opt-in.** If available, ask the user: "I can check the Glue Data Catalog
for customer-authored context using an experimental SearchAssets/GetAsset API.
Use it? (yes/no)". Proceed only on an explicit yes; otherwise skip to Steps 3-7.
**How this model differs:** Discovery indexes **assets** (not databases/tables). Every
asset has an `Id` that is an **ARN**, and every lookup after `SearchAssets` keys off that ARN
via the identifier — there is no `--database-name`/`--table-name`. CLI flags are kebab-case
(`--search-text`, `--max-results`, `--filter-clause`); top-level response fields are PascalCase
(`Id`, `AssetName`, `Forms`). NOTE: a `*.Content` value is itself a JSON STRING with its own
camelCase schema (e.g. `dataLocation`, `dataFormat`, `isPartitionKey`) — parse it as embedded JSON,
do not expect PascalCase inside. The operations you need:
| Operation | Input → Output |
|---|---|
| `search-assets` | `--search-text` (+ optional `--filter-clause`) → `Items[]` of `{Id, AssetName, Type, Namespace, AssetTypeId, UpdatedAt}` (NOTE: search items do NOT include a description — call `get-asset` for `Description`/`Forms`) |
| `get-asset` | `--identifier <Id, an ARN>` → one asset's `{Description, Forms, IterableForms}`. `Forms."amazon::Table".Content` is JSON `{dataLocation, dataFormat, type}`; advertises column availability via `IterableForms: {"columns": {...}}` |
| `list-iterable-forms` | `--asset-identifier <table ARN> --iterable-form-name columns` → that table's columns `Items[]` of `{ItemId, ItemName, Description}` (ItemId = `<table-ARN>#<columnName>`) |
| `batch-get-iterable-forms` | `--asset-identifier <table ARN> --iterable-form-name columns --item-identifiers <id1> <id2> ...` (space-separated) → `Items[]` of `{ItemName, Forms}` where `Forms.Column.Content` is JSON `{"type": "...", "isPartitionKey": ...}` |
```
aws glue search-assets --search-text '<user request terms>' --max-results 5
# Id is a full ARN, e.g. arn:aws:glue:us-west-2:123456789012:table/<db>/<table>
aws glue get-asset --identifier "arn:aws:glue:<region>:<account>:table/<db>/<table>"
```
`search-assets` returns only identity fields (no description), so to judge relevance you MUST
`get-asset` the top candidates (up to ~5) and read their `Description` / `Forms` — do NOT pick by
rank alone. Only pass ARNs whose `Type` is a Glue table (`amazon.glue::GlueTable`) to `list-iterable-forms`.
**Narrow with `--filter-clause`** when the request names a database or asset type
(filterable: `type`, `amazon.glue::GlueTable.databaseName`, `dataFormat`, `createdAt`):
```
aws glue search-assets --search-text 'sales' --max-results 5 \
--filter-clause '{"AttributeFilter": {"Attribute": "amazon.glue::GlueTable.databaseName", "Operator": "equals", "Value": {"StringValue": "<database-name, e.g. sales>"}}}'
```
**Column name is search-only** — pass it as `--search-text`, not a filter. To confirm a
column on a candidate, list its columns with `list-iterable-forms` (each item is
`{ItemId, ItemName, Description}`; column item IDs have the form `<table-ARN>#<columnName>`).
For a column's `type` and `isPartitionKey`, call `batch-get-iterable-forms` and read
`Forms.Column.Content` (JSON, e.g. `{"type": "bigint", "isPartitionKey": false}`):
```
aws glue list-iterable-forms --asset-identifier "arn:aws:glue:<region>:<account>:table/<db>/<table>" --iterable-form-name columns
aws glue batch-get-iterable-forms --asset-identifier "arn:aws:glue:<region>:<account>:table/<db>/<table>" --iterable-form-name columns --item-identifiers "arn:aws:glue:<region>:<account>:table/<db>/<table>#<columnName1>" "arn:aws:glue:<region>:<account>:table/<db>/<table>#<columnName2>"
```
**Answer from the catalog if it is sufficient (short-circuit):**
Short-circuit eligibility uses **objective criteria only** (no intent judgment, so it
cannot conflict with the Step 3 classification):
- Short-circuit ONLY when **both**: (a) `SearchAssets` returned **exactly one asset whose
`AssetName` is an exact, case-insensitive match** for a specific table name in the
request, AND (b) that asset provides ALL of {database, table, format, location} —
**return that answer now and STOP. Skip Steps 3-7.** Note that the answer came from
customer-authored catalog context.
- In **all other cases, fall through** to the remaining steps (Steps 3-7), seeding the
search with any canonical names the catalog provided. This explicitly includes:
multi-keyword / exploratory requests (no exact table name); `SearchAssets` returns no match
or multiple candidates; the asset only partially answers the request; a required
column/schema detail could not be confirmed; or the call returns AccessDenied / isFrom aws/agent-toolkit-for-aws, Apache-2.0.
More from aws/agent-toolkit-for-aws
- 0.843score
agents-build
aws-agentcoreOfficial
Use to extend an existing agent project with memory, app integration, VPC, multi-agent, migration, model, browser, code interpreter, payments, or resource…
SkillAFreshness: A★ 3KClaude Code +9 - 0.782score
agents-pay
aws-agentcoreOfficial
Use when THIS agent needs to pay for x402-protected content at runtime: hitting a paywall mid-task, settling it via AgentCore Payments, and applying…
SkillBFreshness: B★ 3KClaude Code +9 - 0.739score
agents-optimize
aws-agentcoreOfficial
Use when measuring or improving agent quality and performance — set up evaluators, online monitoring, CI/CD quality gates, observability, or cost optimization.
SkillCFreshness: C★ 3KClaude Code +9 - 0.739score
agents-deploy
aws-agentcoreOfficial
Use when deploying your agent to AWS, or when a deploy has failed.
SkillCFreshness: C★ 3KClaude Code +9 - 0.734score
agents-get-started
aws-agentcoreOfficial
Use when a developer wants to create a new agent project or get started with AgentCore.
SkillCFreshness: C★ 3KClaude Code +9 - 0.724score
aws-transform
AWSOfficial
Performs code upgrades, migrations, and transformations using the AWS Transform (ATX) CLI.
SkillCFreshness: C★ 3KClaude Code +9 - 0.724score
agents-debug
aws-agentcoreOfficial
Use when your agent or environment is broken — wrong answers, errors, timeouts, tool failures, or CLI issues.
SkillCFreshness: C★ 3KClaude Code +9 - 0.724score
agents-harden
aws-agentcoreOfficial
Use when preparing your agent for production — IAM scoping, inbound auth (JWT, SigV4), secrets management, cold start optimization, session lifecycle, rate…
SkillCFreshness: C★ 3KClaude Code +9 - 0.700score
agents-connect
aws-agentcoreOfficial
Use when connecting your agent to external APIs, tools, or services via Gateway, or restricting tool access with Cedar policies.
SkillCFreshness: C★ 3KClaude Code +9 - 0.682score
knowledge-base-for-startups
awsOfficial
AWS Startups reference content — Activate FAQ, credits guide, programs, partner offers, sample architectures, and hundreds of learn articles spanning…
SkillAFreshness: A★ 3KClaude Code +9 - 0.682score
aws-sms-voice
awsOfficial
Onboards RCS Business Messaging and Notify OTP via the pinpoint-sms-voice-v2 AWS CLI.
SkillAFreshness: A★ 3KClaude Code +9 - 0.682score
agent-advisor
awsOfficial
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.
SkillAFreshness: A★ 3KClaude Code +9
Signals
- Stars
- 3,049
- Forks
- 394
- Open issues
- 40
- Last commit (this folder)
- Aug 6, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 2
- License
- Apache-2.0
- Repository
- github.com/aws/agent-toolkit-for-aws
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from aws
- 0.781score
AWS MCP Server
awsOfficial
A managed MCP server enabling AI agents to access AWS using docs, API calls, and SOP workflows.
ConnectorBFreshness: BLocal↓ 416.2K/wkClaude Code +5 - 0.781score
AWS MCP Server
awsOfficial
AWS MCP Server lets AI securely access AWS using docs, API calls, and SOP workflows.
ConnectorBFreshness: BLocal↓ 416.2K/wkClaude Code +5 - 0.682score
agent-advisor
awsOfficial
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.
SkillAFreshness: A★ 3KClaude Code +9 - 0.682score
prompt-library-for-startups
awsOfficial
AWS-curated copy-paste prompts for AI coding agents (MVP scaffolding, RAG chatbot with Claude on Bedrock, security baseline evaluation, cost anomaly…
SkillAFreshness: A★ 3KClaude Code +9 - 0.682score
knowledge-base-for-startups
awsOfficial
AWS Startups reference content — Activate FAQ, credits guide, programs, partner offers, sample architectures, and hundreds of learn articles spanning…
SkillAFreshness: A★ 3KClaude Code +9 - 0.682score
aws-sms-voice
awsOfficial
Onboards RCS Business Messaging and Notify OTP via the pinpoint-sms-voice-v2 AWS CLI.
SkillAFreshness: A★ 3KClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get finding-data-lake-assets running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
finding-data-lake-assets skill. Agent Mart. https://agentmart.dev/skills/aws-finding-data-lake-assets-3850f5 (last updated 2026-10-24)