Skip to content

potato-skill : construire une étude d'annotation avec un agent de coding

Décrivez ce que vous voulez annoter à Claude Code, Codex ou Cursor : potato-skill conçoit l'étude d'annotation, la construit dans Potato et vérifie son rendu.

Vous pouvez démarrer un projet Potato de deux façons. Écrire la tâche vous-même, comme le montre le démarrage rapide, ou décrire l'étude à un agent de coding et laisser potato-skill la concevoir et la construire. Cette page traite de la seconde voie. Les deux aboutissent au même endroit : une tâche d'annotation Potato que vous pouvez exécuter, modifier et partager.

Ce que le skill décide

potato-skill est un skill d'agent, un ensemble d'instructions et de scripts d'assistance qu'un agent de coding charge lorsqu'une demande en a besoin. Il livre 28 fichiers de référence et neuf scripts d'assistance, et il couvre la conception de l'étude autant que sa construction :

  • quoi demander aux annotateurs, et sur quelle échelle
  • combien d'annotateurs il faut à chaque élément
  • comment former les annotateurs et vérifier leur travail
  • l'interface que voient les annotateurs
  • l'export des résultats dans le format dont l'étape suivante a besoin

Il tranche certains de ces points lui-même et vous renvoie les autres. La règle qu'il suit : une décision est prise sur place quand se tromper coûte peu à corriger, et renvoyée quand se tromper coûte cher, est irréversible, ou n'appartient pas à l'agent. Il retient une échelle de 5 points avec chaque point étiqueté, des raccourcis clavier sur toute question comptant neuf étiquettes ou moins, un ordre des éléments aléatoire avec un random_seed fixe, et toutes les questions obligatoires. Il vous interroge sur l'unité d'annotation, sur le nombre d'annotateurs par élément quand l'accord sera rapporté, sur la formulation du consentement, et sur tout jeu d'étiquettes dépourvu d'option « incertain ».

La tâche qu'il construit tourne sur Potato, et bénéficie donc de ce que Potato fait déjà : une connexion par annotateur, plusieurs annotateurs par élément, des statistiques d'accord, l'intégration avec Prolific et SONA, et l'export vers les formats que lisent les outils en aval.

Prérequis

Potato doit être installé là où l'agent exécute ses commandes, car les scripts d'assistance du skill importent les registres de Potato et appellent la commande potato :

bash
pip install potato-annotation

Il vous faut aussi un agent de coding. Le skill a été écrit pour Claude Code, et il s'installe également dans Codex et Cursor.

Installer le skill

Dans Claude Code, installez-le depuis le marketplace de plugins :

text
/plugin marketplace add davidjurgens/potato-skill
/plugin install potato-skill@potato

Pour Codex et Cursor, la CLI skills l'installe dans le projet sur lequel vous travaillez :

bash
npx skills add davidjurgens/potato-skill --agent codex cursor

Ce que contient une installation Codex ou Cursor

La CLI skills écrit .agents/skills/potato-skill/ avec SKILL.md, les 28 références et les neuf scripts, si bien qu'un projet Codex ou Cursor reçoit le même matériel qu'une installation Claude Code. Elle ne touche ni à AGENTS.md ni à .cursor/rules, et la façon dont chaque outil découvre un skill dans ce répertoire lui appartient.

Le dépôt porte aussi un AGENTS.md à sa racine, que Codex et Cursor lisent d'après son nom de fichier, sans aucune étape d'installation. Ce fichier est un court résumé face à environ 79 000 mots répartis dans les références, et il renvoie à des fichiers de référence et à des scripts que seule une installation complète pose sur le disque. Utilisez-le quand vous voulez donner à un agent la boucle de vérification avant remise et les règles qui mordent, et utilisez la CLI skills quand vous voulez le matériel de référence qui les sous-tend.

Décrire l'étude

Dites ce qu'il faut annoter, qui l'annotera et à quoi serviront les étiquettes. Vous n'avez pas besoin de connaître les types d'annotation de Potato ni son format de configuration. Une demande peut tenir en aussi peu de mots :

Je veux 200 tweets annotés en sentiment sur une échelle de 5 points, par trois annotateurs chacun, avec une page de consentement et deux contrôles d'attention. Construis la tâche et lance-la.

Le skill détermine la formulation des questions, l'échelle, la façon dont les éléments sont affectés et la façon dont les annotateurs sont vérifiés. Il ne se bloque pas sur les questions qu'il veut voir confirmées. Il énonce ses hypothèses, construit la tâche, la vérifie, et pose ses questions à côté de quelque chose que vous pouvez déjà parcourir.

Les vérifications que l'agent passe avant de vous remettre la tâche

Une configuration qui passe la validation vous dit que le serveur va démarrer, et ne vous dit rien sur la possibilité pour une personne de faire le travail. Le skill demande donc à l'agent d'afficher la tâche et de la regarder :

bash
potato validate config.yaml --strict
potato preview config.yaml --screenshot shot-01.png

--strict fait passer une clé de configuration non reconnue d'un avertissement à un échec, ce qui attrape la faute de frappe qui laisserait sinon une fonctionnalité désactivée en silence. --screenshot démarre un vrai serveur Potato et le pilote dans Playwright en mode headless, en enregistrant les erreurs de console, les exceptions non rattrapées de la page et les réponses HTTP de 400 ou plus. Il ne sort avec le code 0 que si ces trois listes sont vides.

