Synthèse automatique
Génère un nouveau composant d'interface React conforme aux conventions du design system StyleSeed, après avoir résolu et vérifié le registre d'artefacts du projet.
Points forts
- Impose un cadre précis : déclaration `function`, attribut `data-slot`, utilitaire `cn()`, typage via `React.ComponentProps<>` et CVA pour les variantes
- Vérifie d'abord le registre ou l'héritage legacy et refuse explicitement de repartir sur le bundle global ou de recréer `STYLESEED.md`
- Lit un composant primitif voisin existant et réutilise l'API, les tokens et les chemins d'import réels du projet
- Interdit les couleurs hexadécimales en imposant les tokens sémantiques (`bg-card`, `text-foreground`)
Limites
- Suppose un système de composants React/Tailwind v4 déjà configuré avec StyleSeed ; inutilisable ailleurs
- Dépend d'un script externe `resolve-context.mjs` dont l'échec ou une configuration invalide bloque la génération
- La fin des instructions sur l'échelle d'espacement est tronquée, donc les règles de spacing précises ne sont pas entièrement explicites
Quand vous devez ajouter un composant unique à un projet React déjà régi par les conventions StyleSeed.
Pour scaffolder une page entière, composer un motif multi-composants, ou modifier un composant existant.
Analyse de sécurité
PrudenceThe skill uses powerful tools (Bash, Write, Edit) for legitimate scaffolding work: it runs a read-only context-resolution script, may regenerate compiled bundles, and writes UI component files within the project. There is no destructive command, no network exfiltration, no base64 payloads, and no safety-disabling instruction. The only residual concern is that it invokes a Node script located in a separately installed skill directory, which is normal but worth noting; overall this warrants 'caution' rather than 'safe' due to write/exec capability.
- •Declares Bash and Write/Edit, allowing execution of a Node script and filesystem modification within the project
- •Executes `node "<ss-resolve>/scripts/resolve-context.mjs"` from an externally-resolved skill directory, so the script path is trusted from the installed skill rather than the project
- •Writes and edits component source files, but scoped to the project's component directory
Exemples
/ss-component status-badge A small pill badge that shows one of: active, pending, failed, using semantic color tokens and CVA variants./ss-component info-card Generate a card component with a default and a compact variant, supporting className overrides and a data-slot attribute, reusing the project's existing card primitive if it fits./ss-component avatar-circle Create an avatar component for the dashboard artifact; resolve and check the registry context first and report any missing tokens before writing files.name: ss-component description: Generate a new UI component following the StyleSeed design conventions argument-hint: "[component-name] [description]" allowed-tools: Read, Write, Edit, Grep, Glob, Bash
UI Component Generator
Registry-first artifact boundary
If either .styleseed/project.json or .styleseed/artifacts/index.json exists, require a
complete, valid registry. Resolve the requested artifact ID before writing a component; ask
for scope if it is ambiguous. Never fall back to the global legacy bundle, create STYLESEED.md,
or restart setup because a registry is incomplete, invalid, or has no compiled output.
Locate the installed ss-resolve skill directory (shown as <ss-resolve> below), then run
this read-only check from the target project root with the active agent (codex, claude, etc.):
node "<ss-resolve>/scripts/resolve-context.mjs" --project-root . --artifact <artifact-id> --agent <agent> --check
For a valid registry with missing or stale compiled output, run the same command without
--check, then check again. Stop on invalid configuration or installation errors; do not
change approved selections to make the check pass. After success, read only the selected
.styleseed/bundles/<artifact-id>.md and .styleseed/manifests/<artifact-id>.json as the
compiled method and provenance. A shared component affecting multiple artifacts requires
resolving and checking each affected artifact separately, not merging their bundles.
Legacy projects use the following path only when neither registry file exists. Preserve
STYLESEED.md; if it is missing, use setup before component code.
node "<ss-resolve>/scripts/resolve-context.mjs" --project-root . --from-lock STYLESEED.md --agent <agent> --check
For missing or stale legacy output, run the same command without --check, then check again.
Read .styleseed/effective-rules.md and .styleseed/manifest.json only after success.
When NOT to use
- For full-page scaffolding → use
/ss-page - For composed multi-component patterns → use
/ss-pattern - For tweaking an existing component — just edit the file directly
- For projects without a configured StyleSeed React/Tailwind v4 component system
Generate a new component: $0 Description: $ARGUMENTS
Instructions
-
Apply the registry/legacy boundary above, then read the actual implementation context:
- For a registry artifact, start from its
implementation.sourceRootsandimplementation.tokenFiles. For legacy projects, discover the existing component and stylesheet entry points from the project source. - Follow the active stylesheet imports to the token definitions and recipe helpers used by
this artifact.
css/theme.cssandcss/recipes.cssare examples, not required locations. - Read an existing nearby primitive (such as the project's button) and its real imports, props, variants, and states. Reuse an existing component when it already fits the request.
- Preserve the project's approved tokens and component API. If required context is missing or unsupported, report the gap before inventing files, aliases, tokens, or replacements.
- For a registry artifact, start from its
-
Follow these conventions strictly:
- Use
functiondeclaration (notconst) - Add
data-slot="component-name"attribute - Use the project's existing
cn()utility and verified import path for className merging - Use
React.ComponentProps<>for prop typing - Always support
classNameprop for overrides - Use CVA (
class-variance-authority) if the component has variants - Use semantic color tokens (
bg-card,text-foreground) — never inline hex
- Use
-
Design token usage:
- Colors:
text-foreground,bg-card,text-brand,text-muted-foreground,border-border - Pattern surfaces:
ss-pattern-surface; insets/controls/icons use the matchingss-*class - Primitives use the project token scale; do not hardcode one radius or shadow personality
- Spacing follows one repeatable selected-recipe rhythm
- Motion:
duration-[var(--duration-fast)],ease-[var(--ease-default)]
- Colors:
-
Typography rules:
- Display (36-48px):
leading-none tracking-[-0.02em] - Heading (18-24px):
leading-snug tracking-[-0.01em] - Body (14-17px):
leading-normal(default tracking) - Caption uppercase (10-13px):
tracking-[0.05em] - Use
size-*shorthand instead ofw-* h-* - Use
ms-*/me-*instead ofml-*/mr-*(logical properties)
- Display (36-48px):
-
Accessibility requirements:
- Minimum touch target: 44x44px (
min-h-11 min-w-11) - Support
aria-*attributes passthrough - Use
focus-visible:ring-2 focus-visible:ring-ringfor keyboard focus - Respect
prefers-reduced-motionfor animations
- Minimum touch target: 44x44px (
-
Export the component as a named export (not default)
-
Place the file in the existing component directory established in step 1, inside the affected artifact's implementation scope.
src/components/ui/is a common layout, not a path to create in every project. Route composed patterns to/ss-pattern.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/styleseed-ui-component-generator-mtz9jr5h/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/styleseed-ui-component-generator-mtz9jr5h/download' --output '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h/SKILL.md.part' && mv '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h/SKILL.md.part' '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Write, Edit, Grep, Glob, Bash
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h/SKILL.md' && test -s '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/ss-component' && cp -R '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h' '.claude/skills/ss-component'Codex
test -f '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h/SKILL.md' && test -s '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/ss-component' && cp -R '.skill-downloads/styleseed-ui-component-generator-mtz9jr5h' '.agents/skills/ss-component'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/styleseed-ui-component-generator-mtz9jr5h'openskills read 'styleseed-ui-component-generator-mtz9jr5h'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/styleseed-ui-component-generator-mtz9jr5h/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.