AgentWorkshop.Profiles (AgentWorkshop v0.3.0)

Copy Markdown View Source

Reusable agent templates.

Define profiles once, instantiate agents from them on demand. Useful for orchestrators that spin up ephemeral agents for specific tasks.

Usage

profile(:coder, "You write clean code.", max_turns: 15)
profile(:reviewer, "Review only.", model: "opus", allowed_tools: ["Read", "Bash"])

# Create an agent from a profile
from_profile(:coder, :coder_bug_42)

# List available profiles
profiles()

Summary

Functions

Clear all profiles.

Get a profile definition.

List all profile names.

Remove a profile.

Types

profile_def()

@type profile_def() :: %{role: String.t() | nil, opts: keyword()}

Functions

clear()

@spec clear() :: :ok

Clear all profiles.

define(name, role \\ nil, opts \\ [])

@spec define(atom(), String.t() | nil, keyword()) :: :ok

Define a profile.

get(name)

@spec get(atom()) :: profile_def() | nil

Get a profile definition.

list()

@spec list() :: [atom()]

List all profile names.

remove(name)

@spec remove(atom()) :: :ok

Remove a profile.