Surface les skills assignés à un agent « à la MCP » : description sur l'entité Skill (+ effective_description fallback), section « # Skills disponibles » haute altitude dans le convention-file (mode MCP), outil read-only idea_skill_read (résolution projet→global), use case ReadSkill (port SkillStore existant), et câblage au composition root. Dump legacy du corps complet conservé en mode sans-MCP (zéro régression). Rétro-compat index.json (serde default). Tests : domain+application+infrastructure 1212 passed / 0 failed (23 ajoutés). Reste : T6 (champ description front) + T7 (e2e après rebuild AppImage). NB topologie : commit réalisé par l'orchestrateur car l'agent Git était injoignable (bug de livraison cold-start) ; à faire relire/rebaser par Git. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
22 lines
1015 B
Rust
22 lines
1015 B
Rust
//! Skill use cases (ARCHITECTURE §14.2; L12).
|
|
//!
|
|
//! Skills are reusable, model-agnostic workflows (IdeA's universal equivalent of
|
|
//! a CLI slash-command). This module owns their CRUD across both scopes
|
|
//! ([`domain::skill::SkillScope`]) and the agent↔skill assignment that records a
|
|
//! [`domain::skill::SkillRef`] in the project manifest. The actual injection of
|
|
//! an assigned skill's body into the generated convention file happens at agent
|
|
//! activation (L6).
|
|
//!
|
|
//! Every use case talks only to ports ([`domain::ports::SkillStore`],
|
|
//! [`domain::ports::AgentContextStore`], [`domain::ports::IdGenerator`],
|
|
//! [`domain::ports::EventBus`]).
|
|
|
|
mod usecases;
|
|
|
|
pub use usecases::{
|
|
AssignSkillToAgent, AssignSkillToAgentInput, CreateSkill, CreateSkillInput, CreateSkillOutput,
|
|
DeleteSkill, DeleteSkillInput, ListSkills, ListSkillsInput, ListSkillsOutput, ReadSkill,
|
|
ReadSkillInput, UnassignSkillFromAgent, UnassignSkillFromAgentInput, UpdateSkill,
|
|
UpdateSkillInput, UpdateSkillOutput,
|
|
};
|