Org-Skills Namespace and Context Engine Verbs Land in 48-Hour Window

NOTE: X API v2 and OpenRouter both returned HTTP 402 Payment Required on July 24. This roundup was sourced from GitHub API discovery. No tweet embeds or AI-generated OG image are included.
The 48-hour window from July 22 to July 24 saw 51 feature and performance PRs land in Hermes Agent. Two structural changes to the extensibility model lead the window: a first-class org-skills namespace and two new ContextEngine abstract base class verbs. A wave of compression improvements and a Mixture of Agents cadence overhaul fill out the rest.
Org-skills namespace: token-gated discovery and fail-loud collisions
Ben Barclay landed two PRs that together form the client leg of the M2 org-skills work. The namespace design makes org skills first-class with three companions: token-gated discovery, fail-loud collisions when two orgs publish the same skill name, and provenance tracking that records which org supplied each loaded skill.
#70459 (+529/-16, 7 files) implements the namespace itself in the skill manager, prompt builder, and skill utilities. Skills enter the namespace with a bare name and three non-negotiable guards. The prompt builder now resolves org-scoped skills against a provenance table rather than a flat list.
#70024 (+490/-7,
4 files) adds the sync client: hermes skills propose to submit org skills,
_org/ pull from the NAS, and HTTP 202 handling for async approval. Stacked on
the M1 personal-sync client, it reuses the HSP wire contract.
The two PRs combined add 1,019 lines across 11 files. The companion work in gateway and NAS means this lands as a cross-repo feature: the org can publish skills once and every agent in the org discovers them on next sync.
ContextEngine ABC: select_context and on_turn_complete
#70458 (+927/-0, 7 files) salvages a PR from @chaos-xxl that implements RFC #36765. Two additive, no-op-default, fail-open verbs now sit on the ContextEngine abstract base class:
select_context()runs before each request and lets a plugin choose which context sources to include. The default path returns everything unchanged.on_turn_complete()fires after the final response, giving plugins a hook into the turn lifecycle for post-processing, logging, or side effects.
The implementation is additive: zero changes to existing behaviour when no plugin registers. A default-path short-circuit avoids any overhead on the no-plugin path. The PR includes 555 lines of tests across two test files and a developer-guide doc page.
MoA advisor cadence: cheaper by default
Two PRs from teknium1 rework how Mixture of Agents advisors fire:
#70507 (+85/-57,
7 files) sets the default advisor fanout to user_turn - advisors run once
on the first message of each user turn and the aggregator reuses that advice
throughout the tool loop. Until benchmarks justify a costlier default, MoA
defaults to the cheapest cadence.
#70284 (+892/-18,
7 files) adds two opt-in dials: an every_n fan-out cadence that reuses cached
guidance on off-cadence iterations, and a privacy redaction filter with
display/full modes. Both are config-gated and default-off.
Compression wave: tail guarantee, tool-result pruning, progress notices
Three PRs tighten the compression pipeline:
#70250 (+565/-0,
9 files) guarantees the last N real user messages survive compression via
compression.min_tail_user_messages. Salvaged from @zhangyang-crazy-one's
original PR.
#70254 (+876/-1, 12 files) adds opt-in proactive tool-result pruning for large-window models. Configurable thresholds let operators reclaim context budget from stale tool output before compression even runs.
#70457 (+282/-1,
5 files) adds compression.progress_notices, an opt-in config key that lets
compression progress statuses pass the gateway noise filter to chat platforms.
Default is off - silent-by-design and byte-identical to the current path.
Also merged
- #70440:
simplify-codev1.1.0 adds an altitude reviewer and inline no-delegation fallback (+189/-73, 3 files) - #70512: Pinecone research skill added as optional, with a trimmed description
The v0.19.0 Quicksilver Release (July 20) framed the month's work around speed. This 48-hour window shows the structural work continuing underneath: org-scoped skills, plugin lifecycle hooks, and compression hardening.