Show HN: Omegacode – an agent agnostic version of Claude Workflows Omegacode, an agent-agnostic workflow runner, launches as an open-source tool that orchestrates multiple coding agents including Claude Code, Codex, OpenCode, and pi using a deterministic DSL. The tool enables cross-provider workflows such as adversarial code reviews and multi-provider bake-offs, with features like resumable runs and a live dashboard. An agent-agnostic implementation of Claude Code's Workflows . omegacode runs JavaScript workflow files that orchestrate fleets of coding agents with a small deterministic DSL — agent / parallel / pipeline / phase — and the workers are pluggable: the same workflow can drive Claude Code , Codex , OpenCode , and pi in a single run. npm install -g omegacode omegacode install-skill install-skill teaches your agents how to author and run workflows by copying the skill into ~/.claude/skills/ Claude Code and ~/.agents/skills/ Codex and other agents . Pass --claude or --agents to install to just one. You'll need Node 20+ and at least one worker installed: codex the default provider , claude , opencode ≥ 1.16.2 , and/or pi ≥ 0.79.1, npm i -g @earendil-works/pi-coding-agent . Run omegacode doctor to check — it flags binaries below the minimum versions, which the workers refuse at runtime. Note on opencode/pi sandboxing:neither CLI can enforce a confined sandbox, so omegacode accepts themonlywith an explicit sandbox: "danger-full-access" per call or via --sandbox . The default read-only sandbox is rejected with an error naming the remedy — a deliberate fail-closed choice. Model strings pass through verbatim to the backend e.g. agent "…", { provider: "opencode", model: "openrouter/anthropic/claude-sonnet-4.5", sandbox: "danger-full-access" } . With the skill installed, just ask your agent: use omegacode to adversarially review this PR with both claude code and codex It will author a workflow — finders fan out in parallel, a cross-provider skeptic pass tries to refute each finding, a synthesizer merges what survives — then run it and report back. Runs are journaled and resumable, and omegacode serve opens a live dashboard of every agent as it works. js export const meta = { name: "adversarial-review", description: "find bugs, cross-examine them" } // FINDINGS and VERDICT are plain JSON Schemas, elided here phase "Find" const findings = await parallel "correctness", "security", "performance" .map lens = = agent Review the diff through the ${lens} lens. List concrete issues. , { schema: FINDINGS } , phase "Verify" return await pipeline findings.filter Boolean .flatMap f = f.issues , issue = agent Try to refute: ${issue.desc} , { provider: "claude-code", model: "claude-fable-5", schema: VERDICT } , Plain JavaScript, no imports — the DSL is injected. Each agent spawns a real Codex, Claude Code, OpenCode, or pi agent; omit provider / model to inherit whatever the run was started with --provider --model , default codex , or pin them per call when you want cross-provider diversity. Provider and model are both-or-neither at every site per-call, meta defaults, CLI flags : a lone provider: or model: is rejected, so a model meant for one provider can never silently ride another provider's call. omegacode run