326 commits over the last two weeks. The headline: five new skills shipped, secret management moved off shell rc files, and the project landed at #1 on its own 5-axis harness benchmark with 80.6/100.
What's new
-
Five new skills:
oma-market(deterministic market research pipeline across keyless sources),oma-docs(doc drift detection + sync),oma-deepsec(drives Vercel's vulnerability scanner end-to-end),oma-academic-writer(publication-grade prose),oma-voice(local TTS/STT via Voicebox MCP). -
oma vault: OS keychain credential store backed by@napi-rs/keyring. StopsANTHROPIC_API_KEYand friends from sitting in shell rc files where any agent subprocess can read them. -
agent:spawn --isolation=worktree: opt-in git worktree per spawned agent. Worktrees are retained on exit; the spawner prints merge or discard commands so you decide. -
oma statscost telemetry: per-vendor token breakdown with USD estimates from a conservative pricing floor. Input-only for now, output tokens tracked next. -
oma model:check / probe / propose: detect model registry drift against live vendor sources without API keys, then emit amodels.yamlpatch for accepted candidates. -
Cursor as a first-class vendor:
cursor/composer-2,composer-2-fast, andautoregister with native dispatch. Newcursor-onlypreset (also renamed to plaincursor, see below). -
Three slash workflows:
/docsfor drift verify and sync,/recapfor daily and period summaries,/deepsecfor the full scan to triage loop. -
PWA on the docs site: manifest with maskable icons, install screenshots, and
display_overridefor desktop title-bar customization.
What's fixed
-
Serena MCP migrated from ephemeral
uvx --from git+...to globally installedserena-agentviauv tool install, with vendor-specific--contextper the upstream client matrix. - Hook keyword detector hardened against three bypass classes: NFKC normalization for fullwidth Latin from CJK IMEs, hyphen-rejecting word boundaries, and a two-tier CLI invocation guard so prompts that ARE CLI invocations no longer trigger workflows.
-
oma doctorCLI version probe bounded with a 1500ms spawn race + SIGTERM escalation, so a GUI binary that ignores--versioncan no longer hang the probe indefinitely. -
i18n translation drift detection via
oma docs i18n, plusoma docs lintfor CJK em-dash anti-patterns (em-dash in CJK prose now flagged as a content-level lint, not auto-fixed). -
Preset rename:
claude-onlytoclaude,antigravitytomixed. The-onlysuffix misrepresented the contract (you can already override per-agent), andantigravitycollided with the runtime vendor id. Auto-migrated onoma update; hard-error on legacy values inoma-config.yaml.
What's better
- Benchmark: oh-my-agent now scores 80.6/100 on the 5-axis multi-judge harness (Functional, Spec, Visual, Engineering, Efficiency), landing #1 against omc, superpowers, vanilla, and ecc. Multi-judge averaging runs three rounds per axis to drop single-run noise.
-
oma updateprints a "What's new" note with added or removed skills and workflows after the version bump, so the catalog change is visible at upgrade time. -
docs/generated/auto-added to.gitignoreon doc write sites via a unifiedcli/io/gitignore.tsmodule. -
Telemetry opt-in unified across vendors: a single
telemetryboolean inoma-config.yamlnow drives Claude (DISABLE_TELEMETRY), Gemini, Qwen, and Codex opt-out keys on install and update. -
cli/cli-kit/merged intocli/utils/so there is one home for shared CLI helpers instead of two overlapping ones. -
Em-dash sweep across 173 files in skills, workflows, and docs per the
oma-translatoranti-AI-pattern rule. Em-dash usage restructured contextually with colons, periods, parens, or restructured sentences, not mechanical substitution.
Installation
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1 | iex
Links
oh-my-agent is built for teams who orchestrate more than they prompt. Next up: closing the spec gap that surfaced in the benchmark by teaching skills the real-API plus deferred-stub pattern at scaffold time, not at fix time.

















