25 lines
1.7 KiB
Markdown
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. |