Compétences ckm:design-system
📦

ckm:design-system

Risque faible ⚙️ Commandes externes📁 Accès au système de fichiers🌐 Accès réseau🔑 Variables d’environnement⚡ Contient des scripts

Générer des tokens de design, valider leur utilisation et créer des diapositives de marque

Les systèmes de design échouent souvent lorsque les tokens ne sont pas appliqués de manière cohérente entre les couches primitive, sémantique et composant. Cette compétence génère des variables CSS à partir de définitions JSON de tokens, valide l'utilisation des tokens dans le code et crée des présentations de diapositives conformes à la marque avec l'intégration Chart.js.

Prend en charge: Claude Codex Code(CC)
🥉 72 Bronze
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "ckm:design-system". Génère des tokens de design CSS à partir de mon tokens.json et crée une configuration Tailwind pour mon projet Next.js.

Résultat attendu:

  • Sortie CSS avec structure de tokens en trois couches organisée en blocs :root avec les tokens primitifs, sémantiques et composants
  • Fichier de configuration Tailwind avec des correspondances de couleurs référençant les variables CSS pour une utilisation dans tailwind.config.js

Utilisation de "ckm:design-system". Crée un pitch deck de 5 diapositives pour une startup fintech. Inclus un graphique de revenus.

Résultat attendu:

  • Fichier HTML avec un deck de diapositives de marque incluant titre, problème, solution avec cartes, graphique à barres de croissance des revenus et diapositives d'appel à l'action
  • Références CSS aux tokens de design pour toutes les couleurs, polices et espacements afin d'assurer la conformité de la marque

Utilisation de "ckm:design-system". Trouve le meilleur type de graphique pour montrer la croissance trimestrielle des revenus sur quatre gammes de produits.

Résultat attendu:

  • Recommandation de graphique : Graphique à barres groupées pour comparer plusieurs gammes de produits sur plusieurs trimestres
  • Conseils contextuels sur quand l'utiliser, quand l'éviter, et notes d'implémentation Chart.js

Audit de sécurité

Risque faible
v1 • 5/26/2026

