Scaffold a new v9 component with all required files following Fluent UI patterns (hook, styles, render, types, tests, stories, conformance)
npx skills add https://github.com/microsoft/fluentui --skill v9-component
Create a new v9 component named $ARGUMENTS using the repo's Nx generators.
Use the react-component generator:
yarn nx g @fluentui/workspace-plugin:react-component --name $ARGUMENTS --project <project-name>
Where <project-name> is the Nx project (e.g., react-button). This generates all required files: component, types, hook, styles, render, index barrel, and conformance test.
Use the react-library generator first, then add the component:
# Create the package (will prompt for owner team)
yarn create-package
# Or non-interactively:
yarn nx g @fluentui/workspace-plugin:react-library --name <package-name> --owner "<team>"
# Then add the component inside it:
yarn nx g @fluentui/workspace-plugin:react-component --name $ARGUMENTS --project <package-name>
use${ARGUMENTS}Styles.styles.ts using design tokens: import { makeStyles } from '@griffel/react';
import { tokens } from '@fluentui/react-theme';
yarn nx run <project>:generate-api
ForwardRefComponent with React.forwardRef — never React.FC@fluentui/react-theme — never hardcoded colors/spacing/typographyclassName as the LAST argument in mergeClasses()_unstable suffix on exported hooks: use$ARGUMENTS_unstable, use${ARGUMENTS}Styles_unstable, render${ARGUMENTS}_unstablewindow/document/navigator access with canUseDOM() from @fluentui/react-utilities| Generator | Command | Purpose |
| --------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------- |
| react-component | yarn nx g @fluentui/workspace-plugin:react-component | Add component to existing package |
| react-library | yarn nx g @fluentui/workspace-plugin:react-library | Create new v9 package |
| recipe-generator | yarn nx g @fluentui/workspace-plugin:recipe-generator | Create a v9 recipe |
| prepare-initial-release | yarn nx g @fluentui/workspace-plugin:prepare-initial-release | Prepare package for release (compat/preview/stable) |
| bundle-size-configuration | yarn nx g @fluentui/workspace-plugin:bundle-size-configuration | Setup bundle-size tracking |
| cypress-component-configuration | yarn nx g @fluentui/workspace-plugin:cypress-component-configuration | Setup Cypress component tests |
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Frontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with features directory, MUI v7 styling, TanStack Router, performance optimization, and TypeScript best practices. Use when creating components, pages, features, fetching data, styling, routing, or working with frontend code.
Next.js 16 Cache Components - PPR, use cache directive, cacheLife, cacheTag, updateTag
| Build Shopify apps, extensions, themes using GraphQL Admin API, Shopify CLI, Polaris UI, and Liquid. "shopify theme", "liquid template", "polaris", "shopify graphql", "shopify webhook", "shopify billing", "app subscription", "metafields", "shopify functions"
Build Gradio web UIs and demos in Python. Use when creating or editing Gradio apps, components, event listeners, layouts, or chatbots.
MANDATORY prerequisite — load this skill BEFORE every `generate_diagram` tool call. NEVER call `generate_diagram` directly without loading this skill first. Trigger whenever the user asks to create, generate, draw, render, sketch, or build a diagram — flowchart, architecture diagram, sequence diagram, ERD or entity-relationship diagram, state diagram or state machine, gantt chart, or timeline. Also trigger when the user mentions Mermaid syntax or wants a system architecture, decision tree, dependency graph, API call flow, auth handshake, schema, or pipeline visualized in FigJam. Routes to type-specific guidance, sets universal Mermaid constraints, and tells you when to use a different diagram type or skip the tool entirely (mindmaps, pie charts, class diagrams, etc.).
Analyzes web performance using Chrome DevTools MCP. Measures Core Web Vitals (LCP, INP, CLS) and supplementary metrics (FCP, TBT, Speed Index), identifies render-blocking resources, network dependency chains, layout shifts, caching issues, and accessibility gaps. Use when asked to audit, profile, debug, or optimize page load performance, Lighthouse scores, or site speed. Biases towards retrieval from current documentation over pre-trained knowledge.
Algorithmic philosophies are computational aesthetic movements that are then expressed through code. Output .md files (philosophy), .html files (interactive viewer), and .js files (generative algorithms).
Take microsoft/v9-component from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.