leafygreen-authoring

Auto-invoqué lors de l'écriture ou de la modification de composants React (.tsx/.ts) dans un projet contenant des packages @leafygreen-ui dans package.json. Fournit un mappage de composants,…

npx skills add https://github.com/mongodb/leafygreen-ui --skill leafygreen-authoring

LeafyGreen Authoring Conventions

Apply these conventions whenever writing or editing React components in a project that uses @leafygreen-ui/* packages.

Always prefer LeafyGreen components over plain HTML

When a user asks to add any UI element — in plain language, from a Figma design, or anywhere else — always check if a LeafyGreen component exists for it first. Never use a plain HTML element (<button>, <input>, <select>, etc.) when an @leafygreen-ui equivalent is available.

Common mappings:

User asks for…Use
Button, CTA@leafygreen-ui/buttonButton
Text input, text field@leafygreen-ui/text-inputTextInput
Dropdown, select@leafygreen-ui/selectSelect, Option
Searchable dropdown@leafygreen-ui/comboboxCombobox
Search box@leafygreen-ui/search-inputSearchInput
Number field@leafygreen-ui/number-inputNumberInput
Checkbox@leafygreen-ui/checkboxCheckbox
Radio button@leafygreen-ui/radio-groupRadioGroup, Radio
Toggle, switch@leafygreen-ui/toggleToggle
Icon button@leafygreen-ui/icon-buttonIconButton
Icon@leafygreen-ui/iconIcon
Heading, body text, label@leafygreen-ui/typographyH1H3, Body, Label, Subtitle
Modal, dialog@leafygreen-ui/modalModal
Tooltip@leafygreen-ui/tooltipTooltip
Tabs@leafygreen-ui/tabsTabs, Tab
Table@leafygreen-ui/tableTable, Row, Cell
Badge, tag, chip@leafygreen-ui/badgeBadge
Banner, alert@leafygreen-ui/bannerBanner
Toast, notification@leafygreen-ui/toastToast
Menu, context menu@leafygreen-ui/menuMenu, MenuItem
Card@leafygreen-ui/cardCard
Code block@leafygreen-ui/codeCode
Logo / logomark@leafygreen-ui/logoMongoDBLogoMark, MongoDBLogo
Stepper, progress steps@leafygreen-ui/stepperStepper, Step
Pipeline@leafygreen-ui/pipelinePipeline, Stage

If a package is not yet installed, install it before writing the component code:

npm install @leafygreen-ui/[package-name]

Component imports

Always use named imports for LG components:

import { H1, Body, Subtitle } from '@leafygreen-ui/typography'
import { Button } from '@leafygreen-ui/button'
import Icon from '@leafygreen-ui/icon'           // default import
import { MongoDBLogoMark } from '@leafygreen-ui/logo'

Styling approach

Always use design tokens from @leafygreen-ui/tokens for colors — never hard-coded hex values. Tokens are the single source of truth for color in the design system and automatically resolve to the correct value for dark or light mode.

import { palette } from '@leafygreen-ui/tokens'

// Correct: use a token
color: palette.gray.dark2

// Avoid: hard-coded hex
color: '#3D4F58'

Figma MCP → auto-install missing packages

When implementing a design from the Figma MCP, the component descriptions include the LeafyGreen package name, e.g.:

⚛️ React name: @leafygreen-ui/text-input
⚛️ React name: @leafygreen-ui/select

Before writing any component code:

  1. Scan all ⚛️ React name: entries in the Figma design context
  2. Cross-check each @leafygreen-ui/* package against package.json
  3. Install any that are missing: npm install @leafygreen-ui/[package-name]
  4. Never substitute plain HTML for a LeafyGreen component that is called out in the design spec

File structure

  • New components go in src/components/[ComponentName].tsx
  • One component per file
  • Name files and components in PascalCase: ProjectCard.tsx, not project-card.tsx
  • Ask before creating new folders outside of src/components/

TypeScript

  • Always define prop types explicitly using TypeScript interfaces
  • Do not use any as a type

General

  • Keep components focused. If a component is doing more than one thing, split it.

Plus de skills de mongodb

atlas-stream-processing
mongodb
Gère les workflows MongoDB Atlas Stream Processing (ASP). Gère le provisionnement des espaces de travail, les connexions de sources/récepteurs de données, les opérations du cycle de vie des processeurs,…
official
mongodb-atlas-stream-processing
mongodb
Gère les workflows MongoDB Atlas Stream Processing (ASP). Prend en charge le provisionnement des espaces de travail, les connexions sources/puits de données, les opérations du cycle de vie des processeurs,…
official
mongodb-connection
mongodb
Optimize MongoDB client connection configuration (pools, timeouts, patterns) for any supported driver language. Use this skill when working/updating/reviewing…
official
mongodb-mcp-setup
mongodb
Guidez les utilisateurs dans la configuration des options clés du serveur MCP MongoDB. Utilisez cette compétence lorsqu'un utilisateur a le serveur MCP MongoDB installé mais n'a pas configuré le…
official
mongodb-natural-language-querying
mongodb
Générez des requêtes MongoDB en lecture seule (find) ou des pipelines d'agrégation en langage naturel, avec le contexte du schéma de collection et des documents d'exemple. Utilisez cette compétence…
official
mongodb-query-optimizer
mongodb
Aide pour l'optimisation des requêtes MongoDB et l'indexation. À utiliser uniquement lorsque l'utilisateur demande une optimisation ou des performances : « Comment puis-je optimiser cette requête ? », « Comment puis-je…
official
mongodb-schema-design
mongodb
Modèles de conception et anti-modèles de schéma MongoDB. À utiliser lors de la conception de modèles de données, de l'examen de schémas, de la migration depuis SQL ou du dépannage de problèmes de performance…
official
mongodb-search-and-ai
mongodb
Guides MongoDB users through implementing and optimizing Atlas Search (full-text), Vector Search (semantic), and Hybrid Search solutions. Use this skill when…
official