Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Use Skills Subsystem

Use this when you want reusable file-backed skills (SKILL.md, references, scripts) as runtime tools/context.

Prerequisites

  • Skill directories containing SKILL.md.
  • tirea-extension-skills available.

Steps

  1. Discover skills from filesystem.
use tirea::skills::FsSkill;

let discovered = FsSkill::discover("./skills")?;
let skills = FsSkill::into_arc_skills(discovered.skills);
  1. Enable skills mode in builder.
use tirea::composition::{AgentDefinition, AgentDefinitionSpec, AgentOsBuilder, SkillsConfig};

let os = AgentOsBuilder::new()
    .with_skills(skills)
    .with_skills_config(SkillsConfig {
        enabled: true,
        advertise_catalog: true,
        ..SkillsConfig::default()
    })
    .with_agent_spec(AgentDefinitionSpec::local_with_id(
        "assistant",
        AgentDefinition::new("deepseek-chat"),
    ))
    .build()?;

Config flags:

  • enabled: registers skill tools (skill, load_skill_resource, skill_script)
  • advertise_catalog: injects available-skills catalog into inference context
  1. (Optional) use scope filters per agent via AgentDefinition.
AgentDefinition::new("deepseek-chat")
    .with_allowed_skills(vec!["code-review".to_string()])
    .with_excluded_skills(vec!["dangerous-skill".to_string()])

These populate RunPolicy.allowed_skills / RunPolicy.excluded_skills, enforced at runtime when skills are resolved.

Verify

  • Resolved tools include skill, load_skill_resource, skill_script.
  • Model receives available-skills context (when discovery mode is enabled).
  • Activated skill resources/scripts are accessible in runtime.

Common Errors

  • Enabling skills mode without providing skills/registry.
  • Tool id conflict with existing skill tool names.
  • No dedicated starter ships with skills enabled yet; the closest wiring surface is examples/src/starter_backend/mod.rs once you add skills discovery/config there

Key Files

  • crates/tirea-extension-skills/src/subsystem.rs
  • crates/tirea-extension-skills/src/lib.rs
  • crates/tirea-agentos/src/runtime/tests.rs