scaffold-connector
Build a new OpenMetadata connector from scratch — scaffold JSON Schema, Python boilerplate, and AI context using schema-first architecture with code…
Skill by open-metadata
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/open-metadata-scaffold-connector
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: design, code-generation, backend-development
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/scaffold-connector
What's inside
- Skill name
scaffold-connector- Description
- Build a new OpenMetadata connector from scratch — scaffold JSON Schema, Python boilerplate, and AI context using schema-first architecture with code generation across Python, Java, TypeScript, and auto-rendered UI forms.
- License
- Apache-2.0
- Instructions
- 315 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: "scaffold-connector" does not match folder "connector-building"
- allowed-tools: must be a space-separated string
Files (10)
- GUIDE.md
- SKILL.md
- connector-profile.schema.json
- dashboard-rest.yaml · examples/
- database-sqlalchemy.yaml · examples/
- pipeline-sdk.yaml · examples/
- architecture-decision-tree.md · references/
- capability-mapping.md · references/
- connection-type-guide.md · references/
- standards
SKILL.md (first lines)
# OpenMetadata Connector Building Skill
## When to Activate
When a user asks to build, create, add, or scaffold a new connector, source, or integration for OpenMetadata.
## Core Insight
**One JSON Schema definition cascades through 6 layers**: Python Pydantic models, Java models, UI forms (RJSF auto-render), API validation, test fixtures, and documentation. Define the schema once — everything else is generated or guided.
## Workflow: 7 Phases
### Phase 0: ENVIRONMENT — Set Up Python Dev Environment
Before any `make` or `python` commands, set up the environment from the repo root:
```bash
python3.11 -m venv env
source env/bin/activate
make install_dev generate
```
Always activate before running commands: `source env/bin/activate`
### Phase 1: SCAFFOLD — Generate Boilerplate
Run the scaffold CLI to collect inputs and generate files:
```bash
source env/bin/activate
metadata scaffold-connector
```
Interactive mode collects: connector name, service type, connection type, auth types, capabilities, docs URL, SDK package, API endpoints, implementation notes, Docker image, container port.
Non-interactive mode:
```bash
metadata scaffold-connector \
--name my_db \
--service-type database \
--connection-type sqlalchemy \
--scheme "mydb+pymydb" \
--auth-types basic \
--capabilities metadata lineage usage profiler \
--docs-url "https://docs.example.com/api" \
--sdk-package "mydb-sdk" \
--docker-image "mydb/mydb:latest" \
--docker-port 5432
```
**Output**: JSON Schema + test connection JSON + Python files + `CONNECTOR_CONTEXT.md` as an AI working document. SQLAlchemy database connectors get concrete code templates; all others get skeleton files with pointers to reference connectors.
**CONNECTOR_CONTEXT.md handling**: The scaffold generates `CONNECTOR_CONTEXT.md` in the connector directory as a working document for any AI tool (Claude Code, Cursor, Codex, Copilot, Windsurf). It is **gitignored** — it stays local and is never committed to the repo. No cleanup needed.
### Phase 2: CLASSIFY — Understand the Source
The scaffold classifies along 3 dimensions. Verify the choices:
**Dimension 1 — Service Type** (determines directory + base class):
| Service Type | Base Class | Reference |
|---|---|---|
| `database` | `CommonDbSourceService` | `mysql/` |
| `dashboard` | `DashboardServiceSource` | `metabase/` |
| `pipeline` | `PipelineServiceSource` | `airflow/` |
| `messaging` | `MessagingServiceSource` | `kafka/` |
| `mlmodel` | `MlModelServiceSource` | `mlflow/` |
| `storage` | `StorageServiceSource` | `s3/` |
| `search` | `SearchServiceSource` | `elasticsearch/` |
| `api` | `ApiServiceSource` | `rest/` |
**Dimension 2 — Connection Type** (database only):
- `sqlalchemy` → `BaseConnection[Config, Engine]` + SQLAlchemy dialect
- `rest_api` → `get_connection()` + custom REST client (ref: `salesforce/`)
- `sdk_client` → `get_connection()` + vendor SDK wrapper
**Dimension 3 — Capabilities** (determines extra files):
`metadata` (always), `lineage`, `usage`, `profiler`, `stored_procedures`, `data_diff`
Read the source-type-specific standard at `${CLAUDE_SKILL_DIR}/standards/source_types/{service_type}.md` for detailed patterns.
### Phase 3: RESEARCH — API/SDK Discovery
Read the `CONNECTOR_CONTEXT.md` generated by the scaffold. Then research the source's API/SDK.
**If you can dispatch sub-agents** (Claude Code): Launch a `connector-researcher` agent:
```
Agent: openmetadata-skills:connector-researcher
Prompt: "Research {source_name} for an OpenMetadata {service_type} connector.
Find: API docs, auth methods, key endpoints, pagination, rate limits, SDK packages."
```
**If you cannot dispatch sub-agents**: Perform the research yourself using WebSearch and WebFetch.
### Phase 4: IMPLEMENT — Fill in the TODO Items
The scaffold generates files with `# TODO` markers. Read the relevant standards before implementing:
- `${CLAUDE_SKILL_DIR}/standards/connection.md` — Connection patterns
- `${CLAUDE_SKILL_DIR}/standards/patterns.md` — Error handling, pagination, auth
- `${CLAUDE_SKILL_DIR}/standards/performance.md` — Pagination, lookup optimization, anti-patterns
- `${CLAUDE_SKILL_DIR}/standards/memory.md` — Memory management, streaming, OOM prevention
- `${CLAUDE_SKILL_DIR}/standards/source_types/{service_type}.md` — Service-specific patterns
**SQLAlchemy database**: Templates are mostly complete. Customize `_get_client()` if needed.
**Non-SQLAlchemy**: Study the reference connector, then implement each skeleton file.
**Critical for JSON Schema**:
- Make auth fields (`username`, `password`, `token`) **required** when the service needs authentication by default. If omitting a field means an opaque 401 at runtime, make it required so the UI validates upfront.
- Include SSL/TLS config (`verifySSL` + `sslConfig` `$ref`) for any connector that communicates over HTTPS — enterprise deployments use internal CAs.
- **SSL must be wired end-to-end**: schema → `connection.py` (resolve with `get_verify_ssl_fn`) → `client.py` (`session.verify = verify_ssl`). Missing wiring triggers SonarQube Security Review failure.
- See `${CLAUDE_SKILL_DIR}/standards/schema.md` for the `$ref` patterns and required fields guidance.
**Critical for Pydantic API models (models.py)**:
- Always set `model_config = ConfigDict(populate_by_name=True)` when using `Field(alias=...)` — without this, constructing instances with Python attribute names raises `ValidationError`.
- See `${CLAUDE_SKILL_DIR}/standards/code_style.md` for the full pattern.
**Critical for non-database connectors (client.py)**:
- Every list endpoint MUST implement pagination if the API supports it. Check the API docs.
- Missing pagination causes silent data loss — only the first page is ingested.From open-metadata/OpenMetadata, Apache-2.0.
More from open-metadata/OpenMetadata
- 0.862score
openmetadata-pr-review
open-metadata
Reviews OpenMetadata and Collate pull requests as a maintainer deciding whether to merge.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
systematic-debugging
open-metadata
Use when debugging a failing test, build error, or runtime issue that isn't immediately obvious.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
pr-checklist
open-metadata
Use when opening or finalizing a GitHub PR for OpenMetadata.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
tdd
open-metadata
Use when implementing new features or fixing bugs to enforce test-driven development.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
java-affected-tests
open-metadata
Use before opening or updating an OpenMetadata PR that changes Java, a JSON schema, an index mapping, a SQL migration, seed data or a pom — PR CI no longer…
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
planning
open-metadata
Use when starting a non-trivial feature, refactor, or multi-file change.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
playwright-validation
open-metadata
Use when validating UI changes in a branch require Playwright E2E testing.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.857score
verification
open-metadata
Use before claiming any task is complete.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.857score
openmetadata-workflow
open-metadata
Meta-skill loaded at session start.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.857score
code-review
open-metadata
Use to review code changes with a two-stage process - first checking spec/requirements compliance, then code quality.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.857score
connector-audit
open-metadata
Deep reliability audit for OpenMetadata connectors — runs 7 investigation prompts (metadata, errors, auth, lineage, scale, synthesis, implementation) against…
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.857score
ui-pr-recording
open-metadata
Use during PR creation for a UI feature or feature task.
SkillAFreshness: A★ 15.6KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 15,567
- Forks
- 2,481
- Open issues
- 677
- Contributors
- 519
- Last commit (this folder)
- Oct 16, 2026 (12 days ago)
- Last release
- Oct 21, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/open-metadata/OpenMetadata
- Website
- open-metadata.org
- 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 open-metadata
- 0.862score
openmetadata-pr-review
open-metadata
Reviews OpenMetadata and Collate pull requests as a maintainer deciding whether to merge.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
playwright-validation
open-metadata
Use when validating UI changes in a branch require Playwright E2E testing.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
systematic-debugging
open-metadata
Use when debugging a failing test, build error, or runtime issue that isn't immediately obvious.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
tdd
open-metadata
Use when implementing new features or fixing bugs to enforce test-driven development.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
pr-checklist
open-metadata
Use when opening or finalizing a GitHub PR for OpenMetadata.
SkillAFreshness: A★ 15.6KClaude Code +9 - 0.860score
planning
open-metadata
Use when starting a non-trivial feature, refactor, or multi-file change.
SkillAFreshness: A★ 15.6KClaude Code +9
Cite this page
scaffold-connector skill. Agent Mart. https://agentmart.dev/skills/open-metadata-scaffold-connector (last updated 2026-10-24)