knowledge-catalog-discovery — Claude Code skill: what it does
A set of discovery scripts to search data assets and inspect metadata in Knowledge Catalog through Claude Code.
npx skills add cline/skills --skill knowledge-catalog-discovery -a claude-codeWhat knowledge-catalog-discovery does
The skill lets coding assistants search and inspect data assets in Google Cloud Dataplex Knowledge Catalog. A set of Node.js scripts finds tables, datasets, or views, pulling back schema details and relationships between assets.
Four scripts handle discovery: search_entries supports Dataplex query syntax with grouping and boolean operators, lookup_entry inspects a single entry across different view modes, lookup_context retrieves metadata for up to 10 resources in the same location, and search_aspect_types queries catalog aspects. Executing these tools requires Node.js in your environment.
Environment variables load automatically from .env files without manual user prompting. Broad searches without resource filters run slowly and consume significant capacity, so exploratory queries need a defined pageSize.
What it helps with
- find tables and views in Dataplex using query filters
- inspect metadata and aspect types for a specific catalog entry
- retrieve relationships for multiple assets within one location
- search available catalog aspect types
Example prompts for the agent
- Search for tables matching
ordersin projectanalytics - Retrieve full metadata and aspects for the customer dataset in location
us - Find catalog aspect types related to data quality
How to install knowledge-catalog-discovery
1Skills CLI (Vercel)
npx skills add cline/skills --skill knowledge-catalog-discovery -a claude-code2Manually: put the files in place
~/.claude/skills/knowledge-catalog-discovery/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/knowledge-catalog-discovery/
1Skills CLI (Vercel)
npx skills add cline/skills --skill knowledge-catalog-discovery -a codex2Manually: put the files in place
.agents/skills/knowledge-catalog-discovery/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add cline/skills --skill knowledge-catalog-discovery -a cursor2Manually: put the files in place
.cursor/skills/knowledge-catalog-discovery/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install cline/skills knowledge-catalog-discovery2Manually: put the files in place
.github/skills/knowledge-catalog-discovery/SKILL.md1Skills CLI (Vercel)
npx skills add cline/skills --skill knowledge-catalog-discovery -a gemini-cli2Platform CLI
gemini skills install https://github.com/cline/skills --path skills/knowledge-catalog-discoveryManually: put the files in place
.devin/skills/knowledge-catalog-discovery/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add cline/skills --skill knowledge-catalog-discovery -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about knowledge-catalog-discovery
How do I install knowledge-catalog-discovery in Claude Code?
Run npx skills add cline/skills --skill knowledge-catalog-discovery -a claude-code in your terminal. This saves the skill files into ~/.claude/skills/knowledge-catalog-discovery/SKILL.md.
What does knowledge-catalog-discovery do?
It enables your agent to search assets like tables and views in Knowledge Catalog, inspect entries, and explore metadata aspect types.
What are the runtime requirements for these scripts?
You need Node.js installed to execute the JavaScript files. Credentials and settings are loaded automatically from project .env files.
Source text
SKILL.md · Apache-2.0
---
name: knowledge-catalog-discovery
description: Use these skills when you need to discover and explore data assets in the Knowledge Catalog. It allows you to search for entries, lookup specific metadata, and explore aspect types to understand your data platform's assets.
---
## Usage
All scripts can be executed using Node.js. Replace `<param_name>` and `<param_value>` with actual values.
**Bash:**
`node <skill_dir>/scripts/<script_name>.js '{"<param_name>": "<param_value>"}'`
**PowerShell:**
`node <skill_dir>/scripts/<script_name>.js '{\"<param_name>\": \"<param_value>\"}'`
Note: The scripts automatically load the environment variables from various .env files. Do not ask the user to set vars unless skill executions fails due to env var absence.
## Scripts
### lookup_context
Retrieves rich metadata regarding one or more data assets along with their relationships.
#### Parameters
| Name | Type | Description | Required | Default |
| :--- | :--- | :--- | :--- | :--- |
| resources | array | Required. A list of up to 10 resource names. Resources may belong to different projects, but all must belong to the same location. | Yes | |
---
### lookup_entry
Retrieves a specific metadata regarding a data asset (e.g. table/dataset/view) from Catalog
#### Parameters
| Name | Type | Description | Required | Default |
| :--- | :--- | :--- | :--- | :--- |
| entry | string | Required. The resource name of the Entry in the following form: projects/{project}/locations/{location}/entryGroups/{entryGroup}/entries/{entry}. | Yes | |
| view | integer |
## Argument: view
**Type:** Integer
**Description:** Optional. Specifies the parts of the entry and its aspects to return.
**Possible Values:**
* 1 (BASIC): Returns entry without aspects.
* 2 (FULL): Return all required aspects and the keys of non-required aspects. (Default)
* 3 (CUSTOM): Return the entry and aspects requested in aspect_types field (at most 100 aspects). Always use this view when aspect_types is not empty.
* 4 (ALL): Return the entry and both required and optional aspects (at most 100 aspects)
| No | `2` |
| aspectTypes | array | Optional. Limits the aspects returned to the provided aspect types. It only works when used together with CUSTOM view. | No | `[]` |
---
### search_aspect_types
Search aspect types relevant to the query.
#### Parameters
| Name | Type | Description | Required | Default |
| :--- | :--- | :--- | :--- | :--- |
| query | string | The query against which aspect type should be matched. | Yes | |
| pageSize | integer | Number of returned aspect types in the search page. | No | `5` |
| orderBy | string | Specifies the ordering of results. Supported values are: relevance, last_modified_timestamp, last_modified_timestamp asc | No | `relevance` |
---
### search_entries
Searches for data assets (eg. table/dataset/view) in Catalog based on the provided search query.
#### Parameters
| Name | Type | Description | Required | Default |
| :--- | :--- | :--- | :--- | :--- |
| query | string | A query string for searching entries, following Dataplex search syntax. Supports logical operators (AND, OR, NOT) and grouping. For example, to find a table that might have been renamed, you could use 'type:table (name:books OR fiction)'. This can be more efficient than multiple separate calls.Warning: Performing broad searches without specific filters (e.g., type:table) can be slow and consume significant resources. When performing exploratory searches, always use the pageSize parameter to limit the number of results returned. | Yes | |
| scope | string | A scope limits the search space to a particular project or organization. It must be in the format: organizations/<org_id> or projects/<project_id> or projects/<project_number>. | No | `` |
| pageSize | integer | Number of results in the search page. | No | `5` |
| orderBy | string | Specifies the ordering of results. Supported values are: relevance, last_modified_timestamp, last_modified_timestamp asc | No | `relevance` |
---
© cline · Apache-2.0 · cline/skills