Install any skill in seconds. Free to start, no credit card required.
Get Started Free →supabase/studio-shortcuts
Keyboard shortcut conventions for Supabase Studio.
Passed 22 of 22 test cases with the skill, and 12 of 22 without it.
and 14 more in the full report
10 fixed12 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
We are adding a new group of shortcuts called 'Edge Functions' to Supabase Studio. We want these shortcuts to show up under a dedicated heading in the shortcut help modal (`Shift+?`). What two files must be updated to establish the display ordering and section title?
| Checked | Without skill | With skill |
|---|---|---|
| Adds the group key to SHORTCUT_REFERENCE_GROUP_ORDER in referenceGroups.ts. | Missed | Passed |
| Maps the human-readable section label in ShortcutsReferenceSheet.tsx. | Missed | Passed |
The instructions your model reads when the skill loads.
When Studio UI changes introduce or materially alter repeated user actions, consider whether keyboard shortcut coverage should be added or updated. Shortcuts use the shared Studio shortcut system and must be discoverable from the visible UI.
keydown listener for a normal Studio action — register it through the shortcut registry and useShortcut.ShortcutTooltip, ShortcutBadge, or a command-menu badge.G then … chords are reserved for navigation.Mod+letter shortcuts that overlap common browser, editor, system, copy/save/search, or devtools behavior.<Input> gets onKeyDown={onSearchInputEscape(...)} — see Search inputs.apps/studio/state/shortcuts/registry.ts or apps/studio/state/shortcuts/registry/*.useShortcut.enabled.ShortcutTooltip or ShortcutBadge.showInSettings: false on contextual shortcuts (scoped to a specific page state, sheet, or panel).Shift+?), add the group key to SHORTCUT_REFERENCE_GROUP_ORDER in apps/studio/state/shortcuts/referenceGroups.ts and a human label to GROUP_LABELS in ShortcutsReferenceSheet.tsx.<Sheet> is open), mount useShortcut inside the sheet component gated by the open prop ({ enabled: open }) — apps/studio/components/interfaces/Platform/Webhooks/PlatformWebhooksDeliveryDetailsSheet.tsx is the canonical example. A shortcut that opens a sheet from anywhere is global instead, gated by whatever makes the action valid (e.g. useConnectSheetShortcut checks project health).Every <Input> used as a search or filter field must include the staged-Escape handler from apps/studio/lib/keyboard.ts:
import { onSearchInputEscape } from '@/lib/keyboard'
;<Input
value={query}
onChange={(e) => setQuery(e.target.value)}
onKeyDown={onSearchInputEscape(query, setQuery)}
/>
Behavior:
test cases passed, vs 12 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.