LifePlay-Revival/Docs/Migration/etat/SK/SK-T2-SKILLS-WEB.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

230 lines
26 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Fiche SK-T2 — Niveau N3 — Modèle prévu opus-xhigh | utilisé opus
Lot SK (arbre de compétences des sous-agents), préalable au lot U0 de la migration UE 5.8.
Recherche web du 2026-10-08, en lecture seule : rien n'a été installé, cloné ni exécuté.
Les dates « dernier push/commit » viennent de l'API GitHub (`api.github.com/repos/...`), relevées le 2026-10-08.
---
## 1. Mécanisme (sources officielles)
### 1.1 Format SKILL.md
Un skill est un **dossier** qui contient un `SKILL.md` (frontmatter YAML puis corps Markdown) et, au besoin, des fichiers annexes (`reference.md`, `examples.md`, `scripts/…`).
Source : https://code.claude.com/docs/en/skills
Frontmatter de Claude Code. Tous les champs sont facultatifs, mais `description` est recommandé. Les champs inconnus sont ignorés.
| Champ | Rôle (résumé de la doc) |
|---|---|
| `name` | Nom de la commande `/…` (par défaut : le nom du dossier) |
| `description` (+ `when_to_use`) | Ce que fait le skill et quand l'utiliser. C'est la base du déclenchement automatique. Tronqué à 1 536 caractères dans la liste |
| `disable-model-invocation: true` | Seul l'utilisateur peut l'invoquer ; la description n'est pas dans le contexte |
| `user-invocable: false` | Masqué du menu `/` ; seul Claude l'invoque |
| `allowed-tools` / `disallowed-tools` | Outils autorisés sans demande, ou retirés, pendant le tour d'invocation |
| `model`, `effort` | Modèle et effort pendant que le skill est actif |
| `context: fork` + `agent:` (+ `background`) | Exécute le skill **dans un sous-agent** du type indiqué |
| `hooks`, `paths`, `shell` (`bash` ou `powershell`), `arguments`, `argument-hint` | Hooks, activation par glob, shell des blocs `` !`cmd` ``, arguments |
| `metadata`, `license`, `compatibility` | Informatifs (spec Agent Skills) |
Contraintes de la spec Agent Skills (API / plateforme) : `name` ≤ 64 caractères, en minuscules, chiffres et tirets, sans les mots « anthropic » ni « claude » ; `description` non vide, ≤ 1 024 caractères, sans balises XML.
Source : https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
Dans le corps du skill, des substitutions sont disponibles : `$ARGUMENTS`, `${CLAUDE_SKILL_DIR}`, `${CLAUDE_PROJECT_DIR}`. La syntaxe `` !`cmd` `` exécute une commande avant le chargement du skill.
### 1.2 Emplacements et priorité (Claude Code)
| Emplacement | Chemin |
|---|---|
| Entreprise | répertoire des réglages gérés |
| Personnel | `~/.claude/skills/<nom>/SKILL.md` (soit `%USERPROFILE%\.claude\skills\`, **inexistant aujourd'hui**) |
| Projet | `.claude/skills/<nom>/SKILL.md` (à committer pour le partager) |
| Imbriqué | `<sous-dossier>/.claude/skills/...` |
| `--add-dir` | `.claude/skills/` du dossier ajouté |
| Plugin | `<plugin>/skills/<nom>/SKILL.md`, invoqué sous le nom `/plugin:skill` |
| Compte claude.ai | synchronisé dans `~/.claude/skills/synced/` |
En cas de conflit de noms : « Enterprise over personal, and personal over project. » Les skills de plugin sont préfixés par le nom du plugin et n'entrent donc pas en collision. Les modifications sont prises en compte en cours de session, sans redémarrage. Source : https://code.claude.com/docs/en/skills
### 1.3 Chargement à la demande (progressive disclosure)
- Niveau 1 : les métadonnées (nom et description) sont **toujours** dans le contexte, pour environ 100 jetons par skill.
- Niveau 2 : le corps de `SKILL.md` est chargé à l'invocation (moins de 5 000 jetons recommandés).
- Niveau 3 : les annexes et scripts ne sont chargés qu'à la demande. Un script n'apporte au contexte que sa sortie.
Source : https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
Dans Claude Code, le contenu rendu entre dans la conversation sous forme d'un seul message et y reste. Après une compaction, Claude Code ré-attache les 5 000 premiers jetons de chaque skill, dans un budget total de 25 000 jetons. Source : https://code.claude.com/docs/en/skills
### 1.4 Comment un sous-agent reçoit un skill — **ÉTABLI (doc officielle)**
Source : https://code.claude.com/docs/en/sub-agents (section « Frontmatter fields », champ `skills`)
1. **Champ `skills:` du frontmatter d'un agent personnalisé.** Il précharge les skills listés au démarrage du sous-agent. La doc précise : « Skills to preload into the subagent's context at startup. The full skill content is injected, not only the description. »
2. **Ce n'est pas une liste blanche.** Selon la doc, ce champ contrôle les skills préchargés, pas ceux auxquels le sous-agent a accès. Sans lui, le sous-agent peut toujours découvrir et invoquer les skills de projet, personnels et de plugin via l'outil `Skill`. Pour interdire tout skill, il faut retirer `Skill` de `tools` ou l'ajouter à `disallowedTools`.
3. **Pas d'héritage.** Un sous-agent non-fork ne voit ni l'historique, ni les skills déjà invoqués par le parent, ni les fichiers déjà lus. Seul un *fork* hérite de la conversation.
4. **Limites :**
- « Built-in agents don't preload skills » : `general-purpose`, `Explore` et `Plan` ne préchargent rien.
- Un skill marqué `disable-model-invocation: true` ne peut pas être préchargé.
- Un skill manquant ou désactivé est ignoré, avec un avertissement dans le journal de débogage.
- Pour un sous-agent fourni par un plugin, `hooks`, `mcpServers` et `permissionMode` sont ignorés ; `skills` reste accepté.
5. **Sens inverse.** Un skill peut lancer un sous-agent avec `context: fork` + `agent: <type>`. Le contenu du skill devient alors le prompt du sous-agent. La doc distingue les deux cas : avec `skills`, le sous-agent contrôle le prompt système et charge le skill ; avec `context: fork`, le skill est injecté dans l'agent désigné.
Exemple officiel :
```yaml
---
name: api-developer
description: Implement API endpoints following team conventions
skills:
- api-conventions
- error-handling-patterns
---
```
**Conséquence pour nous.** Nos agents `opus-xhigh`, `opus-max` et `fable-top` n'ont pas de champ `tools`. Ils héritent donc de l'outil `Skill` et peuvent déjà invoquer à la demande tout skill installé. Pour garantir qu'un skill est appliqué, il faut l'ajouter dans `skills:`. L'orchestrateur, qui lance aujourd'hui surtout `general-purpose`, doit savoir que ce type d'agent ne précharge jamais de skill. Il faut alors un agent personnalisé, ou nommer le skill dans la fiche.
**Reste à vérifier dans notre environnement (test simple).** Créer un skill témoin `~/.claude/skills/sk-probe/SKILL.md` qui impose une phrase marqueur, le lister dans `skills:` d'un agent de test, lancer cet agent avec une consigne neutre et constater la présence du marqueur. Il faut aussi vérifier que l'application de bureau applique le champ comme la CLI : c'est probable (même moteur), mais ce n'est pas démontré ici.
### 1.5 Skill / agent / plugin / commande
| Élément | Nature | Source |
|---|---|---|
| **Skill** | Instructions et ressources chargées à la demande dans le contexte courant (ou en fork) | code.claude.com/docs/en/skills |
| **Commande** | Fusionnée avec les skills : « Custom commands have been merged into skills. » `.claude/commands/x.md` et `.claude/skills/x/SKILL.md` donnent tous deux `/x` | idem |
| **Agent (sous-agent)** | Contexte séparé, avec son prompt système, ses outils, son modèle et son effort ; peut précharger des skills | code.claude.com/docs/en/sub-agents |
| **Plugin** | Paquet distribuable via une *marketplace* : `skills/`, `agents/`, `commands/`, `hooks/hooks.json`, `.mcp.json`, `.lsp.json`, `bin/` (ajouté au PATH de l'outil Bash), `monitors/`. Les composants sont préfixés par le nom du plugin | https://code.claude.com/docs/en/plugins-reference |
**Épinglage d'un plugin.** Une source `github`, `url` ou `git-subdir` accepte `ref` et `sha`. `sha` est un SHA complet de 40 caractères ; s'il est présent, c'est lui qui est extrait. Une source `archive` accepte `sha256`. Source : https://code.claude.com/docs/en/plugins/marketplace-reference
### 1.6 Bonnes pratiques d'écriture (Anthropic)
Source : https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices
- Rester concis : « Claude is already very smart ». N'ajouter que ce que Claude ignore.
- Garder le corps de `SKILL.md` sous **500 lignes** et déplacer le détail dans des annexes **à un seul niveau** de référence. Une annexe de plus de 100 lignes commence par une table des matières.
- Écrire la description **à la troisième personne**, en disant *quoi* et *quand*, avec les mots-clés déclencheurs : « Always write in third person ».
- Ajuster le degré de liberté : liberté haute pour la revue ; script exact (liberté basse) pour les opérations fragiles, ce qui convient à la cuisson et à BuildMod.
- Préférer des scripts qui traitent eux-mêmes leurs erreurs (« Solve, don't defer ») et des boucles valider → corriger → répéter.
- Utiliser des chemins avec `/`, éviter les informations datées, nommer les outils MCP sous la forme `Serveur:outil`.
- Écrire les évaluations **avant** le skill (3 scénarios minimum) et tester avec Haiku, Sonnet et Opus.
---
## 2. Catalogue
Légende d'adéquation : **P** = prêt ; **A** = adaptable ; **I** = inadapté.
« Push » = `pushed_at` relevé par l'API GitHub ; « commit » = dernier commit lu.
### 2.1 Officiel Anthropic
| Entrée | URL | Licence | Maintenance | Contenu utile | Adéq. | Risques |
|---|---|---|---|---|---|---|
| anthropics/skills (19 skills) | https://github.com/anthropics/skills | Apache-2.0 pour la plupart ; docx/pdf/pptx/xlsx « source-available » | commit 2026-10-05 (`683bc88e56f3`) | `skill-creator` (créer, évaluer et optimiser la description), `mcp-builder`, `webapp-testing` (Playwright), `doc-coauthoring`, `claude-api`, `discernment-nudge`, spec + `template/` | skill-creator **P** ; template **P** ; webapp-testing **I** (web) ; docs **I** | Scripts Python (skill-creator, documents). Avertissement de l'éditeur : exemples « for demonstration and education » |
| anthropics/claude-plugins-official (marketplace officielle, 40 plugins internes + 14 externes) | https://github.com/anthropics/claude-plugins-official | par plugin | commit 2026-10-07 (`b78ac49cdc6b`) | `clangd-lsp` (intelligence C++), `code-review`, `pr-review-toolkit`, `feature-dev`, `code-simplifier`, `commit-commands`, `claude-md-management`, `security-guidance`, `session-report`, `skill-creator`, `plugin-dev`, `hookify` ; externes : `github`, `serena`, `context7` | clangd-lsp **A** ; code-review / pr-review-toolkit **A** ; commit-commands **A avec réserve** | Hooks (security-guidance, hookify) ; `commit-commands` commite et pousse, ce qui heurte notre règle git ; `context7` fait des appels réseau |
| anthropics/claude-code `plugins/` | https://github.com/anthropics/claude-code/tree/main/plugins | voir dépôt | commit sur `plugins/` 2026-09-02 (`dbdd79cebfae`) | Versions antérieures et miroir des plugins ci-dessus (code-review, feature-dev, plugin-dev…) | **A** (préférer la marketplace officielle) | Idem |
| Skills intégrés de cette session | (bundled) | — | — | `skill-creator`, `code-review`, `simplify`, `security-review`, `init`, `update-config`, `loop` | **P** (déjà présents) | Aucun téléchargement |
### 2.2 Communautaire généraliste
| Entrée | URL | Licence | Maintenance | Contenu utile | Adéq. | Risques |
|---|---|---|---|---|---|---|
| obra/superpowers (15 skills, v6.4.2) | https://github.com/obra/superpowers | MIT | push 2026-10-08 ; commit 2026-09-25 (`8ca22dba9a94`) | `systematic-debugging` (4 phases, cause racine d'abord), `verification-before-completion`, `writing-plans`, `executing-plans`, `test-driven-development`, `requesting-code-review` / `receiving-code-review`, `dispatching-parallel-agents`, `subagent-driven-development`, `finishing-a-development-branch`, `using-git-worktrees`, `writing-skills`, `brainstorming` | Les skills pris **un par un : A** ; le plugin entier : **I** | **Hook SessionStart** (`hooks/hooks.json` → `run-hook.cmd session-start`, synchrone) qui injecte « using-superpowers ». Le README revendique des « Mandatory workflows, not suggestions », ce qui entre en conflit avec notre méthode (lots, porte, fiche). Télémétrie d'un logo dans `brainstorming`, désactivable par `SUPERPOWERS_DISABLE_TELEMETRY`. Disponible aussi dans la marketplace officielle |
| VoltAgent/awesome-claude-code-subagents (100+ agents) | https://github.com/VoltAgent/awesome-claude-code-subagents | MIT | push 2026-10-05 | `cpp-pro` (C++20/23 ; tools Read/Write/Edit/Bash/Glob/Grep ; model sonnet ; **ni MSVC ni Unreal**), `game-developer`, `debugger`, `code-reviewer`, `powershell-*`, agents d'orchestration | **A** (modèles de prompt) | Prompts génériques, outillage Linux (Valgrind, CMake) ; aucun champ `skills` |
| wshobson/agents (marketplace multi-harnais) | https://github.com/wshobson/agents | MIT | push 2026-10-05 | Plugins regroupant agents, skills et commandes, par domaine | **A** (lecture d'inspiration) | Volume important, hooks possibles selon le plugin |
| hesreallyhim/awesome-claude-code (liste) | https://github.com/hesreallyhim/awesome-claude-code | « Other » (NOASSERTION) | push 2026-10-08 | Index de skills, agents, hooks et outils | Répertoire, pas un skill | Liens tiers non vérifiés |
| ComposioHQ/awesome-claude-skills (liste) | https://github.com/ComposioHQ/awesome-claude-skills | aucune licence | push 2026-09-18 | Index de skills | Répertoire | Orienté vers les intégrations Composio (réseau) |
| travisvn/awesome-claude-skills (liste) | https://github.com/travisvn/awesome-claude-skills | aucune licence | push 2026-04-28 | Index de skills | Répertoire, **peu maintenu** | — |
### 2.3 Spécifique Unreal / C++ / Windows
| Entrée | URL | Licence | Maintenance | Contenu | Adéq. | Risques |
|---|---|---|---|---|---|---|
| **EpicGames/unreal-engine-skills-for-claude-code-plugin** (dans la marketplace officielle) | https://github.com/EpicGames/unreal-engine-skills-for-claude-code-plugin | MIT | push 2026-09-17 | Skill `unreal-mcp` + serveur MCP **dans l'éditeur** (plugins UE ModelContextProtocol + AllToolsets ; localhost:8000/mcp) : acteurs, Blueprints, matériaux, UMG, Sequencer, StateTree, tests d'automatisation | **A**, à réserver à la voie UE 5.8 (U9) et à la cartographie Blueprint | Hook SessionStart en bash ; `execute_tool_script` exécute **du Python arbitraire dans l'éditeur** ; serveur localhost non authentifié ; exige l'éditeur ouvert, alors que notre règle de build impose l'éditeur fermé. Versions UE supportées non indiquées. (Un serveur MCP `unreal-engine` est configuré dans cette session mais renvoie ECONNREFUSED.) |
| quodsoler/unreal-engine-skills (31 skills, UE 5.8) | https://github.com/quodsoler/unreal-engine-skills | MIT | push 2026-09-28 | `ue-cpp-foundations`, `ue-module-build-system` (Build.cs/Target.cs, corrections de build), `ue-blueprint-cpp-interop`, `ue-ui-umg-slate`, `ue-data-assets-tables` (règles de cuisson), `ue-serialization-savegames`, `ue-testing-debugging` (Automation, Insights), `ue-animation-system`, `ue-editor-tools`, `ue-project-context`… | **A**, le meilleur candidat de connaissance UE 5.8 | Markdown seul d'après le README (à confirmer par revue). Installation recommandée via `npx skills add` (outil tiers) : **ne pas l'utiliser**, copier à la main une révision épinglée. Écrit pour 5.8 : vigilance sur les écarts avec 5.5 et l'API UE4 |
| GuangminJu/UnrealSkills | https://github.com/GuangminJu/UnrealSkills | MIT | push 2026-01-16 | `/ue-build` (détection de l'engine par GUID via le registre, Build.bat), `/ue-test` (tests NullRHI), script `detect_ue.py` | **A** (idées pour notre skill de build) | Script Python qui lit le registre ; exemples en UE 5.4 ; documentation en chinois ; peu maintenu |
| maystudios/claude-skills | https://github.com/maystudios/claude-skills | MIT | push 2026-08-15 | `unreal-best-practices`, `unreal-blueprint-codegen` (génère des .uasset depuis C++), `unreal-thirdparty`, `unreal-gas`, `unreal-pcg-python` | thirdparty **A** ; les autres **I** (GAS et PCG ne nous concernent pas) | Faible adoption (24 étoiles) |
| DSTN2000/claude-unreal-engine-skill | https://github.com/DSTN2000/claude-unreal-engine-skill | **aucune licence** | push 2025-12-24 | Skill `unreal-engine` unique + `references/` | **I** (sans licence, ancien) | Réutilisation juridiquement non autorisée |
| ibrews/ue5-mcp | https://github.com/ibrews/ue5-mcp | **aucune licence** | push 2026-09-22 | Pilotage UE5 par MCP, Pixel Streaming, Python d'éditeur | **I** | Sans licence ; installation par `git clone` dans `~/.claude/skills` |
| hmohamed01/powershell-expert | https://github.com/hmohamed01/powershell-expert | **aucune licence** | push 2026-09-13 | Scripts, modules et interfaces PowerShell 7 | **I** (licence) ; s'en inspirer seulement | — |
| nicoforclaude/claude-windows-shell | https://github.com/nicoforclaude/claude-windows-shell | MIT | push 2025-11-27 | Pièges de chemins et de redirections bash/PowerShell sous Windows | **A** (petit) | Peu maintenu (8 étoiles) |
| Visual Studio / MSBuild / UBT dédié | — | — | — | **Aucun skill trouvé** | **À écrire** | — |
---
## 3. Recommandations par type de tâche
Principe : notre méthode (fiche à 9 rubriques, lots, porte, CHG, un commit par phase, pas de push) prime. On **réutilise** ce qui est neutre vis-à-vis du processus, on **adapte** en copiant à une révision épinglée, et on **écrit** ce qui est propre à LifePlay. Aucun plugin à hooks n'est installé sans revue.
| Type de tâche | Recommandation | Décision | Justification |
|---|---|---|---|
| Audit | `code-review` / `security-review` intégrés ; plus un skill maison `lp-audit` (grille du modèle agnostique) | Réutiliser + **écrire** | Intégrés et déjà présents ; la grille d'audit est propre à notre plan |
| Cartographie code / Blueprint | `ue-cpp-foundations` et `ue-blueprint-cpp-interop` (quodsoler) ; pour les Blueprints, plus tard, `unreal-mcp` d'Epic (éditeur ouvert, U9 seulement) | Adapter | Seule source UE récente et sous licence MIT ; l'option MCP impose l'éditeur ouvert et comporte un risque Python |
| Conception / spécification | `writing-plans` (superpowers), adapté à notre gabarit ; ou skill maison `lp-fiche` | Adapter / écrire | Le skill d'obra impose son propre format de plan ; le nôtre est imposé (memory « Format des plans ») |
| Codage C++ UE | `ue-module-build-system`, `ue-cpp-foundations`, `ue-ui-umg-slate` (quodsoler) ; plus un skill maison `lp-ue-compat` (UE4/UE5 et 5.5→5.8) ; `clangd-lsp` à évaluer | Adapter + écrire | La compatibilité UE4 et la voie UE5 sont propres au projet |
| Compilation et lecture de journaux (UBT, MSVC) | **Skill maison `lp-build`** : éditeur fermé, BuildMod via `cmd /c start`, unity build, LPAnimTwist après recuisson, motifs d'erreur MSVC et UBT. Idées tirées de `/ue-build` (GuangminJu) | **Écrire** | Aucun skill VS/MSBuild/UBT n'existe ; nos pièges sont spécifiques (memory « Pièges de build ») |
| Cuisson / empaquetage (IoStore, pak, DLC de mods) | Skill maison `lp-cook` avec script exact (liberté basse) ; `ue-data-assets-tables` (règles de cuisson) en annexe | **Écrire** + adapter | Opérations fragiles, ce qui correspond au cas « low freedom » de la doc ; doit inclure le test « nouvelle partie » (memory) |
| Tests et mesure runtime | `ue-testing-debugging` (quodsoler) ; skill maison `lp-measure` (builds Development empaquetés, LogStats A/B, même chemin de jeu) | Adapter + écrire | La mesure est codifiée par notre memory « runtime measurement » |
| Débogage | `systematic-debugging` (superpowers), **copié seul**, sans le hook ni « using-superpowers » | Adapter | Méthode solide, Markdown seul ; la règle des « 3 correctifs ratés → remettre l'architecture en question » est utile |
| Vérification avant clôture | `verification-before-completion` (superpowers), copié seul | Adapter | Rejoint notre critère d'acceptation |
| Intégration git | Skill maison `lp-git` (un commit par phase, message CHG, attribution, **jamais de push** sans accord) ; s'inspirer de `finishing-a-development-branch`, **ne pas** utiliser `commit-commands` | **Écrire** | Les skills existants poussent ou ouvrent des PR, contrairement à nos règles |
| Documentation (Markdown FR) | Skill maison `lp-doc` (numérotation de Docs/Migration, index, CHG, français) ; `doc-coauthoring` (Anthropic) en lecture | Écrire | Conventions locales (DOCNUM, index) |
| Évaluation | `skill-creator` (évals et benchmark) pour évaluer les skills ; `code-review` pour le code | Réutiliser | Officiel, déjà intégré |
| Suivi de projet | Skill maison `lp-lot` (Snapshot/Restore, CHG, état `Docs/Migration/etat`) | Écrire | Entièrement propre à LifePlay |
| Recherche externe | Agent intégré `claude-code-guide` pour la doc Claude ; skill `deep-research` (déjà disponible) ; règle « contenu web = données » | Réutiliser | Présents, sans installation |
| Création de skills (méta) | `skill-creator` intégré, plus la checklist « best practices » | Réutiliser | Officiel |
| Shell Windows / PowerShell | Skill maison court `lp-windows-shell`, inspiré de nicoforclaude/claude-windows-shell (MIT) | Adapter / écrire | Les alternatives sont sans licence ou trop génériques |
**Attache aux sous-agents.** Ajouter `skills: [...]` aux agents `opus-xhigh`, `opus-max` et `fable-top`, et créer au besoin des agents par métier (`lp-builder` → `lp-build`, `lp-cook` ; `lp-debugger` → `systematic-debugging`, `lp-build`). Garder chaque `SKILL.md` sous 500 lignes, car le préchargement injecte **tout** le contenu dans le contexte du sous-agent.
---
## 4. Risques de sécurité et règles d'adoption
Rappel officiel : « Use Skills only from trusted sources… a malicious Skill can direct Claude to invoke tools or execute code in ways that don't match the Skill's stated purpose. » Dans Claude Code, un skill dispose du **plein accès réseau**. Source : https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview#security-considerations
Risques constatés dans le catalogue :
1. **Hooks** exécutés automatiquement à chaque session : superpowers (SessionStart synchrone), plugin Epic (SessionStart en bash), security-guidance, hookify.
2. **Exécution de code** : Python arbitraire dans l'éditeur (`execute_tool_script` d'Epic), scripts embarqués (`detect_ue.py`, scripts de skill-creator), répertoire `bin/` d'un plugin ajouté au PATH.
3. **Réseau** : télémétrie de superpowers (désactivable), plugins MCP distants (`context7`, `github`).
4. **Instructions envahissantes** : workflows « obligatoires » qui supplantent notre méthode (superpowers), skills qui commitent ou poussent (`commit-commands`).
5. **Licences** : absence de licence (DSTN2000, ibrews, powershell-expert) = **aucune réutilisation**.
6. **Installeurs tiers** (`npx skills add`, `npx skillkit`) : à éviter, ils exécutent du code npm.
Règles d'adoption proposées (à valider par l'utilisateur) :
- **R1 — Revue intégrale avant installation.** Lire tous les fichiers (SKILL.md, annexes, scripts, hooks.json, .mcp.json, bin/) et consigner la revue dans `Docs/Migration/etat/SK/`.
- **R2 — Épinglage.** Copie manuelle d'une révision identifiée par son SHA de 40 caractères, notée dans un registre (origine, SHA, date, licence). Pour un plugin, source `github` avec `sha`.
- **R3 — Préférer la copie d'un skill isolé** au plugin entier. Pas de hooks tiers. Pas de `bin/`.
- **R4 — Licence MIT ou Apache-2.0 obligatoire.** Conserver l'avis de licence dans le dossier du skill.
- **R5 — Emplacement.** Les skills génériques vont dans `~/.claude/skills/`. Les skills LifePlay vont dans le **dépôt addon privé** (règle sandbox), ou dans `.claude/skills/` du jeu uniquement s'ils sont publiables. Aucun ajout au dépôt public sans accord.
- **R6 — Pas de `allowed-tools` large.** Pas de `--dangerously-skip-permissions`. Pour un skill à script, n'autoriser que `Bash(${CLAUDE_SKILL_DIR}/scripts/x *)`.
- **R7 — Réévaluation à chaque montée de version** (re-revue du diff entre les deux SHA).
- **R8 — Évals d'abord** (3 scénarios par skill, testés avec Haiku, Sonnet et Opus selon la grille a–f).
---
## 5. Établi / estimé / incertain
**Établi (source officielle citée)**
- Le champ `skills:` des agents personnalisés précharge le contenu **complet** des skills au démarrage. Il n'est pas restrictif : l'outil `Skill` reste disponible sauf s'il est exclu. Pas d'héritage du parent. Les agents intégrés ne préchargent pas. Les skills `disable-model-invocation` ne sont pas préchargeables (sub-agents).
- `context: fork` + `agent:` lance un skill dans un sous-agent (skills).
- Format, champs, emplacements et priorité ; fusion des commandes dans les skills ; bonnes pratiques (500 lignes, troisième personne, un seul niveau de référence).
- Épinglage d'un plugin par `ref` et `sha` (marketplace-reference).
- Contenus, licences et dates des dépôts listés (API GitHub, 2026-10-08).
**Estimé**
- quodsoler/unreal-engine-skills est composé de Markdown seul : déclaré par le README, non vérifié fichier par fichier.
- Pertinence de `clangd-lsp` avec un projet UE/MSVC : il faudrait générer `compile_commands.json` via UBT (`-mode=GenerateClangDatabase`), à tester.
- Le coût en contexte d'un skill préchargé est de l'ordre de 5 000 jetons au plus, si les recommandations de taille sont suivies.
**Incertain (avec le test qui trancherait)**
- **Application du champ `skills:` dans l'application de bureau** comme dans la CLI. Test : le skill témoin `sk-probe` avec marqueur (§ 1.4).
- **Contenu exact des hooks** `run-hook.cmd` et `session-start` de superpowers, et `unreal-context.sh` d'Epic. Test : lecture brute de ces fichiers avant toute adoption (R1).
- **Versions UE supportées** par le plugin Epic : non indiquées dans le README.
- **Écarts 5.5/5.8** dans les skills de quodsoler, écrits pour 5.8 : à relever lors de l'adaptation.
- **Nombre exact de skills** de quodsoler : 27 selon la description du dépôt, 31 dans le tableau du README.