Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt

Use this file to discover all available pages before exploring further.

Les tâches d’ingénierie les plus difficiles exigent souvent plus que de bons prompts. Elles peuvent nécessiter des scripts de référence, des modèles, des listes de vérification et d’autres fichiers complémentaires. Les skills vous permettent de regrouper tous ces éléments dans des dossiers que Cascade peut invoquer (lire et utiliser). Les skills sont un excellent moyen d’apprendre à Cascade à exécuter des workflows en plusieurs étapes de manière cohérente. Cascade utilise la divulgation progressive : seuls le name et la description du skill sont présentés au modèle par défaut. Le contenu complet de SKILL.md et les fichiers complémentaires ne sont chargés que lorsque Cascade décide d’invoquer le skill (ou lorsque vous utilisez @mention). Cela permet de conserver une fenêtre de contexte réduite, même avec de nombreux skills définis. Pour plus de détails sur la spécification des Skills, consultez agentskills.io.

Comment créer une skill

Utiliser l’interface utilisateur (le plus simple)

  1. Ouvrez le panneau Cascade
  2. Cliquez sur les trois points en haut à droite du panneau pour ouvrir le menu de personnalisation
  3. Cliquez sur la section Skills
  4. Cliquez sur + Workspace pour créer une skill de workspace (spécifique au projet), ou sur + Global pour créer une skill globale
  5. Donnez un nom à la skill (lettres minuscules, chiffres et tirets uniquement)

Création manuelle

Skill de workspace (propre au projet) :
  1. Créez un répertoire : .windsurf/skills/<skill-name>/
  2. Ajoutez un fichier SKILL.md contenant un frontmatter YAML
Skill global (disponible dans tous les workspaces) :
  1. Créez un répertoire : ~/.codeium/windsurf/skills/<skill-name>/
  2. Ajoutez un fichier SKILL.md contenant un frontmatter YAML

Format du fichier SKILL.md

Chaque skill nécessite un fichier SKILL.md avec un frontmatter YAML contenant les métadonnées du skill :

Exemple de skill

---
name: deploy-to-production
description: Guides the deployment process to production with safety checks
---

## Pre-deployment Checklist
1. Run all tests
2. Check for uncommitted changes
3. Verify environment variables

## Deployment Steps
Follow these steps to deploy safely...

[Reference supporting files in this directory as needed]

Champs de frontmatter requis

  • name: Identifiant unique de la skill (affiché dans l’interface utilisateur et utilisé pour les mentions avec @)
  • description: Brève explication affichée au modèle pour l’aider à déterminer quand invoquer la skill
Exemples de noms valides : deploy-to-staging, code-review, setup-dev-environment

Ajout de ressources supplémentaires

Placez les fichiers supplémentaires dans le dossier de la skill, à côté de SKILL.md. Ces fichiers sont alors accessibles à Cascade lorsque la skill est invoquée :
.windsurf/skills/deploy-to-production/
├── SKILL.md
├── deployment-checklist.md
├── rollback-procedure.md
└── config-template.yaml

Invocation des skills

Invocation automatique

Lorsque votre demande correspond à la description d’une skill, Cascade invoque automatiquement cette skill et utilise ses instructions ainsi que ses ressources pour accomplir la tâche. C’est la façon la plus courante d’utiliser les skills : il vous suffit de décrire ce que vous voulez faire, et Cascade détermine quelles skills sont pertinentes. Le champ description du frontmatter de votre skill est essentiel : il aide Cascade à comprendre quand invoquer la skill. Rédigez des descriptions qui expliquent clairement ce que fait la skill et dans quels cas elle doit être utilisée.

Invocation manuelle

Vous pouvez toujours activer explicitement une skill en saisissant @skill-name dans le champ de saisie de Cascade. C’est utile lorsque vous voulez vous assurer qu’une skill spécifique est utilisée, ou lorsque vous voulez invoquer une skill qui pourrait ne pas être déclenchée automatiquement par votre demande.

Périmètres des skills

