Skills
AGENTS.md2 starsChanged 4 months agoMITView on GitHub
Ce fichier s'adresse à tout agent IA (et à tout humain) qui modifie ce dépôt. Il décrit la structure, les commandes, les conventions et les pièges. Lisez-le avant d'écrire quoi que ce soit. Pour utiliser les Skills (et non les développer), voir README.md et le dossier docs/ de chaque Skill. Documents d'appui dans .agents/ : Une bibliothèque de Skills pour agents IA : des dossiers autonomes contenant un SKILL.md (frontmatter YAML + instructions) et, si utile, des scripts/ déterministes, des…
In this repository13 other files it gives its agents.
- accessibility-auditorSkill
- contract-reviewerSkill
- csv-data-profilerSkill
- dependency-auditorSkill
- git-workflow-assistantSkill
- meeting-notes-to-actionsSkill
- prompt-engineering-optimizerSkill
- release-notes-generatorSkill
- rest-api-designerSkill
- security-code-reviewSkill
- sql-query-optimizerSkill
- technical-writing-editorSkill
- web-research-synthesizerSkill
The file
Files
AGENTS.md — Développer ce dépôt de Skills
Ce fichier s'adresse à tout agent IA (et à tout humain) qui modifie ce dépôt. Il décrit la structure, les commandes, les conventions et les pièges. Lisez-le avant d'écrire quoi que ce soit.
Pour utiliser les Skills (et non les développer), voir README.md
et le dossier docs/ de chaque Skill.
Documents d'appui dans .agents/ :
| Fichier | Rôle |
.agents/workflows.md | Recettes pas-à-pas (ajouter un Skill, un script, un bundle…) |
.agents/conventions.md | Règles de style et de contenu, avec exemples ✅/❌ |
.agents/review-checklist.md | Checklist de revue avant PR |
.agents/architecture.md | Pourquoi le dépôt est structuré ainsi |
1. Ce qu'est ce dépôt
Une bibliothèque de Skills pour agents IA : des dossiers autonomes contenant
un SKILL.md (frontmatter YAML + instructions) et, si utile, des scripts/
déterministes, des references/, des assets/ et un docs/ en français.
Principe directeur — le chargement progressif. L'agent ne garde en contexte
que name + description (~30 tokens). Il charge le corps du SKILL.md
seulement si la tâche correspond, et n'ouvre references/ ou n'exécute
scripts/ qu'en cas de besoin. Chaque décision d'écriture découle de ça :
tout token doit gagner sa place.
2. Structure
Skills/
├── AGENTS.md # ce fichier
├── README.md # vitrine et catalogue
├── CONTRIBUTING.md # procédure de contribution
├── catalogue.json # index généré — NE PAS ÉDITER À LA MAIN
├── .agents/ # documentation de développement
├── bundles/<role>.json # regroupements de Skills par métier
├── docs/ # documentation transverse du dépôt
├── skills/<nom>/ # un Skill = un dossier
│ ├── SKILL.md # frontmatter + instructions (obligatoire)
│ ├── docs/README.md # guide FR agent + utilisateur (obligatoire)
│ ├── scripts/ # Python 3.9+, stdlib uniquement
│ ├── references/ # profondeur, chargée à la demande
│ └── assets/ # gabarits, exemples, données
├── templates/SKILL.template.md
└── tools/ # outillage du dépôt
├── skilllib.py # bibliothèque partagée (parsing, découverte)
├── validate_skills.py # validateur (--strict en CI)
├── build_catalogue.py # génère catalogue.json
├── skills_cli.py # CLI : list/search/show/bundles/install
└── new_skill.py # génère le squelette d'un nouveau Skill3. Commandes essentielles
# Créer un nouveau Skill (squelette complet : SKILL.md, docs/, scripts/)
python3 tools/new_skill.py mon-skill --title "Mon Skill" --tags data,quality
# Valider — DOIT passer avant toute PR
python3 tools/validate_skills.py --strict
# Régénérer l'index après toute modification de frontmatter, script ou docs
python3 tools/build_catalogue.py
# Explorer la bibliothèque
python3 tools/skills_cli.py list
python3 tools/skills_cli.py search "requête lente"
python3 tools/skills_cli.py show sql-query-optimizer
# Installer chez un agent
python3 tools/skills_cli.py install --bundle backend-engineer --dry-runBoucle de travail standard : modifier → validate_skills.py --strict →
build_catalogue.py → commit.
4. Règles non négociables
Ces règles sont vérifiées par la CI ; une PR qui les viole est rejetée.
4.1 Structure d'un Skill
skills/<kebab-case>/SKILL.md— le champnamedu frontmatter doit être identique au nom du dossier.- Frontmatter obligatoire :
name,description,version(semver),license,tags(liste non vide). description— 3ᵉ personne, en anglais, ≤ 1024 caractères, disant ce que fait le Skill et quand l'utiliser (Use when …). C'est le seul texte que l'agent voit avant de charger le Skill : c'est le champ le plus important du dépôt.- Corps du
SKILL.mdsous 500 lignes. La profondeur va dansreferences/. - Un dossier
docs/README.mden français par Skill.
4.2 Contenu
- Impératif à la 2ᵉ personne, agnostique du modèle et du fournisseur.
- Tables de décision plutôt que de la prose.
- Seuils concrets : « signaler les colonnes > 30 % de valeurs nulles », pas « vérifier les valeurs nulles ».
- Sections attendues : quand utiliser / ne pas utiliser, workflow numéroté, exemple travaillé (entrée → sortie), checklist de qualité, modes d'échec.
- Mots proscrits :
simply,obviously,just use,as we all know. Ils minimisent la difficulté et n'apportent aucune information. (Dérogation possible vialint-ignore: [banned-words]quand le Skill cite ces mots.)
4.3 Scripts
- Python 3.9+, bibliothèque standard uniquement. Aucune dépendance à installer, aucun accès réseau, aucun état persistant.
- CLI
argparseavec--helpfonctionnel et--formatobligatoire.mdest toujours proposé et sert de valeur par défaut ; ajouteztextpour une sortie de terminal condensée etjsondès que la sortie peut alimenter un autre outil ou une porte CI. La CI vérifie la présence de--formatet demdsur les 17 scripts. - Ne jamais modifier un fichier d'entrée : écrire vers une nouvelle sortie.
- Code de sortie ≠ 0 en cas de trouvaille bloquante, pour servir de porte CI.
- La sortie doit dire explicitement que les résultats sont des pistes à confirmer, jamais des verdicts.
4.4 Sécurité et données
- Aucun secret, aucune donnée personnelle, aucun contenu propriétaire scrapé.
- Un script qui manipule des secrets masque ses sorties (préfixe/suffixe).
- Un Skill à portée juridique, médicale ou financière doit porter un avertissement explicite : ce n'est pas un avis professionnel.
5. Ajouter un Skill — la version courte
python3 tools/new_skill.py mon-skill --title "Mon Skill" --tags data,quality
# éditer skills/mon-skill/SKILL.md puis skills/mon-skill/docs/README.md
python3 tools/validate_skills.py --strict
python3 tools/build_catalogue.pyPuis mettre à jour le tableau du README.md et ouvrir la PR.
La procédure détaillée, avec les décisions de conception, est dans
.agents/workflows.md.
Avant de créer un Skill, vérifiez qu'il n'existe pas déjà :
python3 tools/skills_cli.py search "ce que fait mon skill"Si un Skill proche existe, étendez-le plutôt que d'en créer un concurrent : deux Skills aux descriptions voisines dégradent la sélection de l'agent.
6. Le test décisif
Avant de proposer un Skill, répondez honnêtement :
Ce Skill rend-il un agent compétent mesurablement meilleur sur une tâche réelle ?
Si le contenu se résume à ce qu'un bon modèle sait déjà, ce n'est pas un Skill. Un Skill apporte au moins l'un de ces éléments :
- un processus que le modèle ne suit pas spontanément (ordre, vérifications) ;
- des seuils et tables de décision spécifiques à un domaine ;
- un script déterministe qui remplace du raisonnement coûteux et faillible ;
- des garde-fous qui évitent une erreur grave (destruction de données, avis juridique hasardeux, fuite de secret).
7. Pièges connus
| Piège | Conséquence | À faire |
Éditer catalogue.json à la main | La CI échoue (--check) | python3 tools/build_catalogue.py |
name ≠ nom du dossier | Le Skill ne se charge pas | Renommer l'un des deux |
description qui ne dit pas quand | L'agent ne déclenche jamais le Skill | Ajouter Use when … |
| Prose au lieu de tables | Contexte gaspillé, décisions floues | Convertir en table |
| Dépendance externe dans un script | Casse chez l'utilisateur | Réécrire en stdlib |
| Script qui écrase son entrée | Perte de données | Écrire vers une nouvelle sortie |
Corps de SKILL.md > 500 lignes | Budget de contexte explosé | Déplacer vers references/ |
| Nouveau Skill redondant | L'agent hésite entre deux Skills | Étendre l'existant |
| Lien relatif cassé | La CI échoue | Vérifier les chemins depuis le dossier du Skill |
8. Ce que la CI vérifie
Le workflow .github/workflows/validate.yml
exécute, sur chaque PR :
validate_skills.py --strict— frontmatter, style, liens relatifs, présence desdocs/.build_catalogue.py --check— l'index est à jour.- Compilation de tous les scripts Python.
--helpsur chaque script (l'interface CLI existe et ne plante pas).- Validation de tous les JSON (
assets/,bundles/,catalogue.json). - Tests fonctionnels de fumée sur les scripts principaux.
Reproduire l'ensemble en local :
python3 tools/validate_skills.py --strict && \
python3 tools/build_catalogue.py --check && \
python3 -m py_compile $(find skills tools -name '*.py')9. Langue
| Élément | Langue | Raison |
SKILL.md (frontmatter + corps) | Anglais | Portabilité inter-agents, les modèles sont plus fiables en anglais sur les instructions |
| Sorties des scripts | Anglais | Cohérence avec le SKILL.md qui les décrit |
skills/<nom>/docs/ | Français | Documentation destinée aux utilisateurs du dépôt |
README.md, AGENTS.md, .agents/, docs/ | Français | Idem |
| Messages de commit | Anglais, conventionnels | feat(skills): add x |
10. Commits et PR
Format conventionnel, vérifiable avec l'outillage du dépôt :
python3 skills/git-workflow-assistant/scripts/commit_helper.py --lint "feat(skills): add docker-compose-reviewer"| Préfixe | Usage |
feat(skills): | nouveau Skill |
feat(tools): | nouvel outil ou capacité d'outil |
fix(skills): | correction dans un Skill |
docs: | documentation seule |
chore(ci): | CI et outillage annexe |
Une PR décrit la tâche que le Skill améliore et, si possible, un avant/après.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

