Passer au contenu principal

Agent Skills

Ouvrir dans ChatGPT

Les compétences des agents enseignent aux assistants de codage IA comment construire des applications webforJ en utilisant les API appropriées, les jetons de conception et les modèles de composants. Au lieu de deviner les conventions du framework, l'assistant charge une compétence et suit un flux de travail structuré pour produire du code qui se compile et suit les meilleures pratiques dès le premier essai.

Utilisez le plugin

Les compétences ci-dessous sont fournies dans le plugin IA webforJ avec le serveur MCP. Une seule installation donne à votre assistant les deux éléments.

Les compétences suivent la norme ouverte Agent Skills et fonctionnent avec de nombreux assistants IA, y compris Claude Code, GitHub Copilot, Cursor, Gemini CLI, OpenAI Codex, et plus encore. Une compétence indique à l'assistant quel type de tâche elle gère ; il la charge automatiquement lorsque votre demande correspond. Par exemple, demander "thématisez cette application avec une palette bleue" déclenche la compétence webforj-styling-apps, qui guide l'assistant dans la recherche de jetons DWC valides, l'écriture de CSS ciblé et la validation de chaque nom de variable avant d'écrire quoi que ce soit sur disque.

Pourquoi utiliser des compétences ?

Le serveur MCP rend les informations webforJ disponibles à la demande, mais à lui seul, il ne dit pas à l'assistant quand rechercher quelque chose, quelle approche convient à la tâche, ou dans quel ordre procéder. C'est là que les compétences entrent en jeu.

Les compétences donnent à l'assistant un cahier des charges spécifique à la tâche : comment classifier le travail devant lui, quels modèles webforJ conviennent, quels outils MCP consulter à chaque étape, et comment valider le résultat avant de le retourner. Le résultat est un code webforJ cohérent et respectant les conventions plutôt qu'un ensemble de snippets techniquement valides mais stylistiquement dépareillés.

Comment les compétences diffèrent du MCP

Les compétences et le serveur MCP webforJ remplissent des rôles complémentaires. Le serveur MCP fournit des outils en direct que l'assistant peut appeler pour obtenir des informations ou générer des résultats. Les compétences fournissent le flux de travail qui indique à l'assistant quand utiliser ces outils, dans quel ordre faire les choses, et comment valider le résultat.

Serveur MCPCompétences des agents
Ce qu'il fournitOutils que l'assistant appelle à la demande (recherche de documents, génération de structures, validation de jetons)Flux de travail et tableaux de décision qui guident l'approche de l'assistant pour une tâche
Quand il agitLorsque l'assistant décide d'appeler un outilAutomatiquement, lorsque l'assistant détecte une tâche correspondante
Meilleur pourRépondre à des questions spécifiques, générer des artefactsTâches de bout en bout qui nécessitent une approche webforJ cohérente

Dans la pratique, les deux fonctionnent mieux ensemble - et le plugin IA webforJ les expédie en une seule installation.

Installation

Installez le plugin IA webforJ - il fournit les deux compétences ci-dessous avec le serveur MCP. Pour les clients qui ne prennent pas en charge les plugins, le dépôt IA webforJ répertorie le répertoire de compétences que chaque outil lit, afin que vous puissiez copier les dossiers de compétences manuellement.

Compétences disponibles

Utilisez ceci lorsque vous avez besoin d'un chemin HTTP non-UI - un point de terminaison REST, un gestionnaire de webhook, ou un servlet tiers tel que Swagger UI ou Spring Web. L'assistant choisit la bonne approche pour votre projet (Spring webforj.exclude-urls, remappage de WebforjServlet vers un sous-chemin, ou proxy à travers webforj.conf) et relie le point de terminaison sans perturber le routage UI de webforJ.

Quand ça commence

  • "Ajoutez un point de terminaison REST à /api/orders."
  • "Reliez un gestionnaire de webhook pour Stripe."
  • "Montez Swagger UI à /api/docs."
  • "Exposez un servlet personnalisé qui fonctionne aux côtés de l'UI de webforJ."

Utilisez ceci pour tout travail de formulaire dans une application webforJ : formulaires de saisie de données, liaison bidirectionnelle avec un bean Java, validation Jakarta, composants d'entrée masqués (téléphone, devise, IBAN, dates), formatage des colonnes de tableau en tant que devise ou pourcentage, et mises en page réactives à plusieurs colonnes. L'assistant passe par BindingContext, les composants Masked*Field, les rendus de masque de tableau, et ColumnsLayout.

Quand ça commence

  • "Construisez un formulaire d'inscription lié à mon bean User."
  • "Ajoutez un champ d'entrée pour le numéro de téléphone avec formatage à la saisie."
  • "Formattez cette colonne de tableau en tant que devise."
  • "Validez ce champ avec @NotEmpty et un vérificateur d'email personnalisé."

