Code Review for OpenMetadata
SkillDev toolsThe code-review skill is an agent skill that reviews code changes in two stages. Stage one checks that the diff matches the stated requirements with no scope creep, and stage two checks code quality against a checklist covering architecture, language conventions, tests, security, and decisions. It works on uncommitted changes, a branch diff against main, a GitHub PR, or specific files, and can optionally post findings as a PR review comment.
Then ask your AI: use the Code Review for OpenMetadata skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Have the code-review skill available to your agent.
What your AI can do with it
- Review uncommitted changes, a branch diff against main, a GitHub PR, or specific files
- Check that every stated requirement has a corresponding code change
- Flag scope creep such as unrelated refactors or unnecessary improvements
- Check cross-layer contracts like schema changes and model regeneration
- Review code quality against a checklist for architecture, tests, and security
- Optionally post findings as a PR review comment
Getting started
- Have the code-review skill available to your agent.
- Make sure the repository you want reviewed is accessible to the agent.
- Provide the target: uncommitted changes, a branch name, a PR number, or file paths.
- Read the stage one spec compliance report and fix any failures before stage two runs.
- Review the stage two code quality findings and decide whether to post them as a PR comment.
What this skill tells your AI
The instructions your AI receives, as published by open-metadata/openmetadata in skills/code-review/SKILL.md and read by Ahel’s review.
Two-stage review process: requirements compliance first, then code quality.
When to Use
- Before creating a PR
- Reviewing someone else's PR
- Self-checking your own changes before requesting review
Usage
/code-review # Review uncommitted changes
/code-review feature-branch # Review branch diff against main
/code-review #1234 # Review GitHub PR
/code-review path/to/file.java # Review specific files
Stage 1: Spec Compliance Review
Verify the changes do what they're supposed to do — no more, no less.
Steps
- Understand the goal. Read the PR description, issue, or ask the user what the change is supposed to accomplish.
- Read all changed files. Use
git diffto see the full scope:git diff main...HEAD # Branch diff git diff --staged # Staged changes gh pr diff <number> # PR diff - Check completeness against requirements:
- Does every stated requirement have a corresponding code change?
- Are there missing pieces? (e.g., backend change without migration, API change without UI update)
- Check for scope creep:
- Are there changes unrelated to the stated goal?
- Was code "improved" that didn't need to change?
- Check the cross-layer contract:
- Schema change (
openmetadata-spec/) + model regeneration (make generate) - Backend API change + frontend API client update
- New entity field + database migration (
bootstrap/sql/) - New connection config +
yarn parse-schemafor UI forms
- Schema change (
Report Format (Stage 1)
## Spec Compliance: [PASS / FAIL / PARTIAL]
### Requirements Met
- [x] Requirement A — implemented in file.java:42
- [ ] Requirement B — MISSING: no migration for new field
### Scope Issues
- file.java:100-120 — unrelated refactor, consider separate PR
### Cross-Layer Gaps
- Schema updated but `make generate` not run (models out of sync)
If Stage 1 fails, stop here. Fix compliance issues before reviewing quality.
Stage 2: Code Quality Review
Now review the implementation quality.
Checklist
Architecture:
- Follows existing patterns in the module (check similar implementations)
- No new dependencies that duplicate existing functionality
- Connector-specific logic stays in connector-specific files (not in shared
builders.py)
Java:
- No wildcard imports (
import java.util.*) - No unnecessary comments on obvious code
-
mvn spotless:applyhas been run - Integration tests for new API endpoints (in
openmetadata-integration-tests/) - Proper error handling with meaningful messages
Python:
- pytest style (plain
assert, nounittest.TestCase) - Type hints on public functions
-
make py_format && make py_format_checkpasses - Pydantic 2.x patterns (not v1 compatibility layer)
TypeScript/React:
- No
anytypes — use proper types orunknownwith type guards - Tailwind classes use
tw:prefix - Strings use i18n (
t('label.xxx')) not string literals - CSS custom properties for colors/spacing, no hardcoded values
- Loading states and error handling with
showErrorToast/showSuccessToast
Testing (use /test-enforcement for full analysis):
- 90% line coverage on changed Java classes
- Integration tests for new/changed API endpoints
- Jest tests for new/changed React components
- Playwright E2E tests for new user-facing features
- Tests verify behavior, not implementation
Security:
- No hardcoded secrets or credentials
- User input validated at system boundaries
- No SQL injection vectors (parameterized queries)
- No XSS vectors in frontend (proper escaping)
Decisions (docs/decisions/, rules in its README.md):
- No change undoes an Accepted record without adding the record that supersedes it
- A durable decision — a contract another component or repo must agree with, a new default or limit, an ordering that must hold, a rule stated only in the PR description — ships its record in this PR
Report Format (Stage 2)
## Code Quality: [GOOD / NEEDS WORK / SIGNIFICANT ISSUES]
### Issues (must fix)
- file.java:42 — wildcard import, use specific imports
- Component.tsx:15 — `any` type, use `EntityReference` from generated types
### Suggestions (nice to have)
- connector.py:80 — could use `yield from` instead of loop
### Positive Notes
- Good test coverage for the new endpoint
- Follows existing pagination pattern correctly
Reviewing GitHub PRs
When reviewing a GitHub PR by number:
# Get PR details
gh pr view <number>
# Get the diff
gh pr diff <number>
# Get review comments
gh api repos/{owner}/{repo}/pulls/<number>/comments
# Check CI status
gh pr checks <number>
After review, optionally post findings:
gh pr review <number> --comment --body "Review findings..."
Signals
- GitHub stars
- 15k
- Forks
- 2k
- Last commit
- Oct 2026
Questions
- What kinds of code changes can it review?
- It reviews uncommitted changes, a branch diff against main, a GitHub PR, or specific files.
- What does the two-stage process check?
- Stage one checks that the diff matches the stated requirements with no scope creep. Stage two checks code quality against a checklist covering architecture, language conventions, tests, security, and decisions.
- Can it post findings as a PR review comment?
- Yes, it can optionally post findings as a PR review comment.
Advanced
- Item type
- skill
- Key
code-review-open-metadata- Source
- github.com/open-metadata/openmetadata
github.com/open-metadata/openmetadata
Related picks
Skill · a5c-ai
The pick for Java110-java-maven-best-practices
Skill · jabrena
The pick for Javadbos-python
Skill · sickn33
The pick for Pythonpython-design-patterns
Skill · wshobson
The pick for Pythonsetup-ts-deep-modules
Skill · mattpocock
The pick for TypeScripttypescript-providers
Skill · composiohq
The pick for TypeScript