<?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: session trajectories and skill compatibility checks</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Mon, 12 Oct 2026 15:54:38 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-session-trajectories-and-skill-compatibility-checks-4ma6</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-session-trajectories-and-skill-compatibility-checks-4ma6</guid>
      <description>&lt;p&gt;Agent runs can span several CLIs, tool calls, and completion checks. Following that sequence means opening more than one log. This week's oh-my-agent changes add a session trajectory viewer, an HTML explanation renderer, and checks for how skills are read by different runtimes.&lt;/p&gt;

&lt;p&gt;This is the delayed update for October 8, 2026. It covers changes available by 12:00 Australia/Sydney that day, through CLI 15.9.0. Later changes are outside this report.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Session trajectories.&lt;/strong&gt; The viewer joins OMA lifecycle events with vendor transcripts. Terminal and dashboard views help you follow a session's sequence of messages, tool calls, and checks. The implementation was extended to eleven runtimes during the week. &lt;a href="https://github.com/first-fluke/oh-my-agent/commit/f5391966914b155cd1d8dacd2ce02a39a38ad51a" rel="noopener noreferrer"&gt;Implementation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Markdown explanations.&lt;/strong&gt; &lt;code&gt;oma explain render&lt;/code&gt; turns a structured Markdown draft into a self-contained HTML page. Choose a panel grid or a document layout, then use &lt;code&gt;oma explain lint&lt;/code&gt; to check the prose. This gives reviewers a file they can open without running the project. &lt;a href="https://github.com/first-fluke/oh-my-agent/commit/ea3b2aacdda10f5416ce4cfabf83693a0d611235" rel="noopener noreferrer"&gt;Implementation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skill compatibility checks.&lt;/strong&gt; &lt;code&gt;oma skills matrix&lt;/code&gt; plans checks for skill discovery, relative references, and final JSON output through native Claude and Codex CLIs. Installed-skill audits also support the body injection format used by agent-valley. These audits measure file access, not whether a skill can complete every task. &lt;a href="https://github.com/first-fluke/oh-my-agent/blob/f0bfc8635e51d32f71556490ade887fbf3d97d64/docs/skills-matrix.md" rel="noopener noreferrer"&gt;Scope and commands&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The matrix defaults to planning. The following command prints a plan without starting vendor processes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;oma skills matrix &lt;span class="nt"&gt;--vendors&lt;/span&gt; codex &lt;span class="nt"&gt;--cases&lt;/span&gt; discovery,reference
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A live run requires &lt;code&gt;--live&lt;/code&gt; and authenticated CLIs.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Schedule manifest updates are serialized to prevent concurrent writers from losing changes. Scheduled dispatch also resolves the CLI runtime.&lt;/li&gt;
&lt;li&gt;Verification evidence is bound to the exact task and run receipts, so evidence from another run cannot stand in for the selected work.&lt;/li&gt;
&lt;li&gt;Managed hook upgrades preserve user scripts, and uninstall preserves skills that lack OMA-managed ownership.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;code&gt;oma bridge&lt;/code&gt; loads only the bridge command instead of the full CLI command tree. Shared Serena daemon logs are bounded, and &lt;code&gt;oma doctor&lt;/code&gt; warns when PATH contains different OMA versions. These changes address startup work, log growth, and version confusion.&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;p&gt;If you use OMA across runtimes, start with a session trajectory to inspect what ran, then use the matrix to check how a selected runtime reads skill files.&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>What OMA returns when its test gate fails</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Sat, 03 Oct 2026 02:41:47 +0000</pubDate>
      <link>https://dev.to/gracefullight/what-oma-returns-when-its-test-gate-fails-3lgi</link>
      <guid>https://dev.to/gracefullight/what-oma-returns-when-its-test-gate-fails-3lgi</guid>
      <description>&lt;p&gt;oh-my-agent (OMA) can rerun a configured test script when an active workflow&lt;br&gt;
tries to stop. This example exercises that behavior with manual hook calls and&lt;br&gt;
a deliberately broken expiry check. It uses the OMA 15.0.13 source CLI.&lt;/p&gt;

&lt;p&gt;The fixture defines an item as expired at &lt;code&gt;now === expiresAt&lt;/code&gt;. Its implementation&lt;br&gt;
used &lt;code&gt;&amp;gt;&lt;/code&gt;, so the boundary test failed. The test process exited with code 1.&lt;br&gt;
This excerpt comes from the actual output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;not ok 2 - at expiry: expired
# pass 2
# fail 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The fixture's active Ralph workflow had a &lt;code&gt;test&lt;/code&gt; completion gate. A manual&lt;br&gt;
call to OMA's Stop hook reran the package's test script. The response contained&lt;br&gt;
&lt;code&gt;"decision":"block"&lt;/code&gt; and this reason:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Stop gate 'test' FAILED (reinforcement 1/5).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;oma hook run&lt;/code&gt; process itself exited with code 0. Its JSON decision carries&lt;br&gt;
the block; treating that exit code as a successful test would be incorrect.&lt;/p&gt;

