OpenMetadata Development Workflow
This skill is loaded automatically at session start. It ensures you follow the right workflow for every task.
Before Starting Any Task
Check which skills apply to your task and use them. This is not optional — if a skill applies, you must follow it.
Skill Selection Guide
| Task type |
Required skill(s) |
| New feature (multi-file) |
/planning then /tdd then /test-enforcement then /verification |
| Bug fix |
/systematic-debugging then /tdd (write regression test) then /verification |
| New API endpoint |
/planning then /tdd then /test-enforcement (must include integration test) |
| New connector |
/connector-standards then /connector-building then /test-enforcement |
| UI component |
Read openmetadata-ui/src/main/resources/ui/DEVELOPER_HANDBOOK.md first (folder structure + file naming for any new file), then /ui-core-components + /react-best-practices + /composition-patterns before writing, then /tdd, then /web-design-guidelines after, then /test-enforcement (must include Jest + Playwright if user-facing) |
| UI a11y / UX / design audit |
/web-design-guidelines |
| React perf work (re-renders, waterfalls, bundle) |
/react-best-practices |
| Code review / PR review |
/code-review then /test-enforcement |
| Opening / finalizing a PR |
/test-enforcement then /verification then /pr-checklist |
| Connector review |
/connector-review |
| E2E test creation |
/playwright |
| Finishing implementation |
/test-enforcement then /verification |
Note: Connector skills (/connector-standards, /connector-building, /connector-review) and /playwright are part of the OpenMetadata Skills plugin and ship together with this workflow skill. They are defined in the skills/ directory alongside this file.
Why the UI row names skills explicitly: a skill only loads when it is invoked, and the model
decides that from the skill's own description. /composition-patterns describes itself as being
for refactoring prop proliferation and building component libraries, and
/web-design-guidelines describes itself as being for "review my UI" / "check accessibility" —
so neither reliably fires on "build me a component". Naming them here is what makes them part of
the workflow instead of a coin flip. Invoke /web-design-guidelines after the component
exists: it is an audit, and running it first works against its own trigger.
/react-best-practices, /composition-patterns and /web-design-guidelines are vendored from
vercel-labs/agent-skills (MIT) under
skills/vendor/. They are authoring aids, not gates — enforcement is ui-checkstyle, see
docs/ui-code-quality-gate.md.
Workflow Rules
Plan before coding. For any non-trivial task, use /planning to design the approach before writing code.
Test-first when possible. Use /tdd to write failing tests before implementation. This applies to Java, Python, and TypeScript equally.
Always enforce test coverage. Before any PR, use /test-enforcement to verify:
- 90% line coverage on changed Java classes
- Integration tests for all changed/new API endpoints
- Playwright E2E tests for new user-facing features
- Jest unit tests for new React components
Verify with evidence. Use /verification before claiming completion. Show actual test output, not claims.
Review before merging. Use /code-review for two-stage review (spec compliance + code quality).
Fill the PR template completely. Use /pr-checklist before gh pr create to gather every required section: linked issue, high-level design (large PRs), tests + coverage, UI screen recording, and manual test steps.
OpenMetadata Cross-Layer Checklist
When your task touches multiple layers, ensure all are synchronized:
CLAUDE.md Takes Precedence
If CLAUDE.md instructions conflict with any skill, CLAUDE.md wins. Skills are supplementary workflows, not overrides.
1---2name: openmetadata-workflow3description: Meta-skill loaded at session start. Directs Claude to check for applicable OpenMetadata skills before starting any task. Ensures structured workflows are followed.4---5
6# OpenMetadata Development Workflow
7
8This skill is loaded automatically at session start. It ensures you follow the right workflow for every task.
9
10## Before Starting Any Task
11
12**Check which skills apply to your task and use them.** This is not optional — if a skill applies, you must follow it.
13
14### Skill Selection Guide
15
16| Task type | Required skill(s) |
17|---|---|
18| New feature (multi-file) | `/planning` then `/tdd` then `/test-enforcement` then `/verification` |
19| Bug fix | `/systematic-debugging` then `/tdd` (write regression test) then `/verification` |
20| New API endpoint | `/planning` then `/tdd` then `/test-enforcement` (must include integration test) |
21| New connector | `/connector-standards` then `/connector-building` then `/test-enforcement` |
22| UI component | **Read `openmetadata-ui/src/main/resources/ui/DEVELOPER_HANDBOOK.md` first** (folder structure + file naming for any new file), then `/ui-core-components` + `/react-best-practices` + `/composition-patterns` **before writing**, then `/tdd`, then `/web-design-guidelines` **after**, then `/test-enforcement` (must include Jest + Playwright if user-facing) |
23| UI a11y / UX / design audit | `/web-design-guidelines` |
24| React perf work (re-renders, waterfalls, bundle) | `/react-best-practices` |
25| Code review / PR review | `/code-review` then `/test-enforcement` |
26| Opening / finalizing a PR | `/test-enforcement` then `/verification` then `/pr-checklist` |
27| Connector review | `/connector-review` |
28| E2E test creation | `/playwright` |
29| Finishing implementation | `/test-enforcement` then `/verification` |
30
31> **Note:** Connector skills (`/connector-standards`, `/connector-building`, `/connector-review`) and `/playwright` are part of the OpenMetadata Skills plugin and ship together with this workflow skill. They are defined in the `skills/` directory alongside this file.
32
33> **Why the UI row names skills explicitly:** a skill only loads when it is invoked, and the model
34> decides that from the skill's own `description`. `/composition-patterns` describes itself as being
35> for *refactoring* prop proliferation and *building component libraries*, and
36> `/web-design-guidelines` describes itself as being for *"review my UI" / "check accessibility"* —
37> so neither reliably fires on "build me a component". Naming them here is what makes them part of
38> the workflow instead of a coin flip. Invoke `/web-design-guidelines` **after** the component
39> exists: it is an audit, and running it first works against its own trigger.
40>
41> `/react-best-practices`, `/composition-patterns` and `/web-design-guidelines` are vendored from
42> [vercel-labs/agent-skills](https://github.com/vercel-labs/agent-skills) (MIT) under
43> `skills/vendor/`. They are authoring aids, not gates — enforcement is `ui-checkstyle`, see
44> [`docs/ui-code-quality-gate.md`](../../docs/ui-code-quality-gate.md).
45
46### Workflow Rules
47
481. **Plan before coding.** For any non-trivial task, use `/planning` to design the approach before writing code.
49
502. **Test-first when possible.** Use `/tdd` to write failing tests before implementation. This applies to Java, Python, and TypeScript equally.
51
523. **Always enforce test coverage.** Before any PR, use `/test-enforcement` to verify:
53 - 90% line coverage on changed Java classes
54 - Integration tests for all changed/new API endpoints
55 - Playwright E2E tests for new user-facing features
56 - Jest unit tests for new React components
57
584. **Verify with evidence.** Use `/verification` before claiming completion. Show actual test output, not claims.
59
605. **Review before merging.** Use `/code-review` for two-stage review (spec compliance + code quality).
61
626. **Fill the PR template completely.** Use `/pr-checklist` before `gh pr create` to gather every required section: linked issue, high-level design (large PRs), tests + coverage, UI screen recording, and manual test steps.
63
64### OpenMetadata Cross-Layer Checklist
65
66When your task touches multiple layers, ensure all are synchronized:
67
68- [ ] JSON Schema in `openmetadata-spec/` → run `make generate`
69- [ ] Connection schema → run `yarn parse-schema`
70- [ ] Java entity changes → Flyway migration in `bootstrap/sql/migrations/`
71- [ ] Backend API changes → update frontend API client
72- [ ] New UI strings → add to `locale/languages/en-us.json` then run `yarn i18n`
73- [ ] Java files → run `mvn spotless:apply`
74- [ ] Python files → run `make py_format && make py_format_check`
75- [ ] TypeScript/React files → run `yarn organize-imports:cli && yarn lint:fix && yarn pretty:base --write`
76- [ ] New source files → ensure Apache 2.0 license header (run `yarn license-header-fix`)
77- [ ] Application changes → run `yarn generate:app-docs`
78
79### CLAUDE.md Takes Precedence
80
81If CLAUDE.md instructions conflict with any skill, **CLAUDE.md wins**. Skills are supplementary workflows, not overrides.