Skip to main content

argentor_skills/
lib.rs

1//! Skill system with WASM-sandboxed runtime, plugin loading, and registry.
2//!
3//! This crate defines the skill abstraction used by Argentor agents,
4//! including dynamic loading of WASM plugins, a central registry,
5//! and markdown-based prompt skills.
6//!
7//! # Main types
8//!
9//! - [`Skill`] — Trait that every executable skill implements.
10//! - [`SkillDescriptor`] — Metadata describing a skill's name, parameters, and capabilities.
11//! - [`SkillRegistry`] — Central registry for discovering and invoking skills.
12//! - [`WasmSkillRuntime`] — Wasmtime-based sandbox for running untrusted skill plugins.
13//! - [`SkillLoader`] — Loads WASM skill plugins from configuration.
14//! - [`MarkdownSkill`] — A skill defined via a Markdown file with YAML frontmatter.
15
16/// Dynamic tool generation — agents create new tools at runtime from specs.
17pub mod dynamic_gen;
18/// WASM skill loader and configuration.
19pub mod loader;
20/// Markdown-based prompt and callable skills.
21pub mod markdown_skill;
22/// Skill marketplace: catalog, search, dependency resolution, and publishing.
23pub mod marketplace;
24/// Plugin system with manifest and event hooks.
25pub mod plugin;
26/// Central skill registry and tool groups.
27pub mod registry;
28/// Core skill trait and descriptor.
29pub mod skill;
30/// Fluent builder for defining skills without boilerplate (like `@tool` in Python SDKs).
31pub mod tool_builder;
32/// Skill vetting, signing, and secure registry index.
33pub mod vetting;
34/// Wasmtime-based WASM skill runtime.
35pub mod wasm_runtime;
36
37pub use loader::{SkillConfig, SkillLoader};
38pub use markdown_skill::{LoadedMarkdownSkills, MarkdownSkill, MarkdownSkillLoader};
39pub use marketplace::{
40    builtin_catalog_entries, CatalogEntry, CompatibilityResult, InstalledSkill, MarketplaceCatalog,
41    MarketplaceClient, MarketplaceEntry, MarketplaceManager, MarketplaceSearch, SearchResponse,
42    SkillCache, SkillDependency, SortBy, UpgradeInfo,
43};
44pub use plugin::{Plugin, PluginEvent, PluginManifest, PluginRegistry};
45pub use registry::{SkillRegistry, ToolGroup};
46pub use skill::{Skill, SkillDescriptor};
47pub use tool_builder::ToolBuilder;
48pub use vetting::{SkillIndex, SkillManifest, SkillVetter, VettingResult};
49pub use wasm_runtime::WasmSkillRuntime;