Impeccable
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
This rule helps in writing API decisions for new components of blade design system
$ npx skills add razorpay/blade --skill write-api-decision -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install razorpay/blade write-api-decision --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/razorpay/blade.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/write-api-decision .claude/skills/write-api-decision && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "write-api-decision" agent skill from https://github.com/razorpay/blade/tree/master/.agents/skills/write-api-decision into .claude/skills/write-api-decision/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-api-decision", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/razorpay/blade/tree/master/.agents/skills/write-api-decisionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add razorpay/blade --skill write-api-decision -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install razorpay/blade write-api-decision --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/razorpay/blade.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/write-api-decision .agents/skills/write-api-decision && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "write-api-decision" agent skill from https://github.com/razorpay/blade/tree/master/.agents/skills/write-api-decision into .agents/skills/write-api-decision/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-api-decision", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add razorpay/blade --skill write-api-decision -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install razorpay/blade write-api-decision --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/razorpay/blade.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/write-api-decision .cursor/skills/write-api-decision && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "write-api-decision" agent skill from https://github.com/razorpay/blade/tree/master/.agents/skills/write-api-decision into .cursor/skills/write-api-decision/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-api-decision", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/razorpay/blade.git --path .agents/skills/write-api-decision--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add razorpay/blade --skill write-api-decision -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install razorpay/blade write-api-decision --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/razorpay/blade.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/write-api-decision .gemini/skills/write-api-decision && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "write-api-decision" agent skill from https://github.com/razorpay/blade/tree/master/.agents/skills/write-api-decision into .gemini/skills/write-api-decision/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-api-decision", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install razorpay/blade write-api-decisionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add razorpay/blade --skill write-api-decision -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/razorpay/blade.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/write-api-decision .github/skills/write-api-decision && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "write-api-decision" agent skill from https://github.com/razorpay/blade/tree/master/.agents/skills/write-api-decision into .github/skills/write-api-decision/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-api-decision", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add razorpay/blade --skill write-api-decision -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install razorpay/blade write-api-decision --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/razorpay/blade.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/write-api-decision .opencode/skills/write-api-decision && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "write-api-decision" agent skill from https://github.com/razorpay/blade/tree/master/.agents/skills/write-api-decision into .opencode/skills/write-api-decision/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-api-decision", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
write-api-decisionThis rule helps in writing API decisions for new components of blade design system
Write API Decision is an agent skill from razorpay/blade. This rule helps in writing API decisions for new components of blade design system
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Design systems. The repository describes itself as: Design System that powers Razorpay. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e65bdec. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript and typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Write API Decision loads about 1.7k tokens when it runs. Until then it costs about 25 tokens; SKILL.md has 733 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from razorpay/blade at commit e65bdec, republished under its MIT licence (© razorpay). 733 words, ~1,747 tokens.
.claude/skills/write-api-decision/SKILL.md (or your agent's skills folder).You work in the Design System team of Razorpay. Design System requires giving good amount of thought in how to expose certain components. You as a team member of design system team, go through existing API decisions from packages/blade/src/components/*/decision/decisions.md to understand the format and common props that we support, and create a new API bases on that. Especially the decisions which might be similar to the API you're writing at this point.
packages/blade/src/components/<ComponentName>/_decisions/decisions.mdshowLeading prop might exist on figma but won't be needed on dev as leading prop alone is enough to know whether leading should be added or not.Study these existing decisions.md files for consistent patterns and formatting:
packages/blade/src/components/SideNav/_decisions/decisions.mdpackages/blade/src/components/Modal/_decisions/decisions.mdpackages/blade/src/components/Button/_decisions/decisions.mdpackages/blade/src/components/Typography/_decisions/decisions.mdpackages/blade/src/components/Badge/_decisions/decisions.mdYou can look for similar components in existing design systems on the internet for reference
All API decisions must follow this exact structure:
--------------------------markdown
3-4 lines description of what the component does, its purpose in the design system, and when it should be used. Keep it concise but informative about the component's role and primary use cases.
Overall structure of the API showing the main usage pattern with realistic example:
import { Component, SubComponent } from '@razorpay/blade/components';
<Component prop="value">
<SubComponent title="Example" />
</Component>;<details>
<summary>Alternate APIs (if needed. avoid creating unnecessary and far fetched alternate APIs. Skip this section if main API is obvious)</summary>
</details>
type ComponentNameProps = {
/**
* jsdoc for propName
*/
propName: 'option1' | 'option2';
/**
* jsdoc for optionalProp
* @default -
*/
optionalProp?: string;
/**
* jsdoc for children
*/
children: React.ReactNode;
/**
* jsdoc for onAction
*/
onAction?: (value: string) => void;
};type SubComponentProps = {
/**
* jsdoc for title
*/
title: string;
/**
* jsdoc for variant
* @default medium
*/
variant?: 'small' | 'medium' | 'large';
/**
* jsdoc for isActive
* @default -
*/
isActive?: boolean;
};-- 2 lines description --
<Component>
<SubComponent title="Basic Example" />
</Component>-- 2 lines description --
<Component onAction={(value) => console.log(value)}>
<SubComponent title="Advanced Example" variant="large" isActive />
</Component>-- 2 lines description --
// Show how the component handles specific scenariosFollow Existing Patterns: Study the referenced decisions.md files to maintain consistency with established naming conventions and prop patterns used in Blade.
Props Section Requirements:
'small' | 'medium' | 'large')?API Section Requirements:
Examples Section Requirements:
Common Prop Naming Patterns (from existing components):
variant for visual variationssize for sizing options ('small' | 'medium' | 'large')isActive, isDisabled, isOpen for boolean stateschildren for content slotsonDismiss, onClick, onChange for event handlersaccessibilityLabel for accessibilityComponent Structure Patterns:
as prop for polymorphic componentsshowLeading prop might exist on figma but won't be needed on dev as leading prop can be internally used to decide show or hide leading.Remember: Always reference existing decisions.md files before writing new APIs to ensure consistency with the established Blade design system patterns and naming conventions.
Remember: The goal is to create comprehensive, implementable API documentation that serves both current needs and future extensibility while maintaining consistency with the established Blade design system patterns.
© razorpay, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/write-api-decision of razorpay/blade.
Open the folder on GitHubat commit e65bdec
Write API Decision next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Write API Decision this skillrazorpay/blade | 656 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Impeccablebestofjs/bestofjs | 3.1k | 27 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Figma Design System Builderwarpdotdev/warp | 65k | 2 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| Figma use_figma Plugin API Ruleswarpdotdev/warp | 65k | 4 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| UI StylingOhh-889/skyroc | 795 | 13 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Shadcnsupabase/evals | 143 | 42 repos | ~4.5k | Automated safety check: Pass | Apache-2.0 |
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
warpdotdev/warp
Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.
warpdotdev/warp
Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.
Ohh-889/skyroc
Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.
supabase/evals
Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI.
Ohh-889/skyroc
Token architecture, component specifications, and slide generation.
razorpay/blade
Review blade PRs by fetching diff, checking CI status, and getting Storybook URL.
razorpay/blade
Add React Native support (.native.tsx files) to Blade components that currently only have web implementations.
razorpay/blade
Orchestrate parallel migration of Blade React components to Svelte 5.
razorpay/blade
Important guidelines for writing frontend UI code. An agent skill from razorpay/blade.
razorpay/blade
Heal a Blade PR by fixing CI failures, missing changesets, and sanity issues.
razorpay/blade
Resolve PR review comments by pushing code fixes or replying with explanations.
Categories
This rule helps in writing API decisions for new components of blade design system. Write API Decision is an agent skill from razorpay/blade.
Write API Decision fits situations like: tasks that involve Design systems.
Run `npx skills add razorpay/blade --skill write-api-decision -a claude-code`. Or copy the skill folder (.agents/skills/write-api-decision in razorpay/blade) into .claude/skills/write-api-decision in your project. Claude Code loads it when a task matches its description.
Run `npx skills add razorpay/blade --skill write-api-decision -a codex`. Or copy the skill folder (.agents/skills/write-api-decision in razorpay/blade) into .agents/skills/write-api-decision in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add razorpay/blade --skill write-api-decision -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write-api-decision, .gemini/skills/write-api-decision, .github/skills/write-api-decision and .opencode/skills/write-api-decision in your project.
SKILL.md names no scripts, command-line tools or credentials: Write API Decision is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Write API Decision is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Write API Decision: Impeccable (bestofjs/bestofjs, 3.1k stars), Figma Design System Builder (warpdotdev/warp, 65k stars), Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars) and UI Styling (Ohh-889/skyroc, 795 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
razorpay (a GitHub organization) maintains it in razorpay/blade, which has 656 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 7, 2026.
Source: razorpay/blade on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.