leafygreen-authoring

Se invoca automáticamente al escribir o editar componentes de React (.tsx/.ts) en un proyecto que tenga paquetes @leafygreen-ui en package.json. Proporciona mapeo de componentes,…

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.

Más skills de mongodb

atlas-stream-processing
mongodb
Gestiona flujos de trabajo de MongoDB Atlas Stream Processing (ASP). Maneja el aprovisionamiento de espacios de trabajo, las conexiones de fuentes/receptores de datos, las operaciones del ciclo de vida del procesador,…
official
mongodb-atlas-stream-processing
mongodb
Gestiona los flujos de trabajo de MongoDB Atlas Stream Processing (ASP). Maneja el aprovisionamiento de espacios de trabajo, las conexiones de fuentes y destinos de datos, las operaciones del ciclo de vida de los procesadores,…
official
mongodb-connection
mongodb
Optimiza la configuración de conexión del cliente MongoDB (pools, tiempos de espera, patrones) para cualquier lenguaje de driver compatible. Usa esta habilidad al trabajar/actualizar/revisar…
official
mongodb-mcp-setup
mongodb
Guía a los usuarios en la configuración de las opciones clave del servidor MCP de MongoDB. Usa esta habilidad cuando el usuario tenga instalado el servidor MCP de MongoDB pero no haya configurado el…
official
mongodb-natural-language-querying
mongodb
Genera consultas de solo lectura de MongoDB (find) o aggregation pipelines usando lenguaje natural, con contexto del esquema de la colección y documentos de muestra. Usa esta skill…
official
mongodb-query-optimizer
mongodb
Ayuda con la optimización de consultas e indexación de MongoDB. Úsalo solo cuando el usuario pida optimización o rendimiento: "¿Cómo optimizo esta consulta?", "¿Cómo…
official
mongodb-schema-design
mongodb
MongoDB patrones y antipatrones de diseño de esquemas. Úselo al diseñar modelos de datos, revisar esquemas, migrar desde SQL o solucionar problemas de rendimiento…
official
mongodb-search-and-ai
mongodb
Guía a los usuarios de MongoDB en la implementación y optimización de soluciones de Atlas Search (texto completo), Vector Search (semántica) y Hybrid Search. Utilice esta habilidad cuando…
official