{
  "batch": "read1-008",
  "plugins": [
    {
      "pr": 0,
      "name": "done-bell",
      "does": "Adds completion and approval notifications, a chime, and a Desktop status chip.",
      "useful": 4,
      "reliable": 3,
      "polish": 3,
      "creative": 2,
      "beyond": 4,
      "total": 20,
      "best": "The [Desktop implementation](https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/desktop/plugin.js) observes session activity and offers mute, sound, notification, and test controls without sending chat content.",
      "worst": "The [setup instructions](https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/README.md) use the author's Windows development path and require manually copying the Desktop pane on older Hermes installs.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 0,
      "name": "homeassistant",
      "does": "Connects Hermes to Home Assistant through a state-change gateway, device tools, and notification delivery.",
      "useful": 4,
      "reliable": 5,
      "polish": 4,
      "creative": 3,
      "beyond": 5,
      "total": 26,
      "best": "Its [device tools](https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/tools.py) use profile-scoped secrets and enforce entity allowlists, denylists, and blocked service domains.",
      "worst": "The [event adapter](https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/adapter.py) requires an existing Home Assistant installation and explicit watch filters, narrowing its audience and adding setup work.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 151144,
      "name": "midi-bridge",
      "does": "Exposes local MIDI notes, chords, patterns, and controller messages for a connected DAW.",
      "useful": 3,
      "reliable": 1,
      "polish": 2,
      "creative": 3,
      "beyond": 3,
      "total": 15,
      "best": "The [MIDI backend](https://raw.githubusercontent.com/james-see/midi-bridge/5c94d270116454795f644e2118f1f42e057da808/midi_utils.py) opens local virtual or existing ports, giving Hermes a concrete way to play a user's instruments.",
      "worst": "The [sequence player](https://raw.githubusercontent.com/james-see/midi-bridge/5c94d270116454795f644e2118f1f42e057da808/pattern_player.py) sleeps each absolute start time plus each preceding note duration, so timing drifts and notes cannot overlap.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 152685,
      "name": "visual-workflow",
      "does": "Adds Desktop and dashboard workflow canvases backed by a persistent sequential agent runner with conditions, approvals, retries, and scheduling.",
      "useful": 4,
      "reliable": 4,
      "polish": 5,
      "creative": 3,
      "beyond": 5,
      "total": 26,
      "best": "The [runner integration](https://raw.githubusercontent.com/Printaga/Hermes-Workflow/3f7a6a185e489ff4d75a0e8c1a9050c300f602d5/visual_workflow_hermes/runtime.py) preserves run state and prevents the model from answering human gates or adding unapproved delivery targets while resuming.",
      "worst": "The [documented limits](https://raw.githubusercontent.com/Printaga/Hermes-Workflow/3f7a6a185e489ff4d75a0e8c1a9050c300f602d5/README.md) exclude parallel branches and loops, and selecting another bot does not bring that bot's tools, skills, or memory.",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 150020,
      "name": "chronos",
      "does": "Tests model-supplied candidate file changes in isolated git worktrees and can merge the highest-scoring passing candidate.",
      "useful": 4,
      "reliable": 3,
      "polish": 3,
      "creative": 4,
      "beyond": 4,
      "total": 22,
      "best": "Its [merge path](https://raw.githubusercontent.com/Shikhyy/hermes-agent/5b2a4b4a2c43e8a9b1e7bf8d32484a651bffedf0/plugins/chronos/chronos/engine.py) rejects stale or failed branches, checks for changed workspace files, and routes writes through Hermes with rollback on refusal.",
      "worst": "The [automatic verifier](https://raw.githubusercontent.com/Shikhyy/hermes-agent/5b2a4b4a2c43e8a9b1e7bf8d32484a651bffedf0/plugins/chronos/chronos/verifier.py) selects npm test --if-present and treats exit zero as a pass even with zero tests, so a project without a test script can produce a falsely verified winner.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 149625,
      "name": "proofops",
      "does": "Runs declared checks against services and deliverables and returns sealed receipts with observed results and explicit limits.",
      "useful": 4,
      "reliable": 1,
      "polish": 4,
      "creative": 4,
      "beyond": 3,
      "total": 19,
      "best": "The [Hermes tools](https://raw.githubusercontent.com/rasrobo/proofops/5916cc80d036a4ef81a961513ee973630393fcd4/__init__.py) expose PASS, FAIL, and NOT RUN with claimability and unverified items, making incomplete verification visible to the agent.",
      "worst": "At the pin, [unset operator allowed_paths](https://raw.githubusercontent.com/rasrobo/proofops/5916cc80d036a4ef81a961513ee973630393fcd4/__init__.py) leaves filesystem roots to the model-written plan, allowing checks to read sensitive files outside Hermes's read guard.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 153995,
      "name": "hermes-committee",
      "does": "Runs several models through independent answers, anonymous peer review, and a chairman synthesis, with a Desktop interface and exportable reports.",
      "useful": 4,
      "reliable": 1,
      "polish": 5,
      "creative": 3,
      "beyond": 5,
      "total": 23,
      "best": "Its [deliberation engine](https://raw.githubusercontent.com/abualnassr/hermes-committee/c7ed1b63feee39185aed90eac0d0f9185109e959/committee/engine.py) implements concurrent independent answers, randomized anonymous reviews, quorum checks, and a separate synthesis stage.",
      "worst": "The chat tool's [evidence loader](https://raw.githubusercontent.com/abualnassr/hermes-committee/c7ed1b63feee39185aed90eac0d0f9185109e959/__init__.py) reads model-supplied local paths directly with no allowed-root or Hermes file-approval check, allowing sensitive files to enter model evidence.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 153852,
      "name": "templeos",
      "does": "Lets Hermes and its user operate a local TempleOS-family QEMU guest through shared video, keyboard, HolyC, and file-transfer tools.",
      "useful": 3,
      "reliable": 4,
      "polish": 4,
      "creative": 5,
      "beyond": 5,
      "total": 26,
      "best": "Its [input arbiter](https://raw.githubusercontent.com/mojomast/hermes-templeos/c61d00eb4d36c5e3c7cd57a2985985aed8db42f0/templeos/arbiter.py) serializes human and agent actions and gives the user explicit take-control and hand-back controls over the live guest.",
      "worst": "The [documented workflow](https://raw.githubusercontent.com/mojomast/hermes-templeos/c61d00eb4d36c5e3c7cd57a2985985aed8db42f0/README.md) serves a narrow OS audience, requires separately installed QEMU, and still labels FAT file transfer experimental and macOS untested as a primary host.",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 153516,
      "name": "ikigai",
      "does": "Conducts a deterministic personal-profile interview and compiles consent-oriented USER.md proposals, a SOUL draft, and local profile sheets.",
      "useful": 4,
      "reliable": 3,
      "polish": 4,
      "creative": 3,
      "beyond": 4,
      "total": 22,
      "best": "The [profile compiler](https://raw.githubusercontent.com/Pierrem57/hermes-ikigai/59f405f8b98c2f0ecb4a29fe90322c76ea47ce95/core.py) preserves unrelated memory entries, fits its additions to the character budget, and excludes inferred and local-only answers from compiled profiles.",
      "worst": "In [interview_turn](https://raw.githubusercontent.com/Pierrem57/hermes-ikigai/59f405f8b98c2f0ecb4a29fe90322c76ea47ce95/core.py), tagged widget replies skip the session-ownership check, so a matching tagged reply from another chat can alter the active interview.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 149268,
      "name": "budget-leash",
      "does": "Meters estimated model spend and tool calls against session and daily limits, warning near the limit and blocking subsequent calls when it is reached.",
      "useful": 5,
      "reliable": 3,
      "polish": 3,
      "creative": 3,
      "beyond": 5,
      "total": 24,
      "best": "The [budget engine](https://raw.githubusercontent.com/jusst01/budget-leash/7b4126703e84826e8ff8a8926432057f7790686c/leash.py) combines model-call cutoff decisions with a persistent day ledger whose updates re-read and add deltas under an exclusive file lock.",
      "worst": "The [cap check](https://raw.githubusercontent.com/jusst01/budget-leash/7b4126703e84826e8ff8a8926432057f7790686c/leash.py) uses completed usage without reserving in-flight calls, so concurrent calls can overshoot the ceiling and a priced tool is forecast against the session cap but not the daily cap.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 151823,
      "name": "bulk",
      "does": "Runs one instruction independently over files, CSV rows, or JSON records as resumable background jobs with SQLite state and exports.",
      "useful": 4,
      "reliable": 4,
      "polish": 4,
      "creative": 3,
      "beyond": 4,
      "total": 23,
      "best": "Its [job engine](https://raw.githubusercontent.com/sniperchief/Bulk/99a3f1780de549ac1c0a0e878b29f6d8d248be4a/jobs.py) rechecks source hashes before processing, retries transient failures with shared rate-limit backoff, and recovers claims left by dead workers.",
      "worst": "Its [recovery contract](https://raw.githubusercontent.com/sniperchief/Bulk/99a3f1780de549ac1c0a0e878b29f6d8d248be4a/jobs.py) is at least once: a crash after a billed model response but before saving it can cause the same item to run and be billed again.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 151604,
      "name": "plur1bus",
      "does": "Replaces Hermes persistent memory with profile-scoped capture, semantic recall, consolidation, and Desktop memory-management controls.",
      "useful": 5,
      "reliable": 4,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "total": 28,
      "best": "The native [memory provider](https://raw.githubusercontent.com/Cyb3rb1ade/openclaw-plur1bus-memory/59d31b693d13091358ce3401bfac707279097c08/catalog/plur1bus/provider.py) integrates bounded recall, asynchronous turn capture, and fsync-backed checkpoints before context compression, while keeping internal agent turns out of durable memory.",
      "worst": "The [setup requirements](https://raw.githubusercontent.com/Cyb3rb1ade/openclaw-plur1bus-memory/59d31b693d13091358ce3401bfac707279097c08/catalog/plur1bus/README.md) include activation per profile, a separate native installer for Windows ARM64, and possible read-only secondary profiles, creating substantial setup friction.",
      "standout": true,
      "blocked": null
    }
  ]
}