Trois des neuf scripts d'assistance automatisent ce qui peut être mesuré plutôt que jugé. check_ui.py mesure la mise en page réelle et signale les schémas ou un bouton Next sous la ligne de flottaison, les widgets média vides et les raccourcis en double. boot_and_check.py signale chaque fonctionnalité configurée qui n'a rien chargé. walk_task.py parcourt une tâche en cours d'exécution comme le ferait un annotateur et indique où elle s'arrête.

Ouvrez la tâche dans votre navigateur et annotez vous-même quelques éléments avant d'inviter qui que ce soit.

La tâche qu'il produit

Une tâche Potato est un dossier de projet contenant la configuration de la tâche, ses données et ses consignes. Tout ce que décrit le démarrage rapide s'y applique. Vous la lancez avec potato start config.yaml, la modifiez à la main, ajoutez des annotateurs et exportez les étiquettes.

Comme le résultat est un dossier de tâche Potato, d'autres personnes peuvent l'utiliser aussi. Un collègue peut mener la même étude sur de nouvelles données, vous pouvez la relancer l'an prochain, et vous pouvez la publier avec l'article qui l'a utilisée. La vitrine est une collection de tâches partagées de cette manière, tirées d'articles publiés.

Designs et annotations existants

  • Un design publié. Le skill peut partir de l'un des 440 designs d'annotation tirés d'articles publiés, avec leurs jeux d'étiquettes, la formulation de leurs questions et leurs consignes. Vous pouvez les parcourir dans la vitrine, et find_design.py y cherche un design proche de celui que vous avez décrit.
  • Les annotations d'un autre outil. potato import lit 20 formats, dont Labelbox, CVAT et COCO, si bien qu'un projet à moitié terminé peut se poursuivre dans Potato.
  • Une étude déjà en cours. study_status.py rapporte l'avancement de chaque annotateur et l'accord sur chaque question, et le skill indique quelles corrections sont sûres en cours d'étude et lesquelles corrompraient les données déjà collectées.

Les serveurs MCP de Potato

Un agent peut obtenir les mêmes réponses en MCP plutôt que par le shell. potato mcp serve --root . expose 12 outils de création qui lisent les mêmes registres que la CLI, dont render_task_screenshot, qui renvoie la page rendue sous forme d'image. potato mcp connect fait le pont avec une étude en cours et ajoute 12 outils en direct couvrant le statut, l'avancement, les annotateurs, l'accord, l'affectation et l'export. Le pont a besoin d'un bloc mcp dans la configuration listant les outils à exposer, et d'un jeton issu de potato mcp issue-token.

Les tests contre les registres de Potato

Un identifiant faux mais plausible est pire que pas de documentation du tout, parce qu'un agent l'utilisera. Trois des 28 références sont générées depuis les propres registres de Potato et ne peuvent pas s'écarter de ce que le serveur impose : les 61 types d'annotation, chacun avec un exemple travaillé repris d'un vrai projet, les clés de configuration de premier niveau documentées, et les sous-clés documentées.

La CI couvre les fichiers centraux du skill, en vérifiant que chaque type d'annotation, type d'affichage, clé de configuration, opérateur, nom de stratégie et commande qui y est nommé existe bien dans Potato. Chaque exemple YAML est inséré dans une configuration fonctionnelle et passé au vrai validateur de Potato, et l'exemple travaillé démarre un vrai serveur.

Son matériel de référence est publié sur davidjurgens.github.io/potato-skill, et se lit sans rien installer. Anthropic recommande de relire tout skill avant de l'installer.

Comparer les deux voies

Les deux voies diffèrent par ce dont vous partez, pas par ce que vous obtenez :

Écrire la tâche vous-mêmeLa décrire à un agent de coding
Point de départune configuration YAMLune description en langage courant
Convient àdécouvrir Potato, petites tâchesnouvelles études, études de crowdsourcing avec formation et contrôles, types d'annotation que vous n'avez pas encore utilisés
Résultatune tâche Potatoune tâche Potato

Vous pouvez changer de voie à tout moment. Un agent peut modifier une tâche que vous avez écrite, et vous pouvez modifier celle que l'agent a construite.

Questions

Les questions ci-dessous portent sur la mise en place de potato-skill avec un agent de coding et sur l'endroit où trouver son code source.

Comment utiliser Potato avec un agent de coding ?

Installez Potato et potato-skill là où l'agent exécute ses commandes, puis décrivez l'étude à l'agent en langage courant. pip install potato-annotation installe Potato. Dans Claude Code, /plugin marketplace add davidjurgens/potato-skill suivi de /plugin install potato-skill@potato installe le skill, et dans Codex ou Cursor, c'est npx skills add davidjurgens/potato-skill --agent codex cursor qui s'en charge. Dites à l'agent ce qu'il faut annoter, qui l'annotera et à quoi serviront les étiquettes. potato-skill construit la tâche, en fait le rendu pour vérifier qu'elle fonctionne, et vous remet la liste des décisions qu'il a prises à votre place.

Où se trouve potato-skill sur GitHub ?

potato-skill se trouve sur github.com/davidjurgens/potato-skill, publié sous licence GPL-3.0-or-later. Son matériel de référence est publié sur davidjurgens.github.io/potato-skill, si bien que vous pouvez lire ce que le skill dit à l'agent avant de l'installer.

Pour aller plus loin