symbi-agent-sdk · git:20260308.e67cc2d · 2026-03-08 · sha256 9de172c4695a71a4
symbi-agent-sdk git:20260308.e67cc2dA
Immutable. This exact content never changes and is served at /api/v1/blob/9de172c4695a71a4.
---
name: symbi-agent-sdk
description: Generate boilerplate for wrapping Claude Agent SDK agents in ORGA governance. Use when building headless agents that run inside Symbiont's CliExecutor or when integrating the Claude Agent SDK with Symbiont's trust stack.
---
# Agent SDK + ORGA Integration
Help the user create Claude Agent SDK agents that are governed by Symbiont's ORGA loop.
## Architecture
In the runtime-first (Mode B) pattern, Symbiont's CliExecutor spawns Claude Code
as a governed subprocess. The Agent SDK can also be used programmatically:
```
Symbiont Runtime (ORGA Loop)
-> CliExecutor (sandbox + budget)
-> Claude Code / Agent SDK (execution)
-> symbi plugin (awareness bridge)
-> parent MCP server (governance tools)
```
## DSL Executor Block
When the user wants to define a Claude Code agent in DSL, use the `executor` block:
```symbiont
agent task_name(input: InputType) -> OutputType {
capabilities = ["read", "analyze", "write"]
executor {
type = "claude_code"
allowed_tools = ["Bash", "Read", "Write", "Edit", "mcp__symbi__*"]
plugin = "symbi"
model = "claude-sonnet-4-20250514"
}
policy access_policy {
allow: read(any) if true
deny: write(any) if not input.approved
audit: all_operations
}
with sandbox = "tier1", timeout = "30m" {
result = execute(input)
return result
}
}
```
## CliExecutor Environment Variables
When Symbiont spawns Claude Code, these environment variables are set:
| Variable | Purpose |
|----------|---------|
| `SYMBIONT_MANAGED=true` | Signals the plugin is inside a managed runtime |
| `SYMBIONT_MCP_URL` | HTTP endpoint to connect back to parent MCP server |
| `SYMBIONT_RUNTIME_SOCKET` | Unix socket for runtime communication |
| `SYMBIONT_SESSION_ID` | Unique session ID for audit correlation |
| `SYMBIONT_BUDGET_TOKENS` | Token budget for this execution |
| `SYMBIONT_BUDGET_TIMEOUT` | Timeout for this execution |
## Workflow
1. Ask what the agent should do and its security requirements
2. Create the DSL definition with an `executor` block for `claude_code`
3. Define Cedar policies for the agent's capabilities
4. Generate the `symbiont.toml` configuration if needed
5. Validate with `parse_dsl`
6. Explain how to run: `symbi run <agent_name> --prompt "..."`
## Scaffolding
When asked to scaffold an Agent SDK project, create:
1. `agents/<name>.dsl` -- Agent definition with executor block
2. `policies/<name>.cedar` -- Cedar policies for the agent
3. `symbiont.toml` -- Runtime configuration with appropriate sandbox tier
4. Instructions for running with `symbi run` or programmatically via CliExecutor