Skip to main content

Module skills_api

Module skills_api 

Source
Expand description

The embedder-facing skill API (R4).

§Why this module exists

Before this, an embedder wanting to list or install a skill had to reach into uar::runtime::skills::service::SkillService — an internal type whose signature is free to change. Every path was pub all the way down, so the crate had no seam between “what we support” and “what happens to be reachable”.

This module is that seam. It is deliberately narrow: five verbs over Skill, nothing else. An embedded host — a mobile app, a desktop shell, a test — should not need to know that a SkillRegistry exists, that persistence is optional, or that matching has a configurable algorithm.

§What this is NOT

It is not a re-export of SkillService. Handing back the internal type would name it in the public API and re-create the coupling this module removes. The facade owns an Arc<SkillService> privately and exposes only the operations R4 names.

§Example

use universal_agent_runtime::skills_api::SkillsApi;
// Everything an embedder needs, without touching runtime internals.
let all = api.list().await;
if let Some(skill) = api.get("some-skill").await {
    api.toggle(&skill.skill_id, false).await;
}
let matches = api.query("summarise a document").await;

Structs§

SkillsApi
The public skill surface for embedders.