{"id":"9bf09259-0fc6-4cfa-a0c2-6b6178809b78","slug":"opencode-skills-mcp","kind":"skill","name":"opencode-skills-MCP","summary":"44 skills professionnels & MCP pour opencode, Claude Code, Claude Desktop et Antigravity - serveurs playwright, sequential-thinking, context7, exa, duckduckgo - guides et procedures anti-conflits de m","owner":"eliabdevweb-svg","repoUrl":"https://github.com/eliabdevweb-svg/opencode-skills-MCP","license":"MIT","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"skill","createdAt":"2026-09-09T09:55:00.000Z","addedAt":"2026-10-21T05:07:08.002Z","logoUrl":"https://avatars.githubusercontent.com/u/309926163?u=970aaec897e197072588cd589fff8fd7db9e6623&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["search","developer-tools","browser-web"],"tags":["ai-agents","claude","claude-code","claude-desktop","developer-tools","opencode","antigravity","gemini"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-21T07:18:01.851Z","sample":false,"url":"https://conduits.dev/tools/opencode-skills-mcp","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# OpenCode Skills & MCP\n\n**44 skills professionnels + configurations MCP** pour [opencode](https://opencode.ai),\n**Claude Code**, **Claude Desktop** et **Antigravity**.\n\nCe dépôt est une boîte à outils prête à l'emploi : des skills bien documentés, des\nconfigurations MCP testées, et surtout des **procédures d'installation qui évitent les\nconflits lors des mises à jour**.\n\n> **Principe directeur** : le dépôt se clone **toujours** à part, dans son propre dossier,\n> **jamais à l'intérieur d'un dossier de skills**. Voir [Éviter les conflits](#éviter-les-conflits-lors-des-mises-à-jour).\n\n---\n\n## Sommaire\n\n- [Ce que contient le dépôt](#ce-que-contient-le-dépôt)\n- [Les 44 skills](#les-44-skills)\n- [Installation](#installation)\n  - [1. opencode](#1-opencode)\n  - [2. Claude Code](#2-claude-code)\n  - [3. Claude Desktop](#3-claude-desktop)\n  - [4. Antigravity](#4-antigravity)\n  - [5. Vérification](#5-vérification)\n- [⚠️ Éviter les conflits lors des mises à jour](#éviter-les-conflits-lors-des-mises-à-jour)\n- [Serveurs MCP](#serveurs-mcp)\n- [Fichiers de règles de routage](#fichiers-de-règles-de-routage)\n- [Structure du dépôt](#structure-du-dépôt)\n- [Contribuer](#contribuer)\n- [Licence](#licence)\n\n---\n\n## Ce que contient le dépôt\n\n| Dossier | Contenu |\n|---|---|\n| `skills/` | Les **44 skills** — chacun dans son propre dossier avec un `SKILL.md` |\n| `mcp/` | Configurations MCP (`playwright`, `sequential-thinking`, `context7`, `exa`, `duckduckgo`) pour 5 cibles, Windows + macOS/Linux |\n| `rules/` | Fichiers `CLAUDE.md` de **routage automatique** : la table qui dit à l'IA quel skill charger |\n| `README.md` | Ce fichier |\n| `LICENSE` | Licence MIT |\n\n**Chiffres** : 44 skills · 587 fichiers · 27 descriptions en français, 17 en anglais ·\n8 catégories · 5 serveurs MCP · 5 outils couverts · 10 fichiers de configuration.\n\n---\n\n## Les 44 skills\n\nChaque skill est autonome : son nom et sa description sont injectés dans le contexte de\nl'agent, qui **choisit le skill adapté** puis charge son `SKILL.md`. C'est pourquoi chaque\ndescription contient une phrase déclencheuse explicite (« Use when… »).\n\n### Frontend\n\n| # | Skill | Description | Lang |\n|---:|---|---|:--:|\n| 1 | `accessibility` | Accessibilité web WCAG 2.1 AA, HTML sémantique, ARIA, navigation clavier, screen reader... | FR |\n| 2 | `admin-shell` | Shell d’application back-office : topbar fixe et menu latéral fusionnés, en-tête et pied de page figés, coin de contenu arrondi stable, sidebar rétractable... | FR |\n| 3 | `backoffice-design` | Design d'interfaces back-office, admin panels et dashboards internes. | FR |\n| 4 | `data-tables` | Conception de tableaux de données : tri, filtrage, pagination, sélection, états vides... | FR |\n| 5 | `form-design` | Conception de formulaires accessibles : validation, erreurs, progressive disclosure, wizards... | FR |\n| 6 | `state-management` | Gestion d'état : patterns Redux, Zustand, Context, signals, architecture de store. | FR |\n| 7 | `ui-styling` | Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI +... | EN |\n| 8 | `ui-ux-pro-max` | UI/UX design intelligence for web, mobile, and desktop. | EN |\n\n### Design\n\n| # | Skill | Description | Lang |\n|---:|---|---|:--:|\n| 9 | `banner-design` | Design banners for social media, ads, website heroes, creative assets, and print. | EN |\n| 10 | `brag` | Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says \"/brag\"... | EN |\n| 11 | `brag-slim` | Turn a project directory or a website URL into a short, shareable launch video with music, motion, and share copy. One file, no... | EN |\n| 12 | `brand` | Brand voice, visual identity, messaging frameworks, asset management, brand consistency. | EN |\n| 13 | `design` | Comprehensive design skill: brand identity, design tokens, UI styling, logo generation (55... | EN |\n| 14 | `design-system` | Token architecture, component specifications, and slide generation. | EN |\n| 15 | `design-system-shadcn` | Design system basé sur shadcn/ui et Radix UI. | FR |\n\n### 3D & Animation\n\n| # | Skill | Description | Lang |\n|---:|---|---|:--:|\n| 16 | `3d-performance-accessibility` | Performance, robustesse et accessibilité pour expériences web 3D et WebGL. | FR |\n| 17 | `3d-web-design` | Direction artistique et UX pour sites web 3D, immersifs et interactifs. | FR |\n| 18 | `gsap-core` | Official GSAP skill for the core API — gsap.to(), from(), fromTo(), easing, duration, stagger... | EN |\n| 19 | `gsap-frameworks` | Official GSAP skill for Vue, Svelte, and other non-React frameworks — lifecycle, scoping... | EN |\n| 20 | `gsap-performance` | Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change... | EN |\n| 21 | `gsap-plugins` | Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip... | EN |\n| 22 | `gsap-react` | Official GSAP skill for React — useGSAP hook, refs, gsap.context(), cleanup. | EN |\n| 23 | `gsap-scrolltrigger` | Official GSAP skill for ScrollTrigger — scroll-linked animations, pinning, scrub, triggers. | EN |\n| 24 | `gsap-timeline` | Official GSAP skill for timelines — gsap.timeline(), position parameter, nesting, playback. | EN |\n| 25 | `gsap-utils` | Official GSAP skill for gsap.utils — clamp, mapRange, normalize, interpolate, random, snap... | EN |\n| 26 | `motion-design-web` | Direction artistique et principes du motion design pour le web. | FR |\n| 27 | `threejs-webgl` | Implémentation de scènes 3D web avec Three.js, React Three Fiber, Drei, WebGL et GLTF. | FR |\n\n### SaaS\n\n| # | Skill | Description | Lang |\n|---:|---|---|:--:|\n| 28 | `saas-design-system` | Design System spécifique SaaS. | FR |\n| 29 | `saas-system-design` | System design et architecture SaaS modernes en 2026. | FR |\n| 30 | `saas-ui-design` | UI/UX design moderne pour SaaS en 2026. | FR |\n\n### Backend\n\n| # | Skill | Description | Lang |\n|---:|---|---|:--:|\n| 31 | `api-design` | Design d'APIs REST/GraphQL : conventions de routes, versioning, pagination, gestion d'erreurs... | FR |\n| 32 | `architecture` | Principes d'architecture logicielle, design patterns, Clean Architecture, SOLID, et... | FR |\n| 33 | `database` | Conception et optimisation de bases de données : modélisation, index, migrations, ORM, SQL et... | FR |\n\n### DevOps\n\n| # | Skill | Description | Lang |\n|---:|---|---|:--:|\n| 34 | `ci-cd-automation` | Intégration continue, déploiement continu, pipelines CI/CD, et automatisation des workflows... | FR |\n| 35 | `coding-standards` | Standards de codage professionnels, bonnes pratiques, clean code, et conventions pour un code... | FR |\n| 36 | `git-workflow` | Workflow Git professionnel, branching strategies, commit conventions, et collaboration... | FR |\n| 37 | `monitoring-observability` | Monitoring et observabilité : logs, métriques, traces, alerting, dashboards SRE. | FR |\n| 38 | `performance` | Optimisation des performances web, Core Web Vitals, bundle analysis, caching, et monitoring. | FR |\n| 39 | `security` | Sécurité applicative, OWASP Top 10, gestion des secrets, authentification, et bonnes pratiques... | FR |\n| 40 | `testing` | Stratégies de test, TDD, tests unitaires, d'intégration, E2E, et couverture de code. | FR |\n\n### Docs\n\n| # | Skill | Description | Lang |\n|---:|---|---|:--:|\n| 41 | `documentation` | Rédaction de documentation technique : README, docs API, guides, changelogs. | FR |\n| 42 | `slides` | Create strategic HTML presentations with Chart.js, design tokens, responsive layouts... | EN |\n\n### Fiabilité & tokens\n\nRégler les deux défauts systémiques des agents : **l'hallucination** et **la\nconsommation de tokens**. Ces deux skills s'appuient sur la documentation officielle\nAnthropic.\n\n| # | Skill | Description | Lang |\n|---:|---|---|:--:|\n| 43 | `anti-hallucination` | Réduction des hallucinations selon les guides officiels Anthropic : permission de ne pas savoir, citations verbatim, vérification par citations, restriction de connaissance externe, chain-of-thought, Best-of-N... | FR |\n| 44 | `context-engineering` | Context engineering et économie de tokens selon Anthropic : attention budget, context rot, compaction, tool-result clearing, structured note-taking, subagents, progressive disclosure, prompt caching... | FR |\n\n---\n\n## Installation\n\n### Étape 0 — cloner le dépôt **à part** (obligatoire)\n\nChoisissez un emplacement **hors** de tout dossier de skills ou de projet :\n\n```bash\n# Linux / macOS\ncd ~\ngit clone https://github.com/eliabdevweb-svg/opencode-skills-MCP.git\ncd opencode-skills-MCP\n\n# Windows (PowerShell)\ncd $env:USERPROFILE\ngit clone https://github.com/eliabdevweb-svg/opencode-skills-MCP.git\ncd opencode-skills-MCP\n```\n\n> ⛔ **Ne jamais** faire :\n> `git clone … ~/.config/opencode/skills/` ni `git clone … ~/.claude/skills/`.\n> Vous embarqueriez un dépôt Git dans un dossier que l'outil scanne : `git pull` ne\n> fonctionnera plus correctement, `.git` pollue l'arborescence de skills, et vos\n> personnalisations seront écrasées à la prochaine mise à jour.\n>\n> ✅ **Toujours** : un clone dédié, puis des **liens** ou une **copie contrôlée**.\n\n---\n\n### Où l'outil cherche-t-il les skills ?\n\n| Outil | Emplacement lu en priorité |\n|---|---|\n| **opencode** — projet | `./.opencode/skills/` |\n| **opencode** — global | `~/.config/opencode/skills/` |\n| opencode — replis | `./.claude/skills/`, `./.agents/skills/`, `~/.claude/skills/`, `~/.agents/skills/` |\n| **Claude Code** — global | `~/.claude/skills/` |\n| **Claude Code** — projet | `./.claude/skills/` |\n| **Claude Desktop** (mode dev) | bundle `skills-plugin` géré par l'application |\n| **Antigravity** — workspace | `./.agents/skills/` |\n| **Antigravity** — global | `~/.gemini/config/skills/` *(ancien emplacement `~/.gemini/antigravity/skills/` accepté)* |\n| **Antigravity CLI** — global | `~/.gemini/antigravity-cli/skills/` |\n\n> ⚠️ **Un même skill présent à deux endroits** sera chargé selon l'ordre de priorité\n> ci-dessus : le premier trouvé gagne. D'où l'importance de ne **pas** installer deux\n> fois le même skill par deux méthodes différentes.\n\n---\n\n### 1. opencode\n\n**Option A — lien symbolique (recommandée)** : une seule source de vérité, `git pull`\nsuffit à tout mettre à jour.\n\n```bash\n# Linux / macOS\nmkdir -p ~/.config/opencode/skills\nfor d in skills/*/; do\n  name=$(basename \"$d\")\n  ln -sfn \"$PWD/skills/$name\" \"$HOME/.config/opencode/skills/$name\"\ndone\n```\n\n```powershell\n# Windows (PowerShell) — \"junction\", ne demande pas les droits administrateur\n$dest = \"$env:USERPROFILE\\.config\\opencode\\skills\"\nNew-Item -ItemType Directory -Force -Path $dest | Out-Null\nGet-ChildItem \"skills\" -Directory | ForEach-Object {\n  $t = Join-Path $dest $_.Name\n  if (Test-Path $t) { Remove-Item $t -Recurse -Force -ErrorAction SilentlyContinue }\n  New-Item -ItemType Junction -Path $t -Target $_.FullName | Out-Null\n}\n```\n\n**Option B — copie simple** (sans lien) :\n\n```bash\n# Linux / macOS\nmkdir -p ~/.config/opencode/skills\ncp -R skills/* ~/.config/opencode/skills/\n```\n\n```powershell\n# Windows (PowerShell)\nCopy-Item -Path \"skills\\*\" -Destination \"$env:USERPROFILE\\.config\\opencode\\skills\" -Recurse -Force\n```\n\n**Option C — skills du projet uniquement** : copiez dans `./.opencode/skills/` à la\nracine de votre projet au lieu du dossier global.\n\nAjoutez ensuite les serveurs MCP : voir [`mcp/README.md`](mcp/README.md).\n\n---\n\n### 2. Claude Code\n\n```bash\n# Linux / macOS\nmkdir -p ~/.claude/skills\ncp -R skills/* ~/.claude/skills/\n```\n\n```powershell\n# Windows (PowerShell)\nCopy-Item -Path \"skills\\*\" -Destination \"$env:USERPROFILE\\.claude\\skills\" -Recurse -Force\n```\n\nLe lien symbolique fonctionne aussi (même commande que l'option A ci-dessus, avec\n`$dest = \"$env:USERPROFILE\\.claude\\skills\"`).\n\nEnsuite :\n\n```bash\n# Serveurs MCP recommandés\nclaude mcp add playwright            -- npx -y @playwright/mcp --browser chrome --caps vision,devtools\nclaude mcp add sequential-thinking   -- npx -y @modelcontextprotocol/server-sequential-thinking\n\n# Contrôle\nclaude mcp list        # doit afficher \"playwright ✓ Connected\"\n```\n\nPuis le fichier de routage global :\n\n```bash\n# Linux / macOS\ncp rules/CLAUDE.global.md ~/.claude/CLAUDE.md\n# Windows\nCopy-Item rules\\CLAUDE.global.md \"$env:USERPROFILE\\.claude\\CLAUDE.md\"\n```\n\n> Si vous avez **déjà** un `~/.claude/CLAUDE.md`, ne remplacez pas : fusionnez le bloc\n> « Table de routage » dans votre fichier existant.\n\n---\n\n### 3. Claude Desktop\n\n**Skills** — le mode dev/Cowork de Claude Desktop lit ses skills depuis un bundle géré\npar l'application (`skills-plugin`), dont le chemin contient des identifiants de session\net **change au fil des versions**. La copie manuelle y fonctionne, mais doit être\nrefaite après chaque mise à jour de Claude Desktop :\n\n```powershell\n# Localiser le bundle le plus récent\nGet-ChildItem \"$env:LOCALAPPDATA\\Claude-3p\\local-agent-mode-sessions\\skills-plugin\" -Recurse -Filter plugin.json |\n  Select-Object -First 1 -ExpandProperty DirectoryName\n```\n\nCopiez ensuite les 44 dossiers dans le sous-dossier `skills/` de ce bundle.\n\n**Serveurs MCP** — voir [`mcp/README.md`](mcp/README.md) pour les deux fichiers à\nfusionner :\n\n- standard : `%APPDATA%\\Claude\\claude_desktop_config.json`\n- mode dev : `%LOCALAPPDATA%\\Claude-3p\\claude_desktop_config.json`\n\n> Les deux sont **distincts** : modifier l'un ne met pas l'autre à jour.\n\n---\n\n### 4. Antigravity\n\n[Antigravity](https://antigravity.google) (2.0, l'IDE, ses extensions et la CLI) utilise\nle **standard ouvert** `SKILL.md` : les 44 skills de ce dépôt y fonctionnent **sans\naucune modification**.\n\n**Skills** — copie ou lien vers l'un des deux emplacements :\n\n```bash\n# Linux / macOS — global (tous les projets)\nmkdir -p ~/.gemini/config/skills\ncp -R skills/* ~/.gemini/config/skills/\n\n# Linux / macOS — workspace (uniquement le projet courant)\nmkdir -p .agents/skills\ncp -R /chemin/vers/opencode-skills-MCP/skills/* .agents/skills/\n```\n\n```powershell\n# Windows (PowerShell) — global\nCopy-Item -Path \"skills\\*\" -Destination \"$env:USERPROFILE\\.gemini\\config\\skills\" -Recurse -Force\n\n# Windows (PowerShell) — workspace\nCopy-Item -Path \"skills\\*\" -Destination \".agents\\skills\" -Recurse -Force\n```\n\n> L'ancien emplacement `~/.gemini/antigravity/skills/` reste pris en charge (rétrocompatibilité).\n> Dans l'IDE : panneau agent → **…** → **Customizations** → onglet **Skills** pour inspecter\n> la liste active.\n\n**Règles de routage** — ⚠️ **Antigravity ne lit pas `CLAUDE.md`**. Il lit `AGENTS.md`\nou `GEMINI.md`, **sans frontmatter YAML** :\n\n```bash\n# Linux / macOS\ncp rules/CLAUDE.global.md ~/.gemini/AGENTS.md\n\n# Windows (PowerShell)\nCopy-Item rules\\CLAUDE.global.md \"$env:USERPROFILE\\.gemini\\AGENTS.md\"\n```\n\n- **Workspace** : `AGENTS.md` ou `GEMINI.md` à la racine du projet (ou n'importe quel\n  sous-dossier — Antigravity remonte l'arbre).\n- **Global** : `~/.gemini/AGENTS.md`, `~/.gemini/GEMINI.md`, `~/.gemini/config/AGENTS.md`\n  ou `~/.gemini/config/GEMINI.md`.\n- Si `AGENTS.md` et `GEMINI.md` coexistent, **`AGENTS.md` gagne**.\n- Les `.md` placés dans `.agents/rules/` exigent eux un frontmatter YAML avec un\n  `trigger:` valide (`always_on` | `model_decision` | `glob` | `manual`) — un déclencheur\n  absent ou mal orthographié fait **silencieusement** ignorer la règle.\n\n**Serveurs MCP** : voir [`mcp/README.md`](mcp/README.md) (section 5) — fichier\n`~/.gemini/config/mcp_config.json` (global) ou `.agents/mcp_config.json` (workspace).\n\n> **Limites Antigravity** : 24 Ko max par fichier de règle, et 20 000 tokens au total\n> pour l'ensemble des règles `always_on`. Notre fichier global fait 4,7 Ko → largement\n> dans les clous.\n\n---\n\n### 5. Vérification\n\n1. L'outil liste les skills disponibles (opencode : `<available_skills>` ; Claude Code :\n   commande `/skills`).\n2. Demandez un test : *« charge le skill `ui-ux-pro-max` »* → il doit se charger sans erreur.\n3. Test visuel : *« ouvre `index.html` et prends une capture d'écran »* → doit passer par\n   `browser_navigate` + `browser_take_screenshot`, **0 erreur console**.\n4. **Redémarrez** opencode ou Claude Desktop : aucune configuration n'est rechargée à chaud.\n\n---\n\n## Éviter les conflits lors des mises à jour\n\nC'est la partie la plus importante si vous comptez faire vivre cet installation dans le\ntemps.\n\n### Les 4 pièges classiques\n\n| # | Piège | Conséquence |\n|---:|---|---|\n| 1 | Cloner le dépôt **dans** `~/.config/opencode/skills/` ou `~/.claude/skills/` | Dépôt Git emboîté : `git pull` cassé, `.git` visible de l'outil, arborescence confuse |\n| 2 | **Éditer directement** un skill du dépôt depuis le dossier de skills | `git pull` échoue au prochain update → conflit de fusion, ou votre modif est perdue |\n| 3 | **Écraser** un skill existant portant le même nom | Votre version personnalisée disparaît silencieusement |\n| 4 | Installer par **deux méthodes** (copie + lien, ou global + projet) | Deux copies divergentes ; l'ordre de priorité de l'outil décide laquelle gagne |\n\n### Stratégie recommandée : clone dédié + liens\n\n```\n~/opencode-skills-MCP/                 ← clone Git (source de vérité, seul modifiable)\n   └── skills/design/\n~/.config/opencode/skills/design  ─┐\n~/.claude/skills/design           ─┴── liens vers le clone\n```\n\n- **Mettre à jour** = une seule commande : `git pull`\n- **Aucun conflit** : vous ne modifiez jamais un fichier du dépôt en place\n- **Pas de doublon** : un seul exemplaire sur le disque\n- **Pas de `.git`** dans les dossiers de skills\n\n### Personnaliser sans conflit\n\n> **Règle : ne jamais modifier un skill livré par le dépôt.**\n\n- **Besoin léger** → créez **votre propre skill** à côté, avec un nom qui n'existe pas\n  dans le dépôt (`mon-design`, `acme-brand`…). Aucune collision possible, et votre\n  skill survit à toutes les mises à jour.\n- **Besoin lourd** → **fork** le dépôt, appliquez vos changements dans votre fork, et\n  récupérez l'upstream par un simple `git pull` / merge.\n- **Réglage global** (routage, langue, MCP) → se fait dans `CLAUDE.md` / `AGENTS.md`,\n  **jamais** dans les skills.\n\n### Procédure de mise à jour\n\n```bash\ncd ~/opencode-skills-MCP\ngit pull\n```\n\n- **Installation par liens** : rien d'autre à faire.\n- **Installation par copie** : re-copiez (l'`-Force` écrasera les fichiers du dépôt —\n  c'est voulu, vous ne les modifiez pas) :\n\n```bash\ncp -R skills/* ~/.config/opencode/skills/\ncp -R skills/* ~/.claude/skills/\n```\n\n```powershell\nCopy-Item \"skills\\*\" \"$env:USERPROFILE\\.config\\opencode\\skills\" -Recurse -Force\nCopy-Item \"skills\\*\" \"$env:USERPROFILE\\.claude\\skills\" -Recurse -Force\n```\n\nPuis **redémarrez** les applications.\n\n### Si un conflit survient quand même\n\n```bash\ncd ~/opencode-skills-MCP\ngit status          # quels fichiers sont \"modified\" ?\ngit stash           # met de côté vos modifications locales\ngit pull            # mise à jour\ngit stash pop       # restaure vos mods (conflit possible ici)\n```\n\nEn cas de conflit irrésolu, vos modifications sont **toujours récupérables** avec\n`git stash list`. Sinon, la solution radicale :\n\n```bash\ngit checkout -- .   # annule les modifs locales du dépôt\ngit pull            # repart d'un état propre\n```\n\n> C'est précisément pour ça qu'on ne personnalise **jamais** les skills du dépôt :\n> un `git checkout -- .` ne détruit alors rien qui vous appartienne.\n\n### Nettoyer une installation faite par erreur\n\nSi vous avez déjà cloné le dépôt **dans** un dossier de skills :\n\n```bash\n# identifier le dépôt parasite\nls -d ~/.claude/skills/.git ~/.config/opencode/skills/.git 2>/dev/null\n\n# déplacer le clone vers sa place correcte (en conservant l'historique)\nmv ~/.claude/skills/opencode-skills-MCP ~/opencode-skills-MCP\n\n# supprimer les skills restants puis réinstaller proprement (liens)\nrm -rf ~/.claude/skills/*\n```\n\n---\n\n## Serveurs MCP\n\nCinq serveurs MCP sont fournis, avec **10 fichiers de configuration** (5 cibles × 2\nsystèmes d'exploitation) :\n\n| Serveur | Apport | Rôle |\n|---|---|---|\n| **`playwright`** | Tests visuels réels : navigation, captures, snapshot d'accessibilité, console, réseau (~44 outils `browser_*`) | 🛡️ vérification empirique |\n| **`sequential-thinking`** | Raisonnement structuré multi-étapes | 🛡️ vérification du raisonnement |\n| **`context7`** | Documentation **à jour et versionnée** injectée dans le prompt — supprime les APIs hallucinées et les exemples périmés | 🛡️ **anti-hallucination** |\n| **`exa`** | **Recherche web** réelle et récupération de contenu de pages (`web_search_exa`, `web_fetch_exa`) | 🛡️ **anti-hallucination** |\n| **`duckduckgo`** | **Recherche web de secours** — index indépendant, sans quota ni clé (`duckduckgo_web_search`) | 🛡️ **anti-hallucination** |\n\n`context7`, `exa` et `duckduckgo` n'exigent **aucune clé API** — tous fonctionnent en\nusage anonyme, la clé ne servant qu'à élever la limite de débit. `context7` est le\nserveur MCP le plus utilisé de l'écosystème et l'un des plus économes (~1 200 tokens\nde schéma pour 2 outils) ; `exa` ancre la réponse dans des sources réelles et datées ;\n`duckduckgo` sert de recours sans quota. Sur Claude Code, `exa` est branché en\n**HTTP natif** ; partout ailleurs il passe par le pont stdio `mcp-remote`.\n\n**Cibles couvertes** : opencode · Claude Code · Claude Desktop · Claude Desktop (mode dev)\n· **Antigravity** (2.0 / IDE / extensions / CLI)\n**Systèmes** : Windows (`cmd /c npx …`) et macOS/Linux (`npx …`)\n\n➡️ **Guide complet, procédure de fusion pas-à-pas et dépannage : [`mcp/README.md`](mcp/README.md)**\n\n> Point critique : les fichiers de config contiennent **déjà** d'autres serveurs et\n> clés. Il faut **fusionner** les blocs, jamais remplacer le fichier. Chaque guide\n> commence par « sauvegarder puis fusionner ».\n\n---\n\n## Fichiers de règles de routage\n\nUn skill n'est utile que si l'agent **le choisit**. Le routage repose sur deux leviers :\n\n1. la **description** de chaque skill (contient une phrase déclencheuse « Use when… ») ;\n2. un **fichier de règles** qui impose les arbitrages.\n\n| Fichier | À copier vers | Rôle |\n|---|---|---|\n| `rules/CLAUDE.global.md` | `~/.claude/CLAUDE.md` | Table de routage complète (design, 3D/animation, dev) + règles MCP. Lu par opencode **et** Claude Code. |\n| `rules/CLAUDE.global.md` | `~/.gemini/AGENTS.md` | Idem pour **Antigravity** — qui ne lit pas `CLAUDE.md` mais bien `AGENTS.md` (sans frontmatter) |\n| `rules/README.md` | — | Modèle de `CLAUDE.md` projet + instructions d'installation |\n\nDétails et modèle de règles projet : [`rules/README.md`](rules/README.md).\n\n---\n\n## Structure du dépôt\n\n```\nopencode-skills-MCP/\n├── README.md                  ← ce fichier\n├── LICENSE\n├── .gitattributes\n├── skills/                    ← 44 skills (587 fichiers)\n│   ├── accessibility/SKILL.md\n│   ├── api-design/SKILL.md\n│   ├── …\n│   └── ui-ux-pro-max/SKILL.md\n├── mcp/\n│   ├── README.md              ← guide MCP complet\n│   └── configs/\n│       ├── windows/           ← opencode.jsonc, claude-code.json,\n│       │                        claude-desktop.json, claude-desktop-dev.json,\n│       │                        antigravity.json\n│       └── unix/              ← les mêmes 5, variante macOS/Linux\n└── rules/\n    ├── CLAUDE.global.md       ← table de routage globale\n    └── README.md              ← modèle de règles projet\n```\n\n---\n\n## Contribuer\n\n1. Fork du dépôt\n2. Branche fonctionnelle (`git checkout -b feature/mon-skill`)\n3. Commit conventionnel (`git commit -m 'feat: add mon-skill'`)\n4. Push (`git push origin feature/mon-skill`)\n5. Pull Request\n\n**Contraintes de qualité d'un skill** (vérifiées automatiquement) :\n\n- dossier nommé en minuscules avec tirets, `name:` du frontmatter **identique** au nom du dossier ;\n- `description:` ≤ 1024 caractères et contenant une phrase déclencheuse **« Use when… »** ;\n- frontmatter YAML valide, fichier en UTF-8 **sans BOM** ;\n- un titre `# ` juste après le frontmatter.\n\n---\n\n## Licence\n\nMIT — voir [LICENSE](LICENSE).\n"}