Dans les termes du Skill
Le skill design-system est le propriétaire de marque partagé du plugin markdown-html. Il capture l'identité de marque une seule fois via un assistant d'intégration en 10 questions — valeurs HEX primaire et d'accent, Google Fonts pour les titres et le texte courant, un style de design (éditorial, technique, minimal ou ludique), répertoire de sortie par défaut, thème de code, comportement de la table des matières et, en option, nom et logo d'entreprise — puis valide le contraste du texte courant et des liens selon WCAG 2.2 AA et dérive 12 propriétés personnalisées CSS dans l'espace HSL.
Trois outils Python reposant uniquement sur la bibliothèque standard gèrent l'onboarding, le chargement de la configuration et la validation de la palette ; la précédence va du projet au global, puis aux valeurs par défaut intégrées. Chaque convertisseur (md-document, md-review, md-slides) lit la configuration enregistrée : modifier un token modifie donc chaque document rendu.
Ce qu'il produit
- Un fichier de configuration contenant la marque et la palette dérivée, écrit soit globalement, soit dans le projet.
- Douze propriétés personnalisées CSS intégrées dans le bloc de style de chaque convertisseur, telles que --md-surface, --md-border, --md-link et --md-warn.
- Un schéma JSON pour la configuration, fourni comme ressource pour la validation.
Fonctionnement
- 01Lancer l'onboarding une seule fois
Le skill est le propriétaire partagé de la marque pour le plugin markdown-html : md-document, md-review et md-slides consomment tous la configuration qu'il écrit, si bien qu'une seule exécution applique la marque à toutes les conversions.
- 02Répondre aux dix questions
L'assistant enregistre default_output_dir, les HEX primary et accent, les polices de titre et de corps, design_style, code_theme, toc.behavior, ainsi que company_name et logo_url en option.
- 03Laisser la validation conditionner l'enregistrement
brand_palette_validator.validate() s'exécute après chaque modification : la paire est donc revérifiée à chaque édition de champ, et non seulement à la fin de l'assistant.
- 04Dériver les douze tokens
derive_palette() calcule des tokens tels que --md-surface à partir de bg plus ou moins 4 à 6 % de luminance et --md-text-muted sous la forme rgba(text, 0.68), puis les stocke sous derived_palette dans le même fichier de configuration.
- 05Résoudre la configuration par précédence
config_loader.py est le chargeur importable que chaque convertisseur appelle avant le rendu ; il fusionne d'abord le projet, puis le global, puis les valeurs par défaut intégrées, et respecte la variable d'environnement de contournement.
- 06Remplacer ou réinitialiser sans interaction
Au-delà de l'assistant, onboard.py accepte --defaults, --set key=value, --scope project, --show et --reset : les champs de marque peuvent donc être modifiés ou effacés sans repasser par les questions.