Skip to main content

Agentspecs

Agent Runtimes uses the Agentspecs repository as the source of truth for:

  • Agents
  • MCP servers
  • Skills
  • Environment variables

These specs are cloned locally and then compiled into the runtime catalogs used by Agent Runtimes.

For the public platform docs and broader AgentSpec context, see datalayer.ai/docs.

Clone and Generate

From the repository root:

make specs

This command:

  • Clones the agentspecs repository into ./agentspecs (or pulls updates)
  • Generates Python and TypeScript catalogs for agents, MCP servers, skills, and env vars

Using a Local Agentspecs Checkout

If you already have agentspecs checked out elsewhere, copy or symlink it to ./agentspecs before running make specs.

Where Specs Are Used

The generated catalogs are written to:

  • agent_runtimes/config/agents.py
  • agent_runtimes/config/skills.py
  • agent_runtimes/config/envvars.py
  • agent_runtimes/mcp/catalog_mcp_servers.py
  • src/config/agents.ts
  • src/config/skills.ts
  • src/config/envvars.ts
  • src/config/mcpServers.ts

What You Can Define in an Agent Spec

Agent specs are not just static prompts. They define runtime behavior across UX, workflows, controls, programmatic tooling, and delivery.

UX Patterns and Protocol-Oriented Agents

Use transport and UI configuration in specs to power GenUI experiences and protocol-targeted agents (AG-UI, A2UI, ACP, Vercel AI, A2A).

Interactive and Triggered Workflows

Specs can run interactively (chat-driven) or as event/schedule-driven workflows.

  • trigger: Defines schedule/event execution and startup prompt behavior.
  • pre_hooks / post_hooks: Lifecycle setup/teardown in sandbox.
  • tool_hooks: Tool lifecycle hooks using pydantic-ai names:
    • before_tool_execute
    • after_tool_execute
    • on_tool_execute_error
    • deferred_tool_calls

Identity and Controls

Specs can include controls such as tool approval workflows, guardrail-oriented runtime behavior, and monitoring-friendly metadata (used by snapshots/streams).

Programmatic Tooling (Sandbox, Codemode, Skills)

  • sandbox_variant: Selects execution sandbox (eval or jupyter).
  • enable_codemode and codemode config: Enables MCP-discovery + programmatic composition.
  • skills / enable_skills: Enables reusable skill execution.

Outputs and Notifications

For triggered workflows, specs can define delivery behavior:

  • notifications: Email/slack/webhook style delivery channels and recipients.
  • output-oriented fields in workflow specs to control the shape/destination of generated artifacts.

Real-Time Collaboration and Multi-Agent Teams

Specs can represent single agents or orchestrated teams.

  • Team/orchestrator specs coordinate specialized workers.
  • Collaboration is surfaced through runtime protocols (especially ACP/A2A).

Minimal Example Fragments

id: generate-weekly-reports
trigger:
type: schedule
cron: "0 8 * * MON"
prompt: "Run the scheduled workflow and produce the configured deliverable."

sandbox_variant: jupyter

skills:
- report-generation

notifications:
email: "team@acme.com"
id: example-tool-approvals
tool_hooks:
before_tool_execute:
- function: agent_runtimes.integrations.tool_policy:evaluate_tool_request
after_tool_execute:
- python: |
print("success", payload.get("tool"), payload.get("status"))
on_tool_execute_error:
- python: |
print("error", payload.get("tool"), payload.get("error_type"))
deferred_tool_calls:
- python: |
print("deferred hook invoked")
id: comprehensive-sales-analytics
description: Multi-agent team with orchestrator + specialists

mcp_servers:
- postgres
- slack

skills:
- data-quality
- forecasting