Aller au contenu

Skills

Les skills sont le deuxième pilier de Lytos : Design.

Un skill est une procédure étape par étape qui dit à l’agent IA comment effectuer un type de tâche spécifique. Pas des conseils vagues — des étapes concrètes.

“Le role-play ne remplace pas le contexte.”

Les skills de tâche Lytos suivent le standard ouvert agentskills.io — format initié par Anthropic et adopté par Claude Code, Claude, OpenAI Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, Goose, JetBrains Junie, OpenHands, et la plupart des outils IA de code modernes.

Chaque skill vit dans son propre dossier avec un fichier SKILL.md :

.lytos/skills/
├── session-start.md # protocole de démarrage Lytos (reste à plat)
├── code-review/
│ └── SKILL.md
├── testing/
│ └── SKILL.md
└── ...

Le SKILL.md commence par un frontmatter YAML minimal — name et description — puis un corps markdown libre :

---
name: testing
description: Écrire et relire des tests — unitaires, intégration et E2E — selon le modèle Testing Trophy. À utiliser après avoir écrit une feature, corrigé un bug (test de régression requis), pendant un refactoring, ou lors d'un audit de couverture.
---
# Skill — Testing
## Quand invoquer ce skill
...

Grâce à ce format standard, les outils IA modernes découvrent les skills de tâche Lytos nativement via la progressive disclosure :

  1. Au démarrage de session, l’outil charge uniquement le name + la description de chaque skill (~100 tokens chacun) — juste ce qu’il faut pour savoir quand chacun peut être pertinent.
  2. Quand la tâche en cours matche la description d’un skill, l’outil charge le corps complet de ce skill dans le contexte.
  3. Les scripts et fichiers référencés ne sont chargés qu’à la demande.

Résultat : l’agent a accès à tous les skills, mais ne paie le coût en contexte que de celui qui s’applique à la tâche courante.

SkillCe qu’il couvreEmplacement
session-startDémarrage de session, chargement du contexte, clôture — protocole de démarrage Lytosskills/session-start.md (plat)
code-reviewRevue de code avec checklist, self-review, taille de PRskills/code-review/SKILL.md
testingTests unitaires, intégration, E2E, stratégie de mockingskills/testing/SKILL.md
documentationDocstrings, ADRs, documentation API, changelog, mémoireskills/documentation/SKILL.md
git-workflowBranches, commits, CI checks, hooks, semantic versioningskills/git-workflow/SKILL.md
code-structureSOLID, taille de module, injection de dépendances, nommageskills/code-structure/SKILL.md
deploymentPré/post-deploy, observabilité, SLOs, migrations, incidentsskills/deployment/SKILL.md
securityOWASP Top 10, authentification, autorisation, secretsskills/security/SKILL.md
api-designConventions REST, pagination, format d’erreurs, rate limitingskills/api-design/SKILL.md

session-start lit le frontmatter de l’issue en cours pour décider combien de contexte l’IA charge avant de coder.

  • Startup léger autorisé uniquement quand l’issue est explicitement effort: XS et complexity: light. L’IA charge quand même la baseline de sécurité obligatoire — manifest, memory/MEMORY.md, default rules, BOARD.md, et l’issue elle-même — mais diffère les notes cortex, les rules spécifiques au projet et l’exploration large du codebase tant que l’issue n’en a pas besoin.
  • Startup standard reste obligatoire pour toute autre combinaison. Si l’un des deux champs manque, l’IA retombe sur standard. Si la tâche grossit en cours de session, elle repasse immédiatement en standard.

C’est ainsi que les petites issues restent rapides sans brûler la fenêtre de contexte — et c’est pour ça que effort et complexity dans le frontmatter portent vraiment quelque chose : ce ne sont pas juste des indicateurs de priorisation.

Comment les skills sont sélectionnés pour une tâche

Section intitulée « Comment les skills sont sélectionnés pour une tâche »

Le champ skill du frontmatter d’une issue est désormais optionnel — un indice pour les tâches ambiguës :

skill: code-structure # indice optionnel
skills_aux: [testing, security]
  • S’il est présent, il dit à l’outil « pour cette issue, préférer le skill nommé » — utile quand la tâche est à la frontière entre deux catégories.
  • S’il est absent, l’outil décide via progressive disclosure, en s’appuyant sur le titre et la description de l’issue et sur les descriptions des skills.

Différentes tâches bénéficient souvent de plusieurs skills :

Type de tâcheSkill principal probableSkills auxiliaires utiles
Nouvelle featurecode-structuretesting, security
Endpoint APIapi-designcode-structure, security, testing
Bug fixcode-structuretesting
Code reviewcode-reviewsecurity
Documentationdocumentation

Avec la progressive disclosure, l’outil charge souvent plusieurs de ces skills au fil de la tâche, sans qu’il soit nécessaire de tous les lister au départ.

Créez vos propres skills sous skills/<nom>/SKILL.md :

---
name: mon-skill
description: Une ou deux phrases qui décrivent CE QUE fait le skill ET QUAND l'utiliser. Incluez les mots-clés que l'agent matchera avec la description des tâches.
---
# Skill — Mon Skill
## Quand invoquer ce skill
...
## Procédure
1. ...
2. ...

Validez votre skill avec l’outil de référence officiel :

Fenêtre de terminal
npx skills-ref validate .lytos/skills/mon-skill

Les skills sont réutilisables entre projets et entre outils — ils fonctionnent avec n’importe quel assistant IA qui implémente le standard agentskills.io.