Jido.Composer.Skill (Jido Composer v0.6.0)

Copy Markdown View Source

Reusable capability bundle for runtime agent assembly.

A Skill is pure data: a name, description, prompt fragment, and list of tool modules. Skills are composed at runtime via assemble/2 to create dynamically configured Orchestrator agents.

Example

math_skill = %Skill{
  name: "math",
  description: "Arithmetic operations",
  prompt_fragment: "Use add and multiply tools for calculations.",
  tools: [AddAction, MultiplyAction]
}

{:ok, agent} = Skill.assemble([math_skill],
  base_prompt: "You are a calculator.",
  model: "anthropic:claude-sonnet-4-20250514"
)

Summary

Functions

Assembles a list of skills into a configured Orchestrator agent.

Types

t()

@type t() :: %Jido.Composer.Skill{
  description: String.t(),
  name: String.t(),
  prompt_fragment: String.t(),
  tools: [module()]
}

Functions

assemble(skills, opts \\ [])

@spec assemble(
  [t()],
  keyword()
) :: {:ok, Jido.Agent.t()} | {:error, term()}

Assembles a list of skills into a configured Orchestrator agent.

Composes prompt fragments, deduplicates tools, and returns an agent ready for query_sync/3.

Options

  • :base_prompt — role instructions prepended to skill fragments
  • :model — LLM model identifier (e.g. "anthropic:claude-sonnet-4-20250514")
  • :max_iterations — ReAct loop limit (passed to configure)
  • :temperature — LLM temperature (passed to configure)
  • :max_tokens — max tokens (passed to configure)
  • :req_options — HTTP options (passed to configure)