<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: gracefullight</title>
    <description>The latest articles on DEV Community by gracefullight (@gracefullight).</description>
    <link>https://dev.to/gracefullight</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1435105%2F42b0924f-ba4d-4504-b64b-07fc976c4a5e.jpg</url>
      <title>DEV Community: gracefullight</title>
      <link>https://dev.to/gracefullight</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gracefullight"/>
    <language>en</language>
    <item>
      <title>oh-my-agent: cross-context reviews and trigger accuracy testing</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 16 Jul 2026 02:01:44 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-cross-context-reviews-and-trigger-accuracy-testing-12f7</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-cross-context-reviews-and-trigger-accuracy-testing-12f7</guid>
      <description>&lt;p&gt;When you ask a model to review its own design, it usually gives itself an A. We merged a fix for authorship bias this week.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trigger accuracy harness&lt;/strong&gt;: &lt;code&gt;oma verify triggers&lt;/code&gt; now measures keyword false-fire and missed-fire rates against a 167-entry labeled corpus with zero LLM calls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standards emission&lt;/strong&gt;: &lt;code&gt;oma emit&lt;/code&gt; generates conformant Agent Skills spec folders, a &lt;code&gt;.claude-plugin&lt;/code&gt; marketplace manifest, and an &lt;code&gt;AGENTS.md&lt;/code&gt; index directly from the &lt;code&gt;.agents&lt;/code&gt; single source of truth.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skills linting&lt;/strong&gt;: &lt;code&gt;oma skills lint&lt;/code&gt; enforces deterministic authoring-smell checks based on Anatomy-to-Smells research.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bundle sprawl warnings&lt;/strong&gt;: &lt;code&gt;oma skills audit&lt;/code&gt; now flags skills that exceed 20 reference files or 25,000 characters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also wired up &lt;code&gt;SessionStart&lt;/code&gt; hooks for Claude Code to reload skills dynamically and handle session compaction without dropping context.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Keyword matching now ranks by specificity. Longest keyword wins, then multi-word, then declaration order. This resolves self-suppression collisions.&lt;/li&gt;