&lt;p&gt;The fix changed one comparison:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt;&lt;span class="gd"&gt;-  return now &amp;gt; expiresAt;
&lt;/span&gt;&lt;span class="gi"&gt;+  return now &amp;gt;= expiresAt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rerunning the tests produced:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# pass 3
# fail 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The next Stop call ran the same gate and returned empty stdout. OMA removed the&lt;br&gt;
fixture's workflow state and recorded &lt;code&gt;gate.passed&lt;/code&gt;, followed by &lt;code&gt;session.ended&lt;/code&gt;&lt;br&gt;
with reason &lt;code&gt;completion_gate_passed&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://gist.github.com/gracefullight/06ed76480cd105882067e814bb2cbaf6" rel="noopener noreferrer"&gt;demo, receipts, and reproduction script&lt;/a&gt; contain the full&lt;br&gt;
commands, timestamps, and output. Download &lt;code&gt;reproduce.py&lt;/code&gt; and run it against an&lt;br&gt;
OMA source checkout with its CLI dependencies already available:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 reproduce.py &lt;span class="nt"&gt;--oma-source&lt;/span&gt; /path/to/oh-my-agent &lt;span class="nt"&gt;--output&lt;/span&gt; /path/to/new-demo-run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Download &lt;code&gt;demo.html&lt;/code&gt; from the Gist to watch the 45-second explanation locally. GitHub displays its source rather than playing it on the page.&lt;/p&gt;

&lt;p&gt;The script requires Python 3, Git, Node, and Bun. It creates an isolated fixture&lt;br&gt;
and session store; it does not change your project's workflow state.&lt;/p&gt;

&lt;p&gt;This is a local fixture with manually invoked hooks, not a recorded autonomous&lt;br&gt;
agent session or a production incident. It demonstrates this configured gate&lt;br&gt;
on these tests. It does not establish general correctness or a comparison with&lt;br&gt;
another tool.&lt;/p&gt;

&lt;p&gt;The full harness supplies the CLI and hooks used here. A skills-only install&lt;br&gt;
does not. Start with one scoped task in the&lt;br&gt;
&lt;a href="https://firstfluke.com/oh-my-agent/docs/getting-started/quick-start/" rel="noopener noreferrer"&gt;Quick Start&lt;/a&gt;,&lt;br&gt;
then inspect its diff and checks. The source is on&lt;br&gt;
&lt;a href="https://github.com/first-fluke/oh-my-agent" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>testing</category>
      <category>opensource</category>
      <category>devtools</category>
    </item>
    <item>
      <title>oh-my-agent: shared Serena daemons, bounded retry loops</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 01 Oct 2026 02:00:47 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-shared-serena-daemons-bounded-retry-loops-4g6</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-shared-serena-daemons-bounded-retry-loops-4g6</guid>
      <description>&lt;p&gt;Five CLI releases, 15.0.2 through 15.0.6, shipped this week. The theme is long-running agents that stay well-behaved: fewer stray processes, bounded memory, and retry loops that know when to stop.&lt;/p&gt;

&lt;p&gt;20 commits, 69 files, roughly 3,700 lines added. Most of it went into how oh-my-agent manages Serena, the code-search backend that every agent leans on.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Managed Serena runtime&lt;/strong&gt;: version-gated Serena adapters are installed with a per-file SQLite symbol cache. Python no longer holds full workspace symbol trees in memory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;oma serena check&lt;/code&gt;&lt;/strong&gt;: a new command that validates the Serena config and runs Dart checks against the shared daemon, with exit codes you can script against.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scheduled daemon cleanup&lt;/strong&gt;: a separate periodic task reaps idle shared Serena daemons. It verifies process identity before signaling a registered PID, so a recycled PID never gets killed by mistake.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Managed Dart diagnostics&lt;/strong&gt;: package diagnostics reuse the managed Dart language server. Adapter revisions are tracked whenever a shared daemon starts or is replaced.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Doctor reporting&lt;/strong&gt;: &lt;code&gt;oma doctor&lt;/code&gt; now reports the Serena adapter state, in both the terminal footer and the JSON report.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Duplicate Serena stacks&lt;/strong&gt;: when the shared server is unreachable, oma now reports the connection failure instead of spawning a private Serena stack. Managed contexts are normalized before registry lookup.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Daemon replacement under load&lt;/strong&gt;: if the runtime revision changes while clients are attached, the loaded daemon is reused and the replacement waits until every client detaches. Active, busy, and legacy-revision cases are covered by tests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Eager Dart analysis&lt;/strong&gt;: Dart now defaults to analysis on file open, and uses the local stable SDK version when none is configured.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unbounded orchestration retries&lt;/strong&gt;: plans are pinned when dispatched, and retries are counted by workflow lineage and logical goal. Evidence failures are now separate from product failures, and a missing-metadata problem gets one bounded repair without restarting product planning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flaky checks&lt;/strong&gt;: the bridge timeout test asserts the protected bridge's response instead of wall time. Boundary scanning retries transient TypeScript worker exits.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quieter updates&lt;/strong&gt;: &lt;code&gt;oma update&lt;/code&gt; shows the changed Hyperframes components, deduplicates repaired links, and ends with one version summary. The inaccurate file totals and routine notices are gone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cleaner module boundaries&lt;/strong&gt;: Serena config validation moved into the shared I/O layer, so &lt;code&gt;serena check&lt;/code&gt; and setup no longer import the bridge command slice. Behavior is unchanged.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verification&lt;/strong&gt;: the duplicate-server fix was checked with 211 affected tests, type checking, lint, boundary checks, and a smoke test of symbol and definition lookup on Serena 1.7.0 with Dart 3.13.4.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docs and tests&lt;/strong&gt;: &lt;code&gt;integrations/serena/README.md&lt;/code&gt; is expanded, with new Python tests for the Dart adapter, installer, and symbol cache.&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: tighter guardrails around long-running orchestration runs, so a stuck goal fails fast instead of looping.&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 15: HyperFrames replaces Remotion, Serena guard ships</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 24 Sep 2026 02:01:01 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-15-hyperframes-replaces-remotion-serena-guard-ships-4aml</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-15-hyperframes-replaces-remotion-serena-guard-ships-4aml</guid>
      <description>&lt;p&gt;oh-my-agent CLI 15.0.0 just shipped, and &lt;code&gt;oma-video&lt;/code&gt; now renders with HyperFrames instead of Remotion. It is a breaking change, so it took a major version. The week also brought a hook that stops agents from bypassing your code-intelligence provider, and a batch of fixes for Serena daemons and schedules.&lt;/p&gt;

