Runtime Premise
OpenGoat is an organization-first runtime with provider-bound agents.ceois the root manager and cannot be deleted.- Every agent has a provider binding (
runtime.provider.id). - Default provider binding is
openclawunless overridden per agent. - Manager behavior is implemented through skills and prompts, not a built-in planner loop.
Default Entry Agent Resolution
OpenGoat resolves the target agent in this order:OPENGOAT_DEFAULT_AGENTconfig.defaultAgentceo
Hierarchy Model
Agent metadata lives inagents/<agent-id>/config.json.
Relevant fields:
organization.type:manager | individualorganization.reportsTo:<agent-id> | nullruntime.skills.assigned
Execution Flow (opengoat agent ...)
- Resolve target agent (or default agent).
- Resolve session semantics (
--session,--new-session,--no-session). - Invoke the configured provider runtime.
- Persist transcript events under agent sessions.
- Persist run trace under
runs/<run-id>.json.
Session Mapping
OpenGoat session ids map 1:1 to OpenClaw session keys:agent:<agent-id>:<opengoat-session-id>
Skills and Provider-Aware Materialization
Role-skill behavior is provider-aware:openclaw- managers:
og-board-manager - individuals:
og-board-individual
- managers:
- non-
openclaw- managers:
og-boards - individuals:
og-boards
- managers:
openclaw:skills/claude-code:.claude/skills/codex:.agents/skills/copilot-cli:.copilot/skills/cursor:.cursor/skills/opencode:.opencode/skills/gemini-cli:.gemini/skills/
Filesystem Layout
Default home:~/.opengoat (override with OPENGOAT_HOME).
Key paths:
config.jsonagents.jsonworkspaces/organization/agents/providers/skills/runs/
