Modules
Public API for the Anthropic Messages client.
Struct holding Anthropic API connection configuration.
Parses raw Anthropic SSE event maps into typed event structs.
Represents the content_block_delta SSE event from the Anthropic streaming API.
Represents the content_block_start SSE event from the Anthropic streaming API.
Represents the content_block_stop SSE event from the Anthropic streaming API.
Represents the message_delta SSE event from the Anthropic streaming API.
Represents the message_start SSE event from the Anthropic streaming API.
Represents the message_stop SSE event from the Anthropic streaming API.
Telemetry integration for the Anthropic client.
Anthropic-specific test helpers.
SkillKit — an Elixir framework for building LLM agent systems.
Data struct and parser for AGENT.md files.
Supervisor for the core agent processes: Mailbox, Server, ToolRunner.
Buffers incoming messages and flushes to Agent.Server.
Core agent process. Drives the LLM loop and manages agent lifecycle.
Runs an activated skill as a forked sub-conversation in the parent agent's process.
Shared helpers for consuming an LLM event stream into an
%AssistantMessage{}.
Top-level supervisor for an agent.
Tool execution dispatch. Classifies, executes, and returns results for tool calls from the LLM. Handles plain tools, skill activation, and subagent spawning.
DynamicSupervisor for tool call execution. Public API for batch
tool execution via execute_all/2.
Opaque reference to a running agent.
Pure-function authorization API for SkillKit.
Behaviour contract for scope-resolution providers used by SkillKit.Authorization.authorize/3.
Aggregates kits from multiple providers and exposes skills, agents, tool definitions, and tool call classification.
Behaviour for conversation persistence backends.
Stores conversations as serialized Erlang terms via the Storage provider.
In-memory conversation store backed by an Agent process.
Behaviour for resolving credentials on behalf of tools.
A text fragment from the LLM stream.
The LLM turn is complete.
An error from the LLM.
A tool has suspended execution and is requesting input from the caller.
Converts provider-specific events into SkillKit events.
A tool call is fully parsed with input.
A tool call has begun (name and id known).
Token usage counts from the LLM.
Shared frontmatter parsing for SKILL.md and AGENT.md files.
Represents a lifecycle hook that fires at agent boundaries.
Dispatches lifecycle hooks at agent boundaries.
Hook handler that shells out to a command.
Behaviour for hook handler implementations.
Hook handler that POSTs hook context as JSON to a URL.
A packaging envelope for skills and agent definitions.
Provider that imports skills from GitHub repositories at runtime.
Manages the local disk cache for downloaded GitHub repositories.
HTTP client for downloading tarballs from GitHub's API.
Parses GitHub repository references in the format owner/repo[/path][@ref].
Provider that loads kits from filesystem directories.
Internal parser for the Local provider.
In-memory kit provider for testing and dynamic skill injection.
Behaviour for skill kit providers.
Behaviour for LLM provider adapters and dispatch entry point.
Anthropic adapter for SkillKit.LLM.
Translates SkillKit.Types message structs to Anthropic Messages API format.
Extracts LLM backend configuration from skill metadata.
Describes an LLM response with no content and no tool calls.
Describes an LLM error response.
Describes an LLM text response.
Describes an LLM tool call response.
Behaviour for agent runtimes.
Local runtime — starts agent supervision trees in the current node.
Protocol for structured scope resolution in SkillKit.
Pure-function scope validation and wildcard matching for SkillKit.
Pure data struct representing a registered skill in SkillKit.
Behaviour and convenience API for pluggable storage backends.
Storage provider backed by the local filesystem.
In-memory storage provider backed by an Agent process.
Telemetry integration for SkillKit.
A behaviour and macro for creating event handlers that subscribe to telemetry events.
Describes a tool the LLM can call and defines the callback contract for tool implementations.
Manages tool execution with suspension and resumption.
Tool for sending a message to a pre-bound target agent.
Shell tool — provides bash command execution in a hermetic child environment.
Kit that lets agents register webhook endpoints via skill activation.
Tool for reading webhook deliveries that have landed in the calling agent's inbox.
An assistant response in a conversation.
A system message in a conversation.
A tool invocation from the assistant.
The result of executing a tool.
A user message in a conversation.
Primary struct and public facade for the webhook adapter.
Plug.Parsers body-reader callback that stashes the raw request body
in conn.assigns.raw_body before handing it off to the parser.
Bounded ETS-backed dedup cache for webhook deliveries.
Behaviour for per-agent webhook delivery persistence and dispatch.
In-memory SkillKit.Webhook.Inbox implementation backed by an ETS table
and a GenServer owner.
:pre_agent hook handler injected onto every skill in
SkillKit.Tools.Webhook.
Composes the user-facing text and send_event/3 opts that an Inbox
impl passes when emitting a delivery to the receiving agent.
Plug that routes inbound webhook requests.
Per-node directory of running agents the webhook Plug can dispatch to.
In-memory webhook store backed by an Agent process holding a map.
Supervision tree for the webhook adapter.
Token substitution for HMAC signing inputs.
Builds externally-visible URLs for webhook registrations.
Behaviour for webhook signature verifiers.
GitHub webhook signature verifier.
Config-driven HMAC signature verification engine.
Verifier that accepts every request without a signature check.
Slack webhook signature verifier.
Stripe webhook signature verifier.
Mix Tasks
Interactive chat session with a SkillKit agent.
Smoke-test the full SkillKit agent loop against the Anthropic API.
Run a Ralph loop against a TODO file.