Skip to content

Latest commit

 

History

History
65 lines (49 loc) · 2.17 KB

File metadata and controls

65 lines (49 loc) · 2.17 KB

Agents, tools, skills, and subagents

OpAgent components are directories with Markdown manifests and YAML front matter. The Runtime scans global tools, then skills, then agents from its base directory.

Agents

agents/coder/
  .agent/
    AGENT.md
    bin/coder
    skills/
    tools/
    subagents/

AGENT.md defines a stable id, name, description, supported opcodes, mounted resources, and optional run.command or run.url. Relative entries resolve inside .agent; base-directory references use @agents, @skills, or @tools.

The included Coder is a generic stdio endpoint agent. Simple Memory is a manifest-only subagent that maintains ${agentRoot}/memory.md and deliberately avoids secrets and transient state.

Tools

A TOOL.md describes a tool server or managed command. Local run.command endpoints use stdio; remote run.url endpoints require host authorization. Built-in filesystem and shell tools are implemented by Runtime and do not need a TOOL.md.

The rg-search package describes a managed ripgrep executable staged at <baseDir>/bin/rg[.exe].

Skills

A SKILL.md is readable workflow guidance, not an implicit executable or permission grant. An agent mounts a global skill with @skills/<slug> or an agent-local directory with a relative path. The model reads the full file only when the workflow matches.

The Word Document skill includes a dependency-free Go helper for deterministic DOCX inspection, comments, redlines, revision application, and validation. It performs no network requests and refuses unsafe packages or in-place writes.

Subagents

An agent is delegatable only when it is scanned, mounted by its parent, and supports thread/submit. Runtime injects the agent_task tool only when a valid mounted subagent exists. Child threads inherit the parent's working directory when possible and receive an exact copy of the parent's permission snapshot.

Build reusable binaries

scripts/build-components.sh

Set GOOS, GOARCH, and optionally OPAGENT_COMPONENT_OUTPUT_DIR for cross-compilation. Set OPAGENT_RG_BIN to stage an already obtained ripgrep binary for the target platform; the script never downloads it implicitly.