Ohmyharness banner
mindsers mindsers

Ohmyharness

DevOps community

Description

Run any coding agent in a Docker sandbox with your rules, skills and MCP servers already inside. Git worktree isolation, editor attach over SSH, live code graph.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

omh — the safe way to run an agent against your repo

A sandboxed session, your setup already in it, and a branch you can review.

[![verify](https://github.com/mindsers/ohmyharness/actions/workflows/ci.yml/badge.svg)](https://github.com/mindsers/ohmyharness/actions/workflows/ci.yml) [![release](https://img.shields.io/github/v/release/mindsers/ohmyharness)](https://github.com/mindsers/ohmyharness/releases) [![licence: MIT](https://img.shields.io/badge/licence-MIT-blue.svg)](LICENSE)

$ omh init              # detects your stack, decides, reports. no questions.
$ omh new claude        # sandboxed, curated, your setup already inside
$ omh sessions attach   # open that same session in your editor
$ omh graph             # browse your codebase as a graph

**Status: early, and one harness deep.** `0.8.0`. **Claude Code is the only harness anyone has done real work through.** `opencode` and `omp` pass `omh doctor`, which proves their paths are right and nothing whatever about their behaviour — so *declare once, switch harness* is the shape the architecture is built for and not yet a thing anybody has done.

What is verified is the loop below: a sandboxed session with your config already inside it, and a branch you can read before it touches your checkout. This release closes the two silent failures that would have got worse with every user — two checkouts of the same name no longer share sessions, and the carried-file scan now says what it could not read — and adds [`omh eject`](docs/commands.md#omh-eject-harness---to-dir), which writes the config out and steps aside.

[What isn't done](#what-isnt-done) is a real list, not a modesty ritual.


What you actually get

Running `omh new claude` instead of `claude` buys five things:

**A sandbox that protects your repo, not just your host.** The agent works in a git worktree on its own branch. Your checkout is never mounted. Review with `omh sessions diff`, ship with `omh sessions commit` and `omh sess