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/button → Button
Text input, text field@leafygreen-ui/text-input → TextInput
Dropdown, select@leafygreen-ui/select → Select, Option
Searchable dropdown@leafygreen-ui/combobox → Combobox
Search box@leafygreen-ui/search-input → SearchInput
Number field@leafygreen-ui/number-input → NumberInput
Checkbox@leafygreen-ui/checkbox → Checkbox
Radio button@leafygreen-ui/radio-group → RadioGroup, Radio
Toggle, switch@leafygreen-ui/toggle → Toggle
Icon button@leafygreen-ui/icon-button → IconButton
Icon@leafygreen-ui/icon → Icon
Heading, body text, label@leafygreen-ui/typography → H1–H3, Body, Label, Subtitle
Modal, dialog@leafygreen-ui/modal → Modal
Tooltip@leafygreen-ui/tooltip → Tooltip
Tabs@leafygreen-ui/tabs → Tabs, Tab
Table@leafygreen-ui/table → Table, Row, Cell
Badge, tag, chip@leafygreen-ui/badge → Badge
Banner, alert@leafygreen-ui/banner → Banner
Toast, notification@leafygreen-ui/toast → Toast
Menu, context menu@leafygreen-ui/menu → Menu, MenuItem
Card@leafygreen-ui/card → Card
Code block@leafygreen-ui/code → Code
Logo / logomark@leafygreen-ui/logo → MongoDBLogoMark, MongoDBLogo
Stepper, progress steps@leafygreen-ui/stepper → Stepper, Step
Pipeline@leafygreen-ui/pipeline → Pipeline, 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,…
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,…
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…
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…
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…
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…
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…
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…