> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

> Les skills aident Cascade à traiter des tâches complexes en plusieurs étapes.

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**](https://agentskills.io/what-are-skills#how-skills-work) : 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](https://agentskills.io/home).

<div id="how-to-create-a-skill">
  ## Comment créer une skill
</div>

<div id="using-the-ui-easiest">
  ### Utiliser l’interface utilisateur (le plus simple)
</div>

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)

<div id="manual-creation">
  ### Création manuelle
</div>

**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

<div id="skillmd-file-format">
  ## Format du fichier SKILL.md
</div>

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

<div id="example-skill">
  ### Exemple de skill
</div>

```markdown theme={null}
---
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]
```

<div id="required-frontmatter-fields">
  ### Champs de frontmatter requis
</div>

* **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`

<div id="adding-supporting-resources">
  ## Ajout de ressources supplémentaires
</div>

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
```

<div id="invoking-skills">
  ## Invocation des skills
</div>

<div id="automatic-invocation">
  ### Invocation automatique
</div>

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.

<div id="manual-invocation">
  ### Invocation manuelle
</div>

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.

<div id="skill-scopes">
  ## Périmètres des skills
</div>

| Périmètre            | Emplacement                         | Disponibilité                                                     |
| -------------------- | ----------------------------------- | ----------------------------------------------------------------- |
| 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. |

<Note>
  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.
</Note>

<div id="system-level-skills-enterprise">
  ### Skills système (Enterprise)
</div>

Les organisations Enterprise peuvent déployer des skills disponibles dans tous les espaces de travail et que les utilisateurs finaux ne peuvent pas modifier :

| OS        | Chemin                                          |
| --------- | ----------------------------------------------- |
| macOS     | `/Library/Application Support/Windsurf/skills/` |
| Linux/WSL | `/etc/windsurf/skills/`                         |
| Windows   | `C:\ProgramData\Windsurf\skills\`               |

Chaque skill est un sous-répertoire contenant un fichier `SKILL.md`, comme les skills d’espace de travail.

<div id="example-use-cases">
  ## Exemples de cas d’usage
</div>

<div id="deployment-workflow">
  ### Workflow de déploiement
</div>

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
```

<div id="code-review-guidelines">
  ### Consignes de revue de code
</div>

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
```

<div id="testing-procedures">
  ### Procédures de test
</div>

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
```

<div id="best-practices">
  ## Bonnes pratiques
</div>

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.

<div id="skills-vs-rules-vs-workflows">
  ## Skills vs Règles vs Workflows
</div>

Les trois permettent de personnaliser Cascade, mais diffèrent par leur **structure**, leur **invocation** et leur **coût de contexte** :

|                               | Skills                                                                                        | Règles                                               | Workflows                                            |
| ----------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| **Objectif**                  | Procédures en plusieurs étapes avec des fichiers associés                                     | Consignes de comportement (« comment se comporter ») | Modèles de prompt pour les tâches répétitives        |
| **Structure**                 | Dossier avec `SKILL.md` + d’éventuels fichiers de ressources                                  | Fichier `.md` unique avec frontmatter                | Fichier `.md` unique                                 |
| **Invocation**                | Le modèle décide (divulgation progressive) ou `@mention`                                      | `always_on` / `glob` / `model_decision` / `manual`   | **Manuel uniquement** via `/slash-command`           |
| **Dans le prompt système ?**  | Non — uniquement le nom + la description jusqu’à l’invocation                                 | Dépend du mode d’activation                          | Non — 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èles | Style de code, conventions du projet, contraintes    | Runbooks 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.

<div id="related-documentation">
  ## Documentation connexe
</div>

Si les skills ne sont pas ce que vous recherchez, découvrez ces autres fonctionnalités de Cascade :

* **[Workflows](./workflows)** - Automatisez les tâches répétitives avec des workflows Markdown réutilisables, déclenchés via des slash commands
* **[AGENTS.md](./agents-md)** - Définissez des instructions propres à un répertoire qui s'appliquent automatiquement selon l'emplacement du fichier
* **[Memories & Rules](./memories)** - 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