&lt;li&gt;Relayed inter-agent messages no longer trigger false workflow keyword detections.&lt;/li&gt;
&lt;li&gt;Windows &lt;code&gt;atomicWriteJson&lt;/code&gt; failures (EPERM) are resolved by opening the temp file with read-write permissions.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;opencode&lt;/code&gt; bridge is completely rewritten to honor the new plugin API mutation contract, restoring true persistent mode.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cross-context reviews&lt;/strong&gt;: All 11 ultrawork review steps now dispatch to fresh reviewer subagents that receive only durable artifacts and the review guide. Same-session self-review is removed because isolated reviews catch more defects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-stakes blind review&lt;/strong&gt;: Brainstorm workflows now escalate to independent subagents for design artifact critique, completely removing authorship bias.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marketplace consolidation&lt;/strong&gt;: The repository root &lt;code&gt;.claude-plugin&lt;/code&gt; directory is now the single source of truth for the Claude plugin marketplace.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;oh-my-agent is built for teams who orchestrate more than they prompt. Next up: native Antigravity plugin emission.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>oh-my-agent: Angular support and stateful configuration merges</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 09 Jul 2026 03:03:54 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-angular-support-and-stateful-configuration-merges-hmp</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-angular-support-and-stateful-configuration-merges-hmp</guid>
      <description>&lt;p&gt;Shared tool configurations drift when developers run local agents. Adding a new MCP server to a team setup usually fails to reach existing local configurations, leaving developers with outdated toolsets. We resolved this in our latest CLI release by introducing stateful configuration back-filling. The update merges new servers into local environments while preserving custom developer adjustments.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Angular stack integration&lt;/strong&gt;: Added frontend domain detection for &lt;code&gt;angular.json&lt;/code&gt; and &lt;code&gt;@angular/*&lt;/code&gt; packages in the &lt;code&gt;/stack-set&lt;/code&gt; command. The &lt;code&gt;oma-frontend&lt;/code&gt; skill now includes &lt;code&gt;angular-rules.md&lt;/code&gt; to enforce standalone components, OnPush change detection, and signals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API evolution patterns&lt;/strong&gt;: Added API lifecycle patterns based on the MAP framework to &lt;code&gt;oma-architecture&lt;/code&gt;. This includes Sajaniemi's 11 variable-role taxonomy to guide naming rules in &lt;code&gt;oma-refactor&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows scheduling updates&lt;/strong&gt;: The &lt;code&gt;schtasks&lt;/code&gt; adapter now maps weekly cron ranges like &lt;code&gt;1-5&lt;/code&gt; or lists like &lt;code&gt;1,3,5&lt;/code&gt; directly to Windows task scheduler formats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model validation&lt;/strong&gt;: Added vendor validation to the &lt;code&gt;schedule:add&lt;/code&gt; command. The CLI now rejects unknown models at registration time rather than failing during execution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keeping local environments synchronized across diverse OS targets requires strict validation. These fixes ensure configuration changes flow correctly without disrupting developer-specific settings.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MCP server synchronization&lt;/strong&gt;: Fixed an issue where SSOT servers added to &lt;code&gt;.agents/mcp.json&lt;/code&gt; were only copied if &lt;code&gt;.mcp.json&lt;/code&gt; was entirely absent. The CLI now reads the source of truth on every run and merges missing entries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test execution reliability&lt;/strong&gt;: Restructured the project root resolution tests to mock the filesystem walk. This isolates test runs from ambient files on CI runners and avoids false failures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Market diversity flags&lt;/strong&gt;: Corrected the &lt;code&gt;--diversity-threshold&lt;/code&gt; flag documentation to reflect that the default threshold is not enforced unless the flag is explicitly set.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cleaning up obsolete protocols reduces token usage and limits agent distraction. Moving to automated dependency management ensures developers stay on current agent APIs without manual maintenance.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Serena auto-update defaults&lt;/strong&gt;: Changed &lt;code&gt;serena.auto_update&lt;/code&gt; to default to true. The system automatically upgrades the agent via &lt;code&gt;uv&lt;/code&gt; on update commands, keeping the memories CLI fallback active.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Codebase cleanup&lt;/strong&gt;: Removed the unused &lt;code&gt;evaluator-tuning.md&lt;/code&gt; protocol file. Project instances are migrated automatically through database migration &lt;code&gt;016&lt;/code&gt; to reduce project directory clutter.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;oh-my-agent is built for teams who orchestrate more than they prompt. Next up: deeper telemetry integration for local agent runs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>oh-my-agent: Bluesky broadcasts and Claude workspace auto-trust</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 02 Jul 2026 03:02:26 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-bluesky-broadcasts-and-claude-workspace-auto-trust-3j1n</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-bluesky-broadcasts-and-claude-workspace-auto-trust-3j1n</guid>
      <description>&lt;p&gt;When you tell an agent to handle a complex backend migration, hitting a hard cutoff 20 steps in ruins the workflow. We bumped the ceiling and smoothed out the integration edges.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bluesky syndication&lt;/strong&gt;: Release announcements now fan out to Bluesky with rich text tags and external link cards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude auto-trust&lt;/strong&gt;: Project linking now directly mutates your &lt;code&gt;~/.claude.json&lt;/code&gt; to pre-accept workspace trust, skipping the interactive dialog entirely.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Serena auto-install&lt;/strong&gt;: The Serena MCP binary now self-installs during project setup and is actively probed by the &lt;code&gt;doctor&lt;/code&gt; command.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Premature cutoffs&lt;/strong&gt;: We raised the max agent turns from 20 up to 40 for backend, frontend, and mobile implementation agents to prevent mid-task failures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monorepo state leaks&lt;/strong&gt;: Running commands from inside a sub-package no longer leaves stray &lt;code&gt;.agents/&lt;/code&gt; directories behind. State is correctly anchored to the project root.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fragile JSON parsing&lt;/strong&gt;: Agent publishing steps now use &lt;code&gt;jsonrepair&lt;/code&gt; with a 3x retry loop, preventing trailing commas or unclosed braces from aborting a release.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenCode dispatch&lt;/strong&gt;: Subagents now properly inherit the user's default model instead of a hardcoded slug, and routing correctly falls back to native task tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smarter MCP resolution&lt;/strong&gt;: Serena now uses &lt;code&gt;--project-from-cwd&lt;/code&gt; to gracefully handle execution from nested subdirectories.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Installation UX&lt;/strong&gt;: The install flow detects native OpenCode tasks and gracefully defaults to a &lt;code&gt;mixed&lt;/code&gt; preset when a strict single-vendor lock is unnecessary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context isolation&lt;/strong&gt;: The Antigravity MCP transport now correctly stamps its own context instead of bleeding the Claude Code defaults.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;oh-my-agent is built for teams who orchestrate more than they prompt. Next up: expanding our deepsec vulnerability scanner capabilities.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>oh-my-agent: ZCode workflows and zero-prompt Claude Code trust</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Fri, 26 Jun 2026 14:36:55 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-zcode-workflows-and-zero-prompt-claude-code-trust-3d1i</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-zcode-workflows-and-zero-prompt-claude-code-trust-3d1i</guid>
      <description>&lt;p&gt;oh-my-agent CLI 10.5.0 just shipped. We added native support for ZCode and automated the workspace trust flow for Claude Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ZCode integration&lt;/strong&gt;: ZCode is now registered as a workflow vendor. Workspace slash-commands in &lt;code&gt;.agents/workflows/*.md&lt;/code&gt; are automatically symlinked to &lt;code&gt;.zcode/commands/&amp;lt;name&amp;gt;.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Code zero-prompt trust&lt;/strong&gt;: Project-level installs surgically inject &lt;code&gt;hasTrustDialogAccepted=true&lt;/code&gt; into &lt;code&gt;~/.claude.json&lt;/code&gt;. Claude Code applies your workspace permissions immediately instead of blocking on a trust dialog.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Serena binary auto-install&lt;/strong&gt;: &lt;code&gt;oma install&lt;/code&gt; now automatically provisions &lt;code&gt;serena-agent&lt;/code&gt; via &lt;code&gt;uv&lt;/code&gt; if missing. &lt;code&gt;oma doctor&lt;/code&gt; explicitly probes the binary state.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenCode picker&lt;/strong&gt;: OpenCode is available directly in the &lt;code&gt;oma link&lt;/code&gt; picker (and you can skip selection entirely if you just want the CLI).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These integrations remove friction for teams spinning up new projects from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;OpenCode model fallback&lt;/strong&gt;: Removed the hardcoded model slug. OpenCode variants now inherit your configured default model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenCode tools validation&lt;/strong&gt;: Fixed a &lt;code&gt;ConfigInvalidError&lt;/code&gt; on bootstrap by omitting empty tools arrays.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Serena subdirectory execution&lt;/strong&gt;: Replaced the hardcoded CWD flag with &lt;code&gt;--project-from-cwd&lt;/code&gt; so agents can run reliably from any subfolder.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Antigravity MCP context&lt;/strong&gt;: Prevented the Claude Code context from leaking into the Antigravity runtime during tool execution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistent mode crossover&lt;/strong&gt;: Fixed a bug where untracked sessions shared state hooks under a generic unknown session ID.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also gave agents more breathing room to complete complex tasks without premature termination.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Turn limits raised&lt;/strong&gt;: Implementation agents (backend, frontend, mobile) now have a 40-turn cap to prevent stopping in the middle of long tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contract separation&lt;/strong&gt;: Generated API contracts are written to &lt;code&gt;docs/plans/contracts/&lt;/code&gt; to keep the skill directories pristine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cache exclusion&lt;/strong&gt;: The &lt;code&gt;.serena/cache&lt;/code&gt; directory is excluded from default project scans to reduce UTF-8 decoding noise.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;oh-my-agent is built for teams who orchestrate more than they prompt. Next up: deeper control over persistent state execution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>agents</category>
    </item>
    <item>
      <title>oh-my-agent: cross-vendor scheduling, Kimi and OpenCode land</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Wed, 17 Jun 2026 13:34:11 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-cross-vendor-scheduling-kimi-and-opencode-land-4b2b</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-cross-vendor-scheduling-kimi-and-opencode-land-4b2b</guid>
      <description>&lt;p&gt;Two new vendors and an OS-level scheduler merged into oh-my-agent this week, which means your agents can now run on a clock instead of only when you prompt them. 135 commits, and the theme underneath most of them is the same: stop pinning the agent to a single runtime, and stop leaking resources between sessions.&lt;/p&gt;

&lt;p&gt;oh-my-agent is a cross-vendor harness. The point is that a workflow, a skill, or a subagent dispatch should not care which CLI is underneath it. This week pushed hard on that promise.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kimi Code CLI&lt;/strong&gt; is now a first-class vendor: OAuth/&lt;code&gt;KIMI_API_KEY&lt;/code&gt; auth, TOML hook install into &lt;code&gt;~/.kimi-code/config.toml&lt;/code&gt;, mode-aware Serena and chrome-devtools MCP, and external dispatch via &lt;code&gt;kimi -p&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenCode&lt;/strong&gt; lands as an extension-class vendor with in-process plugin bridging. Subagent dispatch runs through &lt;code&gt;opencode run --agent &amp;lt;id&amp;gt;&lt;/code&gt;, and model slugs are validated against &lt;code&gt;opencode models&lt;/code&gt; rather than a hardcoded catalog.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma schedule:*&lt;/code&gt;&lt;/strong&gt; adds time-based recurring agent jobs that fire independently of any runtime. One &lt;code&gt;SchedulerPort&lt;/code&gt; abstracts launchd, &lt;code&gt;systemd --user&lt;/code&gt;, crontab, and Windows &lt;code&gt;schtasks&lt;/code&gt;, with &lt;code&gt;--cron&lt;/code&gt; or natural-language &lt;code&gt;--every&lt;/code&gt; intervals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma serena reap&lt;/code&gt;&lt;/strong&gt; kills idle language servers. Serena keeps a per-project LSP stack warm with no idle shutdown, so a few open projects pin 1.5GB or more; the reaper trims them and Serena respawns on the next tool call.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma memory:gc&lt;/code&gt;&lt;/strong&gt; prunes project-local session state and aged Serena run artifacts (defaults: keep 100 sessions, 50 days), while curated knowledge like decisions and designs is never touched.&lt;/li&gt;
&lt;li&gt;Two new agents: &lt;code&gt;refactor-engineer&lt;/code&gt; (budget-funded, behavior-preserving refactoring) and &lt;code&gt;research-explorer&lt;/code&gt; (cited, trust-labeled cross-source synthesis), backed by the new &lt;code&gt;oma-refactor&lt;/code&gt; skill.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;oma-mobile&lt;/code&gt; gains full Flutter and React Native variants, each with a mandated repository-layer response cache (Drift offline-first, TanStack Query plus MMKV).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;oma update&lt;/code&gt; no longer bulk-deletes vendor skill symlinks on every run, so a mid-update download failure can no longer leave the skills directory empty.&lt;/li&gt;
&lt;li&gt;Updates stopped pruning skills that a shipped agent depends on, closing a gap where &lt;code&gt;refactor-engineer&lt;/code&gt; could arrive without &lt;code&gt;oma-refactor&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cleanupPeriodDays&lt;/code&gt; moved to the top level of Claude Code settings, where it was a no-op nested under &lt;code&gt;env&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Antigravity hooks registered through the &lt;code&gt;/hooks&lt;/code&gt; UI are now preserved instead of clobbered on link and update.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Docs verification got far less noisy: full-repo &lt;code&gt;oma docs verify&lt;/code&gt; drops from 6,611 to 394 broken refs (and the web/docs subset from 491 to 29), so the remainder is real drift.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;oma hook&lt;/code&gt; fires on every prompt, so it now takes an argv fast path and lazy-loads the command tree: invocation went from about 0.54s to 0.32s.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;UserPromptSubmit&lt;/code&gt; handler budgets were retuned against a p95 of 373ms, dropping the aggregate timeout ceiling from 21s to 15s while keeping headroom over the 2s AgentMemory recall budget.&lt;/li&gt;
&lt;li&gt;A large structural pass split all 28 non-test files over 500 lines into focused modules (largest remaining is 491) and consolidated duplicated helpers (type guards, safe writes, vendor unions, exit codes) with no behavior change.&lt;/li&gt;
&lt;li&gt;AgentMemory recall now drops facts older than 30 days by default, so long-resolved decisions stop rehydrating into the boundary snapshot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemini CLI is on its sunset path (June 18, 2026), so &lt;code&gt;GEMINI.md&lt;/code&gt; generation and the standalone gemini preset were removed, with legacy configs soft-redirecting to antigravity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;oh-my-agent is built for teams who run the same workflows across whichever CLI they happen to have authenticated. Next up: deeper per-agent model routing across the newly added vendors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>agents</category>
    </item>
    <item>
      <title>oh-my-agent 9.0: the explore rename, a hook ABI, and two new agents</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Fri, 12 Jun 2026 14:13:02 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-90-the-explore-rename-a-hook-abi-and-two-new-agents-2fbi</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-90-the-explore-rename-a-hook-abi-and-two-new-agents-2fbi</guid>
      <description>&lt;p&gt;oh-my-agent crossed 9.0 this week, and it carries the project's first breaking change: the agent slot formerly called &lt;code&gt;retrieval&lt;/code&gt; is now &lt;code&gt;explore&lt;/code&gt;. The name finally matches the work class, and migration 014 rewrites your &lt;code&gt;oma-config.yaml&lt;/code&gt; automatically on install or update. Around that rename, 175 commits landed in seven days, taking the CLI from 8.42.0 to 9.0.2.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Two new agents&lt;/strong&gt;: &lt;code&gt;refactor-engineer&lt;/code&gt; owns budget-funded, behavior-preserving refactoring, and &lt;code&gt;research-explorer&lt;/code&gt; traverses oma-search, oma-market, and oma-scholar with cited, trust-labeled synthesis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;oma-refactor skill&lt;/strong&gt;: smell, SATD, and hotspot targeting with characterization-test safety nets. Utility eval measured a +57.1% lift over baseline across 7 tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma hook&lt;/code&gt; ABI&lt;/strong&gt;: vendor hooks no longer copy and patch per-vendor bun scripts. A single &lt;code&gt;oma hook --vendor &amp;lt;v&amp;gt; --event &amp;lt;e&amp;gt;&lt;/code&gt; entry point now dispatches for all 8 hook-model vendors, with embedded routes and fail-open semantics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New dispatch vendors&lt;/strong&gt;: commandcode joins the registry as an opt-in vendor, and pi (Earendil's multi-provider proxy) is now a full per-agent dispatch target via &lt;code&gt;oma agent:spawn &amp;lt;agent&amp;gt; -m pi&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma ralph:verify&lt;/code&gt;&lt;/strong&gt;: the ralph workflow's anti-circumvention gate moved from prose instructions to a deterministic CLI verdict with structured JSON output and non-zero exit on failure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;serena-primer&lt;/strong&gt;: a per-session prompt hook that reminds the model to load Serena's symbolic tools in Serena-activated projects, instead of silently falling back to grep.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The through-line is mechanical enforcement. Prose instructions get rationalized away by agents; CLI verdicts and dispatch ABIs do not.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Docs reference verification cut false positives from 6,611 to 394 broken refs repo-wide (491 to 29 on the docs subset) by tightening extraction rules and adding a git-backed suffix resolver.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;oma update&lt;/code&gt; no longer prunes skills that shipped agents depend on, which previously could deliver an agent without its required skill.&lt;/li&gt;
&lt;li&gt;Antigravity installs stop clobbering user-registered hooks in &lt;code&gt;hooks.json&lt;/code&gt;; oma-managed entries now merge instead of overwrite.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;oma hook&lt;/code&gt; caps its stdin read at 2 seconds with fail-open dispatch. Codex was holding the pipe open and stalling prompts for 18 to 21 seconds.&lt;/li&gt;
&lt;li&gt;Discussing ultrawork or ralph by name no longer activates the persistent workflow; the keyword detector now distinguishes commands from mentions and compound tokens like &lt;code&gt;ralph.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;A crashed install or update lock is reclaimed in 60 seconds instead of 10 minutes when the holding pid is confirmed dead.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;oma hook&lt;/code&gt; invocation dropped from roughly 0.54s to 0.32s user time via a lazy-loaded command tree and an argv fast path, which matters because it fires on every prompt.&lt;/li&gt;
&lt;li&gt;All 28 non-test CLI files over 500 lines were split into focused modules with public APIs unchanged; the largest remaining file is 491 lines, verified by 3,043 passing tests.&lt;/li&gt;
&lt;li&gt;On-disk backups consolidated from 5+ scattered conventions into a single &lt;code&gt;.agents/backup/&lt;/code&gt; root, covered by one gitignore line and cleared after a successful update.&lt;/li&gt;
&lt;li&gt;A security pass replaced shell-interpolated &lt;code&gt;execSync&lt;/code&gt; calls with argv arrays, added SSRF guards and path-containment checks, and closed an XSS vector in slide font inlining.&lt;/li&gt;
&lt;li&gt;The cross-slice import boundary gate went from permanently red (24 false violations) to green and now gates CI.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;oh-my-agent is built for teams who orchestrate more than they prompt. Next up: deepening the pi dispatch path and graduating commandcode from opt-in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>oh-my-agent: skills now measure and optimize their own utility</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Fri, 05 Jun 2026 05:20:04 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-skills-now-measure-and-optimize-their-own-utility-4g14</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-skills-now-measure-and-optimize-their-own-utility-4g14</guid>
      <description>&lt;p&gt;Most skill libraries grow by accretion. You add a SKILL.md, it sounds useful, and it lives forever because nobody can prove it helps or hurts. This week oh-my-agent closed that gap: &lt;code&gt;oma skills eval&lt;/code&gt; measures whether loading a skill actually improves held-out task outcomes, and &lt;code&gt;oma skills opt&lt;/code&gt; rewrites the skill to push that number up. 194 commits landed, CLI is at 8.41.0, but the eval-to-opt loop is the part worth your attention.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma skills eval&lt;/code&gt;&lt;/strong&gt;: measures &lt;code&gt;utilityLift&lt;/code&gt; (treatment vs baseline) on held-out tasks. &lt;code&gt;--mock&lt;/code&gt; replays recorded rollouts deterministically, &lt;code&gt;--live&lt;/code&gt; spawns two read-only agentic arms per task, &lt;code&gt;--record&lt;/code&gt; captures the rollouts. Default checker is &lt;code&gt;judge&lt;/code&gt; (an LLM grades output against a rubric); &lt;code&gt;assert&lt;/code&gt; and &lt;code&gt;regex&lt;/code&gt; are opt-in deterministic checks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma skills opt&lt;/code&gt;&lt;/strong&gt;: an optimizer LLM proposes bounded add/delete/replace edits to a &lt;code&gt;SKILL.md&lt;/code&gt;, re-scores each candidate through eval, and accepts only when held-out validation lift strictly improves with no negative-transfer regression (SkillOpt, arXiv:2605.23904). &lt;code&gt;--dry-run&lt;/code&gt; is the default; &lt;code&gt;--apply&lt;/code&gt; writes through atomic temp+rename with a &lt;code&gt;.bak&lt;/code&gt; backup.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Negative-transfer sampling&lt;/strong&gt;: &lt;code&gt;--neg-transfer&lt;/code&gt; checks whether loading one skill regresses unrelated same-domain tasks from other skills' eval sets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scaling-law audit checks&lt;/strong&gt;: &lt;code&gt;oma skills audit&lt;/code&gt; now flags black-hole skills (overly generic routing hijackers) and warns past a calibrated library-size routing-decay threshold (Chen et al., arXiv:2605.16508).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma-video&lt;/code&gt; skill and &lt;code&gt;/video&lt;/code&gt; workflow&lt;/strong&gt;: key-optional 3-tier generation (9:16 shorts, 16:9 explainer, demo capture of any URL) composing narration, visuals, captions, and a vendored Remotion compositor. Every provider degrades to a deterministic fallback, so a run completes with zero API keys.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swift native iOS in &lt;code&gt;oma-mobile&lt;/code&gt;&lt;/strong&gt;: a &lt;code&gt;swift-ios&lt;/code&gt; variant (SwiftUI + &lt;code&gt;@Observable&lt;/code&gt;, Apple &lt;code&gt;swift-openapi-generator&lt;/code&gt;, App/Core/Features/Shared layout). &lt;code&gt;/stack-set&lt;/code&gt; now detects Swift, Flutter, and React Native and routes to the resolved skill; &lt;code&gt;oma verify mobile&lt;/code&gt; runs &lt;code&gt;swift build&lt;/code&gt; / &lt;code&gt;swift test&lt;/code&gt; by stack manifest.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma intel&lt;/code&gt;&lt;/strong&gt;: a local-first product intelligence pipeline that collects GitHub README, releases, and issues, runs an adversarial multi-lens review gate, and splits output into a PRD and a gap report.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three new runtimes&lt;/strong&gt;: Kiro CLI, Pi (Earendil, via in-process &lt;code&gt;.pi/extensions&lt;/code&gt;), and full Antigravity (agy) hook integration through &lt;code&gt;.agents/hooks.json&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;runAction&lt;/code&gt; clobbered positional operands&lt;/strong&gt;: it overwrote &lt;code&gt;args[0]&lt;/code&gt; with the merged options object, so &lt;code&gt;oma state:emit decision.made '{...}'&lt;/code&gt; recorded the kind as &lt;code&gt;{category:"main",...}&lt;/code&gt; and &lt;code&gt;state:verify&lt;/code&gt; always reported the decision missing. Options are now replaced by position so operands survive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--yes&lt;/code&gt; never reached handlers&lt;/strong&gt;: the wrapper passed &lt;code&gt;command.opts()&lt;/code&gt; (which drops globally-parsed flags), so &lt;code&gt;oma skills eval --live --yes&lt;/code&gt; still blocked at the cost-preview prompt. Switched to &lt;code&gt;optsWithGlobals()&lt;/code&gt;, making live skill-eval runnable in CI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AgentMemory leaked into project dirs&lt;/strong&gt;: the iii engine wrote a cwd-relative &lt;code&gt;./data/&lt;/code&gt; store into whatever project launched it. The daemon cwd is now pinned to &lt;code&gt;~/.agentmemory&lt;/code&gt;, and &lt;code&gt;daemon stop&lt;/code&gt; invokes &lt;code&gt;agentmemory stop&lt;/code&gt; so no orphaned engine keeps port 3111.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keyless market sources silently 403'd&lt;/strong&gt;: anonymous reddit &lt;code&gt;search.json&lt;/code&gt; and bluesky's public search endpoint both returned 403, dropping two of the default sources. Reddit now routes through pullpush.io, bluesky through &lt;code&gt;api.bsky.app&lt;/code&gt;, taking keyless default coverage from 2/4 to 4/4.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;agy headless stdout was empty&lt;/strong&gt;: Antigravity emits nothing on stdout under &lt;code&gt;--print&lt;/code&gt; against a non-TTY, so spawned subagent capture was blank. Subagents now run under a PTY (&lt;code&gt;script(1)&lt;/code&gt;) so their output is captured.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Workflows are symlinked directly&lt;/strong&gt;: each workflow file carries its own &lt;code&gt;name&lt;/code&gt; + &lt;code&gt;disable-model-invocation&lt;/code&gt; frontmatter and is exposed by symlinking straight at &lt;code&gt;.agents/workflows/&amp;lt;wf&amp;gt;.md&lt;/code&gt;. This removed 18 committed wrapper skills and fixed a &lt;code&gt;pdf&lt;/code&gt;/&lt;code&gt;oma-pdf&lt;/code&gt; audit false positive; the real skill count is now 30.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;harvest.ts&lt;/code&gt; split&lt;/strong&gt;: the 1.4k-line market harvest file became endpoints / normalizers / sources modules, and a ~400-line &lt;code&gt;fetchSource&lt;/code&gt; conditional became a source-handler registry. The public facade is unchanged.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Print stylesheet stopped fighting the cascade&lt;/strong&gt;: the slide PDF export dropped its avoidable &lt;code&gt;!important&lt;/code&gt; overrides by fixing the source of the conflict (scoped &lt;code&gt;#slide-NN&lt;/code&gt; resets emitted after author styles) instead of forcing the win. The only remaining &lt;code&gt;!important&lt;/code&gt; is the &lt;code&gt;prefers-reduced-motion&lt;/code&gt; a11y reset.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Centralized paths and hashing&lt;/strong&gt;: install, state, and recap now share &lt;code&gt;.agents&lt;/code&gt; path constants and agree on full SHA-256 for manifest checksums.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Default effort lowered xhigh to high&lt;/strong&gt; for install-time Claude settings and the Anthropic auto-default; existing higher settings are preserved.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;oh-my-agent is built for teams who treat a skill library as a measured asset, not a junk drawer. Next up: feeding &lt;code&gt;oma skills opt&lt;/code&gt; accepted edits back through the eval fixtures so the library self-tunes on every release.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>agents</category>
    </item>
    <item>
      <title>oh-my-agent: Antigravity becomes a first-class vendor</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Tue, 26 May 2026 11:28:02 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-antigravity-becomes-a-first-class-vendor-1hob</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-antigravity-becomes-a-first-class-vendor-1hob</guid>
      <description>&lt;p&gt;Antigravity's &lt;code&gt;agy&lt;/code&gt; CLI just landed as a first-class vendor in oh-my-agent, three weeks before Google retires the Gemini CLI for unpaid tiers on June 18, 2026. If your &lt;code&gt;model_preset&lt;/code&gt; still points at &lt;code&gt;gemini&lt;/code&gt;, the CLI now warns you at runtime and on every &lt;code&gt;oma update&lt;/code&gt; so you can switch before requests start failing.&lt;/p&gt;

&lt;p&gt;That migration set the theme for the week: 139 commits, &lt;code&gt;cli&lt;/code&gt; shipped through 8.9.0, and the vendor layer grew a real backbone.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Antigravity (agy)&lt;/strong&gt; as a first-class vendor: a dedicated auth probe, two model entries (&lt;code&gt;gemini-3.1-pro&lt;/code&gt;, &lt;code&gt;gemini-3.5-flash&lt;/code&gt;), a real built-in preset, native dispatch via &lt;code&gt;agy --dangerously-skip-permissions -p&lt;/code&gt;, a doctor probe, an install-picker option, MCP config, HUD wiring, keyless image generation, and a recap transcript parser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global install mode&lt;/strong&gt;: &lt;code&gt;oma install --global&lt;/code&gt; writes to &lt;code&gt;~/.agents/&lt;/code&gt; instead of the project tree, backed by an install-context singleton that resolves &lt;code&gt;OMA_HOME&lt;/code&gt; &amp;gt; &lt;code&gt;--global&lt;/code&gt; &amp;gt; &lt;code&gt;cwd&lt;/code&gt;, a sudo-refusal guard, WSL guidance, and an atomic install lock.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma uninstall [--global]&lt;/code&gt;&lt;/strong&gt; with a dry-run preview that partitions oma-owned files from user-authored content and never touches the latter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma skills audit&lt;/code&gt;&lt;/strong&gt;: a zero-dependency TF-IDF boundary check that flags confusable skill descriptions in a warn band (&amp;gt;=0.60) and a fail band (&amp;gt;=0.75), surfaced as a warning inside &lt;code&gt;oma doctor&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;L1 state snapshots&lt;/strong&gt;: a new &lt;code&gt;oma state&lt;/code&gt; command plus state-boundary, state-emit, and decision-verifier hooks that enforce decision snapshots during a run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cursor&lt;/strong&gt; as a vendor: plugin and marketplace manifests, Composer transcript ingestion for recap, &lt;code&gt;auth:status&lt;/code&gt; wiring, and &lt;code&gt;composer-2.5&lt;/code&gt; presets.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;npm publish had been running unauthenticated and 404ing on the 8.x releases. The publish step now sets both &lt;code&gt;NODE_AUTH_TOKEN&lt;/code&gt; and &lt;code&gt;NPM_CONFIG_TOKEN&lt;/code&gt; so neither bun code path can fall back to an empty token.&lt;/li&gt;
&lt;li&gt;Windows CI hung inside vitest on 13 of the last 15 runs. We capped the job at 20 minutes and skipped the vitest step on Windows (lint, typecheck, build, and the PowerShell installer smoke test still run) while we bisect the hanging test.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;verify&lt;/code&gt;'s closure check reported real artifacts as missing because Bun's &lt;code&gt;globSync&lt;/code&gt; does not match through hidden segments like &lt;code&gt;.agents/&lt;/code&gt;. It now uses a deterministic readdir-based segment walker.&lt;/li&gt;
&lt;li&gt;Forced LF line endings repo-wide via &lt;code&gt;.gitattributes&lt;/code&gt;, so Windows checkouts stop tripping the Biome format check.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;link()&lt;/code&gt; is now the single vendor reconciliation kernel. &lt;code&gt;oma install&lt;/code&gt;, &lt;code&gt;oma update&lt;/code&gt;, and &lt;code&gt;oma link&lt;/code&gt; each duplicated the per-vendor write pipeline; consolidating it removed roughly 110 lines from &lt;code&gt;update.ts&lt;/code&gt; and 130 from &lt;code&gt;install.ts&lt;/code&gt;, and closed a drift where the Antigravity HUD was never wired during normal install or update.&lt;/li&gt;
&lt;li&gt;Vendor functions follow one convention now: &lt;code&gt;apply&amp;lt;Vendor&amp;gt;&amp;lt;Subject&amp;gt;&lt;/code&gt; for writes, &lt;code&gt;needs&amp;lt;Vendor&amp;gt;&amp;lt;Subject&amp;gt;Update&lt;/code&gt; for idempotency guards.&lt;/li&gt;
&lt;li&gt;New &lt;code&gt;safeWriteJson&lt;/code&gt; / &lt;code&gt;safeReadJson&lt;/code&gt; helpers do atomic write-and-rename with backup rotation, plus a guard that refuses to clobber vendor state files like &lt;code&gt;~/.claude.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Workflow skills are unified under one SSOT at &lt;code&gt;.agents/skills/&lt;/code&gt; (Migration 011); vendor surfaces are symlinks into it instead of copies.&lt;/li&gt;
&lt;li&gt;The Windows installer (&lt;code&gt;install.ps1&lt;/code&gt;) now bootstraps serena via &lt;code&gt;uv tool&lt;/code&gt;, matching the Unix path.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;oh-my-agent is built for teams who run more than one agent vendor and orchestrate more than they prompt. Next up: bisecting the Windows vitest hang so the full suite runs on every OS again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>agents</category>
    </item>
    <item>
      <title>oh-my-agent: five new skills land, plus vault and worktree isolation</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Mon, 18 May 2026 07:20:55 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-five-new-skills-land-plus-vault-and-worktree-isolation-4dkl</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-five-new-skills-land-plus-vault-and-worktree-isolation-4dkl</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Five new skills&lt;/strong&gt;: &lt;code&gt;oma-market&lt;/code&gt; (deterministic market research pipeline across keyless sources), &lt;code&gt;oma-docs&lt;/code&gt; (doc drift detection + sync), &lt;code&gt;oma-deepsec&lt;/code&gt; (drives Vercel's vulnerability scanner end-to-end), &lt;code&gt;oma-academic-writer&lt;/code&gt; (publication-grade prose), &lt;code&gt;oma-voice&lt;/code&gt; (local TTS/STT via Voicebox MCP).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma vault&lt;/code&gt;&lt;/strong&gt;: OS keychain credential store backed by &lt;code&gt;@napi-rs/keyring&lt;/code&gt;. Stops &lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt; and friends from sitting in shell rc files where any agent subprocess can read them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;agent:spawn --isolation=worktree&lt;/code&gt;&lt;/strong&gt;: opt-in git worktree per spawned agent. Worktrees are retained on exit; the spawner prints merge or discard commands so you decide.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma stats&lt;/code&gt; cost telemetry&lt;/strong&gt;: per-vendor token breakdown with USD estimates from a conservative pricing floor. Input-only for now, output tokens tracked next.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma model:check / probe / propose&lt;/code&gt;&lt;/strong&gt;: detect model registry drift against live vendor sources without API keys, then emit a &lt;code&gt;models.yaml&lt;/code&gt; patch for accepted candidates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cursor as a first-class vendor&lt;/strong&gt;: &lt;code&gt;cursor/composer-2&lt;/code&gt;, &lt;code&gt;composer-2-fast&lt;/code&gt;, and &lt;code&gt;auto&lt;/code&gt; register with native dispatch. New &lt;code&gt;cursor-only&lt;/code&gt; preset (also renamed to plain &lt;code&gt;cursor&lt;/code&gt;, see below).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three slash workflows&lt;/strong&gt;: &lt;code&gt;/docs&lt;/code&gt; for drift verify and sync, &lt;code&gt;/recap&lt;/code&gt; for daily and period summaries, &lt;code&gt;/deepsec&lt;/code&gt; for the full scan to triage loop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PWA on the docs site&lt;/strong&gt;: manifest with maskable icons, install screenshots, and &lt;code&gt;display_override&lt;/code&gt; for desktop title-bar customization.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Serena MCP&lt;/strong&gt; migrated from ephemeral &lt;code&gt;uvx --from git+...&lt;/code&gt; to globally installed &lt;code&gt;serena-agent&lt;/code&gt; via &lt;code&gt;uv tool install&lt;/code&gt;, with vendor-specific &lt;code&gt;--context&lt;/code&gt; per the upstream client matrix.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hook keyword detector&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma doctor&lt;/code&gt;&lt;/strong&gt; CLI version probe bounded with a 1500ms spawn race + SIGTERM escalation, so a GUI binary that ignores &lt;code&gt;--version&lt;/code&gt; can no longer hang the probe indefinitely.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;i18n translation drift&lt;/strong&gt; detection via &lt;code&gt;oma docs i18n&lt;/code&gt;, plus &lt;code&gt;oma docs lint&lt;/code&gt; for CJK em-dash anti-patterns (em-dash in CJK prose now flagged as a content-level lint, not auto-fixed).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preset rename&lt;/strong&gt;: &lt;code&gt;claude-only&lt;/code&gt; to &lt;code&gt;claude&lt;/code&gt;, &lt;code&gt;antigravity&lt;/code&gt; to &lt;code&gt;mixed&lt;/code&gt;. The &lt;code&gt;-only&lt;/code&gt; suffix misrepresented the contract (you can already override per-agent), and &lt;code&gt;antigravity&lt;/code&gt; collided with the runtime vendor id. Auto-migrated on &lt;code&gt;oma update&lt;/code&gt;; hard-error on legacy values in &lt;code&gt;oma-config.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Benchmark&lt;/strong&gt;: 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma update&lt;/code&gt;&lt;/strong&gt; prints 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;docs/generated/&lt;/code&gt;&lt;/strong&gt; auto-added to &lt;code&gt;.gitignore&lt;/code&gt; on doc write sites via a unified &lt;code&gt;cli/io/gitignore.ts&lt;/code&gt; module.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telemetry opt-in&lt;/strong&gt; unified across vendors: a single &lt;code&gt;telemetry&lt;/code&gt; boolean in &lt;code&gt;oma-config.yaml&lt;/code&gt; now drives Claude (&lt;code&gt;DISABLE_TELEMETRY&lt;/code&gt;), Gemini, Qwen, and Codex opt-out keys on install and update.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;cli/cli-kit/&lt;/code&gt;&lt;/strong&gt; merged into &lt;code&gt;cli/utils/&lt;/code&gt; so there is one home for shared CLI helpers instead of two overlapping ones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Em-dash sweep&lt;/strong&gt; across 173 files in skills, workflows, and docs per the &lt;code&gt;oma-translator&lt;/code&gt; anti-AI-pattern rule. Em-dash usage restructured contextually with colons, periods, parens, or restructured sentences, not mechanical substitution.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>oh-my-agent: 9 new skills, cursor as first-class vendor, 80/100 benchmark</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Mon, 11 May 2026 14:39:20 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-9-new-skills-cursor-as-first-class-vendor-80100-benchmark-2e3d</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-9-new-skills-cursor-as-first-class-vendor-80100-benchmark-2e3d</guid>
      <description>&lt;p&gt;When you tell an agent to scaffold a Next.js app, it picks the wrong version, ignores your lint config, and ships a save button with no storage backing it. The last four weeks of oh-my-agent were spent fixing exactly that, plus shipping a benchmark that actually measures it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Nine new skills: &lt;code&gt;oma-deepsec&lt;/code&gt; (Vercel deepsec driver), &lt;code&gt;oma-docs&lt;/code&gt; (doc reference drift detection), &lt;code&gt;oma-observability&lt;/code&gt; (33 files routing MELT+P signals across L3/L4/mesh/L7), &lt;code&gt;oma-academic-writer&lt;/code&gt;, &lt;code&gt;oma-hwp&lt;/code&gt; (HWP/HWPX to Markdown via kordoc), &lt;code&gt;oma-image&lt;/code&gt; (multi-vendor generation across codex, pollinations, gemini), &lt;code&gt;oma-scholar&lt;/code&gt; (Knows sidecar paper records), &lt;code&gt;oma-search&lt;/code&gt; (intent-based search with trust scoring), &lt;code&gt;oma-skill-creator&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cursor&lt;/code&gt; promoted to a first-class vendor with &lt;code&gt;cursor-only&lt;/code&gt; preset, composer-2 routing, and &lt;code&gt;--yolo&lt;/code&gt; auto-approve&lt;/li&gt;
&lt;li&gt;New &lt;code&gt;/docs&lt;/code&gt; and &lt;code&gt;/deepsec&lt;/code&gt; workflows, both detected via keyword triggers in 11 languages&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;oma model:check&lt;/code&gt;, &lt;code&gt;model:probe&lt;/code&gt;, &lt;code&gt;model:propose&lt;/code&gt; diff the local registry against OpenRouter and &lt;code&gt;cursor agent --list-models&lt;/code&gt;, then scaffold a &lt;code&gt;models.yaml&lt;/code&gt; patch you can paste in&lt;/li&gt;
&lt;li&gt;Auto-update CLI on outdated install, gated by &lt;code&gt;auto_update_cli&lt;/code&gt; in &lt;code&gt;oma-config.yaml&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Windows support via &lt;code&gt;install.ps1&lt;/code&gt;, with junction and hardlink fallbacks when symlinks raise EPERM&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Hook keyword detector: NFKC normalization closes fullwidth IME bypasses (&lt;code&gt;ｐａｒａｌｌｅｌ&lt;/code&gt; no longer slips past), hyphen-rejecting word boundary, two-tier CLI invocation guard so &lt;code&gt;claude review this code&lt;/code&gt; still routes to workflows but &lt;code&gt;claude exec --foo&lt;/code&gt; does not&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;codex exec -i&lt;/code&gt; is variadic in clap and was swallowing the prompt as a second reference image. Argv now terminates with &lt;code&gt;--&lt;/code&gt; before the instruction&lt;/li&gt;
&lt;li&gt;Path traversal closed on &lt;code&gt;--out&lt;/code&gt; and &lt;code&gt;--reference&lt;/code&gt; paths; magic-byte MIME validation on reference images&lt;/li&gt;
&lt;li&gt;Windows path separators normalized across &lt;code&gt;oma doctor&lt;/code&gt;, &lt;code&gt;oma link&lt;/code&gt;, and the gitignore IO layer&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;New 5-axis benchmark in &lt;code&gt;benchmarks/&lt;/code&gt;: Functional (35), Spec (15), Visual (20), Engineering (20), Efficiency (10). oh-my-agent scored 80.6 first place, ahead of omc 74.1, superpowers 72.9, vanilla 70.7, ecc 70.2. Multi-judge averaging across 3 rounds, not single-shot&lt;/li&gt;
&lt;li&gt;Config consolidated to one &lt;code&gt;oma-config.yaml&lt;/code&gt; with &lt;code&gt;model_preset&lt;/code&gt; and inline &lt;code&gt;agents&lt;/code&gt; map. Five built-in presets ship in the CLI; legacy &lt;code&gt;agent_cli_mapping&lt;/code&gt; auto-migrates on install via migration 008&lt;/li&gt;
&lt;li&gt;1492 tests passing, CI matrix now covers ubuntu/macos/windows with pre-push and pre-commit hooks&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;oma docs i18n&lt;/code&gt; detects translation drift across 11 locales; &lt;code&gt;oma docs lint&lt;/code&gt; flags em-dashes and wrong-language placeholders. Used internally to restructure ~1900 em-dashes across 173 files per CJK typography conventions&lt;/li&gt;
&lt;li&gt;Skills auto-register from &lt;code&gt;.agents/skills/&lt;/code&gt; frontmatter at build time, so adding a skill no longer requires touching a hardcoded SKILLS map&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS / Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Windows (PowerShell)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;oh-my-agent is built for teams running parallel agents across multiple vendor CLIs and getting tired of each one drifting. Next up: deeper PR-gate integration for &lt;code&gt;/deepsec&lt;/code&gt; and a reciprocal-skill pass on &lt;code&gt;oma-observability&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>agents</category>
    </item>
    <item>
      <title>oh-my-agent is Now Official on Homebrew-core: A New Milestone for Multi-Agent Orchestration</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 16 Apr 2026 10:42:14 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-is-now-official-on-homebrew-core-a-new-milestone-for-multi-agent-orchestration-406d</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-is-now-official-on-homebrew-core-a-new-milestone-for-multi-agent-orchestration-406d</guid>
      <description>&lt;p&gt;Are you tired of searching for effective agent teams and skills only to find they don't support your favorite AI IDE? Now is the time to use oh-my-agent, and it is now more accessible than ever.&lt;/p&gt;

&lt;p&gt;I am happy to announce that oh-my-agent (OMA) has officially merged into the &lt;a href="https://github.com/Homebrew/homebrew-core/pull/272547" rel="noopener noreferrer"&gt;Homebrew-core repository&lt;/a&gt;. This milestone marks the transition of OMA from a specialized developer tool to a globally recognized, first-class CLI utility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elevating the CLI Experience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While my previous writing focused on how OMA functions as a harness within AI-powered IDEs, this Homebrew release highlights the power of the OMA CLI (oma) as a standalone engine.&lt;/p&gt;

&lt;p&gt;A global installation provides a unified interface to manage your AI engineering team:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Universal Agent Spawning: Trigger specialized agents (Backend, QA, Architecture) directly from the terminal, regardless of which editor or AI IDE you are currently using.&lt;/li&gt;
&lt;li&gt;Real-time Monitoring: Use oma dashboard to observe agent reasoning, tool calls, and progress in a dedicated terminal UI.&lt;/li&gt;
&lt;li&gt;Environment Diagnostics: The oma doctor utility ensures your entire multi-vendor stack (Claude Code, Gemini CLI, etc.) is healthy and properly configured.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This update ensures that whether you are working in a team or across multiple machines, your AI specialists are always just one command away.&lt;/p&gt;

&lt;p&gt;Explore the project on GitHub: &lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;https://github.com/first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I look forward to seeing how this expanded accessibility helps developers build more robust and reliable AI-driven workflows.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>oh-my-agent — A Production-Grade Multi AI IDE Agent Harness</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Wed, 25 Mar 2026 08:22:17 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-a-production-grade-multi-ai-ide-agent-harness-4jh</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-a-production-grade-multi-ai-ide-agent-harness-4jh</guid>
      <description>&lt;p&gt;When you tell an agent to "build a TODO app," it does build something. The problem is that it often builds the wrong thing, drifts out of scope, and repeats the same mistakes.&lt;/p&gt;

&lt;p&gt;To address this, structural approaches like AGENTS.md and, more recently, Skills have emerged. But looking at the skills actually being shared, a few recurring problems stand out:&lt;/p&gt;

&lt;p&gt;The most critical piece — library version information — is missing.&lt;br&gt;
Role descriptions end at hollow declarations like "You are a Senior engineer."&lt;br&gt;
Content that could be covered by a few keywords gets padded into lengthy prose, wasting tokens.&lt;/p&gt;

&lt;p&gt;As a result, these skills are poorly followed by models, burn context for nothing, and over time become dead code that nobody wants to open.&lt;/p&gt;

&lt;h2&gt;
  
  
  [Approach]
&lt;/h2&gt;

&lt;p&gt;With oh-my-agent, we wanted to solve this through process, not prompts. Instead of simply telling the agent to "redo it" when something goes wrong, we record why it went wrong and feed that back into the next run.&lt;/p&gt;

&lt;p&gt;The core mechanism is Clarification Debt (CD) Scoring. When the agent misinterprets a requirement or drifts out of scope, points accumulate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;clarify: +10 — simple confirmation question&lt;/li&gt;
&lt;li&gt;correct: +25 — direction change due to misunderstood intent&lt;/li&gt;
&lt;li&gt;redo: +40 — rollback and restart due to scope deviation&lt;/li&gt;
&lt;li&gt;Starting work without checking the Charter: +15&lt;/li&gt;
&lt;li&gt;Modifying files outside the allowed scope: +20&lt;/li&gt;
&lt;li&gt;Repeating the same error: x1.5 multiplier&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Above 50 points, writing a Root Cause Analysis (RCA) is mandatory. Above 80, the session is halted. Lessons extracted are accumulated in lessons-learned.md and reflected from the very next session. Even with simple prompts, the process compensates.&lt;/p&gt;

&lt;p&gt;Beyond that, several common protocols keep the agent from going rogue:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clarification Protocol&lt;/strong&gt; — Requirement ambiguity is classified as LOW / MEDIUM / HIGH. LOW means proceed, MEDIUM means present options, HIGH means stop and clarify first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Difficulty Guide&lt;/strong&gt; — Tasks are categorized as Simple / Medium / Complex, adjusting the required protocol depth accordingly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context Budget&lt;/strong&gt; — Token budgets are set per model to reduce unnecessary context consumption.&lt;/p&gt;

&lt;p&gt;This approach aligns with the Harness Engineering concept discussed by OpenAI. Getting the most out of agents isn't a one-liner prompt problem — it's about what control structure you wrap around them.&lt;/p&gt;

&lt;h2&gt;
  
  
  [Project Structure]
&lt;/h2&gt;

&lt;p&gt;oh-my-agent manages all of this within the project directory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;.agents/ = SSOT&lt;/strong&gt; — Skills, workflows, and configurations live under .agents/ as the single source of truth. No dependency on any specific IDE.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Role-based agent team&lt;/strong&gt; — Core roles include PM, QA, Frontend, Backend, Mobile, and Debug, with DB Agent and TF Infra Agent newly added.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DB Agent: SQL / NoSQL / Vector DB modeling, including ISO 27001 security recommendations&lt;/li&gt;
&lt;li&gt;TF Infra Agent: Multi-cloud Terraform, OPA / Sentinel policies, ISO 42000 series control guidance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Workflow-centric orchestration&lt;/strong&gt; — Planning, review, debug, and parallel execution form the default flow. The newly added /brainstorm workflow explores design before writing code: codebase analysis → clarification questions → approach proposal → user approval → design document saved, then followed by /plan → implementation.&lt;/p&gt;

&lt;h2&gt;
  
  
  [Two Orchestration Modes]
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/coordinate&lt;/code&gt; is built for speed — iterate fast, fix problems as they surface. The PM breaks down tasks, dispatches agents, and QA runs a single review pass. If CRITICAL/HIGH issues appear, the affected task is re-run. It's a lightweight 7-step loop.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/ultrawork&lt;/code&gt; emphasizes quality gates. It's divided into five phases — PLAN → IMPL → VERIFY → REFINE → SHIP — each with a gate that blocks progression until passed. Of the 17 steps, 11 are reviews. The REFINE phase handles file splitting, deduplication, side-effect analysis, and dead code removal.&lt;/p&gt;

&lt;p&gt;It might seem like overkill, but as programming abstraction climbs from machine language to high-level languages and now to natural language, verification only becomes more critical — a point that's hard to argue with.&lt;/p&gt;

&lt;h2&gt;
  
  
  [Expansion Background]
&lt;/h2&gt;

&lt;p&gt;A month ago, this project launched as oh-my-ag, an orchestrator exclusive to Antigravity. Since then, multiple AI IDEs started adopting .agents/skills/ as the project skill path, and there was no longer a reason to keep it locked to a single IDE. So it was expanded into a universal harness format and became oh-my-agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  [Getting Started]
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/first-fluke/oh-my-agent/refs/heads/main/cli/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Supports all major AI IDEs: Antigravity, Claude Code, Codex CLI, Cursor, and more.&lt;/p&gt;

&lt;p&gt;If you're already using an AI IDE, give it a try. At the end of the day, the developer's goal is to hit QCD (Quality, Cost, Delivery) all at once. Agent-driven development is no exception — and that's the mindset behind this project.&lt;/p&gt;

&lt;p&gt;🔗 GitHub: &lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;first-fluke/oh-my-agent&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>agents</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
