symbi-dsl ยท diff
git:20260308.e67cc2d to git:20261011.4243b1c
14 added, 45 removed. Audit A to A.
---
name: symbi-dsl
- description: Parse, validate, and create Symbiont DSL agent definitions. Use when writing new agents, debugging DSL syntax errors, or understanding existing agent definitions.
+ description: Inspect and validate agent definitions against the installed Symbiont runtime.
allowed-tools: ["mcp__symbi__parse_dsl", "mcp__symbi__get_agent_dsl", "mcp__symbi__list_agents"]
---
- # Symbiont DSL Development
-
- Help the user write and debug Symbiont agent definitions.
-
- ## DSL Structure
-
- ```symbiont
- metadata {
- version = "1.0.0"
- author = "developer"
- description = "Agent purpose"
- }
-
- agent name(input: Type) -> ReturnType {
- capabilities = ["list", "of", "caps"]
-
- policy policy_name {
- allow: action(resource) if condition
- deny: action(resource) if condition
- audit: all_operations
- }
-
- schedule cron_task {
- cron = "0 9 * * MON-FRI"
- agent = "name"
- }
+ # Agent definitions
- webhook incoming_hook {
- path = "/hooks/trigger"
- method = "POST"
- }
+ Use the installed runtime's examples and generated profiles as the syntax source.
+ For managed CLI selection, metadata contains `executor = "claude_code"` and exact
+ registered tool names in `allowed_tools`. See
+ `examples/cli-executor/code-reviewer.symbi` for a minimal parseable example.
- channel slack_notify {
- type = "slack"
- webhook_url = env("SLACK_WEBHOOK")
- }
+ When the optional runtime MCP server is connected, `list_agents`, `get_agent_dsl`
+ and `parse_dsl` can inspect and validate definitions. Otherwise provide the CLI:
- with memory = "persistent", requires = "approval" {
- // agent logic
- }
- }
+ ```sh
+ symbi dsl --check --file agents/dev.symbi
```
- ## Workflow
-
- 1. Use `list_agents` to see what agents exist
- 2. Use `get_agent_dsl` to read an agent's definition
- 3. Use `parse_dsl` to validate syntax after edits
- 4. Help the user iterate on their agent definitions
+ A successful parse proves syntax, not that the configured execution route runs
+ the DSL body or enforces an inline policy. Managed CLI execution uses metadata and
+ external runtime policies; source ceilings, approval state and sandbox setup are
+ separate controls. Avoid invented schema fields or unsupported executor blocks.