Symbi Dsl

Parse, validate, and create Symbiont DSL agent definitions. Use when writing new agents, debugging DSL syntax errors, or understanding existing agent definitions.

Ezee234 0d1c46d 1.2 KB Updated

File contents

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

  1. Use symbi__list_agents to see what agents exist
  2. Use symbi__get_agent_dsl to read an agent's definition
  3. Use symbi__parse_dsl to validate syntax after edits
  4. Help the user iterate on their agent definitions

Ezee234/symbi-gemini-cli/tree/main/skills/symbi-dsl commit 0d1c46ddb8

Frequently asked questions

npx skillmds@latest add ezee234/symbi-dsl