Utilisez ceci lorsque vous avez besoin d'un composant Java réutilisable entouré de n'importe quelle source - une bibliothèque d'éléments personnalisés existante, une bibliothèque JavaScript simple, ou une composition de composants webforJ existants. L'assistant choisit la bonne classe de base webforJ pour le travail, relie les propriétés, les événements et les emplacements avec les bons modèles, et produit des tests qui suivent les conventions webforJ.

Quand ça commence

  • "Enveloppez cette bibliothèque d'éléments personnalisés en tant que composants webforJ."
  • "Composez ces composants webforJ en une carte réutilisable."
  • "Intégrez cette bibliothèque JavaScript simple en tant que composant webforJ."
  • "Exposez cette API de navigateur en tant qu'utilitaire webforJ."

Utilisez ceci pour des tâches périodiques, du polling, de la recherche avec délai à la saisie, du throttling, et du travail de fond de longue durée qui met à jour l'UI au fur et à mesure. L'assistant choisit le bon primitif (Interval, Debouncer, Environment.runLater, PendingResult) et évite les pièges d'exécution de java.util.Timer, javax.swing.Timer, ou des threads créés en dehors de l'environnement webforJ, tous ceux-ci lançant IllegalStateException dès qu'ils touchent un composant UI.

Quand ça commence

  • "Rafraîchir ce tableau de bord toutes les 30 secondes."
  • "Ajoutez un debounceur pour la recherche à la saisie."
  • "Exécutez ce travail lourd en arrière-plan et mettez à jour la barre de progression."
  • "Interrogez ce point de terminaison REST jusqu'à ce qu'il renvoie done."

Utilisez ceci pour tout travail d'internationalisation : chargement de bundles de messages, changement de langue à l'exécution, détection automatique de la locale du navigateur de l'utilisateur et traduction des étiquettes de composants. L'assistant passe par le BundleTranslationResolver de webforJ 25.12, le souci HasTranslation, LocaleObserver, et les résolveurs personnalisés plug-in, et couvre à la fois les chemins Spring et plain webforJ.

Quand ça commence

  • "Ajoutez un support multilingue avec l'anglais et l'espagnol."
  • "Détectez la locale du navigateur de l'utilisateur et appliquez-la au démarrage."
  • "Ajoutez un sélecteur de langue à la barre de navigation."
  • "Déplacez toutes les chaînes codées en dur dans un bundle de messages."

Utilisez ceci pour tout ce qui protège les routes dans une application webforJ : connexion et déconnexion, accès basé sur les rôles, pages d'atterrissage publiques, sections réservées aux administrateurs, règles de propriété, et politiques de sécurité par défaut. L'assistant préfère Spring Security lorsque Spring Boot est dans le classpath et revient au cadre de sécurité simple de webforJ sinon. Il applique les bonnes annotations (@AnonymousAccess, @PermitAll, @RolesAllowed, @RouteAccess, @RegisteredEvaluator) et explique lesquelles sont terminales ou composables afin que la sécurité par défaut reste efficace.

Quand ça commence

  • "Protégez /admin afin que seuls les utilisateurs avec le rôle ADMIN puissent le voir."
  • "Ajoutez une page d'atterrissage publique que tout le monde peut visiter."
  • "Montrez le nom de l'utilisateur connecté dans l'en-tête."
  • "Permettez uniquement à un utilisateur d'éditer un enregistrement qu'il possède."

Utilisez ceci pour tout travail visuel sur une application webforJ : reskin de palette, style au niveau des composants, mise en page et espacement, typographie, thèmes complets, apparence du tableau, ou couleurs coordonnées pour Google Charts. L'assistant écrit du CSS qui respecte les jetons de conception DWC, cible correctement les sélecteurs, et valide chaque référence --dwc-* par rapport au véritable catalogue pour votre version de webforJ - de sorte que le mode sombre et le changement de thème continuent de fonctionner.

Quand ça commence

  • "Thématisez cette application avec une palette bleue."
  • "Stylez le dwc-button pour correspondre aux directives de la marque."
  • "Resserrez cette mise en page - ajustez l'espacement et la typographie."

Utilisez ceci pour les mises à niveau de versions majeures. L'assistant exécute la recette officielle webforj-rewrite OpenRewrite pour la version cible, qui augmente <webforj.version> et la version Java, réécrit les API et types renommés, et insère des commentaires TODO webforJ <majeur>: à chaque méthode supprimée qui nécessite une décision manuelle. Pour les cibles plus anciennes sans recette publiée (par exemple de 24 à 25), il vous guide à travers le repli manuel.

Quand ça commence

  • "Mettez à niveau cette application de webforJ 25 à 26."
  • "Exécutez la recette de réécriture et résolvez les TODO."
  • "Migrez de webforJ 24 à 25 manuellement puisque aucune recette n'est disponible."
  • "Quelles API supprimées dois-je corriger après la mise à niveau ?"