Install this skill
npx skills add metabase/metabaseWorks across Claude Code, Cursor, Codex, Copilot & Antigravity
What this skill does
- β’Enforces 'no-any' policy via LSP-based verification
- β’Validates accessibility (A11y) including focus traps and labels
- β’Identifies missing user-facing event tracking in new flows
- β’Detects unoptimized dependencies affecting bundle size
- β’Ensures compliance with frontend/CLAUDE.md standards
When to use it
- βBefore submitting a pull request for new frontend features
- βWhen reviewing changes in a colleague's PR to catch hidden defects
- βDuring refactors of existing Metabase UI components
- βWhen adding new analytical interactions to the dashboard
When not to use it
- βFor backend Clojure logic or database schema migrations
- βFor general-purpose code not related to the Metabase frontend
- βWhen you need an architectural design review rather than a standards check
How to invoke it
Example prompts that trigger this skill:
- βReview the changes in the current branch against Metabase standards.β
- βRun typescript-review on this PR to check for 'any' types and accessibility.β
- βCheck these commits for compliance with the frontend development guide.β
- βExamine the performance and bundle impact of my recent UI changes.β
- βPerform a standards-based review of the diff in the current directory.β
Example workflow
- Open the terminal in the Metabase repository root.
- Stage the changes you wish to review.
- Trigger the typescript-review skill to analyze the diff.
- Review the prioritized output, starting with 'any' type violations.
- Apply fixes for identified accessibility or performance warnings.
- Re-run the skill to verify all critical findings are resolved.
Prerequisites
- βTypeScript/JavaScript development environment
- βMetabase repository access
Pitfalls & limitations
- !Prioritizes linting/standards over deep architectural logic
- !May flag valid performance optimizations if they resemble anti-patterns
- !Cannot detect missing tracking events if the naming conventions are ambiguous
FAQ
How it compares
Unlike a generic code-review prompt, this skill is pre-configured with Metabase-specific documentation paths and strict enforcement priorities, preventing inconsistent feedback.
Source & trust
From the source: β# TypeScript/JavaScript Code Review Skill @./../_shared/typescript-commands.md @./../_shared/react-redux-patterns.md ## Main Focus **Primary standard: the [`typescript-write`](../typescript-write/SKILL.md) skill.** Load it first β it defines the authoring rules this review enforces, alongside `frontβ¦β
View the full SKILL.md source
# TypeScript/JavaScript Code Review Skill @./../_shared/typescript-commands.md @./../_shared/react-redux-patterns.md ## Main Focus **Primary standard: the [`typescript-write`](../typescript-write/SKILL.md) skill.** Load it first β it defines the authoring rules this review enforces, alongside `frontend/CLAUDE.md` and `docs/developers-guide/frontend.md`. Adherence to `typescript-write` is the **highest-priority** review dimension: rank any violation of its provisions above all other findings. Treat its **no-`any` hard rule** (no explicit *or* implicit `any` in new code) as **blocking**, and verify it with the LSP rather than by eye. Review in this priority order: 1. **Violations of [`typescript-write`](../typescript-write/SKILL.md) provisions** β no-`any`, type tightening, type modeling, null/undefined handling, naming, structure, comments. Highest priority; block on the no-`any` rule. 2. Compliance with `frontend/CLAUDE.md`. 3. Readability and maintainability. 4. Appropriate test coverage. ## Blind spots β act as the missing reviewer These rarely surface in team reviews, so this skill should raise them. They are **additive** β raise them, but rank them below `typescript-write` violations: - **Accessibility.** Interactive elements need keyboard support, focus management, and accessible names. Flag missing `aria-label`/`aria-labelledby`, non-semantic click targets, modals without focus trap, icon-only buttons without labels, and form inputs without a linked label. - **Performance.** Flag areas that scale poorly and aren't memoized; inline object/array literals passed to memoized children; effects that fire on every batch of a progressive load; and new dependencies added to hot paths. - **Security.** Evaluate potential security issues in new code. - **Bundle size.** Flag new large dependencies, default imports from icon or util libs, and heavy modules imported at route-load time. - **Analytics.** User-facing flows should emit tracking events. If a PR adds a new flow (button, modal, navigation) without a tracking event, ask whether one is expected.
Quoted from metabase/metabase for reference β see the original for the authoritative, latest version.
π Full skill instructions β original source: metabase/metabase
How to Use This Skill Unit
Option A: Project-Specific (Recommended)
- Click "Download" above
- In your project, create the directory:
.agent/skills/typescript-review/ - Save the file as
SKILL.md - The agent will automatically discover the skill based on its description.
Option B: Global Installation (All Agents)
Save the file to these locations to make it available across all projects:
- Claude Code:
~/.claude/skills/metabase/metabase/typescript-review/SKILL.md - Cursor:
~/.cursor/skills/metabase/metabase/typescript-review/SKILL.md - Antigravity:
~/.gemini/antigravity/skills/metabase/metabase/typescript-review/SKILL.md
π Install with CLI:npx skills add metabase/metabase