&lt;p&gt;The numbers: 67 commits, 230 files touched, CLI 15.0.1 and web 7.0.0.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HyperFrames compositor&lt;/strong&gt;: the managed video toolchain moves from Remotion to HyperFrames (&lt;code&gt;heygen-com/hyperframes&lt;/code&gt;) across the video CLI, the &lt;code&gt;oma-video&lt;/code&gt; skill resources, &lt;code&gt;oma update&lt;/code&gt; refresh, and docs. Migration is two renames: the &lt;code&gt;video.remotion&lt;/code&gt; config key is now &lt;code&gt;video.hyperframes&lt;/code&gt;, and &lt;code&gt;--compositor remotion&lt;/code&gt; becomes &lt;code&gt;--compositor hyperframes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code-intelligence guard&lt;/strong&gt;: a new PreToolUse handler denies native Grep/Glob and recursive shell search (&lt;code&gt;rg&lt;/code&gt;, &lt;code&gt;ag&lt;/code&gt;, &lt;code&gt;fd&lt;/code&gt;, &lt;code&gt;grep -r&lt;/code&gt;, &lt;code&gt;find -name&lt;/code&gt;, &lt;code&gt;git grep&lt;/code&gt;) while &lt;code&gt;providers.code_intelligence&lt;/code&gt; is configured. The deny reason names the Serena or Gortex tool to use instead. Set &lt;code&gt;providers.code_intelligence_guard&lt;/code&gt; to &lt;code&gt;off&lt;/code&gt; in a local overlay to disable it, or prefix a command with &lt;code&gt;OMA_CI_ALLOW_NATIVE=1&lt;/code&gt; when the provider is down. It is registered in all seven hook variants (claude, codex, cursor, grok, kimi, kiro, qwen).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AGENTS.md only&lt;/strong&gt;: Claude Code 2.1.277 and later reads &lt;code&gt;AGENTS.md&lt;/code&gt; natively, so oma now writes its block there and never into &lt;code&gt;CLAUDE.md&lt;/code&gt;. Migration 031 strips the legacy block, deletes the file only if the block was its sole content, and leaves an &lt;code&gt;@AGENTS.md&lt;/code&gt; import line for user-owned files. &lt;code&gt;oma doctor&lt;/code&gt; warns when a &lt;code&gt;CLAUDE.md&lt;/code&gt; without the import would shadow &lt;code&gt;AGENTS.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Legacy Gemini MCP cleanup&lt;/strong&gt;: migration 030 removes matching OMA default Serena and browser entries from old project Gemini settings once Antigravity is selected. Custom settings and symlinks are preserved.&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 daemon sprawl&lt;/strong&gt;: a bridge that could not probe a busy daemon within 2 seconds used to start a rival on the same port. The rival died on bind and pruned the live daemon's registry record, leaving three daemons per project on one machine. Bridges now wait on a registered daemon whose pid is alive, and registry operations run under the file lock.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stranded schedules&lt;/strong&gt;: registrations written before the command rename still invoked &lt;code&gt;oma schedule:run&lt;/code&gt;, failed on every fire, and still showed as synced. Drift detection now reads the registered command from launchd, crontab and systemd, reports a &lt;code&gt;stale&lt;/code&gt; state, and &lt;code&gt;oma schedule sync&lt;/code&gt; and &lt;code&gt;oma update&lt;/code&gt; rewrite those jobs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global settings clobbered&lt;/strong&gt;: &lt;code&gt;cd $HOME &amp;amp;&amp;amp; oma link claude&lt;/code&gt; treated HOME as a project root and rewrote the user's global hook commands. &lt;code&gt;link&lt;/code&gt; and &lt;code&gt;update&lt;/code&gt; now refuse project mode from HOME and point at &lt;code&gt;oma link --global&lt;/code&gt; (closes #788).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secrets check&lt;/strong&gt;: &lt;code&gt;oma verify&lt;/code&gt; detects hardcoded secrets more reliably.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native search false positives&lt;/strong&gt;: the guard now allows scoped searches inside provider-excluded and external paths, with Windows path normalization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repeated Serena migration&lt;/strong&gt;: migration 007 no longer re-triggers a same-version download after browser MCP selection.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Import boundaries&lt;/strong&gt;: &lt;code&gt;check-boundaries&lt;/code&gt; now enforces every literal import. Schedule adapters and video internals moved into &lt;code&gt;cli/io/schedule&lt;/code&gt; and &lt;code&gt;cli/io/video&lt;/code&gt;, and agent dispatch preparation is shared between spawn and parallel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tests&lt;/strong&gt;: the &lt;code&gt;scripts/&lt;/code&gt; suite (41 tests) now runs under vitest, so &lt;code&gt;bun run test&lt;/code&gt; covers it. It previously used the bun runner, which no npm script executed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-post pipeline&lt;/strong&gt;: the vendor JSON envelope is unwrapped before parsing, which fixes the weekly job failing on every run, and translated titles must now carry the same claim as the English source.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docs&lt;/strong&gt;: Korean, Japanese and Chinese harness-evolution guides landed, which unblocked the locale docs builds. Spawn docs now say &lt;code&gt;--vendor&lt;/code&gt; instead of the removed &lt;code&gt;-m/--model&lt;/code&gt; flag.&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: more hooks that enforce what the session primer only advises.&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: failed runs now turn into skill regression tests</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Sat, 19 Sep 2026 00:53:24 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-failed-runs-now-turn-into-skill-regression-tests-572m</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-failed-runs-now-turn-into-skill-regression-tests-572m</guid>
      <description>&lt;p&gt;A failed agent run used to end with a log and a shrug. This week oh-my-agent closed that loop: a failure can be captured as an incident, promoted to a skill fixture, and fed to an optimizer that edits the skill under a dispatch budget. It took 131 commits and moved the CLI from 14.7.11 to 14.13.1.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Incident capture and promotion&lt;/strong&gt;: &lt;code&gt;oma harness incident scan&lt;/code&gt; lists failed, blocked, and partial runs that no incident references. &lt;code&gt;oma harness incident promote&lt;/code&gt; derives a regression fixture for the skill the agent used, and admits it only when the recorded failing output fails it. &lt;code&gt;oma harness feedback --scan-runs&lt;/code&gt; chains capture, promote, and optimize. Finished runs now keep the last 64 KiB of runner log so the fixture can be validated against what the agent actually said.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budgeted skill evolution&lt;/strong&gt;: &lt;code&gt;oma skill optimize&lt;/code&gt; accepts an edit only when neither the validation nor the training split regresses and at least one improves. &lt;code&gt;constitution.budget.max_dispatches_per_run&lt;/code&gt; is now enforced: the call that would exceed it is refused and promotion is blocked. Every applied edit records lineage, and &lt;code&gt;oma skill promotions&lt;/code&gt; and &lt;code&gt;oma skill rollback&lt;/code&gt; read it back.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Meta-optimization&lt;/strong&gt;: &lt;code&gt;oma skill meta-optimize&lt;/code&gt; treats the optimizer prompt itself as the candidate. Promotion needs a seeded paired bootstrap 95% interval above zero and at least three pairs. The first adopted procedure beat the current one by 0.27 on average, interval [0.04, 0.54], and added three grounding rules for proposed skill edits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Routing eval&lt;/strong&gt;: &lt;code&gt;oma skill eval --routing&lt;/code&gt; shows the model every installed skill description and records whether it picks the target, a neighbor, or nothing. It separates "the body helps" from "the skill gets selected".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code-intelligence guard&lt;/strong&gt;: a PreToolUse hook denies native Grep, Glob, and recursive shell search (&lt;code&gt;rg&lt;/code&gt;, &lt;code&gt;grep -r&lt;/code&gt;, &lt;code&gt;find -name&lt;/code&gt;, &lt;code&gt;git grep&lt;/code&gt;) while a provider is configured. The deny message names the Serena tool to use. &lt;code&gt;OMA_CI_ALLOW_NATIVE=1&lt;/code&gt; is the escape hatch, and &lt;code&gt;providers.code_intelligence_guard: off&lt;/code&gt; disables it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session-start notices&lt;/strong&gt;: the state snapshot now announces skill and procedure promotions once, one line each with the edit and the lifts. &lt;code&gt;oma doctor&lt;/code&gt; gained an Evolution note.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orca reporting&lt;/strong&gt;: spawned child agents report their lifecycle to Orca. Qwen gained native agent definitions.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;The weekly cross-post job failed on every run after &lt;code&gt;model_preset&lt;/code&gt; moved to &lt;code&gt;auto&lt;/code&gt;. &lt;code&gt;claude --output-format json&lt;/code&gt; wraps the answer in an envelope, and &lt;code&gt;runAgent&lt;/code&gt; returned it raw. It now unwraps the configured &lt;code&gt;response_jq&lt;/code&gt; path and falls through to raw stdout for vendors without one.&lt;/li&gt;
&lt;li&gt;OS jobs registered before the command rename kept calling &lt;code&gt;oma schedule:run &amp;lt;id&amp;gt;&lt;/code&gt; and failed on every fire, while &lt;code&gt;schedule list&lt;/code&gt; reported them as synced. The legacy spelling is accepted when the OS invokes it, drift detection has a new &lt;code&gt;stale&lt;/code&gt; state, and &lt;code&gt;oma schedule sync&lt;/code&gt; and &lt;code&gt;oma update&lt;/code&gt; rewrite stale registrations.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cd $HOME &amp;amp;&amp;amp; oma link claude&lt;/code&gt; treated HOME as a project and rewrote the global Claude hook commands. &lt;code&gt;link&lt;/code&gt; and &lt;code&gt;update&lt;/code&gt; now refuse project mode from HOME (#788).&lt;/li&gt;
&lt;li&gt;The skill judge parsed PASS/FAIL from the raw Claude envelope, where &lt;code&gt;"failed":0&lt;/code&gt; came before the verdict, so every judge verdict read FAIL. Outputs are unwrapped before scoring, and stale recordings are discarded.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--repeats 3&lt;/code&gt; parsed to NaN because bare &lt;code&gt;parseInt&lt;/code&gt; received the previous value as its radix. Variadic option values (&lt;code&gt;--skill a b&lt;/code&gt;) no longer trip the stray-positional guard.&lt;/li&gt;
&lt;li&gt;Projects synced before v11 still ran their own Serena per session. Migration 029 rewrites those launchers to the shared &lt;code&gt;oma bridge&lt;/code&gt; entry in each vendor's native form.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;oma update&lt;/code&gt; respects an explicit vendor list instead of detecting from project directories.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;One optimization epoch with four candidates took forty minutes because every arm and judge ran serially. Live dispatches now run through a bounded pool (&lt;code&gt;OMA_SKILL_EVAL_CONCURRENCY&lt;/code&gt;, default 4), and meta-optimization overlaps inner runs across skills (&lt;code&gt;OMA_META_CONCURRENCY&lt;/code&gt;, up to 4). The per-dispatch timeout is 180s, with one retry on timeout.&lt;/li&gt;
&lt;li&gt;Fixtures test what the body states. The oma-debug set was rewritten after the first version scored 89% without the skill. The new twelve score 25% baseline and 100% with the skill. oma-refactor went from 16.7% to 100% the same way. oma-docs, oma-scm, and oma-qa also have twelve body-aligned fixtures each.&lt;/li&gt;
&lt;li&gt;The first loop-verified edit landed in oma-docs: held-in 55.6% to 77.8%, held-out validation unchanged at 100%.&lt;/li&gt;
&lt;li&gt;Cost is visible. Runs report model calls per verified improvement, so a procedure that wins on gain by spending more shows up as such.&lt;/li&gt;
&lt;li&gt;Gortex is out and code intelligence is back on the Serena bridge. It pinned the CPU re-patching a 4 GB index and exposed no cap.&lt;/li&gt;
&lt;li&gt;Skill and shared prompt files were trimmed to cut unconditional preflight, scoring, and approval rules. Incident guides shipped in all 11 doc locales.&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: running the feedback loop on a schedule against real project runs, so skill edits arrive with their evidence attached.&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: managed skill caches and WikiSkill evolution</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 03 Sep 2026 02:06:18 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-managed-skill-caches-and-wikiskill-evolution-56g7</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-managed-skill-caches-and-wikiskill-evolution-56g7</guid>
      <description>&lt;p&gt;The market, diagram, and video pipelines just moved to always-latest managed skill caches. When you orchestrate external tools, you want them at HEAD without dragging down your repository.&lt;/p&gt;

&lt;p&gt;This week introduces a shared caching layer for third-party skills, meaning your agents always resolve the latest logic for generating architecture diagrams, market research, or video compositions.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Managed skill layer&lt;/strong&gt;: Introduced a shared caching system for external skills. Diagram, market, and video tools now resolve and update from GitHub Releases or upstream engines directly into local cache.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Diagram engine&lt;/strong&gt;: Added &lt;code&gt;oma diagram&lt;/code&gt; subcommands powered by the external archify skill for generating architecture diagrams.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Upstream market engine&lt;/strong&gt;: Replaced the in-house market pipeline with the upstream last30days engine. The &lt;code&gt;oma market run&lt;/code&gt; command now passes arguments straight to the source.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic video authoring&lt;/strong&gt;: Stopped shipping vendored Remotion code. The new &lt;code&gt;oma video compose&lt;/code&gt; command scaffolds compositions dynamically against the latest Remotion toolchain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WikiSkill evolution&lt;/strong&gt;: Added persistent rollout knowledge across optimization runs, complete with sandboxed live evaluations and validation gating.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pushing skill resolution to runtime keeps the core CLI lean while giving agents the best available tools.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Enforced literal UTF-8 output for Claude tool-call parameters to prevent unicode escape display corruption in interactive terminal prompts.&lt;/li&gt;
&lt;li&gt;Disabled memory tools at the Serena MCP boundary to strictly enforce state safety during managed launches.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;State decoupling&lt;/strong&gt;: Decoupled coordination state from Serena by routing session summaries through a neutral exporter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified intelligence&lt;/strong&gt;: Routed all managed clients through a single fixed Serena capability surface for context gathering.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation structure&lt;/strong&gt;: Moved the Quick Start section above the control boundary explanations in all README files to reduce time-to-action.&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: exposing the managed skill layer to custom user workflows.&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: strict commit attribution and capability routing</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 27 Aug 2026 02:05:51 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-strict-commit-attribution-and-capability-routing-h46</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-strict-commit-attribution-and-capability-routing-h46</guid>
      <description>&lt;p&gt;When you tell an agent to write code, getting it to commit with the right attribution is surprisingly brittle. A typo in a co-author address survives a history rewrite and ruins contributor graphs forever. This week, we fixed that and tightened up how capabilities are routed across the system.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Added a native &lt;code&gt;commit-msg&lt;/code&gt; hook to enforce exact &lt;code&gt;Co-authored-by&lt;/code&gt; addresses, guaranteeing correct GitHub attribution for agent commits.&lt;/li&gt;
&lt;li&gt;Granted &lt;code&gt;oma&lt;/code&gt; and &lt;code&gt;ls&lt;/code&gt; blanket permissions for Claude and Qwen, cutting down on repetitive confirmation prompts during long runs.&lt;/li&gt;
&lt;li&gt;Updated Ralph to lock criteria autonomously without stopping for user confirmation in persistent mode.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The git hook checks against your allowed addresses before the commit writes to disk. If you already use &lt;code&gt;husky&lt;/code&gt; or &lt;code&gt;lefthook&lt;/code&gt;, it politely provides the one line you need to add instead of taking over your configuration.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Pointed the default &lt;code&gt;serena&lt;/code&gt; configuration at the shared bridge daemon, saving memory by preventing duplicate server processes per session.&lt;/li&gt;
&lt;li&gt;Included &lt;code&gt;pi&lt;/code&gt; and &lt;code&gt;opencode&lt;/code&gt; extension vendors in the default linking path so they generate and document correctly out of the box.&lt;/li&gt;
&lt;li&gt;Replaced bare trigger words with multi-word phrases for French and Portuguese queries to eliminate false-positive workflow activations.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Renamed 5 actor-style skill identifiers to capability nouns for clearer routing. Migration &lt;code&gt;023&lt;/code&gt; handles the transition automatically.&lt;/li&gt;
&lt;li&gt;Upgraded the keyword detector to safely ignore multiline bug and error inquiries, keeping memory coordination focused on actual state changes.&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 capability discovery across distributed teams.&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 refactor guards and isolated eval</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 20 Aug 2026 02:01:06 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-cross-vendor-refactor-guards-and-isolated-eval-4c9o</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-cross-vendor-refactor-guards-and-isolated-eval-4c9o</guid>
      <description>&lt;p&gt;oh-my-agent 12.4.0 just shipped with a cross-vendor refactor guard and isolated harness evaluation. When an agent edits too many lines in a single file without refactoring, the runtime now blocks the stop event and dispatches a dedicated refactor engineer to clean up the mess before returning control.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cross-vendor refactor guard&lt;/strong&gt;: A new &lt;code&gt;refactor_guard&lt;/code&gt; hook tracks line budgets across edit tools. If an agent exceeds 500 lines in a single file, the hook blocks termination and dispatches &lt;code&gt;refactor-engineer&lt;/code&gt;. This works across all 9 supported vendors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Isolated harness evaluation&lt;/strong&gt;: The &lt;code&gt;oma harness&lt;/code&gt; command now compares scoped &lt;code&gt;.agents&lt;/code&gt; overlays in paired temporary workspaces, using deterministic artifact checks and hash-bound record and replay.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent Plugins support&lt;/strong&gt;: A standard git clone of the repository now acts as an installable Agent Plugins 1.0.0 package, exposing &lt;code&gt;plugin.json&lt;/code&gt;, &lt;code&gt;mcp.json&lt;/code&gt;, and the skills tree directly at the repository root.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Translation profiles&lt;/strong&gt;: &lt;code&gt;oma-translator&lt;/code&gt; now uses per-language profiles (&lt;code&gt;en&lt;/code&gt;, &lt;code&gt;ko&lt;/code&gt;, &lt;code&gt;ja&lt;/code&gt;, &lt;code&gt;zh&lt;/code&gt;) to isolate register systems and typography rules from the shared pattern taxonomy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Controlling an agent's context requires precision. The new refactor guard ensures that large changes are forced into a refactoring phase before the session ends, keeping files maintainable.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;SCM decisions like commit splits and merges are no longer recorded as durable facts in the agent memory store. They are already in git history, and skipping them prevents repository metadata from crowding out real cross-session decisions.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;oma link&lt;/code&gt; now renders the union of vendor hooks and subagents for shared files like &lt;code&gt;AGENTS.md&lt;/code&gt;, preventing the file from flip-flopping when different vendors trigger the merge.&lt;/li&gt;
&lt;li&gt;User-added MCP servers in &lt;code&gt;.cursor/mcp.json&lt;/code&gt; are preserved during updates. The CLI now merges its managed servers rather than overwriting the entire file.&lt;/li&gt;
&lt;li&gt;OpenCode authentication checks now correctly derive the provider from the row's model specification, resolving false offline reports when users authenticated with alternative providers.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Replaced unreachable context budget claims in the documentation with measured, reproducible token costs. The two-layer skill design avoids roughly 75 percent of skill-loading overhead on complex tasks.&lt;/li&gt;
&lt;li&gt;Scoped Single Source of Truth (SSOT) protection strictly to definition files. Agents are now explicitly instructed that run outputs in &lt;code&gt;.agents/results/&lt;/code&gt; are expected, preventing them from deleting session handoff state to restore protection.&lt;/li&gt;
&lt;li&gt;Korean translations across all 22 pages are synced to parity with the English source, normalizing instruction registers and fixing legacy structural drift.&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: multi-turn rollback primitives for stalled reasoning loops.&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: mechanical stop gates and unified configuration</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 13 Aug 2026 02:01:03 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-mechanical-stop-gates-and-unified-configuration-57b0</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-mechanical-stop-gates-and-unified-configuration-57b0</guid>
      <description>&lt;p&gt;When you leave an autonomous agent running overnight, you need to know it will actually stop when the work is done. It should not stop because it hit an arbitrary loop limit. This week brings mechanical stop gates to persistent workflows, unifies configuration into a single file, and ships portable agent plugin exports.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mechanical stop gates&lt;/strong&gt;: &lt;code&gt;oma goal:set&lt;/code&gt; establishes a completion contract for persistent mode. Map keywords like &lt;code&gt;typecheck&lt;/code&gt; or &lt;code&gt;lint&lt;/code&gt; to local scripts. A pass allows the workflow to stop. A failure blocks the stop and counts toward the &lt;code&gt;MAX_REINFORCEMENTS&lt;/code&gt; threshold.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified skill configuration&lt;/strong&gt;: We dropped the scattered legacy config files. &lt;code&gt;.agents/skills/*/config/*.yaml&lt;/code&gt; and &lt;code&gt;models.yaml&lt;/code&gt; are gone. &lt;code&gt;oma-config.yaml&lt;/code&gt; is now the single source of truth. Run &lt;code&gt;oma update&lt;/code&gt; and migration 022 will carry over any user-diverged keys automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent Plugins 1.0.0&lt;/strong&gt;: Run &lt;code&gt;oma emit --target agent-plugin&lt;/code&gt; to export a self-contained archive. This outputs a closed-schema &lt;code&gt;plugin.json&lt;/code&gt; conformant with the agent-plugins.org specification.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TDD evidence checks&lt;/strong&gt;: &lt;code&gt;oma verify&lt;/code&gt; now supports an opt-in per-task test approach. Tasks marked &lt;code&gt;tdd&lt;/code&gt; require a &lt;code&gt;TDD_EVIDENCE&lt;/code&gt; block in the result file showing a focused test command, a red failure, and a green pass.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Harness refine signals&lt;/strong&gt;: &lt;code&gt;oma retro&lt;/code&gt; now analyzes the event trail. Repeated gate failures or raised blockers are aggregated into a new section with one-line edit proposals for your harness.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dry-run linking&lt;/strong&gt;: &lt;code&gt;oma link --dry-run&lt;/code&gt; previews every target before mutating your workspace. It shares the exact same vendor conditionals as a real pass.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This release also shifts our documentation structure. Artifact verification now leads the pitch over portability.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;External vendor CLIs exiting 0 without writing a workspace artifact now fail loud with an exit code of 3. You will no longer mistake a silent misdirected write for success.&lt;/li&gt;
&lt;li&gt;The HUD statusline no longer hangs indefinitely when &lt;code&gt;stdin&lt;/code&gt; is kept open. It now falls back to an 800ms asynchronous read timeout.&lt;/li&gt;
&lt;li&gt;Generated file writes are now fully atomic. A crash mid-write will no longer leave corrupted partial files in vendor directories.&lt;/li&gt;
&lt;li&gt;Uninstalling no longer inadvertently deletes home-consent symlinks belonging to other installations.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Skill evaluation is now grounded in real data. We seeded offline &lt;code&gt;--mock&lt;/code&gt; replay coverage for &lt;code&gt;oma-scm&lt;/code&gt;, &lt;code&gt;oma-market&lt;/code&gt;, and &lt;code&gt;oma-docs&lt;/code&gt; using recorded live rollouts.&lt;/li&gt;
&lt;li&gt;The unit coverage floor stays hard. Omitting a test approach value in the PM plan will never waive the &amp;gt;= 80% coverage gate.&lt;/li&gt;
&lt;li&gt;Trigger keywords are no longer strictly gated by the configured language. A Korean prompt in an English project will correctly fire its workflow.&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: automated rollback triggers for failed verification gates.&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: inline plan creation and Node 26</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 06 Aug 2026 02:01:10 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-inline-plan-creation-and-node-26-257c</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-inline-plan-creation-and-node-26-257c</guid>
      <description>&lt;p&gt;When you tell an agent to build a complex feature, it usually needs a plan. When you do not provide one, the orchestrator should not just hand the request back to you.&lt;/p&gt;

&lt;p&gt;Until this week, &lt;code&gt;oma orchestrate&lt;/code&gt; required an existing plan file to proceed. Now, it generates one on the fly.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;oma orchestrate&lt;/code&gt; creates a plan inline when no usable plan exists, using the same session ID so artifacts do not diverge.&lt;/li&gt;
&lt;li&gt;Node 26 is now the required runtime for all workspaces and local shells.&lt;/li&gt;
&lt;li&gt;The OMA block enforces an absolute top-priority directive: execute imperative prompts verbatim and never build until explicitly asked.&lt;/li&gt;
&lt;li&gt;Qwen Code generation requests now run with a 5-minute timeout ceiling to prevent long agent turns from aborting mid-stream.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Global installations need to know where they live, not just where you are currently standing in the terminal.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;oma doctor --global&lt;/code&gt; and &lt;code&gt;oma link --global&lt;/code&gt; now correctly resolve the global install root instead of &lt;code&gt;process.cwd()&lt;/code&gt;, fixing silent failures during global operations.&lt;/li&gt;
&lt;li&gt;Serena search hits no longer truncate due to low character limits on initial installs.&lt;/li&gt;
&lt;li&gt;Removed short Korean keywords that falsely activated persistent modes and blocked session termination.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also tweaked how the frontend skill handles default Next.js behaviors to protect your container CPU.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;oma-frontend&lt;/code&gt; skill defaults &lt;code&gt;next/link&lt;/code&gt; prefetch to &lt;code&gt;false&lt;/code&gt;, cutting down on RSC payload requests for nav-heavy pages.&lt;/li&gt;
&lt;li&gt;Over 40 vendor writers now use &lt;code&gt;safeGetInstallRoot()&lt;/code&gt;, making the CLI more resilient when &lt;code&gt;.agents&lt;/code&gt; directories are missing.&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: refined memory controls for long-running sessions.&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: shared MCP daemons and offline BGM rendering</title>
      <dc:creator>gracefullight</dc:creator>
      <pubDate>Thu, 30 Jul 2026 02:01:19 +0000</pubDate>
      <link>https://dev.to/gracefullight/oh-my-agent-shared-mcp-daemons-and-offline-bgm-rendering-4cd1</link>
      <guid>https://dev.to/gracefullight/oh-my-agent-shared-mcp-daemons-and-offline-bgm-rendering-4cd1</guid>
      <description>&lt;p&gt;We just merged a complete overhaul of how oh-my-agent manages MCP processes. Previously, every agent session spawned its own copy of every stdio MCP server. We measured 65 processes and 800MB of RAM across six sessions. Now, serena daemons are shared per-project by default.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;BGM rendering&lt;/strong&gt;: The video agent now supports &lt;code&gt;--music &amp;lt;preset&amp;gt;&lt;/code&gt; to render background music beds offline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Strudel integration&lt;/strong&gt;: Music is generated via Strudel in a headless Chrome instance without adding npm dependencies to the CLI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified config&lt;/strong&gt;: Source control management configurations are now consolidated into a single &lt;code&gt;.agents/oma-config.yaml&lt;/code&gt; file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The music presets are arranged rather than looped, using scale degrees and per-bar gain ramps to build a proper bed over the specified duration.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Global install scope&lt;/strong&gt;: Fixed a bug where &lt;code&gt;oma install --global&lt;/code&gt; registered the home directory as a project, preventing the language detection scanner from walking up to 20,000 irrelevant files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hook paths&lt;/strong&gt;: The &lt;code&gt;oma-hook.sh&lt;/code&gt; wrapper no longer bakes in the absolute path of the installer, keeping version-controlled hooks clean across teams.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model probing&lt;/strong&gt;: Fixed the &lt;code&gt;model:probe&lt;/code&gt; command to correctly resolve custom registered slugs instead of always falling back to the owner prefix.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP bridge paths&lt;/strong&gt;: Stopped the bridge from writing machine-specific absolute paths into the committed &lt;code&gt;.mcp.json&lt;/code&gt; file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These fixes prevent local installation environments from leaking into version control and breaking workflows when shared across different machines.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Daemon lifecycle&lt;/strong&gt;: The new bridge mode starts a single serena HTTP daemon per project and shares it across sessions. The daemon shuts down automatically after a 10-minute idle grace period.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Artifact footprint&lt;/strong&gt;: Removed 298 files and 4.8MB of duplicated skill artifacts from the repository by dropping the &lt;code&gt;generated/&lt;/code&gt; tracking directory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prompt engineering&lt;/strong&gt;: Dropped explicit self-verification instructions and output-shape examples from core skills to align with Anthropic's new context guidance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skill length linting&lt;/strong&gt;: Added a warning when a skill body exceeds the 500-line limit recommended by prompt engineering guides.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The prompt reductions were validated across 20 agent runs, proving that removing explicit examples actually improved the agent's ability to fix mutable sort keys without introducing false positives.&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;p&gt;oh-my-agent is built for teams who orchestrate more than they prompt. Next up: expanding the video compositor with custom branded layers.&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: 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>
  </channel>
</rss>
