antigravity-native-e2e…
Spin up a live local Omnigent server + runner and exercise the native Antigravity (agy) TUI harness (antigravity-native)…
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.
Claude Code
$ npx -y skills add omnigent-ai/omnigent --skill harness-integration-guide --agent claude-code
Codex
$ npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a codex -y
Cursor
$ npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a cursor -y
Gemini CLI
$ npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a gemini-cli -y
GitHub Copilot
$ npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a github-copilot -y
OpenCode
$ npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a opencode -y
Windsurf
$ npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a windsurf -y
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.
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:
CLI subprocess, or ACP subprocess). They own the model lifecycle.
output into Omnigent. They observe and relay, rather than drive.
---
These harnesses run the vendor model directly and bridge Omnigent tools into the vendor's tool-calling interface.
| 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 |
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:
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 |
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.
| 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) |
| 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 |
All capabilities are **required** for a complete harness integration:
If the vendor CLI
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.
Spin up a live local Omnigent server + runner and exercise the native Antigravity (agy) TUI harness (antigravity-native)…
Spin up a live local Omnigent server and exercise the Antigravity (Gemini) SDK harness end-to-end — build antigravity agents, run…
Verify the Omnigent CLI's setup/onboarding flow, terminal UI/UX, and critical user journeys in a completely isolated,…
Spin up a live local Omnigent server and exercise the GitHub Copilot SDK harness end-to-end — build copilot agents, run real…
Spin up a live local Omnigent server and exercise the Cursor SDK harness end-to-end — build cursor agents, run real turns,…
Draft or refresh Omnigent package release notes for the next version using the existing GitHub Actions preview, merged PR…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration