symbi-dsl
Parse, validate, and create Symbiont DSL agent definitions. Use when writing new agents, debugging DSL syntax errors, or understanding existing agent definitions.
Symbiont DSL Development
Help the user write and debug Symbiont agent definitions.
DSL Structure
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"
}
webhook incoming_hook {
path = "/hooks/trigger"
method = "POST"
}
channel slack_notify {
type = "slack"
webhook_url = env("SLACK_WEBHOOK")
}
with memory = "persistent", requires = "approval" {
// agent logic
}
}
Workflow
- Use
list_agentsto see what agents exist - Use
get_agent_dslto read an agent's definition - Use
parse_dslto validate syntax after edits - Help the user iterate on their agent definitions