# Cloud Skills

Rappelez progressivement des procédures réutilisables et versionnées, et interprétez des guides opératoires structurés entre agents connectés.

- Canonical: https://docs.xmemo.dev/fr/docs/concepts/cloud-skills
- Locale: fr-FR
- Content-Locale: fr-FR
- Canonical-Content-Digest: 049066d1073d736057a89262336d6fb1f3a45bde8716106959785c6f135bcab3
- Edition-Digest: 9a8219c9c4c2e7dbdadc3e84ab0ea44300c2da23997f7543fb6788e573e6349b
- Source-Revision: sha256:ed4540a74de987fd5125f372ab4ee2ea3f4d70303dedb8cef36a3395d3de069a

## Mémoire procédurale et architecture des skills

Les Cloud Skills fournissent une mémoire procédurale créée par l'utilisateur dans XMemo, permettant aux développeurs et aux équipes d'enregistrer des procédures opérationnelles standard (SOP), des runbooks, des listes de contrôle et des prompts réutilisables directement dans le stockage persistant. Une fois enregistrés, les agents connectés sur l'ensemble des outils pris en charge peuvent les découvrir, les rappeler et les interpréter sans installation par agent ni copie manuelle de prompts. Une Cloud Skill stockée est distincte du runtime client XMemo Skill installé (@xmemo/skill, node scripts/xmemo-skill.mjs), qui fait office de pont de connexion côté agent.

