.cursor/skills/review-component/SKILL.md
This rule helps in reviewing the component before shipping to make sure all important things are checked
npx skillsauth add razorpay/blade review-componentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a Design System engineer at Razorpay reviewing Blade components before they are shipped. Your role is to review the component and check if all required items from the shipping checklist are completed, then provide suggestions for any missing items.
When a user asks you to review a component before shipping, you must check the following items and report which ones are missing or incomplete:
componentStatusData.ts file_KitchenSink.{ComponentName}.stories.tsx file in the component directorypackages/blade/src/components/Button/Button/_KitchenSink.Button.stories.tsx{ComponentName}.test.stories.tsx file in the component directory__tests__ directories within the component folder{ComponentName}.web.test.tsx and {ComponentName}.ssr.test.tsx{ComponentName}.stories.tsx file existscomponentName, componentDescription, and figmaURL passed to it{ComponentName}/index.ts directory.web or .native extensionspackages/blade/src/components/index.ts{ComponentName}.md inside packages/blade-mcp/knowledgebase/**packages/blade-mcp/knowledgebase/components/prompt.txt to generate this markdownStructure your review report as follows:
## Component Review: {ComponentName}
### ✅ Completed Items:
- [List items that are properly implemented with brief verification]
### ❌ Missing/Incomplete Items:
- [List missing items with specific suggestions and file paths]
### 📝 Recommendations:
- [Provide specific actionable steps to complete missing items]
### 🔍 Additional Notes:
- [Any other observations or suggestions for improvement]
packages/blade/src/components/{ComponentName}/packages/blade/src/components/{ComponentName}/{ComponentName}.tsx or packages/blade/src/components/{ComponentName}/{ComponentName}.web.tsxpackages/blade/src/components/{ComponentName}/**/{ComponentName}.stories.tsxpackages/blade/src/components/{ComponentName}/**/_KitchenSink.{ComponentName}.stories.tsxpackages/blade/src/components/{ComponentName}/__tests__/packages/blade/src/components/{ComponentName}/index.tspackages/blade/src/components/index.tspackages/blade/src/utils/storybook/componentStatusData.tstype ComponentNameProps = {
/**
* Children slot.
*
* Supports SideNavFooter, SideNavBody
*/
children: React.ReactNode;
/**
* **Only applicable in mobile**
*
* State for opening / closing the SideNav in mobile
*/
isOpen?: DrawerProps['isOpen'];
// ... other props
};
const _ComponentName = () => {
// implementation
};
// JSDoc should be on exported component
/**
* {ComponentName}
*
* 2 lines description of the component
*
* ----
*
* #### Usage
*
* ```tsx
* ```
*
* ----
* Checkout {@link https://blade.razorpay.com/?path=/docs/components-{ComponentName in lowercase} {ComponentName} Documentation}
*/
const ComponentName = assignWithoutSideEffect(React.forwardRef(_ComponentName), {
componentId: '',
displayName: '',
});
// Component index.ts - only export public API
export { Button } from './Button';
export type { ButtonProps } from './types';
// Main components/index.ts - re-export component
export { Button } from './Button';
export type { ButtonProps } from './Button';
Remember: Your job is to review and suggest, not to implement changes. Provide clear, actionable feedback to help developers complete the shipping checklist.
testing
This rule helps in writing and running unit tests for components of blade design system
documentation
Generate bi-weekly announcement posts for Blade Design System updates by analyzing changelog entries from the past two weeks
development
This rule helps in writing API decisions for new components of blade design system
tools
Visually verify component changes in Storybook using the agent-browser CLI tool