Skip to content
Agent Orchestration
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.

From plugin
omnigent
11k29 skills

Claude Code

$ npx -y skills add omnigent-ai/omnigent --skill harness-integration-guide --agent claude-code

SKILL.md

harness-integration-guide.SKILL.md
name: harness-integration-guide
description: 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.

Harness integration guide

This skill describes the **feature matrix** every Omnigent harness must consider. Use it when planning, reviewing, or implementing a new harness.

Omnigent has two distinct harness tracks with different architectures and feature sets:

  • **SDK/subprocess harnesses** — run the vendor model directly (in-process SDK,

CLI subprocess, or ACP subprocess). They own the model lifecycle.

  • **Native harnesses** — wrap a vendor's own TUI or server and mirror its

output into Omnigent. They observe and relay, rather than drive.

---

Part 1 — SDK / subprocess harnesses

These harnesses run the vendor model directly and bridge Omnigent tools into the vendor's tool-calling interface.

Capability matrix

| Capability | What it means | |---|---| | **Connects to Omnigent MCP** | Harness exposes/consumes tools via the MCP protocol (in-proc SDK MCP server) | | **Model override** | User can select a model via `--model` / config; some harnesses are vendor-locked (e.g. Claude-only, GPT-only, Gemini-only) | | **Auth** | How credentials are obtained — API key, gateway token, vendor CLI login, OAuth, etc. | | **Streaming** | Harness forwards token-level or delta-level streaming to the Omnigent forwarder | | **Omnigent policies** | Harness enforces Omnigent-side tool policies — must support ALLOW, ASK, and DENY verdicts for both tool calls and tool results | | **Native elicitation** | When a policy verdict is ASK, the harness surfaces the approval request in the Omnigent web UI so the user can approve or deny | | **Interrupt** | User can cancel a running turn mid-stream | | **Live queue (concurrent)** | Multiple turns can be queued and processed concurrently | | **Tool-boundary steer** | Omnigent can inject steering text at tool-call boundaries | | **Resume/fork from Omnigent transcript** | Rebuild a conversation from a stored Omnigent transcript (replay history, seed prompt, or vendor session ID) | | **Compaction** | Long conversations are compacted; harness surfaces `CompactionComplete` events | | **Reasoning** | Model reasoning/thinking tokens are forwarded | | **Images** | Image content (screenshots, diagrams) is forwarded — full binary, path reference, or text-flattened | | **Cost tracking** | Harness reports token usage and cost data back to Omnigent for each turn |

MCP connectivity

The harness must bridge Omnigent's builtin MCP tools so the model can call them. These tools provide session management, agent orchestration, policy control, and web access:

  • `sys_session_get_info`, `sys_session_list`, `sys_session_get_history`
  • `sys_agent_get`, `sys_agent_list`, `sys_agent_download`
  • `sys_call_async`, `sys_cancel_async`, `sys_cancel_task`
  • `sys_read_inbox`
  • `sys_add_policy`, `sys_policy_registry`
  • `load_skill`
  • `list_comments`, `update_comment`
  • `web_fetch`, `web_search`

Omnigent policies

The harness must support the Omnigent policy engine's three verdicts at two checkpoints:

| Checkpoint | ALLOW | ASK | DENY | |---|---|---|---| | **Tool call** (before execution) | Proceed silently | Surface approval request to user (via elicitation) | Block the call and return a policy-denied error to the model | | **Tool result** (after execution) | Return result to model | Surface result for user review before returning | Suppress the result and return a policy-denied error to the model |

Native elicitation

When a policy verdict is ASK, the harness must surface the pending tool call or tool result in the Omnigent web UI as an approval card, then relay the user's approve/deny decision back to the harness to continue or block execution.

Resume / fork strategies

| Strategy | How it works | |---|---| | Full history replay | Replays the entire message history into a fresh thread/session | | History prefix replay | Replays a prefix of the history into a fresh session | | Text-prefix replay | Injects a text summary/prefix of prior history | | Prompt seeding | Seeds prior history into the system prompt on rebuild | | Vendor session ID | Relies on the vendor's own session persistence (no Omnigent-side rebuild) |

Auth patterns

| Pattern | Description | |---|---| | API key / Databricks gateway | Direct API key or routed through a Databricks gateway | | Vendor API key (direct) | Vendor-specific API key (e.g. Cursor, Gemini) | | Vendor CLI login / config file | Credentials stored in a vendor config file or managed via vendor CLI login | | OAuth / GitHub token | OAuth flow or platform token (e.g. GitHub PAT) | | Gateway + fallback | Primary gateway with fallback to vendor-native auth |

Checklist for a new SDK/subprocess harness

All capabilities are **required** for a complete harness integration:

  • [ ] Connects to Omnigent MCP (in-proc SDK MCP server or vendor-specific bridge)
  • [ ] Model override works (or document vendor lock-in)
  • [ ] Auth is configured and documented (setup flow in `omni setup`)
  • [ ] Streaming forwards to the Omnigent forwarder
  • [ ] Omnigent policies enforce tool-use rules
  • [ ] Native elicitation surfaces tool-approval requests to web UI
  • [ ] Interrupt cancels the running turn
  • [ ] Live queue supports concurrent turns
  • [ ] Tool-boundary steering injects correctly
  • [ ] Resume/fork rebuilds conversation from Omnigent transcript
  • [ ] Compaction is surfaced (`CompactionComplete` events)
  • [ ] Reasoning tokens are forwarded
  • [ ] Images are forwarded (full binary preferred; path or text-flattened acceptable)
  • [ ] Cost tracking reports token usage and cost per turn
  • [ ] Unit tests cover tool bridging, auth, model routing
  • [ ] Mock LLM tests cover the happy path without real API calls

Shortcut: ACP CLI harnesses are one catalog row

If the vendor CLI

Read more
@omnigent-ai
Ships withomnigent

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.

Stars on GitHub

Momentum

stars in total
11.3k
Star history of omnigent-ai/omnigent on GitHub, a chart by star-history.com

Other skills on omnigent.

antigravity-sdk-e2e-dev

antigravity-sdk-e2e-de…

Spin up a live local Omnigent server and exercise the Antigravity (Gemini) SDK harness end-to-end — build antigravity agents, run…

cli-setup-verify

cli-setup-verify

Verify the Omnigent CLI's setup/onboarding flow, terminal UI/UX, and critical user journeys in a completely isolated,…

copilot-sdk-e2e-dev

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…

cursor-sdk-e2e-dev

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,…

draft-release-notes

draft-release-notes

Draft or refresh Omnigent package release notes for the next version using the existing GitHub Actions preview, merged PR…

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

clawdis12d393k
@steipete@steipeteInstall Skill
computer-use

computer-use

Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…

orca12d111k
@stablyai@stablyaiInstall Skill
agentmail

agentmail

Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…

paperclip12d109k
@paperclipai@paperclipaiInstall Skill
adr-create

adr-create

Create a new Architecture Decision Record with sequential numbering and AgentDB registration

@ruvnet@ruvnetInstall Skill

Questions about harness-integration-guide.

Which coding agents can use harness-integration-guide?
harness-integration-guide installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.