16 points par GN⁺ 2025-12-22 | 1 commentaires | Partager sur WhatsApp
  • Les Agent Skills ajoutent à Codex des capacités spécialisées par tâche via une structure d’extension permettant d’exécuter de manière fiable des workflows spécifiques
  • Chaque skill se compose d’un fichier SKILL.md et, en option, de scripts, ressources et assets, ce qui permet de les partager entre équipes ou au sein de la communauté
  • Codex exécute les skills soit par invocation explicite (commande /skills ou saisie $), soit par invocation implicite (utilisation automatique lorsqu’un skill correspond à la description de la tâche)
  • Les skills sont gérés via plusieurs emplacements de stockage et niveaux de priorité tels que REPO, USER, ADMIN, SYSTEM, et de nouveaux skills peuvent être créés avec $skill-creator
  • Cette fonctionnalité est disponible à la fois dans le CLI et dans l’extension IDE de Codex, et il est possible d’étendre les fonctionnalités en installant des skills depuis GitHub, entre autres

Présentation des Agent Skills

  • Les Agent Skills sont une structure qui apporte à Codex de nouvelles fonctionnalités et une expertise spécialisée
    • Les skills empaquettent des instructions, ressources et scripts optionnels pour accomplir des tâches précises
    • Ils peuvent être partagés entre équipes ou communautés et reposent sur l’open Agent Skills standard
  • Ils sont utilisables à la fois dans le CLI et l’extension IDE de Codex

Structure et composants d’un skill

  • Chaque skill est organisé autour d’un fichier SKILL.md, avec une structure de dossier du type suivant
    • SKILL.md : obligatoire, contient les instructions et les métadonnées
    • scripts/ : code exécutable optionnel
    • references/ : documentation optionnelle
    • assets/ : modèles et ressources optionnels
  • Codex utilise une approche de progressive disclosure pour gérer efficacement le contexte
    • Au démarrage, seuls le nom et la description du skill sont chargés, puis les instructions complètes sont lues si nécessaire

Modes d’invocation des skills

  • Invocation explicite (Explicit invocation)
    • Le skill est désigné directement via la commande /skills ou une saisie commençant par $
    • Les versions web et iOS de Codex ne prennent pas encore en charge l’invocation explicite, mais les skills inclus dans un dépôt peuvent être utilisés via le prompt
  • Invocation implicite (Implicit invocation)
    • Codex utilise automatiquement le skill correspondant lorsque la tâche de l’utilisateur correspond à sa description

Emplacements de stockage et priorité des skills

  • Codex charge les skills depuis plusieurs emplacements, et un skill situé dans un emplacement de priorité supérieure remplace un skill homonyme de niveau inférieur
  • Principaux scopes et emplacements
    • REPO : $CWD/.codex/skills, $CWD/../.codex/skills, $REPO_ROOT/.codex/skills
    • USER : $CODEX_HOME/skills ou ~/.codex/skills
    • ADMIN : /etc/codex/skills
    • SYSTEM : skills inclus par défaut dans Codex
  • Chaque scope est utilisé selon des objectifs de gestion au niveau personnel, équipe ou système

Comment créer un skill

  • Il est possible de générer automatiquement un nouveau skill avec le skill intégré $skill-creator de Codex
    • Combiné avec le skill $plan, il permet d’établir un plan avant la création du skill
  • En création manuelle, il suffit de créer un dossier dans un emplacement valide et de rédiger un fichier SKILL.md
    • Champs obligatoires : name, description
    • Champ optionnel : metadata.short-description
  • Les skills reposent sur l’Agent Skills specification

Installation des skills et exemples

  • Le skill $skill-installer permet d’installer des skills depuis le dépôt public de skills sur GitHub
    • Exemple : $skill-installer linear
    • Il est aussi possible d’installer des skills depuis d’autres dépôts
  • Exemples de skills intégrés
    • $plan : élaboration d’un plan pour développer une nouvelle fonctionnalité ou résoudre un problème complexe
    • $skill-installer linear : accès au contexte Linear
    • $skill-installer notion-spec-to-implementation : accès aux données Notion

