Skip to content

Comparison Matrix

System Core abstraction Workflow model Roles/personas State persistence Spec format Skill/capability format Sandbox/isolation Verification Human checkpoints Runtime portability Copy into UH Avoid in UH
Specsafe Issue/spec safety layer Issue-driven enhancements Not primary GitHub issues Issue/spec references Integration-specific Not primary Spec safety implied Issue review IDE/CLI integration oriented Traceability and integration roadmap IDE-first lock-in
BMAD Agile AI development method Structured lifecycle workflows Analyst, PM, Architect, Dev, QA, UX, etc. Project/module files Workflow artifacts Agents/modules Not core Workflow reviews Multiple approvals Works through AI IDE installs Role separation and lifecycle stages Letting BMAD own the ontology
superpowers Skills + coding methodology Brainstorm → worktree → plan → TDD → review → finish Skill-driven subagents/reviewers Skill docs, plans, branches Design/plan docs Markdown skills Git worktrees Tests + reviews Design approval, reviews, merge choice Multiple agent hosts Mandatory skill discovery and review loops Single host/plugin assumptions
GSD v1 (Get Shit Done) Context-engineered command loop New project → discuss → plan → execute → verify Fresh subagents Project context and phase docs Requirements/roadmaps/plans Commands/prompts Fresh contexts, not primarily FS Verification loops Phase gates Multi-tool but Claude Code-centered Context-rot mitigation and phase sizing Permission model assumptions
GSD 2 (gsd-pi) TypeScript agent CLI built on Pi SDK DB state machine: plan → execute → verify → reassess → validate-milestone Capability-routed model selection (ADR-004); subagent telemetry with random names SQLite gsd.db authoritative; .gsd/*.md projections; memories table for decisions/patterns M###-CONTEXT.md / M###-ROADMAP.md / STATE.md / DECISIONS.md / KNOWLEDGE.md Extensions framework (@gsd-extensions/<name>); per-unit-type skill manifest resolver Worktree-mode (milestone/<MID> branch) or branchless (ADR-001) Three-verdict validate-milestone (pass / needs-attention / needs-remediation); auto-fix retries; drift detection (ADR-017) /gsd verdict manual override; step-mode wizard between units; escape-to-pause 20+ LLM providers; provider-agnostic by design; headless mode with JSON query Three-verdict validation + manual override, drift registry under uh validate, uh status --json, canonical VISION.md, pre-inlined dispatch contract SQLite-authoritative state, branchless worktree, external state dir, bundled VS Code / web visualizer in core, $GSD token coupling
matt-pocock/skills Small engineering skills Clarify → shared language → implement/debug/review Skill-specific CONTEXT.md and docs Docs/tickets Small reusable skills Not primary Engineering feedback loops Clarification checkpoints Agent-agnostic Small practical skills and shared language Over-process or verbose ceremonies
oh-my-openagent Opinionated agent harness Packaged workflows + hooks + routing Multiple configured agents Config, hooks, sessions Harness config/docs Agents, hooks, MCP tools Runtime-dependent Hooks/reviews Workflow discipline OpenCode-first, multi-model Batteries-included defaults and hooks Becoming a plugin distro
OpenSpec Change artifact folder Propose → apply → archive Assistant commands openspec/changes/... Proposal, specs, design, tasks Commands/skills Not primary Verify command and tasks Propose/archive approvals 25+ assistants Artifact-guided lifecycle Spec-only worldview
Pi / oh-my-pi Terminal agent harness Interactive/JSON/RPC/SDK; sessions and branches Subagents Session trees, config Prompt/session artifacts Skills/extensions/packages Worktrees, FUSE overlay, ProjFS in oh-my-pi Review command, LSP/tests User steering and review Multi-provider, embeddable Adapter target and possible engine Premature engine commitment
AgentFS Agent filesystem Init/mount/exec/run/sync Not role-based DB-backed filesystem Filesystem state MCP FS tools Copy-on-write, overlay, sandbox Inspect deltas/sync Promotion by inspection CLI/MCP Sandbox backend design Equating with git branches
oh-my-claudecode (OMC) Multi-agent orchestration over Claude Code Staged team pipeline (plan → prd → exec → verify → fix) 19 named agents across build/review/domain lanes with model-tier routing .claude/ + skill/agent files Markdown agents + skills 36 skills + /-commands Native Claude Code teams; tmux for cross-CLI workers Verifier agent + critic + code-reviewer + security-reviewer Deep-interview gate; team-verify stage Claude Code plugin + npm CLI; spawns gemini/codex workers in tmux Staged pipeline as workflow profile family, team N:role mission shape, model-tier routing as a per-role hint tmux as canonical worker host; Claude-Code-plugin lock-in; swarm/ralph as core vocabulary
oh-my-codex (OMX) Workflow layer for OpenAI Codex CLI (Rust) $deep-interview → $ralplan → $ralph / $team with staged pipeline Specialist roles per lane (core dev, QA, domain, product strategy) .omx/ (plans, logs, memory, mode, ultragoal, integration-report) AGENTS.md, DESIGN.md, .omx/ultragoal artifacts 33 prompts + 36 $-skills Per-worker git worktrees by default (.omx/team/<name>/worktrees/worker-N); detached branches; leader-merge integration $ultraqa adversarial profile (hostile scenarios, prompt injection, interrupt/resume, cleanup evidence) $ralplan consensus + $ultraqa verdict npm shim + Codex plugin layout; Hermes MCP Bridge for external coordination Adversarial QA profile, per-worker worktree auto-isolation, Hermes MCP Bridge contract, design.md companion artifact Rust as the host language; --yolo/--madmax slang flags; single-multiplexer worker contract
  1. Ultimate Harness should be artifact-first, not runtime-first. OpenSpec, BMAD, superpowers, and GSD all succeed when important state survives outside chat.
  2. Runtime adapters must be structured, not shell-only. Pi, oh-my-pi, and oh-my-openagent show rich runtime state; adapters need lifecycle, logs, artifacts, diffs, and verification reporting.
  3. Skills should be portable procedures with metadata. superpowers and matt-pocock/skills show the value of small procedural units, but Ultimate Harness should allow richer machine-readable metadata over time.
  4. Sandboxing is a primary differentiator. AgentFS and git worktrees should both be modeled because they isolate different classes of risk.
  5. BMAD is a workflow profile family. It informs role mapping, but should not dominate the whole design.
  6. Staged team pipelines are a portable workflow family, not a runtime. OMC and OMX independently converge on plan → prd → exec → verify → fix. UH should absorb this as one workflow profile family alongside tdd (UH-55) and qa (UH-56), not as a new runtime.
  7. Adapter-as-worker is the mission-fan-out unit. When a mission declares workers: [{adapter, role, count}], the harness already has all the primitives (adapters, worktrees, verification) to fan out and integrate — what is missing is just the mission shape and the leader/integrator role. See UH-70 (epic) + UH-71/UH-72/UH-73 (slices) in docs/ROADMAP.md.
  8. DB-authoritative state is a fork in the road. GSD-2 chose gsd.db as the source of truth with markdown as projection; UH chooses YAML/JSON artifacts as the source of truth with no DB. Either model can work; UH’s choice gives diffable + PR-reviewable state at the cost of a uh validate drift-detection layer that GSD-2’s DB invariants get for free. The right UH adoption is the drift-detection layer (UH-77), not the DB.
  9. Three-verdict validation is a missing UH primitive. pass / needs-attention / needs-remediation (GSD-2) maps to passed / blocked / failed (UH) but with explicit operator-actionable semantics for the middle state. UH-76 lands this.