Agent skill

Harness Integration Guide

by omnigent-ai in omnigent-ai/omnigent

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…

Apache-2.0Auto-check passedAgent Workflows

Install Harness Integration Guide

skills CLI
$ npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install omnigent-ai/omnigent harness-integration-guide --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/harness-integration-guide .claude/skills/harness-integration-guide && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
harness-integration-guide
GitHub stars
11k
Token cost
~2.7k tokens
SKILL.md length
1,348 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

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…

  • Agent Workflows work in your project
  • SKILL.md covers Part 1 — SDK / subprocess… and Part 2 — Native harnesses
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Harness Integration Guide is an agent skill from omnigent-ai/omnigent. 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.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. It works with Model Context Protocol. The repository describes itself as: 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… The licence is Apache-2.0.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “/harness-integration-guide”

What it can do on your machine

Read from SKILL.md and the folder at commit 2e1cd15. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Harness Integration Guide loads about 2.7k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 1,348 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from omnigent-ai/omnigent at commit 2e1cd15, republished under its Apache-2.0 licence (© omnigent-ai). 1,348 words, ~2,716 tokens.

Download SKILL.mdSave it as .claude/skills/harness-integration-guide/SKILL.md (or your agent's skills folder).
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
CapabilityWhat it means
Connects to Omnigent MCPHarness exposes/consumes tools via the MCP protocol (in-proc SDK MCP server)
Model overrideUser can select a model via --model / config; some harnesses are vendor-locked (e.g. Claude-only, GPT-only, Gemini-only)
AuthHow credentials are obtained — API key, gateway token, vendor CLI login, OAuth, etc.
StreamingHarness forwards token-level or delta-level streaming to the Omnigent forwarder
Omnigent policiesHarness enforces Omnigent-side tool policies — must support ALLOW, ASK, and DENY verdicts for both tool calls and tool results
Native elicitationWhen a policy verdict is ASK, the harness surfaces the approval request in the Omnigent web UI so the user can approve or deny
InterruptUser can cancel a running turn mid-stream
Live queue (concurrent)Multiple turns can be queued and processed concurrently
Tool-boundary steerOmnigent can inject steering text at tool-call boundaries
Resume/fork from Omnigent transcriptRebuild a conversation from a stored Omnigent transcript (replay history, seed prompt, or vendor session ID)
CompactionLong conversations are compacted; harness surfaces CompactionComplete events
ReasoningModel reasoning/thinking tokens are forwarded
ImagesImage content (screenshots, diagrams) is forwarded — full binary, path reference, or text-flattened
Cost trackingHarness 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:

CheckpointALLOWASKDENY
Tool call (before execution)Proceed silentlySurface 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 modelSurface result for user review before returningSuppress 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
StrategyHow it works
Full history replayReplays the entire message history into a fresh thread/session
History prefix replayReplays a prefix of the history into a fresh session
Text-prefix replayInjects a text summary/prefix of prior history
Prompt seedingSeeds prior history into the system prompt on rebuild
Vendor session IDRelies on the vendor's own session persistence (no Omnigent-side rebuild)
Auth patterns
PatternDescription
API key / Databricks gatewayDirect API key or routed through a Databricks gateway
Vendor API key (direct)Vendor-specific API key (e.g. Cursor, Gemini)
Vendor CLI login / config fileCredentials stored in a vendor config file or managed via vendor CLI login
OAuth / GitHub tokenOAuth flow or platform token (e.g. GitHub PAT)
Gateway + fallbackPrimary 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 speaks the Agent Client Protocol on stdio (the goose acp / qwen --acp family), do NOT write a new inner module, registry entries, or a spawn-env builder. Add one row to ACP_CLI_HARNESSES in omnigent/acp_cli_harnesses.py (label, binary, ACP argv, aliases, install hint or npm package, vendor login command) plus docs. Validity, module routing, picker label, capabilities, install spec, readiness, setup steps, spawn env, and the live e2e-matrix exclusion all derive from the row; tests/test_acp_cli_harnesses.py asserts the wiring per row automatically. These rows run through omnigent/inner/acp_harness.py and AcpExecutor, own their auth and model selection, and reject /model overrides up front.


Show full SKILL.md (522 more words)Show less

Part 2 — Native harnesses

Native harnesses wrap a vendor's own TUI or server and mirror output into Omnigent. They relay the vendor's conversation into the Omnigent session.

Capability matrix
CapabilityWhat it means
TransportHow the native harness communicates — tmux TUI, app server, HTTP/SSE, file-inject TUI
Connects to Omnigent MCPWhether the native harness connects to the Omnigent MCP server
Model overrideUser can select a model at launch or per-prompt
AuthVendor login / config / token
Streaming (forwarder)deltas (token-level) vs complete-only (full response after completion)
Omnigent policiesWhether the native harness enforces Omnigent-side tool policies — must support ALLOW, ASK, and DENY verdicts for both tool calls and tool results
Native elicitationWhen a policy verdict is ASK, the native harness surfaces the approval request in the Omnigent web UI so the user can approve or deny
InterruptUser can abort a running turn
Bidirectional sync (TUI->Omni)TUI output mirrors into the Omnigent conversation
In-harness session-cmd syncSupports clear, fork, resume, switch commands from Omnigent
Resume/fork from Omnigent transcriptCan rebuild conversation from Omnigent transcript (native rebuild, or fresh launch)
CompactionVendor-internal compaction status
ReasoningModel reasoning/thinking tokens are forwarded
ImagesImage content is forwarded — path reference, full binary, or text-flattened
Cost trackingNative harness reports token usage and cost data back to Omnigent for each turn
Tool-output streamingLive incremental command/tool output (outputDelta) vs final aggregated output only
Working-tree diffThe vendor's aggregated per-turn diff is surfaced (vs reconstructed from per-file edits)
Generated/viewed mediaModel-produced or model-viewed images are mirrored (distinct from user-supplied image input)
Vendor modesVendor-specific modes (review mode, plan mode, etc.) are mirrored as status
Checklist for a new native harness

Capabilities are tiered by how essential they are. P0 must work or the harness is non-functional. P1 is required for a complete, parity-level integration — the web surface should match what the vendor TUI shows. Stretch items depend on vendor-specific signals and improve fidelity; they are optional and may legitimately be closed as wontfix when the vendor provides no signal or the data is redundant.

P0 — core (non-functional without these)

  • Transport chosen and implemented (tmux TUI, app server, HTTP/SSE)
  • Connects to Omnigent MCP
  • Auth configured (vendor login / config)
  • Streaming forwarder works (deltas preferred; complete-only acceptable)
  • Omnigent policies enforce tool-use rules (ALLOW / ASK / DENY at both tool call and tool result)
  • Native elicitation surfaces tool-approval requests to web UI
  • Interrupt aborts the running turn
  • Bidirectional sync mirrors TUI output into Omnigent conversation
  • Cost tracking reports token usage and cost per turn
  • Unit tests cover forwarder, auth, transport
  • Mock LLM tests cover the happy path without real API calls

P1 — parity (required for a complete integration)

  • Model override works at launch and per-prompt (or document vendor lock-in)
  • Session commands (clear, fork, resume) work from Omnigent
  • Resume/fork rebuilds from Omnigent transcript
  • Reasoning tokens are forwarded
  • Compaction status is surfaced
  • User-supplied images are forwarded (path preferred; binary or text-flattened acceptable)

Stretch — vendor-dependent fidelity

  • Live tool/command output is streamed (outputDelta), not just final aggregated output
  • The vendor's aggregated working-tree diff is surfaced (if provided)
  • Generated/viewed media (model-produced or model-viewed images) is mirrored
  • Vendor-specific modes (review mode, plan mode, etc.) are mirrored as status

© omnigent-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/harness-integration-guide of omnigent-ai/omnigent.

Open the folder on GitHubat commit 2e1cd15

Compare with similar skills

Harness Integration Guide next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Harness Integration Guide compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Harness Integration Guide this skillomnigent-ai/omnigent11k—~2.7kAutomated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
MemPalace Memory SearchMemPalace/mempalace59k—~1.4kAutomated safety check: PassMIT
Crush Configurationcharmbracelet/crush29k—~3.7kAutomated safety check: PassCustom licence

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • MemPalace Memory Search

    MemPalace/mempalace

    Mines project files and conversation exports into a local, searchable memory palace and recalls past work by semantic search through the mempalace CLI.

    59k GitHub stars~1.4k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Crush Configuration

    charmbracelet/crush

    Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.

    29k GitHub stars~3.7k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Context Mode Output Sandbox

    mksglu/context-mode

    Routes large command, file, API and browser output through context-mode tools so only the needed result enters the agent's context, instead of dumping it via Bash.

    26k GitHub stars~4.1k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from omnigent-ai/omnigent

All 19 skills in this repo
  • Omnigent Docker Compose Deploy

    omnigent-ai/omnigent

    Brings up the Omnigent server and Postgres as a Docker compose stack on any Docker host, and covers the Dockerfile's runtime and host build targets for extending it to a new platform.

    11k GitHub stars~1.3k tokensUpdated today
    Auto-check: notes
  • Omnigent Framework Detection

    omnigent-ai/omnigent

    Scans Python agent code for framework imports and recommends the matching Omnigent executor type, or says when the framework is not natively supported yet.

    11k GitHub stars~610 tokensUpdated today
    Auto-check passed
  • Omnigent Load Test Runner

    omnigent-ai/omnigent

    Runs the Omnigent load test with real hosts and multi-turn sessions against a mocked LLM, then explains the latency results from summary.md.

    11k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Verify Omnigent End-to-End

    omnigent-ai/omnigent

    Spins up an isolated Omnigent server, runner and mock model to prove a user-facing behavior or bug fix with recorded evidence instead of reasoning from code.

    11k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Spins up a local Omnigent server and exercises the Antigravity (Gemini) SDK harness end to end: building agents, running real turns, smoke tests and bug-bashing.

    11k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Omnigent Agent Builder

    omnigent-ai/omnigent

    Gives patterns for generating a minimal, valid Omnigent agent directory: the config.yaml fields, the right executor type, and the files each agent needs.

    11k GitHub stars~2.1k tokensUpdated today
    Auto-check passed

Categories

Questions about Harness Integration Guide

What does Harness Integration Guide do?

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…. Harness Integration Guide is an agent skill from omnigent-ai/omnigent. 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.

When should I use Harness Integration Guide?

Harness Integration Guide fits situations like: agent Workflows work in your project.

How do I install Harness Integration Guide in Claude Code?

Run `npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a claude-code`. Or copy the skill folder (.claude/skills/harness-integration-guide in omnigent-ai/omnigent) into .claude/skills/harness-integration-guide in your project. Claude Code loads it when a task matches its description.

How do I install Harness Integration Guide in Codex?

Run `npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a codex`. Or copy the skill folder (.claude/skills/harness-integration-guide in omnigent-ai/omnigent) into .agents/skills/harness-integration-guide in your project. Codex loads it when a task matches its description.

Can I use Harness Integration Guide in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add omnigent-ai/omnigent --skill harness-integration-guide -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/harness-integration-guide, .gemini/skills/harness-integration-guide, .github/skills/harness-integration-guide and .opencode/skills/harness-integration-guide in your project.

What does Harness Integration Guide need to run?

SKILL.md names no scripts, command-line tools or credentials: Harness Integration Guide is instructions for the agent only.

Does Harness Integration Guide access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Harness Integration Guide safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Harness Integration Guide use?

Harness Integration Guide is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Harness Integration Guide use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Harness Integration Guide?

Skills that share tags, products or a category with Harness Integration Guide: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and MemPalace Memory Search (MemPalace/mempalace, 59k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Harness Integration Guide?

omnigent-ai (a GitHub organization) maintains it in omnigent-ai/omnigent, which has 10,691 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 9, 2026.

Source: omnigent-ai/omnigent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.