En los propios términos del Skill
El skill design-system es el propietario compartido de la marca dentro del plugin markdown-html. Captura la identidad de marca una sola vez mediante un asistente de incorporación de 10 preguntas —valores HEX primarios y de acento, Google Fonts para títulos y cuerpo, un estilo de diseño (editorial, técnico, minimalista o lúdico), directorio de salida predeterminado, tema de código, comportamiento del TOC y, de forma opcional, nombre de empresa y logotipo— y después valida el contraste del texto de cuerpo y de los enlaces conforme a WCAG 2.2 AA y deriva 12 propiedades personalizadas de CSS en el espacio HSL.
Tres herramientas de Python que solo usan la biblioteca estándar se encargan de la incorporación, la carga de la configuración y la validación de la paleta; la precedencia es proyecto sobre global sobre los valores predeterminados integrados. Todos los conversores (md-document, md-review, md-slides) leen la configuración guardada, así que cambiar un token cambia todos los documentos renderizados.
Qué produce
- Un archivo de configuración que contiene la marca y la paleta derivada, escrito de forma global o dentro del proyecto.
- Doce propiedades CSS personalizadas insertadas en el bloque de estilos de cada conversor, como --md-surface, --md-border, --md-link y --md-warn.
- Un esquema JSON para la configuración, distribuido como un activo para validación.
Cómo funciona
- 01Ejecutar la incorporación una vez
El skill es el propietario de marca compartido para el plugin markdown-html: md-document, md-review y md-slides consumen todos la config que escribe, de modo que una sola ejecución aplica la marca a cada conversión.
- 02Responda las diez preguntas
El asistente registra default_output_dir, el HEX primario y de acento, las fuentes de encabezado y cuerpo, design_style, code_theme, toc.behavior y, opcionalmente, company_name y logo_url.
- 03Deje que la validación controle el guardado
brand_palette_validator.validate() se ejecuta después de cada cambio, por lo que el par se vuelve a comprobar en cada edición de campo en lugar de solo al final del asistente.
- 04Derivar los doce tokens
derive_palette() calcula tokens como --md-surface en bg más o menos 4-6% de luminancia y --md-text-muted como rgba(text, 0.68), y los almacena en derived_palette dentro del mismo archivo de configuración.
- 05Resolver la configuración por precedencia
config_loader.py es el loader importable que llama cada conversor antes de renderizar; combina los valores del proyecto, luego los globales y, por último, los predeterminados integrados, y respeta la variable de entorno de bypass.
- 06Anular o restablecer de forma no interactiva
Más allá del asistente, onboard.py acepta --defaults, --set key=value, --scope project, --show y --reset, de modo que los campos de marca puedan modificarse o eliminarse sin volver a recorrer las preguntas.