Vibe.Skill.Script behaviour (vibe v0.2.0)

Copy Markdown View Source

Behaviour and tiny DSL for executable Vibe skills.

Executable skills are trusted local .exs files that combine Markdown guidance with callable Elixir helpers. They can expose eval APIs through Vibe.Plugin.API without becoming long-running plugins.

Summary

Types

metadata()

@type metadata() :: %{
  :name => String.t(),
  optional(:version) => String.t(),
  optional(:description) => String.t(),
  optional(:triggers) => [String.t()],
  optional(:alias) => atom(),
  optional(:examples) => [String.t()]
}

Callbacks

apis()

(optional)
@callback apis() :: [Vibe.Plugin.API.t() | keyword() | map()]

markdown()

@callback markdown() :: String.t()

metadata()

@callback metadata() :: metadata()

prompt_context(map)

(optional)
@callback prompt_context(map()) :: String.t()

validate(map)

(optional)
@callback validate(map()) :: :ok | {:error, term()}

Functions

skill(list)

(macro)