PérimètreEmplacementDisponibilité
Espace de travail.windsurf/skills/Espace de travail actuel uniquement. Versionné avec votre dépôt.
Global~/.codeium/windsurf/skills/Tous les espaces de travail de votre machine. Non versionné.
Système (Enterprise)Spécifique à l’OS (voir ci-dessous)Tous les espaces de travail, déployés par l’IT. En lecture seule.
Pour assurer la compatibilité entre agents, Devin Desktop détecte aussi les skills dans .agents/skills/ et ~/.agents/skills/. Si vous avez activé la lecture de la configuration Claude Code, .claude/skills/ et ~/.claude/skills/ sont également parcourus.

Skills système (Enterprise)

Les organisations Enterprise peuvent déployer des skills disponibles dans tous les espaces de travail et que les utilisateurs finaux ne peuvent pas modifier :
OSChemin
macOS/Library/Application Support/Windsurf/skills/
Linux/WSL/etc/windsurf/skills/
WindowsC:\ProgramData\Windsurf\skills\
Chaque skill est un sous-répertoire contenant un fichier SKILL.md, comme les skills d’espace de travail.

Exemples de cas d’usage

Workflow de déploiement

Créez une skill intégrant des scripts de déploiement, des configurations d’environnement et des procédures de retour arrière :
.windsurf/skills/deploy-staging/
├── SKILL.md
├── pre-deploy-checks.sh
├── environment-template.env
└── rollback-steps.md

Consignes de revue de code

Incluez des guides de style, des listes de contrôle de sécurité et des modèles de revue :
.windsurf/skills/code-review/
├── SKILL.md
├── style-guide.md
├── security-checklist.md
└── review-template.md

Procédures de test

Regroupez les modèles de test, les exigences de couverture et les configurations CI/CD :
.windsurf/skills/run-tests/
├── SKILL.md
├── test-template.py
├── coverage-config.json
└── ci-workflow.yaml

Bonnes pratiques

  1. Rédigez des descriptions claires : la description aide Cascade à décider quand faire appel à la skill. Soyez spécifique sur ce que fait la skill et sur les cas où elle doit être utilisée.
  2. Incluez des ressources pertinentes : les modèles, les listes de contrôle et les exemples rendent les skills plus utiles. Réfléchissez aux fichiers qui pourraient aider quelqu’un à accomplir la tâche.
  3. Utilisez des noms explicites : deploy-to-staging est préférable à deploy1. Les noms doivent indiquer clairement ce que fait la skill.

Skills vs Règles vs Workflows

Les trois permettent de personnaliser Cascade, mais diffèrent par leur structure, leur invocation et leur coût de contexte :
SkillsRèglesWorkflows
ObjectifProcédures en plusieurs étapes avec des fichiers associésConsignes de comportement (« comment se comporter »)Modèles de prompt pour les tâches répétitives
StructureDossier avec SKILL.md + d’éventuels fichiers de ressourcesFichier .md unique avec frontmatterFichier .md unique
InvocationLe modèle décide (divulgation progressive) ou @mentionalways_on / glob / model_decision / manualManuel uniquement via /slash-command
Dans le prompt système ?Non — uniquement le nom + la description jusqu’à l’invocationDépend du mode d’activationNon — listés comme commandes disponibles
Particulièrement adapté àDéploiements, procédures de revue de code, procédures de test nécessitant des scripts/modèlesStyle de code, conventions du projet, contraintesRunbooks ponctuels que vous déclenchez explicitement
Règle générale : si Cascade doit le prendre en compte automatiquement et qu’il a besoin de fichiers associés, utilisez une Skill. S’il s’agit d’une courte contrainte de comportement, utilisez une Règle. Si vous voulez toujours le déclencher vous-même, utilisez un Workflow. Si les skills ne sont pas ce que vous recherchez, découvrez ces autres fonctionnalités de Cascade :
  • Workflows - Automatisez les tâches répétitives avec des workflows Markdown réutilisables, déclenchés via des slash commands
  • AGENTS.md - Définissez des instructions propres à un répertoire qui s’appliquent automatiquement selon l’emplacement du fichier
  • Memories & Rules - Conservez le contexte d’une conversation à l’autre grâce à des mémoires générées automatiquement et à des règles définies par l’utilisateur