Skip to main content

Install AI Skills

The OpenMetadata skills package follows the Agent Skills open standard, which is supported by 30+ AI coding tools. Below are setup instructions for the most popular ones.

Prerequisites

All tools require the OpenMetadata repository cloned locally:
git clone https://github.com/open-metadata/OpenMetadata.git
cd OpenMetadata
Set up the Python development environment:
python3.11 -m venv env
source env/bin/activate
make install_dev generate

Claude Code

Claude Code has the richest integration: slash commands, parallel sub-agents, and SessionStart hooks.
1

Install the skills plugin

From the OpenMetadata repo root:
claude plugin install skills/
This registers the skills as a Claude Code plugin. The three slash commands become available immediately.
2

Verify installation

Start Claude Code and check that the commands are available:
claude
# Then type:
/scaffold-connector
You should see the scaffold skill activate.
3

Use the skills

Three slash commands are available:
CommandPurpose
/scaffold-connectorScaffold a new connector with JSON Schema and Python boilerplate
/connector-reviewReview connector code against golden standards
/load-standardsLoad all connector development standards into context
You can also invoke skills directly in conversation:
Load the connector standards and then scaffold a new Pinot database connector
with SQLAlchemy support.

Claude Code Features

  • Parallel sub-agents: The review skill launches 5 specialized agents simultaneously for faster reviews
  • Research agent: The scaffold skill can dispatch a researcher agent to gather API documentation
  • SessionStart hooks: Standards are automatically loaded when you start a connector session
  • Full tool access: Skills can read files, run commands, search code, and edit files

Cursor

Cursor discovers skills from the .cursor/skills/ directory or project rules.
1

Create the skills directory

From the OpenMetadata repo root:
mkdir -p .cursor/skills
cp -r skills/standards .cursor/skills/
cp skills/connector-building/SKILL.md .cursor/skills/connector-building.md
cp skills/connector-review/SKILL.md .cursor/skills/connector-review.md
cp skills/load-standards/SKILL.md .cursor/skills/load-standards.md
2

Add as a project rule (alternative)

In Cursor: SettingsRulesAdd RuleProject RulePaste the contents of skills/standards/main.md as the rule content. This ensures the connector standards are always available in Cursor’s context.
3

Use the skills

When working on a connector, tell Cursor:
Read .cursor/skills/connector-building.md and follow the workflow
to scaffold a new Metabase dashboard connector.
Or after scaffolding, point Cursor at the context file:
Read ingestion/src/metadata/ingestion/source/dashboard/my_dash/CONNECTOR_CONTEXT.md
and implement all TODO items.
Cursor does not support parallel sub-agents. The review skill will run all checks sequentially, which takes longer but produces the same results.

OpenAI Codex

Codex uses AGENTS.md files to understand project conventions.
1

Create AGENTS.md

From the OpenMetadata repo root, create an AGENTS.md file that references the skills:
cat skills/standards/main.md skills/standards/patterns.md skills/standards/code_style.md > AGENTS.md
This gives Codex the core connector development standards as context.
2

Run the scaffold manually

Codex cannot run the interactive scaffold tool, so run it yourself first:
source env/bin/activate
metadata scaffold-connector
3

Point Codex at the context

After scaffolding, tell Codex:
Read ingestion/src/metadata/ingestion/source/{type}/{name}/CONNECTOR_CONTEXT.md
and implement all TODO items. Use the reference connector as a pattern.

GitHub Copilot

Copilot works best with context files in the workspace.
1

Create a GitHub Copilot instructions file

Create .github/copilot-instructions.md at the repo root:
When working on OpenMetadata connectors, follow these conventions:

## Architecture
- Schema-first: JSON Schema at openmetadata-spec/.../{service_type}/{name}Connection.json
  drives Python, Java, TypeScript, and UI forms
- Use BaseConnection for SQLAlchemy database connectors
- Use get_connection()/test_connection() for all other connector types

## Key Patterns
- Error handling: use Either[StackTraceError, CreateEntityRequest] for yield methods
- Logging: use ingestion_logger(), not logging.getLogger()
- Testing: use pytest style, no unittest.TestCase
- Secrets: use format: "password" in JSON Schema, SecretStr in Python

## Reference
See skills/standards/ for detailed connector development standards.
See CONNECTOR_CONTEXT.md in any connector directory for implementation instructions.
2

Use Copilot with context

Open CONNECTOR_CONTEXT.md and the reference connector files side-by-side. Copilot will use them as context when generating code in the connector files.

Windsurf

Windsurf uses rules files for project context.
1

Create rules

Create .windsurf/rules.md at the repo root:
mkdir -p .windsurf
cat skills/standards/main.md skills/standards/patterns.md > .windsurf/rules.md
2

Use with scaffold output

After running the scaffold tool, open CONNECTOR_CONTEXT.md in Windsurf and ask the AI to implement the connector:
Read this CONNECTOR_CONTEXT.md and implement all TODO items
in the generated skeleton files.

Any AI Agent

The CONNECTOR_CONTEXT.md file generated by the scaffold tool is designed to work with any AI agent. It contains everything the agent needs:
  • Connector profile (name, type, capabilities, auth)
  • Source documentation (API docs URL, SDK package, endpoints, notes)
  • File list with what to implement in each
  • Reference connector to copy patterns from
  • Registration checklist
  • Validation checklist
Point any agent at the context file and the reference connector:
Read these files:
1. ingestion/src/metadata/ingestion/source/{type}/{name}/CONNECTOR_CONTEXT.md
2. ingestion/src/metadata/ingestion/source/{type}/{reference}/metadata.py
3. ingestion/src/metadata/ingestion/source/{type}/{reference}/connection.py

Then implement all TODO items in the generated files.

Feature Comparison

FeatureClaude CodeCursorCodexCopilotWindsurf
Slash commandsYesNoNoNoNo
Parallel review agentsYesNoNoNoNo
Research agent delegationYesNoNoNoNo
Standards auto-loadingYesVia rulesVia AGENTS.mdVia instructionsVia rules
Scaffold toolYesManualManualManualManual
CONNECTOR_CONTEXT.mdYesYesYesYesYes
Code implementationYesYesYesYesYes