/omnigent-knowledge
Deep reference on Omnigent config format, executor types, skill/tool structure, and conventions. Load when you need to look up how the platform works.
$ npx -y skills add omnigent-ai/omnigent --skill omnigent-knowledge --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/omnigent-knowledge
Context preview
The summary Claude sees to decide when to auto-load this skill.
Deep reference on Omnigent config format, executor types, skill/tool structure, and conventions. Load when you need to look up how the platform works.
SKILL.md
omnigent-knowledge.SKILL.mdname: omnigent-knowledge
description: Deep reference on Omnigent config format, executor types, skill/tool structure, and conventions. Load when you need to look up how the platform works.
Omnigent Knowledge Base
What is Omnigent?
Agent plane is a server that hosts, manages, and executes agents via an OpenResponses-compatible API. Users create **agent directories** (also called agent images) that contain configuration, instructions, skills, and tools. The server loads these directories and serves them via HTTP.
Agent Directory Layout
my-agent/
├── config.yaml # REQUIRED — agent spec
├── AGENTS.md # Recommended — instructions/personality
├── skills/ # Optional — load-on-demand skills
│ └── <skill-name>/
│ └── SKILL.md
├── tools/ # Optional — packaged tools
│ ├── python/ # Local Python tools (auto-discovered *.py)
│ ├── typescript/ # Local TypeScript tools (auto-discovered *.ts)
│ └── mcp/ # MCP server declarations (*.yaml)
└── agents/ # Optional — sub-agent directories (recursive)
└── <agent-name>/
├── config.yaml
└── ...config.yaml Reference
The only required file. All fields except `spec_version` are optional.
spec_version: 1 # REQUIRED, must be 1
name: my-agent # Display name
description: Does X and Y. # One-line summary
# Instructions — path to a file or inline text.
# Default: looks for AGENTS.md in the agent directory.
instructions: AGENTS.md
executor:
# REQUIRED area. type must be one of: claude_sdk | agents_sdk | omnigent.
# There is NO `llm` executor type.
type: claude_sdk # Anthropic Claude SDK, in-process (simplest)
# type: agents_sdk — OpenAI Agents SDK, in-process
# type: omnigent — subprocess harness; requires config.harness below
# Only for type: omnigent — pick the harness that runs the loop.
# One of: claude-native | claude-sdk | codex-native | codex |
# openai-agents | open-responses | pi
# config:
# harness: claude-native
# permission_mode: bypassPermissions # claude-native headless
# yolo: true # codex-native headless
# Model is OPTIONAL — omit to use the configured provider's default.
# Pin one directly on the executor when needed:
# model: anthropic/claude-sonnet-4-20250514 # LiteLLM provider/model
# model: databricks-claude-opus-4-7 # or a serving-endpoint name
# connection: # provider credentials
# api_key: ${ANTHROPIC_API_KEY}
# auth: # or Databricks profile auth
# type: databricks
# profile: oss
timeout: 3600 # Task deadline in seconds (default: 3600)
max_iterations: 1000 # Max LLM calls per task (default: 1000)
# os_env — grant filesystem/shell access (harness agents). Exposes
# sys_os_read / sys_os_write / sys_os_edit / sys_os_shell.
os_env:
type: caller_process
cwd: .
sandbox:
type: none # or linux_bwrap / darwin_seatbelt to sandbox
# guardrails — runtime policy gates (optional).
guardrails:
ask_timeout: 86400 # seconds to wait on an approval prompt
policies:
blast_radius:
type: function
function:
path: omnigent.inner.nessie.policies.blast_radius
interaction:
conversational: true # Maintain turn history (default: true)
modalities:
input: [text, image, file] # default: [text]
output: [text] # default: [text]
tools:
# Sub-agents this agent can spawn (must match agents/ subdirectories)
agents:
- researcher
- summarizer
# Built-in tools — string name or dict with config
builtins:
- web_search # auto-detects backend based on model provider
- terminal_run # persistent bash shell scoped to the conversation
- upload_file
- search_conversations
timeout: 60 # Default tool timeout in seconds
params: # Arbitrary key-value (readable by skills/tools)
max_results: 10Executor Types
| Type | When to use | How it works | |------|------------|--------------| | `claude_sdk` | New simple agents; existing Claude SDK code | In-process Anthropic Claude SDK; it manages its own loop | | `agents_sdk` | New simple agents; existing OpenAI Agents SDK code | In-process OpenAI Agents SDK runner | | `omnigent` | Coding/CLI harnesses, shell + file tools, sub-agents | Spawns a subprocess harness selected by `config.harness` |
**There is no `llm` executor type** — the only valid values are `claude_sdk`, `agents_sdk`, and `omnigent`. For **most new simple agents**, use `claude_sdk` (or `agents_sdk`) — in-process, no extra config. Use `omnigent` when the agent needs a specific harness, shell/file access, or sub-agents; it **requires** a `config.harness`:
| `config.harness` | What it is | |------------------|------------| | `claude-native` (alias `claude`) | Claude Code — full coding tools, native permissions | | `claude-sdk` | Claude Agent SDK loop | | `codex-native` / `codex` | Codex CLI / harness | | `openai-agents` | OpenAI Agents harness (any gateway model) | | `open-responses` | OpenResponses-compatible harness | | `pi` | Headless multi-model worker (bridged `sys_os_*` tools) |
AGENTS.md Format
Free-form markdown. This becomes the agent-authored portion of the system prompt; Omnigent may append framework-owned lifecycle or metadata instructions at runtime. Best practices:
- Start with a clear identity statement ("You are a ...")
- List capabilities and constraints
- Reference skills by name ("You have a skill called deep-research")
- Reference sub-agents if any ("You can spawn the fact_checker agent")
- Keep it focused — the model reads this on every turn
Skills Format
Each skill lives in `skills/<skill-name>/SKILL.md`:
---
name: deep-research
description: Investigate a topic in depth using web se
Read more
name: omnigent-knowledge description: Deep reference on Omnigent config format, executor types, skill/tool structure, and conventions. Load when you need to look up how the platform works.
Omnigent Knowledge Base
What is Omnigent?
Agent plane is a server that hosts, manages, and executes agents via an OpenResponses-compatible API. Users create **agent directories** (also called agent images) that contain configuration, instructions, skills, and tools. The server loads these directories and serves them via HTTP.
Agent Directory Layout
my-agent/
├── config.yaml # REQUIRED — agent spec
├── AGENTS.md # Recommended — instructions/personality
├── skills/ # Optional — load-on-demand skills
│ └── <skill-name>/
│ └── SKILL.md
├── tools/ # Optional — packaged tools
│ ├── python/ # Local Python tools (auto-discovered *.py)
│ ├── typescript/ # Local TypeScript tools (auto-discovered *.ts)
│ └── mcp/ # MCP server declarations (*.yaml)
└── agents/ # Optional — sub-agent directories (recursive)
└── <agent-name>/
├── config.yaml
└── ...config.yaml Reference
The only required file. All fields except `spec_version` are optional.
spec_version: 1 # REQUIRED, must be 1
name: my-agent # Display name
description: Does X and Y. # One-line summary
# Instructions — path to a file or inline text.
# Default: looks for AGENTS.md in the agent directory.
instructions: AGENTS.md
executor:
# REQUIRED area. type must be one of: claude_sdk | agents_sdk | omnigent.
# There is NO `llm` executor type.
type: claude_sdk # Anthropic Claude SDK, in-process (simplest)
# type: agents_sdk — OpenAI Agents SDK, in-process
# type: omnigent — subprocess harness; requires config.harness below
# Only for type: omnigent — pick the harness that runs the loop.
# One of: claude-native | claude-sdk | codex-native | codex |
# openai-agents | open-responses | pi
# config:
# harness: claude-native
# permission_mode: bypassPermissions # claude-native headless
# yolo: true # codex-native headless
# Model is OPTIONAL — omit to use the configured provider's default.
# Pin one directly on the executor when needed:
# model: anthropic/claude-sonnet-4-20250514 # LiteLLM provider/model
# model: databricks-claude-opus-4-7 # or a serving-endpoint name
# connection: # provider credentials
# api_key: ${ANTHROPIC_API_KEY}
# auth: # or Databricks profile auth
# type: databricks
# profile: oss
timeout: 3600 # Task deadline in seconds (default: 3600)
max_iterations: 1000 # Max LLM calls per task (default: 1000)
# os_env — grant filesystem/shell access (harness agents). Exposes
# sys_os_read / sys_os_write / sys_os_edit / sys_os_shell.
os_env:
type: caller_process
cwd: .
sandbox:
type: none # or linux_bwrap / darwin_seatbelt to sandbox
# guardrails — runtime policy gates (optional).
guardrails:
ask_timeout: 86400 # seconds to wait on an approval prompt
policies:
blast_radius:
type: function
function:
path: omnigent.inner.nessie.policies.blast_radius
interaction:
conversational: true # Maintain turn history (default: true)
modalities:
input: [text, image, file] # default: [text]
output: [text] # default: [text]
tools:
# Sub-agents this agent can spawn (must match agents/ subdirectories)
agents:
- researcher
- summarizer
# Built-in tools — string name or dict with config
builtins:
- web_search # auto-detects backend based on model provider
- terminal_run # persistent bash shell scoped to the conversation
- upload_file
- search_conversations
timeout: 60 # Default tool timeout in seconds
params: # Arbitrary key-value (readable by skills/tools)
max_results: 10Executor Types
| Type | When to use | How it works | |------|------------|--------------| | `claude_sdk` | New simple agents; existing Claude SDK code | In-process Anthropic Claude SDK; it manages its own loop | | `agents_sdk` | New simple agents; existing OpenAI Agents SDK code | In-process OpenAI Agents SDK runner | | `omnigent` | Coding/CLI harnesses, shell + file tools, sub-agents | Spawns a subprocess harness selected by `config.harness` |
**There is no `llm` executor type** — the only valid values are `claude_sdk`, `agents_sdk`, and `omnigent`. For **most new simple agents**, use `claude_sdk` (or `agents_sdk`) — in-process, no extra config. Use `omnigent` when the agent needs a specific harness, shell/file access, or sub-agents; it **requires** a `config.harness`:
| `config.harness` | What it is | |------------------|------------| | `claude-native` (alias `claude`) | Claude Code — full coding tools, native permissions | | `claude-sdk` | Claude Agent SDK loop | | `codex-native` / `codex` | Codex CLI / harness | | `openai-agents` | OpenAI Agents harness (any gateway model) | | `open-responses` | OpenResponses-compatible harness | | `pi` | Headless multi-model worker (bridged `sys_os_*` tools) |
AGENTS.md Format
Free-form markdown. This becomes the agent-authored portion of the system prompt; Omnigent may append framework-owned lifecycle or metadata instructions at runtime. Best practices:
- Start with a clear identity statement ("You are a ...")
- List capabilities and constraints
- Reference skills by name ("You have a skill called deep-research")
- Reference sub-agents if any ("You can spawn the fact_checker agent")
- Keep it focused — the model reads this on every turn
Skills Format
Each skill lives in `skills/<skill-name>/SKILL.md`:
--- name: deep-research description: Investigate a topic in depth using web se
Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.
Repo: omnigent-ai/omnigent
Other skills on omnigent.
- /antigravity-native-e2e-dev
Spin up a live local Omnigent server + runner and exercise the native Antigravity (agy) TUI harness (antigravity-native) end-to-end — launch the real `agy` CLI via `omnigent antigravity`, drive turns through the web UI, smoke-test, and bug-bash. Load when developing, testing, or
Open skill - /antigravity-sdk-e2e-dev
Spin up a live local Omnigent server and exercise the Antigravity (Gemini) SDK harness end-to-end — build antigravity agents, run real turns, smoke-test, and bug-bash. Load when developing, testing, or debugging the antigravity harness (omnigent/inner/antigravity_executor.py,
Open skill - /cli-setup-verify
Verify the Omnigent CLI's setup/onboarding flow, terminal UI/UX, and critical user journeys in a completely isolated, reproducible loop. Drives the real `omnigent` binary through a PTY (pexpect) inside a throwaway OMNIGENT_CONFIG_HOME / OMNIGENT_DATA_DIR sandbox that never
Open skill - /copilot-sdk-e2e-dev
Spin up a live local Omnigent server and exercise the GitHub Copilot SDK harness end-to-end — build copilot agents, run real turns, smoke-test, and bug-bash. Load when developing, testing, or debugging the copilot harness (omnigent/inner/copilot_executor.py, copilot_harness.py,
Open skill - /cursor-sdk-e2e-dev
Spin up a live local Omnigent server and exercise the Cursor SDK harness end-to-end — build cursor agents, run real turns, smoke-test, and bug-bash. Load when developing, testing, or debugging the cursor harness (omnigent/inner/cursor_executor.py, cursor_harness.py,
Open skill - /harness-integration-guide
Reference guide for building new Omnigent harness integrations — covers SDK/subprocess harnesses and native harnesses as separate tracks, each with their own feature matrix, implementation patterns, and prioritized checklist.
Open skill

