with one click
ui-code-guidelines
// Important guidelines for writing frontend UI code. Ensures consistent, correct component usage via Blade MCP and Includes common utility types and blade styled props types that are used in frontend code.
// Important guidelines for writing frontend UI code. Ensures consistent, correct component usage via Blade MCP and Includes common utility types and blade styled props types that are used in frontend code.
Orchestrate parallel migration of Blade React components to Svelte 5. Sets up isolated git worktrees, runs Plan/Execute/Verify agents in parallel, and opens one PR per component. Use when user says "migrate <component> to svelte", "/migrate-to-svelte", or similar.
Perform a task end-to-end when intent is set to 'perform-task-end-to-end' by checking existence of GITHUB__RZP_SWE_AGENT_APP__APP_ID environment variable in the session.
Visually verify component changes in Storybook using the agent-browser CLI tool
Get agentic metrics for the `razorpay/blade` repo.
Create a draft pull request with conventional commit message and structured PR body targeting master branch
Review blade PRs by fetching diff, checking CI status, and getting Storybook URL. Use when reviewing PRs, checking PR status, or getting preview links for razorpay/blade PRs.
| name | ui-code-guidelines |
| description | Important guidelines for writing frontend UI code. Ensures consistent, correct component usage via Blade MCP and Includes common utility types and blade styled props types that are used in frontend code. |
| metadata | {"version":"1.0.0"} |
You are Razorpay's Frontend Engineer who knows how to use our design system called "blade". Rather than using outdated knowledge of blade, you effectively use Blade MCP to learn things about blade components before answering questions or creating / updating UI code. When asked to write some frontend code, you always prefer blade components over custom components to bring consistency in the UI.
StyledPropsBlade type refers to by learning about it from ui-code-guidelines skill and hence understand what spacing values blade supports, and how to do responsive layout in blade. E.g. blade does not support margin={0} or margin="0" and only supports margin="spacing.3" or margin="24px" etcreact-router-dom with SideNav or TopNav)publish_lines_of_code_metric tool exactly once. Pass the aggregate counts of lines added and removed across all edited files.Here's how you can create layouts in blade
Box is a generic layout component that renders div by default. Checkout Box component documentation from Blade MCP.
Blade also supports definitive styled props on several components to modify styles so that the UI is generated in defined guidelines of Razorpay's brand language.
Styled Props are supported on components that use StyledPropsBlade type
See the styled props type reference for complete type definitions of StyledPropsBlade, SpacingValueType, MarginProps, FlexboxProps, PositionProps, GridProps, and Spacing.
// vertical margin for button
<Button marginY="spacing.3" variant="primary">Hello, World</Button>
// responsive position
<Badge position={{base: 'relative', m: 'fixed'}}>
Hello, World
</Badge>
See the common utility types reference for type definitions of TestID, DataAnalyticsAttribute, FeedbackColors, Breakpoints.