WardrikDaemon.AgentFile (wardrik_daemon v0.1.0-rc.1)

Copy Markdown

Reads an agent file: a Markdown file in agents/.

The frontmatter is the agent's definition, and the body is its instructions. This is agents/triage.md:

---
description: Watches the incident queue and says what needs an engineer.
model: anthropic:claude-sonnet-5
tools: [linear/*]
policy: careful
---
You watch the incident queue. Summarise anything new, and say which issues need an engineer.

Three keys make the agent's ID:

  • name - the file's name unless set.
  • org - the deployment's org. A file that names another org doesn't read.
  • user - the person the agent works for, if any.

The file above is acme/triage. With user: jon, it's acme/@jon/triage.

Every other key is part of the definition. See Wardrik.Definition. Keys the file leaves out come from config.yaml's defaults. A file with no frontmatter is all instructions.

Summary

Functions

Reads the file at path. Returns the agent's ID and its definition, with defaults filled in.

Functions

read(path, config)

@spec read(Path.t(), WardrikDaemon.Config.t()) ::
  {:ok, String.t(), map()} | {:error, String.t()}

Reads the file at path. Returns the agent's ID and its definition, with defaults filled in.