execgo-agent-bridge · v1.0.0 · 2026-05-29 · sha256 efebb1aa05c1c0ea
execgo-agent-bridge v1.0.0B
Immutable. This exact content is served forever at /api/v1/blob/efebb1aa05c1c0ea.
---
name: execgo-agent-bridge
description: |
Route shell, runtime.command, runtime.script, mcp.call, cli.run, or task_graph.submit work through Secbot's ExecGo-backed control tools.
version: "1.0.0"
author: "Secbot"
tags: ["execgo", "runtime", "orchestration", "control"]
triggers: ["execgo", "execgo-runtime", "runtime.command", "task_graph"]
prerequisites: ["server tool execgo_action enabled", "ExecGo reachable when runtime actions are needed"]
---
# Overview
Use this skill when work should run through ExecGo instead of ad-hoc local execution. In this repository, the primary bridge is the `execgo_action` tool, and `execute_command` can also route through ExecGo when `execgo=true` or `SECBOT_EXECGO_ENABLED=1` is active.
## When To Use
- You need reliable task IDs, wait semantics, cancellation, timeout control, or runtime-backed execution.
- You want to submit `runtime.command`, `runtime.script`, `mcp.call`, `cli.run`, or `task_graph.submit` actions.
- You need a structured smoke test before attempting a side-effecting ExecGo action.
## Rules
- Prefer `execgo_action` over hand-written HTTP calls.
- Use `mode=health` or `mode=tools` first if ExecGo availability is unknown.
- Use a stable `action_id` when subsequent waits or logs need correlation.
- Start with `kind=os.noop` for connectivity checks before side-effecting actions.
- For plain shell execution, prefer `execute_command`; only force ExecGo when the job benefits from ExecGo task handling.
## Tool Mapping In This Repo
- `execgo_action`:
- `mode=health` checks ExecGo health.
- `mode=tools` lists adapter capabilities.
- default `mode=act` submits an action and waits by default.
- `execute_command`:
- pass `execgo=true` to route command execution through ExecGo `runtime.command`.
- does not currently support `cwd` or `stdin_data` in ExecGo mode.
## Recommended Flow
1. Call `execgo_action` with `{"mode":"health"}`.
2. Call `execgo_action` with `{"mode":"tools"}` if you need capability discovery.
3. Submit `os.noop` for a smoke test.
4. Submit the real action with a stable `action_id` and structured `input`.
5. If the action is a simple shell command and fits the local bridge, use `execute_command` with `execgo=true` instead of building the JSON manually.
## Examples
Smoke test via `execgo_action`:
```json
{
"kind": "os.noop",
"action_id": "smoke-noop-1",
"input": {
"message": "hello execgo"
}
}
```
Runtime command via `execgo_action`:
```json
{
"kind": "runtime.command",
"action_id": "runtime-echo-1",
"input": {
"program": "/bin/sh",
"args": ["-c", "echo hello execgo-runtime"],
"limits": {
"wall_time_ms": 30000
}
}
}
```
Shell command via `execute_command`:
```json
{
"command": "uname -a",
"timeout": 30,
"execgo": true
}
```
## Environment Notes
- `EXECGO_URL` defaults to `http://127.0.0.1:8080`.
- `EXECGO_RUNTIME_URL` defaults to `http://127.0.0.1:18080`.
- `EXECGO_EXECGOCLI` can point to a non-default `execgocli` binary.
- `SECBOT_EXECGO_ENABLED=1` makes `execute_command` prefer ExecGo by default.
## References
- `references/action-contract.md` for the action envelope and kinds.
- `references/runtime-operations.md` for runtime startup and readiness expectations.
- `references/agent-specific-notes.md` for notes about fitting the upstream skill into Secbot.
- `references/troubleshooting.md` for common failures.