Files
IdeA/.ideai/memory/project-plugin-skills-multi-harness-contract.md

25 lines
1.7 KiB
Markdown

---
name: project-plugin-skills-multi-harness-contract
description: memory note project-plugin-skills-multi-harness-contract
metadata:
type: project
---
# Skills et tools de plugins par projet — contrat multi-harness
Ticket #282 livré sur `develop` le 2026-09-08.
Contrat produit retenu :
1. Un plugin IdeA est installé globalement dans IdeA.
2. Le projet active explicitement les plugins qu'il veut utiliser via les settings projet.
3. Chaque agent reçoit explicitement les skills et tools MCP du plugin qui lui sont attribués.
Les skills de plugin sont déclarés dans `idea-plugin.json` via `contributes.skills` avec `id`, `name`, `description`, `kind` (`workflow` par défaut ou `reference`) et `path` package-relative vers un Markdown `.md`.
Ce contrat est IdeA-native et multi-harness : il ne dépend pas de `.codex-plugin/plugin.json`, de `$CODEX_HOME`, ni d'une découverte propre à Codex. IdeA résout les plugins activés et les assignments agent, injecte les affordances de skills dans le contexte de l'agent, et sert le corps via `idea_skill_read` pour les harness compatibles IdeA (Claude Code, Codex, OpenCode local/cloud).
Persistance projet : `.ideai/project-plugins.json` version 1. Elle contient l'activation des plugins et les assignments `{pluginId, skillId}` / `{pluginId, serverId, toolName}` par agent. Les tombstones sont conservés pour uninstall/reinstall temporaire.
SDK : `sdk/IdeaSDK` commit `6eb8db3` expose/valide `IdeAPluginSkillContribution` et documente la séparation entre skills IdeA-native et `.codex-plugin` Codex.
Réserve connue : pour les tools MCP de plugin, `toolName` reste saisi librement tant qu'un catalogue dynamique des tools n'est pas disponible côté UI/runtime.