Valet|Docs

Agents

An agent is a workflow you ran once in an agent, saved so it runs again — on its own, for your whole team. Where an artifact shares the result of the work, an agent shares the work itself.

You describe what it should do in plain language. Valet deploys it to an isolated cloud environment where it waits for messages, wakes on a schedule, uses the tools you connected, and reports back where your team already is.

Why you would use one

  • The task repeats. Triage the inbox, summarize yesterday's meetings, review every pull request, refresh the numbers before the Monday call.
  • The trigger is not you. An agent can wake on a webhook, an incoming email, a Slack mention, or a clock — not only when someone remembers to run it.
  • Your team needs it, not just you. A workflow living in your terminal helps one person. The same workflow as an agent answers everyone in Slack.
  • It should keep something up to date. Agents publish and refresh artifacts, so a dashboard stays current without anyone rebuilding it.

What an agent is made of

An agent is defined by prompts and configuration, not code. Six parts make up its shape — the same six the dashboard shows you on its Blueprint.

  • Objectives — what the agent exists to do, how it communicates, and what it must never do. Purpose is specific: "reviews pull requests for security vulnerabilities" is a purpose; "is a helpful assistant" is not. Personality governs tone and judgment. Guardrails are hard constraints the runtime enforces. On disk this is SOUL.md.
  • Skills — reusable capabilities the agent applies to its work, each a folder with a SKILL.md describing what it does and when to use it. Skills follow the Agent Skills open standard, so a skill written for Claude Code works here unchanged.
  • Integrations — the third-party tools the agent uses: GitHub, Slack, Google Drive, Linear, Stripe, or any MCP server. Valet holds the credentials, so the agent can call a tool without ever holding the key.
  • Channels — the ways people and systems reach the agent: Slack, an email address, Telegram, an MCP server other tools can call, a webhook, or the dashboard itself. Each channel carries its own prompt telling the agent how to handle messages that arrive there.
  • Schedules and triggers — when the agent runs with nobody watching: every weekday at 9am, every fifteen minutes, or whenever an event fires.
  • Configuration — the values it needs. Plain values (a region, a channel name, a customer ID) are handed to the agent directly. Secrets (API tokens, signing keys) are encrypted and injected into its tools at deploy time, never into the agent's own environment — it uses what the credential unlocks without ever seeing it.

All of it lives in one directory, and the file system is the API:

my-agent/
  SOUL.md              # Purpose, personality, guardrails
  valet.yaml           # Manifest: integrations, channels, config
  skills/              # Reusable capabilities
    <skill-name>/
      SKILL.md
  channels/            # How to handle messages per channel
    <channel-name>.md
  mcp/                 # Tools this agent exposes over MCP
    <tool-name>.md

You never have to write these files by hand. The dashboard writes them from your description, and revising the agent in chat rewrites them for you.

What it can do once it runs

Every agent runs in its own isolated container with a real computer inside: it reads and writes files, and has bash, python3, node, git, gh, curl, jq, sqlite3, ffmpeg, and the rest of a working developer toolkit. It runs on Claude Sonnet by default.

That is why an agent can build its own interfaces rather than only answering questions. It can publish an artifact, post to Slack, send email, and expose its own tools over MCP for other tools and agents to call. It also keeps durable memories between runs, so what it learned last week is still true today.

Where to go next

  • Dashboard: Agents — what your agents can do for your team, and where they live.
  • Creating an Agent — describe one, fill in its Blueprint, and deploy it.
  • Valet Skill — build an agent from your coding agent, including from a session you just finished.