- Fonctionnalité en Preview : Cloud Skills est actuellement en Preview dans la Memory Console (#skills).
- Identité et actif : Chaque skill possède un skill_id unique, un slug lisible, un nom, une description, une portée de propriétaire (Personal ou Team) et un statut d'actif (actif ou archivé).
- Chaîne de révisions immuable : Une skill contient une séquence append-only d'instantanés SkillRevision. Chaque révision comprend revision_id, revision_number, instruction_body, canonical_hash et des ressources typées optionnelles SkillComponent.
- Limites de taille : Les corps d'instructions racine sont limités à 64 Kio UTF-8. Une révision peut contenir jusqu'à 50 composants déclarés, chaque composant étant limité à 128 Kio.
- Types de ressources des composants : Les composants déclarent des types sémantiques explicites incluant reference, example, template, document, artifact et script.

## Cycle de vie de publication et revue d'équipe

Les révisions de Cloud Skill évoluent selon un cycle de vie structuré pour protéger les flux de production et favoriser la création collaborative :

- draft : État initial de révision pendant la rédaction et la préparation privée avant l'activation publique.
- proposed : Les révisions créées au sein d'un espace de travail Team passent au statut proposed, en attente d'une revue explicite et d'une activation par un propriétaire ou un administrateur d'équipe.
- published : La révision active éligible pour la découverte par les agents et le rappel par défaut de Niveau 1. Une seule révision par slug est désignée comme published à un moment donné.
- deprecated : Les révisions plus anciennes ou remplacées peuvent être marquées comme deprecated pour signaler leur déclassement tout en préservant le rappel historique reproductible.
- Publication personnelle vs équipe : Dans les espaces de travail personnels, enregistrer avec l'intention de publier passe directement à published. Dans les espaces de travail d'équipe, les révisions proposées (proposed) empêchent des changements procéduraux non révisés de modifier les flux de travail des agents.

## Rappel progressif : Niveau 0, Niveau 1, Niveau 2

Les agents connectés rappellent les compétences à la demande grâce au Progressive Recall pour éviter de saturer les fenêtres de contexte des LLM avec de la documentation inutilisée :

- Niveau 0 (Découverte) : La recherche par requête renvoie des descripteurs légers (slug, name, description) correspondant à la tâche utilisateur sans charger l'intégralité des instructions.
- Niveau 1 (Rappel racine) : Rappelle les instructions racine de la compétence et le manifeste des composants pour un slug spécifié, en ciblant par défaut la révision publiée avec un repli sur la dernière révision.
- Niveau 2 (Rappel de ressource) : Rappelle un composant déclaré unique (tel qu'un modèle de checklist ou un schéma de référence), exigeant que l'appelant fournisse un revision_id explicite pour éviter le déchirement de ressources (resource tearing).

```text
recall_cloud_skill(query="incident response")  # Level 0: lightweight descriptors
recall_cloud_skill(slug="incident-response-checklist")  # Level 1: root instructions + manifest
recall_cloud_skill(
  slug="incident-response-checklist",
  revision_id="<revision-id-from-level-1>",
  resource="templates/triage-template.md",
)  # Level 2: one pinned resource component
```

## Le verrouillage de révision évite l'incohérence des ressources

Lorsqu'une skill est mise à jour, XMemo crée la révision immuable suivante plutôt que d'écraser le contenu historique. Le rappel racine de Niveau 1 fournit les instructions racine ainsi qu'un revision_id immuable et un manifeste de composants. Les requêtes de ressources de Niveau 2 imposent à l'appelant de verrouiller ce revision_id exact. Si un auteur publie une nouvelle révision pendant qu'un agent exécute un flux de travail, la lecture verrouillée de l'agent continue de résoudre exactement l'instantané avec lequel il a commencé, éliminant ainsi toute incohérence de ressource.

```json
{
  "kind": "root",
  "data": {
    "skill_id": "skill_inc_triage_01",
    "revision_id": "rev_v1_inc_triage",
    "revision_number": 1,
    "canonical_hash": "c7b14d8e9f2a4c10...",
    "resources": [
      {
        "logical_path": "templates/triage-template.md",
        "type": "template",
        "content_hash": "e3b0c44298fc1c14..."
      }
    ]
  }
}
```

## Surfaces d'importation, d'exportation et de rédaction

Les développeurs peuvent rédiger des Cloud Skills de manière interactive dans la console web ou importer des skills existantes à partir de paquets de distribution standard :

- Rédaction en console : Créez des skills de façon interactive dans la Memory Console (#skills) avec l'éditeur markdown et la gestion des composants.
- Importation de paquets : Importez des fichiers SKILL.md standard (avec frontmatter YAML), des archives ZIP multi-fichiers ou des dépôts distants via URL (ClawHub ou GitHub).
- Différenciation des révisions : Comparez les modifications d'instructions et de composants entre deux révisions quelconques avec un diff au niveau des mots.
- Export Source Capsule : Exportez toute révision de skill sous la forme d'une archive ZIP Source Capsule sans perte contenant SKILL.md, les ressources de composants et le manifeste de métadonnées.

## Profils d'accès des agents et isolation en bac à sable

Les agents autorisés accèdent aux Cloud Skills par l'intermédiaire d'outils MCP contractuellement définis dans les environnements clients pris en charge :

- Outils MCP contractuels : Les outils recall_cloud_skill (lecture seule) et save_cloud_skill (création) sont contractuellement exposés dans les profils clients cursor-plugin et ordinary-full (config/mcp-documentation-contract.json). Ils ne sont pas exposés dans les profils generic-public, chatgpt-public ou claude-code.
- Procédures exécutables par prompt : La plupart des Cloud Skills sont des procédures opérationnelles standard interprétées directement par les agents comme des consignes de prompt sans exécution de code.
- Frontière d'exécution en bac à sable : L'exécution facultative de scripts backend via execute_cloud_skill est une fonctionnalité avancée côté serveur régie par SandboxExecutionEngine (actuellement exposée à aucun profil client). En l'absence d'isolation locale par conteneur bubblewrap, l'exécution échoue en mode fermeture sécurisée avec SANDBOX_UNAVAILABLE.

## Disponibilité et limites du cycle de vie

Les fonctionnalités de Cloud Skill sont disponibles si les Cloud Skills procédurales sont activées pour votre compte. Les révisions sont des instantanés immuables adressés par le contenu, et l'enregistrement de modifications crée une nouvelle révision sans écraser les enregistrements précédents. Lorsque des skills candidates existent, la console affiche une bannière de révision nécessitant une promotion manuelle explicite.

## Utilisateur de ChatGPT

Donnez à ChatGPT un accès durable à vos préférences XMemo, faits de projet, décisions et TODOs sans coller de jetons bearer dans un chat.

Connectez le serveur MCP XMemo hébergé via le flux OAuth de l'application ChatGPT/OpenAI, puis approuvez les autorisations memory:read et memory:write pour votre compte XMemo.

Enregistrez une préférence synthétique ou une note de projet, démarrez un nouveau chat, puis demandez à ChatGPT de la rappeler via XMemo avant de poursuivre le travail.

Si OAuth échoue ou si les outils n'apparaissent pas, déconnectez-vous du serveur MCP dans l'application hôte, reconnectez l'URL du serveur XMemo et réessayez avant de créer des jetons directs.

## Développeur Copilot / Codex

Transmettez les décisions du dépôt, les conventions de codage, les notes de correctifs et l'historique des tâches entre les agents IDE et CLI.

Utilisez OAuth pour VS Code / GitHub Copilot et Gemini CLI lorsqu'il est disponible. Pour Copilot CLI, Codex, Cursor ou d'autres clients MCP directs, conservez XMEMO_KEY dans l'environnement local ou le gestionnaire de secrets et définissez un identifiant XMEMO_AGENT_INSTANCE_ID stable.

Enregistrez une décision relative au code ou un correctif, puis demandez au prochain agent de l'IDE ou de la CLI de rappeler le contexte XMemo pertinent avant toute modification.

Si les rappels sont vides, vérifiez le chemin de configuration MCP sélectionné, la variable d'environnement XMEMO_KEY pour les clients directs et tout identifiant OAuth obsolète dans l'application hôte.

## Responsable de projet pilote d'équipe / entreprise

Évaluez la mémoire partagée avec les contrôles de compte, l'attribution des sources, les flux d'exportation/suppression et des preuves de configuration sécurisées pour les évaluateurs.

Créez ou rejoignez l'espace de travail sécurisé XMemo, invitez les utilisateurs approuvés, puis connectez chaque client via OAuth ou un identifiant direct délimité selon les badges de disponibilité.

Demandez à un membre du projet pilote d'enregistrer une mémoire d'équipe synthétique, confirmez l'attribution de la source dans XMemo, puis examinez les chemins de suppression/exportation et de support.

Si un membre ne parvient pas à se connecter, vérifiez les permissions de rôle, l'approbation OAuth, l'état de disponibilité du client et les conseils du support avant d'émettre un nouveau jeton.

## Opérateur d'agents autonomes

Permettez aux agents autonomes ou planifiés d'enregistrer leur progression, de récupérer les décisions antérieures et de conserver une identité d'instance stable et non secrète.

Récupérez /api/v1/mcp/config/autonomous-agent. Privilégiez auth_modes.oauth lorsque l'exécuteur prend en charge OAuth + en-têtes personnalisés ; utilisez auth_modes.xmemo_key avec XMEMO_KEY issu d'un gestionnaire de secrets uniquement pour les exécuteurs entièrement autonomes.

Exécutez une tâche synthétique qui consigne la progression dans XMemo, redémarrez l'exécuteur et confirmez qu'il rappelle cette progression à l'aide du même XMEMO_AGENT_INSTANCE_ID.

Si l'attribution change ou si les rappels se scindent entre instances, conservez XMEMO_AGENT_INSTANCE_ID hors de git et vérifiez que l'exécuteur ne le régénère pas à chaque démarrage.
