
Dev Toolbar Review Guide
OfficialFreeStreamline your development toolbar reviews with safety checks.
Free · Opens the source repo
What Dev Toolbar Review Guide does
The Dev Toolbar Review Guide is a comprehensive checklist designed for reviewing pull requests (PRs) that modify the development toolbar and its integration points. This skill is particularly useful for engineers working on the Supabase platform, as it ensures that any changes made to the dev toolbar do not inadvertently affect production environments. The guide covers critical areas such as environment guards, flag override cookies, telemetry event subscriptions, and server-sent event (SSE) stream safety, providing a structured approach to maintaining code integrity.
When working with the development toolbar, it is essential to ensure that the toolbar remains invisible in production environments. The guide emphasizes the importance of build-time tree-shaking and runtime guards, which prevent the toolbar from being included in production bundles. Additionally, the checklist addresses the handling of feature flag overrides through cookies, ensuring that any changes to these mechanisms do not disrupt local development or production flag evaluations.
The skill is particularly beneficial for growth engineers and developers who need to adhere to strict review protocols when modifying the dev toolbar or related files. It provides clear instructions on what to look for during code reviews, helping to identify potential issues that could arise from changes in the toolbar's functionality or integration with other components. By following the checklist, teams can maintain a high standard of code quality and safety in their development processes.
Overall, the Dev Toolbar Review Guide is an essential tool for any developer or engineer involved in the Supabase project, ensuring that changes to the dev toolbar are thoroughly vetted and that the integrity of the production environment is preserved.
When to use it
Use this skill when reviewing pull requests that affect the dev toolbar or its related components to ensure compliance with safety protocols.
When not to use it
This skill is not necessary for changes that are purely UI/UX related within the toolbar panel itself, as they do not impact the underlying safety mechanisms.
What you can build with it
Reviewing PRs for the Dev Toolbar
Use this guide when reviewing pull requests that modify any part of the dev toolbar to ensure safety and compliance.
Ensuring Feature Flag Integrity
Utilize the checklist to verify that changes to feature flag handling do not affect production evaluations.
Maintaining Telemetry Event Safety
Apply this skill when assessing changes related to telemetry events to prevent unintended side effects.
How to install Dev Toolbar Review Guide
View source1. Install with the skills CLI
npx skills add supabase/supabase/dev-toolbar-review --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by supabaseDev Toolbar Review Guide
Review checklist for PRs touching the dev toolbar (packages/dev-tools/) and its
integration points in packages/common/. The toolbar surfaces telemetry events and
allows feature flag overrides during local development (expanding to staging/preview).
When This Applies
PRs modifying any of these paths need growth eng review:
packages/dev-tools/**(owned by@supabase/growth-engin CODEOWNERS)packages/common/posthog-client.ts(flag override reads, event subscription)packages/common/feature-flags.tsx(flag override merge logic)- App-level mounting:
DevToolbarProvider/DevToolbar/DevToolbarTriggerinapps/studio/,apps/www/,apps/docs/
Note: posthog-client.ts and feature-flags.tsx are NOT in CODEOWNERS for growth-eng,
so PRs touching only those files won't auto-request review. Watch for these in the PR feed.
Review Checklist
1. Environment Guards
Files: packages/dev-tools/index.ts, DevToolbar.tsx, DevToolbarTrigger.tsx, DevToolbarContext.tsx
The toolbar uses two layers of protection:
- Build-time tree-shaking in
index.ts:process.env.NODE_ENV !== 'development'ternaries that replace components with noops/stubs so the implementation is eliminated from production bundles. - Runtime guards in components:
IS_LOCAL_DEVchecks —DevToolbarandDevToolbarTriggerreturnnullto hide themselves, whileDevToolbarProviderpasses children through (<>{children}</>) to preserve the component tree.
Check for:
- Guards being removed or broadened. The toolbar is expanding to staging and preview deploys but must remain invisible in production.
- Tree-shaking ternaries in
index.tsstaying intact — these are the primary production safety mechanism. - New components or exports that bypass the existing guard pattern.
2. Flag Override Cookies
Files: packages/dev-tools/DevToolbar.tsx, packages/common/posthog-client.ts, packages/common/feature-flags.tsx
The toolbar writes two cookies that override feature flags locally:
x-ph-flag-overrides— PostHog flag overridesx-cc-flag-overrides— ConfigCat flag overrides
These are read by:
posthog-client.ts:getFeatureFlag()— checks the PostHog override cookie before querying the SDKfeature-flags.tsx— merges both override cookies into the flag store during initialization
Check for:
- Cookie name changes (must stay in sync across writer and all readers)
- Changes to the merge/precedence logic in
feature-flags.tsx(currently:vercel-flag-overridesfirst, thenx-cc-flag-overridestakes precedence in local dev) - Override cookies being read outside the
IS_LOCAL_DEV/isLocalDevguard — overrides must never affect production flag evaluation - Changes to
parseOverrideValueorvaluesAreEqualinpackages/dev-tools/utils.tsthat could cause type coercion bugs
3. Telemetry Event Subscription
Files: packages/common/posthog-client.ts, packages/dev-tools/DevToolbarContext.tsx
The toolbar subscribes to client-side PostHog events via posthogClient.subscribeToEvents().
The PostHog client calls emitToDevListeners() after capturePageView, capturePageLeave,
and identify. Note: captureExperimentExposure calls posthog.capture() directly
without emitting to dev listeners — experiment exposure events are invisible in the toolbar.
Check for:
- Changes to
emitToDevListenersorsubscribeToEventsthat could introduce side effects on the actual capture path (e.g., throwing errors, blocking, mutating event data) - The listener set (
devListeners) being iterated synchronously in a way that could delay event dispatch - New PostHog client methods that capture events but don't call
emitToDevListeners(gap in toolbar visibility)
4. SSE Server Telemetry Stream
Files: packages/dev-tools/DevToolbarContext.tsx
The toolbar connects to ${apiUrl}/telemetry/stream via Server-Sent Events to display
server-side telemetry. Uses exponential backoff on connection errors.
Check for:
- Changes to the SSE endpoint URL or
session_idcookie handling - Reconnection logic changes that could cause excessive retries or connection leaks
- Note: the stream endpoint lives in the platform repo — cross-repo changes need coordinated review
5. App-Level Mounting
Provider + toolbar panel (DevToolbarProvider, DevToolbar):
apps/studio/pages/_app.tsxapps/www/pages/_app.tsx,apps/www/app/providers.tsxapps/docs/features/app.providers.tsx
Trigger button (DevToolbarTrigger) — rendered separately in nav/header components:
apps/studio/components/layouts/Navigation/LayoutHeader/LayoutHeader.tsxapps/www/components/Nav/index.tsxapps/docs/components/Navigation/NavigationMenu/TopNavBar.tsx
Check for:
- Provider being added or removed from an app
apiUrlprop changes (must point to the correct platform API)- Rendering order changes that could affect the toolbar's access to PostHog context
What Doesn't Need Growth Review
Changes that are purely UI/UX within the toolbar panel itself — styling, layout, copy changes, drag behavior, popover positioning — don't need growth eng review unless they also touch the integration points above.
Frequently asked questions about Dev Toolbar Review Guide
Similar skills
Quality Playbook Generator
Run comprehensive quality audits on any codebase.
PR Draft Summary
Automate PR summary generation for openai-agents-python.
Final Release Review
Streamline your release candidate audits with ease.
Unit Test Vue Pinia
Efficiently write and review unit tests for Vue 3 applications.
Slang Shader Expert
Optimize and integrate Slang shaders with ease.
Telemetry Standards
Ensure consistent event tracking in Supabase Studio.