Static analysis flagged 561 potential issues (risk score 100/100), but AI evaluation confirms nearly all are false positives. Over 400 'Weak cryptographic algorithm' detections are hex color codes in design token CSV data and CSS examples (e.g. #2563EB). Over 150 'Shell backtick execution' detections are shell command examples in Markdown documentation and legitimate build tool invocations. The only true positive is subprocess.run in slide-token-validator.py which delegates to an internal validation script with low risk. The skill is a legitimate design system toolkit with no malicious intent, no credential exfiltration, and no command injection vulnerabilities.

26
Fichiers analysés
4,805
Lignes analysées
14
résultats
1
Total des audits
Problèmes à risque faible (9)
Hex color values in design token data flagged as cryptographic algorithms
FALSE POSITIVE: Over 400 'Weak cryptographic algorithm' detections. The static analyzer matched hex color codes (e.g. #2563EB, #F59E0B, #0D0D0D) in CSV design data files and CSS documentation examples. These are design token color values, not cryptographic material. Design system data and CSS documentation legitimately contain hex color codes for brand colors, UI colors, and CSS examples.
Shell command examples in Markdown documentation
FALSE POSITIVE: Over 150 'Ruby/shell backtick execution' detections in Markdown reference files. These are code examples showing users how to run commands like 'node scripts/generate-tokens.cjs' or 'python scripts/search-slides.py'. They are documentation, not executable code being injected at runtime. No dynamic command construction from user input.
Hardcoded image URLs in fetch-background.py
FALSE POSITIVE: Curated Pexels stock photo URLs hardcoded in fetch-background.py. These are pre-selected, free-to-use images for slide backgrounds. URLs point to images.pexels.com, a legitimate stock photography platform. No credential exfiltration or malicious network activity.
subprocess.run delegation in slide-token-validator.py
TRUE POSITIVE (low risk): Script uses subprocess.run to delegate validation to html-token-validator.py with sys.argv[1:] forwarded as arguments. This is a standard wrapper pattern. Risk is low because it only calls a known internal validator script.
Path traversal sequence in generate-slide.py
FALSE POSITIVE: The string '../../../assets/design-tokens.css' on line 632 is a computed relative path from the slide output directory to the shared design tokens CSS file. This is a hardcoded constant, not user-controlled input. No path traversal vulnerability exists.
Standard filesystem operations in build and validation scripts
FALSE POSITIVE: Node.js fs operations detected in embed-tokens.cjs, generate-tokens.cjs, and validate-tokens.cjs. These are standard file I/O operations for reading design token files, writing CSS output, and scanning codebases for token compliance. All operations are local to the project directory.
Chart.js CDN URL in SKILL.md
FALSE POSITIVE: Hardcoded URL 'https://cdn.jsdelivr.net/npm/chart.js@4.4.1/...' in SKILL.md line 190. This is a legitimate CDN URL for the Chart.js library used in slide HTML generation. It is a static reference, not dynamically constructed.
Dynamic import pattern in search-slides.py
FALSE POSITIVE: 'Dynamic import() expression' detected at line 10. This is actually a standard Python 'from slide_search_core import ...' statement. The static analyzer misidentified the Python import syntax as a dynamic JavaScript import expression.
Heuristic dangerous combination warning
FALSE POSITIVE: The heuristic analyzer flagged a 'dangerous combination' of code execution, network, and credential access across the codebase. Evaluation confirms all operations are legitimate: subprocess calls run internal build tools, network requests go to stock photo CDNs and Chart.js CDN, and 'credential' matches are false positives on CSV config lookups and hardcoded hex colors. No data exfiltration path exists.

Facteurs de risque

⚙️ Commandes externes (201)
references/component-specs.md:40-46 references/component-specs.md:46-83 references/component-specs.md:83-89 references/component-specs.md:89-106 references/component-specs.md:106-119 references/component-specs.md:119-168 references/component-specs.md:168-173 references/component-specs.md:173-191 references/component-specs.md:191-204 references/component-tokens.md:7-47 references/component-tokens.md:47-51 references/component-tokens.md:51-79 references/component-tokens.md:79-83 references/component-tokens.md:83-102 references/component-tokens.md:102-106 references/component-tokens.md:106-130 references/component-tokens.md:130-134 references/component-tokens.md:134-149 references/component-tokens.md:149-153 references/component-tokens.md:153-169 references/component-tokens.md:169-173 references/component-tokens.md:173-191 references/component-tokens.md:191-195 references/component-tokens.md:195-214 references/primitive-tokens.md:9-23 references/primitive-tokens.md:23-27 references/primitive-tokens.md:27-40 references/primitive-tokens.md:40-44 references/primitive-tokens.md:44-61 references/primitive-tokens.md:61-67 references/primitive-tokens.md:67-91 references/primitive-tokens.md:91-95 references/primitive-tokens.md:95-129 references/primitive-tokens.md:129-133 references/primitive-tokens.md:133-145 references/primitive-tokens.md:145-149 references/primitive-tokens.md:149-164 references/primitive-tokens.md:164-168 references/primitive-tokens.md:168-184 references/primitive-tokens.md:184-188 references/primitive-tokens.md:188-203 references/semantic-tokens.md:9-23 references/semantic-tokens.md:23-27 references/semantic-tokens.md:27-34 references/semantic-tokens.md:34-38 references/semantic-tokens.md:38-44 references/semantic-tokens.md:44-48 references/semantic-tokens.md:48-53 references/semantic-tokens.md:53-57 references/semantic-tokens.md:57-62 references/semantic-tokens.md:62-66 references/semantic-tokens.md:66-72 references/semantic-tokens.md:72-76 references/semantic-tokens.md:76-90 references/semantic-tokens.md:90-94 references/semantic-tokens.md:94-100 references/semantic-tokens.md:100-104 references/semantic-tokens.md:104-121 references/semantic-tokens.md:121-125 references/semantic-tokens.md:125-141 references/semantic-tokens.md:141-145 references/semantic-tokens.md:145-160 references/semantic-tokens.md:160-164 references/semantic-tokens.md:164-187 references/semantic-tokens.md:187-193 references/semantic-tokens.md:193-206 references/semantic-tokens.md:206-212 references/semantic-tokens.md:212-215 references/states-and-variants.md:31-38 references/states-and-variants.md:38-52 references/states-and-variants.md:52-59 references/states-and-variants.md:59-70 references/states-and-variants.md:70-75 references/states-and-variants.md:75-81 references/states-and-variants.md:81-87 references/states-and-variants.md:87-99 references/states-and-variants.md:99-100 references/states-and-variants.md:100-116 references/states-and-variants.md:116-130 references/states-and-variants.md:130-136 references/states-and-variants.md:136-146 references/states-and-variants.md:146-166 references/states-and-variants.md:166-184 references/states-and-variants.md:184-188 references/states-and-variants.md:188-207 references/states-and-variants.md:207-229 references/states-and-variants.md:229-241 references/tailwind-integration.md:9-57 references/tailwind-integration.md:57-63 references/tailwind-integration.md:63-113 references/tailwind-integration.md:113-119 references/tailwind-integration.md:119-126 references/tailwind-integration.md:126-132 references/tailwind-integration.md:132-172 references/tailwind-integration.md:172-176 references/tailwind-integration.md:176-187 references/tailwind-integration.md:187-191 references/tailwind-integration.md:191-216 references/tailwind-integration.md:216-220 references/tailwind-integration.md:220-230 references/tailwind-integration.md:230-239 references/tailwind-integration.md:239-243 references/tailwind-integration.md:243-249 references/token-architecture.md:7-18 references/token-architecture.md:18-32 references/token-architecture.md:32-60 references/token-architecture.md:60-66 references/token-architecture.md:66-92 references/token-architecture.md:92-98 references/token-architecture.md:98-121 references/token-architecture.md:121-127 references/token-architecture.md:127-135 references/token-architecture.md:135-139 references/token-architecture.md:139-147 references/token-architecture.md:147-162 references/token-architecture.md:162-168 references/token-architecture.md:168-172 references/token-architecture.md:172-184 references/token-architecture.md:184-189 references/token-architecture.md:189-192 references/token-architecture.md:192-195 references/token-architecture.md:195-207 references/token-architecture.md:207-213 references/token-architecture.md:213-224 scripts/embed-tokens.cjs:77 scripts/embed-tokens.cjs:90 scripts/embed-tokens.cjs:92 scripts/embed-tokens.cjs:97 scripts/generate-tokens.cjs:32-40 scripts/generate-tokens.cjs:109-114 scripts/generate-tokens.cjs:114-119 scripts/generate-tokens.cjs:119-124 scripts/generate-tokens.cjs:124-126 scripts/generate-tokens.cjs:129-132 scripts/generate-tokens.cjs:132-134 scripts/generate-tokens.cjs:151 scripts/generate-tokens.cjs:155-161 scripts/generate-tokens.cjs:179 scripts/generate-tokens.cjs:199 scripts/slide-token-validator.py:30 scripts/validate-tokens.cjs:33-46 scripts/validate-tokens.cjs:180 scripts/validate-tokens.cjs:190 scripts/validate-tokens.cjs:192 scripts/validate-tokens.cjs:193 scripts/validate-tokens.cjs:194 scripts/validate-tokens.cjs:195 scripts/validate-tokens.cjs:205 scripts/validate-tokens.cjs:207 scripts/validate-tokens.cjs:227 scripts/validate-tokens.cjs:231 SKILL.md:27 SKILL.md:31-37 SKILL.md:37-40 SKILL.md:40-49 SKILL.md:49-54 SKILL.md:54-56 SKILL.md:56-59 SKILL.md:59-61 SKILL.md:61-67 SKILL.md:67-68 SKILL.md:68-69 SKILL.md:69-70 SKILL.md:70-71 SKILL.md:71-72 SKILL.md:72-73 SKILL.md:73-88 SKILL.md:88-89 SKILL.md:89-90 SKILL.md:90-91 SKILL.md:91-92 SKILL.md:92-98 SKILL.md:98-116 SKILL.md:116-117 SKILL.md:117-118 SKILL.md:118-119 SKILL.md:119-123 SKILL.md:123-134 SKILL.md:134-140 SKILL.md:140-141 SKILL.md:141-142 SKILL.md:142-143 SKILL.md:143-144 SKILL.md:144-145 SKILL.md:145-146 SKILL.md:146-147 SKILL.md:147-151 SKILL.md:151-166 SKILL.md:166-171 SKILL.md:171-173 SKILL.md:173-180 SKILL.md:180-181 SKILL.md:181 SKILL.md:181-189 SKILL.md:189-208 SKILL.md:208-212 SKILL.md:212-222 SKILL.md:222-227 SKILL.md:227-229 SKILL.md:229-233 SKILL.md:233-235
📁 Accès au système de fichiers (17)
🌐 Accès réseau (28)
🔑 Variables d’environnement (7)
⚡ Contient des scripts (1)
Audité par: claude

Score de qualité

68
Architecture
100
Maintenabilité
87
Contenu
34
Communauté
72
Sécurité
74
Conformité aux spécifications

Ce que vous pouvez construire

Développeur frontend créant un système de design

Un développeur frontend a besoin d'établir un système de tokens de design cohérent pour un nouveau projet. Cette compétence génère du CSS à partir d'une définition JSON de tokens, valide que les composants utilisent des tokens plutôt que des valeurs codées en dur, et produit une configuration Tailwind pour l'intégration.

Designer créant des présentations de marque

Un designer a besoin de créer un pitch deck qui suit les directives de la marque. Cette compétence génère des diapositives HTML qui utilisent des tokens de design pour les couleurs, la typographie et l'espacement. Elle inclut des options de graphiques via Chart.js et des images d'arrière-plan organisées depuis Pexels.

Ingénieur DevOps automatisant les pipelines de tokens de design

Un ingénieur DevOps met en place une génération et une validation automatisées des tokens dans les pipelines CI. La compétence fournit des scripts CLI pour générer du CSS, valider les bases de code par rapport aux règles d'utilisation des tokens, et intégrer les tokens dans des fichiers HTML autonomes.

Essayez ces prompts

Générer des tokens depuis une configuration JSON
Génère des tokens de design CSS à partir de mon fichier tokens.json en utilisant la structure en trois couches. Utilise le motif primitif vers sémantique vers composant.
Valider l'utilisation des tokens dans la base de code
Valide mon répertoire src/ pour détecter les couleurs hexadécimales et les valeurs en pixels codées en dur. Signale toutes les violations et suggère quels tokens de design devraient être utilisés à la place.
Créer un pitch deck avec des graphiques
Crée un pitch deck investisseur de 8 diapositives pour une plateforme SaaS d'analytique. Inclus une diapositive titre, une diapositive problème, une diapositive solution avec grille de fonctionnalités, une diapositive métriques, une diapositive avec graphique de revenus, une diapositive témoignage, une diapositive tableau comparatif et une diapositive d'appel à l'action finale. Utilise nos tokens de design de marque.
Appliquer la technique sparkline de Duarte
Crée un deck de 9 diapositives utilisant la structure narrative sparkline de Duarte. Alterne entre les temps Qu'est-ce Qui Est (frustration) et Ce Qui Pourrait Être (espoir). Utilise la rupture de motif aux positions 3 et 6. Recherche des stratégies de diapositives pour 'pitch investisseur' et recommande des mises en page pour chaque diapositive.

Bonnes pratiques

  • Définissez d'abord les tokens primitifs avec des valeurs brutes, puis mappez-les via des tokens sémantiques, et enfin vers des tokens spécifiques aux composants pour une flexibilité maximale et un changement de thème facilité.
  • Validez toujours les diapositives HTML générées avec le validateur de tokens pour détecter les couleurs ou polices codées en dur avant de les partager.
  • Utilisez la recherche contextuelle avec les paramètres de position de diapositive et d'émotion pour créer des decks avec rupture de motif et contraste émotionnel pour un meilleur engagement du public.

Éviter

  • N'utilisez pas de couleurs hexadécimales brutes dans les fichiers CSS de composants. Référencez toujours les tokens de design via var() pour la cohérence du thème.
  • Ne créez pas de diapositives sans importer le fichier design-tokens.css. Toutes les propriétés visuelles doivent utiliser des variables de tokens.
  • Ne sautez pas la couche de tokens sémantiques. Mapper directement les composants aux primitifs rend le changement de thème et la maintenance plus difficiles.

Foire aux questions

Quel format de fichier le JSON de tokens de design doit-il suivre ?
Le JSON doit suivre une structure en trois couches : primitive (valeurs brutes de couleurs, espacements, typographie), sémantique (alias basés sur l'usage comme --color-primary) et composant (tokens spécifiques aux composants comme --button-bg). Chaque token a un champ $value et $type.
Cette compétence peut-elle générer des fichiers PowerPoint ou Google Slides ?
Non. Cette compétence génère des diapositives HTML avec des tokens de design CSS intégrés. Le résultat est un fichier HTML autonome qui peut être ouvert dans n'importe quel navigateur mais ne peut pas être directement importé dans PowerPoint ou Google Slides.
Comment ajouter une nouvelle image d'arrière-plan à mes diapositives ?
Les images d'arrière-plan sont sélectionnées à partir d'un ensemble organisé de photos Pexels gratuites classées par type de diapositive (hero, équipe, témoignage, etc.). Vous pouvez étendre le dictionnaire CURATED_IMAGES dans scripts/fetch-background.py avec des URL d'images Pexels supplémentaires.
Que vérifie le validateur de tokens ?
Le validateur analyse les fichiers CSS, JSX, TSX et autres fichiers source pour détecter les couleurs hexadécimales, couleurs RGB, valeurs en pixels et valeurs en rem codées en dur. Il suggère de les remplacer par des références var() vers des tokens de design. Il ignore les fichiers de définition de tokens et les exceptions courantes.
Comment créer un thème Tailwind à partir de mes tokens de design ?
Utilisez le script generate-tokens.cjs avec l'option --format tailwind. Cela génère un objet de configuration de couleurs qui mappe vos tokens de couleurs sémantiques vers des noms de couleurs Tailwind en utilisant des références de variables CSS.
La génération de diapositives prend-elle en charge les animations ?
Oui. Le système de diapositives inclut des classes d'animation CSS comme animate-fade-up, animate-stagger, animate-scale, animate-chart, animate-count et animate-pulse. La recherche contextuelle recommande des classes d'animation en fonction de l'objectif et de l'émotion de la diapositive.