# Compétences tierces

> Importez des compétences depuis un dépôt GitHub ou GitLab public dans Mes compétences, mettez-les à jour quand le dépôt change, et voyez quels fichiers ont été écartés.

Une **compétence tierce** est une [compétence](/fr/docs/capabilities/skills/) importée depuis un dépôt GitHub ou GitLab public. endue lit les fichiers `SKILL.md` du dépôt et ajoute chacun d'eux à **Mes compétences**, en privé sur votre compte.

## Quand l'utiliser

Utilisez-les quand la procédure que vous voulez existe déjà sous forme de `SKILL.md` dans un dépôt public, ou quand votre équipe conserve ses compétences dans un dépôt et les modifie à cet endroit.

## Ajouter un dépôt

<Steps>

1. **Ouvrez Ressources › Compétences** depuis la barre latérale gauche et sélectionnez l'onglet **Tierces**.

2. **Saisissez l'URL du dépôt**, par exemple `https://github.com/owner/repo`.

   Pour n'importer qu'un seul dossier, collez l'URL de ce dossier (`…/tree/main/skills`), ou ouvrez **Avancé** et renseignez :

   - **Branche ou tag** : laissez vide pour utiliser la branche par défaut.
   - **Chemin dans le dépôt** : seuls les fichiers `SKILL.md` situés sous ce dossier sont importés. Laissez vide pour importer tout le dépôt.

3. **Sélectionnez Importer.** Le résultat indique combien de compétences ont été importées et liste les fichiers qui ne l'ont pas été, chacun avec sa raison.

4. **Associez les compétences à un agent** dans l'[Agent Builder](/fr/docs/build/agent-builder/) de cet agent, comme pour toute autre compétence. L'importation ne donne la compétence à aucun agent.

</Steps>

<Aside type="caution" title="Lisez ce que vous importez">
  Une compétence tierce contient les instructions de quelqu'un d'autre, et votre agent les suit.
  Lisez une compétence avant de l'associer, et vérifiez-la de nouveau quand une réimportation la modifie.
</Aside>

## Ce qui est importé

Chaque `SKILL.md` situé sous le chemin devient une compétence. Le fichier commence par un frontmatter qui contient un `name` et une `description`, suivi des instructions :

```md
---
name: weekly-report
description: Writes the weekly status report from the issues closed this week.
---

1. List the issues closed since Monday.
2. Group them by project.
```

Seul le texte de `SKILL.md` est importé. Les scripts, les documents de référence et les autres fichiers du dossier de la compétence ne le sont pas. Si les instructions demandent à l'agent d'exécuter un script ou de lire un fichier placé à côté de `SKILL.md`, l'agent ne peut pas le faire.

Les compétences importées apparaissent dans **Mes compétences** avec un badge **Tierce** et un lien **Source** vers le `SKILL.md` d'origine. Elles restent privées à votre compte.

Un fichier est écarté, et listé sous **Fichiers non importés**, dans les cas suivants :

| Raison | Que faire |
| --- | --- |
| Ce n'est pas un `SKILL.md` (scripts, documents de référence) | Rien. Seul `SKILL.md` est importé. |
| C'est un lien symbolique | Placez le fichier lui-même dans le dépôt |
| Il dépasse 256 Ko | Raccourcissez-le |
| Le dépôt contient plus de 50 compétences | Importez un dossier qui en contient moins, à l'aide du chemin |
| Le frontmatter est absent ou mal formé, ou n'a pas de `name` ou de `description` | Ajoutez les deux entre des lignes `---` en haut du fichier |
| Le corps est vide | Ajoutez les instructions sous le frontmatter |
| Ce n'est pas du texte UTF-8 | Enregistrez-le en UTF-8 |
| Sa licence n'autorise pas la redistribution | Rien. Il ne peut pas être importé. |

## Mettre à jour depuis le dépôt

Sélectionnez **Réimporter** sur le dépôt. endue compare le dernier commit du dépôt à celui de la dernière importation :

- **Rien n'a changé** : rien ne se passe, et endue vous le signale.
- **Un `SKILL.md` a changé** : la compétence correspondante reçoit une nouvelle version. Les compétences dont le fichier n'a pas changé restent telles quelles.
- **Un `SKILL.md` a été ajouté** : il est importé comme nouvelle compétence.
- **Un `SKILL.md` a été supprimé** : la compétence est marquée **Archivée** et retirée de Mes compétences. Si le fichier revient, la réimportation suivante la rétablit.

Les mises à jour n'ont lieu que lorsque vous sélectionnez Réimporter. endue ne surveille pas le dépôt.

## Supprimer un dépôt

**Supprimer** retire le dépôt et toutes les compétences qui en ont été importées. Cette action est irréversible.

Si l'une de ces compétences est associée à un agent, la suppression est refusée et la boîte de dialogue indique quelles compétences et quels agents sont concernés. Retirez les compétences de ces agents dans l'[Agent Builder](/fr/docs/build/agent-builder/), puis relancez la suppression.

## Limites

- Uniquement les dépôts publics sur github.com et gitlab.com. Les dépôts privés et les autres hébergeurs ne sont pas pris en charge. Une URL contenant un nom d'utilisateur, un mot de passe, un jeton ou un numéro de port est refusée.
- Jusqu'à 10 dépôts par compte.
- Jusqu'à 50 compétences par dépôt, et 256 Ko par `SKILL.md`.
- Le téléchargement du dépôt est limité à 20 Mo compressés. Pour un dépôt volumineux, rangez les compétences dans un dépôt plus petit.
- Seul le texte de `SKILL.md` est importé. Les scripts et les autres fichiers ne le sont pas.
- Tant que vous n'avez pas sélectionné Réimporter, les modifications du dépôt n'ont aucun effet.
- Si GitHub ou GitLab limite les requêtes, l'importation échoue avec ce message. Réessayez quelques minutes plus tard.

## Voir aussi

<CardGrid>
  <LinkCard
    title="Compétences"
    href="/fr/docs/capabilities/skills/"
    description="Ce qu'est une compétence, et comment fonctionne l'association."
  />
  <LinkCard
    title="Agent Builder"
    href="/fr/docs/build/agent-builder/"
    description="Là où vous associez une compétence à un agent."
  />
  <LinkCard
    title="Sécurité et autorisations"
    href="/fr/docs/account/security/"
    description="Ce qu'un agent peut atteindre, et ce qu'il ne peut pas atteindre."
  />
</CardGrid>