Ce que cela signifie pour les développeurs Codex

  • Les Agent Skills sont un composant clé pour renforcer l’extensibilité et la collaboration de Codex
  • Les développeurs peuvent définir leurs propres skills afin de construire des workflows de développement automatisés
  • L’intégration CLI·IDE, la connexion à GitHub et une spécification de skill standardisée renforcent le potentiel d’extension de l’écosystème Codex

1 commentaires

 
GN⁺ 2025-12-22
Commentaires sur Hacker News
  • Je suis vraiment ravi de voir les Skills devenir un standard
    On peut les écrire comme de simples fichiers Markdown, et c’est fondamentalement efficace en contexte
    Comme ça peut se superposer aux outils existants, on peut par exemple créer une skill qui explique comment utiliser le CLI gh au lieu de passer par GitHub MCP
    On peut combiner plusieurs skills et même y inclure des scripts Python ou JS
    Résultat : une approche bien plus simple et souple, sans avoir à exposer un serveur MCP séparé

    • En plus, l’agent lui-même peut modifier, améliorer et ajouter des skills
      On peut par exemple automatiser quelque chose comme « ajoute les points clés de cette session sous forme de skill »
      Il devient possible de conserver ce qu’on a appris sous forme de skill, non seulement après les bonnes sessions mais aussi après celles pleines d’essais-erreurs
      Cela offre un flux d’extension fonctionnelle bien plus rapide et accessible que MCP
    • Je réfléchis à la façon d’utiliser les skills dans une application web Django + PostgreSQL + Python de taille moyenne
      Je me demande si ce sera plus utile côté data science ou DevOps que dans des usages centrés sur le CRUD
    • Au fond, je comprends les skills comme une forme de mise en cache de cas d’usage / recettes de workflow
  • Le point clé des Skills, c’est que, d’après la spec, le contenu principal du code ou du markdown d’une skill n’est pas soumis au RAG
    Autrement dit, seuls le nom et la description du front matter sont inclus dans le prompt pour sélectionner la skill
    Donc une logique non mentionnée dans la description pourrait tout simplement ne jamais être découverte
    En plus, la description d’une skill est une forme de prompt injection, donc elle influe aussi sur le ton général et le coût en tokens
    Voir cet exemple dans ce lien vers le code

    • Personnellement, j’ai l’impression que l’index des skills peut devenir plus une charge qu’une aide
      Comme il est important de garder un contexte propre, je préfère ajouter directement un fichier md seulement quand c’est nécessaire
      MCP est excessivement complexe, et même les skills donnent un peu l’impression d’être surconçues
    • Certains systèmes agentiques appliquent du RAG aux skills
      C’est moins un problème du LLM lui-même qu’un problème de conception du harness agentique
      À l’avenir, le LLM et le harness seront probablement intégrés de façon plus étroite
    • MCP et les tools finissent de toute façon par avoir le même problème
  • J’utilise une approche similaire depuis longtemps
    Je crée un dossier pour chaque fonctionnalité, avec README.md, scripts et GUIDE.md
    Quand je trouve du code réutilisable, par exemple pour une intégration clerk.dev, je le range dans un dossier,
    puis je le fusionne au besoin avec merge-to-md
    Cette approche a toujours parfaitement bien fonctionné, donc je suis content de voir ce type de fonctionnalité intégré par défaut dans les agents

    • Cette explication rend le concept de skill facile à comprendre
  • À long terme, les Skills pourraient évoluer comme une bibliothèque open source
    Si on fournit sous forme de skills des solutions standardisées pour l’authentification, le multitenant, etc.,
    la sécurité et la qualité du code pourraient fortement s’améliorer

    • Et si, à terme, le modèle pouvait rechercher et télécharger les skills nécessaires depuis un index global de skills
      pour les utiliser immédiatement, cela pourrait même devenir une alternative à l’apprentissage continu
  • Skills, plugins, apps, connectors, MCP, agents… franchement, c’est déroutant

    • Cette confusion vient de l’immaturité de la technologie et de sa rapidité d’évolution
      On n’a pas encore arrêté la meilleure approche, et la terminologie n’est pas stabilisée
      Même le mot « agent » n’a pas le même sens selon les groupes
    • En réalité, tout cela n’est qu’un mécanisme pratique pour charger du contexte
      En dehors de l’exécution d’outils, ce sont simplement différentes façons d’ajouter du contexte au prompt
    • Certains décrivent tout cela comme un simple pansement provisoire
    • D’autres y voient seulement des noms marketing pour une API et un prompt
    • Cela ressemble aussi au phénomène où les LLM génèrent en masse des idées très proches mais légèrement différentes
  • Récemment, dans ce billet,
    on décrivait une architecture où un agent appelle itérativement un LLM et échange des demandes d’utilisation d’outils au format JSON ; je me demande à quoi ressemblerait une skill dans ce framework

    • Avant la première boucle, le harness envoie au LLM un bloc <Skills>
      Par exemple : <Skill><Name>postgres</Name><Description>comment interroger la base de données de préproduction</Description><File>skills/postgres.md</File></Skill>
      Cet avis est renvoyé périodiquement pour éviter que le LLM « n’oublie » l’existence de la skill
      Au final, seuls le nom + la description + le chemin du fichier sont transmis, donc le coût en tokens reste faible
      Mais avec un LLM suffisamment intelligent, ce genre de structure ne serait peut-être même pas nécessaire
    • L’agent charge sélectivement une ou plusieurs skills quand il en a besoin
      C’est une manière standardisée d’utiliser ensemble le prompt de la skill et les scripts associés
  • Beaucoup de gens comprennent mal les Skills
    Le point essentiel, ce n’est pas le fichier .md, mais le bundling du code et des instructions
    Les Skills supposent l’existence d’un environnement d’exécution du code

    • On peut préapprouver du code exécutable, puis l’invoquer depuis le prompt quand c’est nécessaire
      L’un des grands avantages est l’économie de contexte grâce à l’indexation des métadonnées et au chargement différé
    • Certains décrivent cela comme le retour de la programmation lettrée
  • S’il existait une marketplace de skills.md, cela pourrait aider à diffuser la technologie

    • Mais en pratique, cela semble difficile à exploiter à cause du spam, de la sécurité et de l’absence de rentabilité
      Il suffit de voir les cas de spam autour de MCP
      Au final, cela risquerait de ne survivre qu’autour d’entreprises de confiance ou de développeurs connus
    • Il existe déjà le dépôt de skills d’Anthropic
      Il n’y a ni notes ni commentaires, mais on peut en attendre une certaine qualité
    • Ce genre d’initiative revient souvent, mais comme le coût de création de skills personnalisées est quasiment nul,
      il y a peu d’incitation à utiliser le prompt de quelqu’un d’autre
    • Moi aussi, en m’appuyant sur la documentation d’Anthropic, j’ai créé une skill qui écrit des skills
      Au final, l’essentiel est d’optimiser pour son propre workflow et sa propre base de code
  • Je me demande si, en s’appuyant sur les skills générées, l’agent pourrait synthétiser la solution finale obtenue après plusieurs tentatives

    • Moi aussi, j’ai créé une « meta skill » qui met à jour ses propres règles une fois la session terminée
      C’est comme ça que je construis un effet flywheel
  • Il y avait une blague disant qu’Anthropic ressemblait au Chief Product Officer d’OpenAI

    • Puis quelqu’un a ajouté une autre blague : « sans aucune compensation, en plus »