{
  "batch": "read1-015",
  "plugins": [
    {
      "pr": 0,
      "name": "done-bell",
      "does": "Adds turn-completion and approval notifications, a chime, and a Desktop status/settings pane [code](https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/desktop/plugin.js).",
      "useful": 4,
      "reliable": 3,
      "polish": 3,
      "creative": 2,
      "beyond": 4,
      "total": 20,
      "best": "SDK session-state watching and mute/test controls provide a useful, lightweight Desktop completion notifier [code](https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/desktop/plugin.js).",
      "worst": "The setup instructions use the author's absolute Windows development path and a manual Desktop-pane copy, leaving portable onboarding unfinished [README](https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/README.md).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 0,
      "name": "homeassistant",
      "does": "Connects Home Assistant state-change events to Hermes and supplies four REST tools for discovering and controlling devices [code](https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/adapter.py) [code](https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/tools.py).",
      "useful": 4,
      "reliable": 4,
      "polish": 4,
      "creative": 3,
      "beyond": 5,
      "total": 25,
      "best": "The gateway adapter adds genuine event-driven operation with entity filters, cooldowns, reconnect backoff and notification delivery [code](https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/adapter.py).",
      "worst": "Entity restrictions are opt-in, so an unset allow/deny policy leaves device targeting unrestricted apart from the service-domain blocklist [code](https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/tools.py).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 153853,
      "name": "keryx",
      "does": "Lets Hermes conduct outbound voice-model calls through the user's Bluetooth-paired phone and return outcomes and transcripts [code](https://raw.githubusercontent.com/hsyvy/keryx/6c5cd7fc468a314eef0b524a29b1f12c68c0e569/keryx/orchestrator.py) [code](https://raw.githubusercontent.com/hsyvy/keryx/6c5cd7fc468a314eef0b524a29b1f12c68c0e569/keryx/transport/linux_bluetooth.py).",
      "useful": 4,
      "reliable": 4,
      "polish": 5,
      "creative": 5,
      "beyond": 5,
      "total": 28,
      "best": "The call state machine connects the voice engine before dialing and plays disclosure before forwarding callee audio, with cancellation, duration checks and cleanup [code](https://raw.githubusercontent.com/hsyvy/keryx/6c5cd7fc468a314eef0b524a29b1f12c68c0e569/keryx/orchestrator.py).",
      "worst": "A configured bluetooth_device that matches no modem silently falls back to the sole connected candidate, risking use of the wrong phone [code](https://raw.githubusercontent.com/hsyvy/keryx/6c5cd7fc468a314eef0b524a29b1f12c68c0e569/keryx/transport/linux_bluetooth.py).",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 150025,
      "name": "usage-hud",
      "does": "Shows Codex account quota windows, reset countdowns and focused-session usage in the Hermes Desktop status bar [code](https://raw.githubusercontent.com/aktogde1/hermes-usage-hud/097bbb5ef882dd6eb19d9afd9003e565130050e1/desktop/plugin.js).",
      "useful": 4,
      "reliable": 4,
      "polish": 3,
      "creative": 2,
      "beyond": 4,
      "total": 21,
      "best": "It rejects invalid or expired quota readings, keeps multiple account pools separate, and labels remaining quota distinctly from used context [code](https://raw.githubusercontent.com/aktogde1/hermes-usage-hud/097bbb5ef882dd6eb19d9afd9003e565130050e1/desktop/plugin.js).",
      "worst": "Account reporting is hard-coded to openai-codex and its Session/Weekly windows, so users of other providers get no account-limit view [code](https://raw.githubusercontent.com/aktogde1/hermes-usage-hud/097bbb5ef882dd6eb19d9afd9003e565130050e1/desktop/plugin.js).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 150099,
      "name": "archytan-lite",
      "does": "Gates Hermes tool calls through an external authorization service and redeems single-use capabilities before allowing execution [code](https://raw.githubusercontent.com/High-ArchyTech-Solutions/hermes-archytan-lite/38748165b089f776acf9d6119eaeafdb76eed83e/archytan-lite/gate.py).",
      "useful": 4,
      "reliable": 3,
      "polish": 4,
      "creative": 4,
      "beyond": 5,
      "total": 25,
      "best": "All checks must authorize before any capability is redeemed, and missing configuration, missing capabilities or failed redemption refuse execution [code](https://raw.githubusercontent.com/High-ArchyTech-Solutions/hermes-archytan-lite/38748165b089f776acf9d6119eaeafdb76eed83e/archytan-lite/gate.py).",
      "worst": "The shell policy reduces executable paths to basenames, so a workspace executable named ls receives the same program identity as system ls, weakening executable restrictions [code](https://raw.githubusercontent.com/High-ArchyTech-Solutions/hermes-archytan-lite/38748165b089f776acf9d6119eaeafdb76eed83e/archytan-lite/shell.py).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 152834,
      "name": "dead-drop",
      "does": "Exchanges bounded questions, answers and acknowledgments between approved agents through a private GitHub mailbox [code](https://raw.githubusercontent.com/KMX415/dead-drop-hermes/40c1551a9ed8b9d8fc15b481fdf2f4fc746487c6/plugin/runtime.py) [code](https://raw.githubusercontent.com/KMX415/dead-drop-hermes/40c1551a9ed8b9d8fc15b481fdf2f4fc746487c6/plugin/engine/github.mjs).",
      "useful": 4,
      "reliable": 4,
      "polish": 4,
      "creative": 3,
      "beyond": 4,
      "total": 23,
      "best": "A durable SQLite ledger preserves exact retry payloads, enforces message and attempt budgets, and links answers before acknowledging questions [code](https://raw.githubusercontent.com/KMX415/dead-drop-hermes/40c1551a9ed8b9d8fc15b481fdf2f4fc746487c6/plugin/runtime.py).",
      "worst": "The GitHub transport rewrites a single mailbox JSON document capped at 750,000 bytes, after which further writes require archiving [code](https://raw.githubusercontent.com/KMX415/dead-drop-hermes/40c1551a9ed8b9d8fc15b481fdf2f4fc746487c6/plugin/engine/github.mjs).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 151588,
      "name": "watch-with-me",
      "does": "Builds subtitle-anchored film commentary and releases sourced notes alongside Plex playback [code](https://raw.githubusercontent.com/jcrabapple/watch-with-me/adb0c77fafd65d6302e51ea5b3b063cf894ec921/watch_with_me/cues.py).",
      "useful": 3,
      "reliable": 2,
      "polish": 4,
      "creative": 4,
      "beyond": 4,
      "total": 21,
      "best": "Commentary anchors must resolve against actual subtitle lines, and release filtering checks spoiler dependencies before showing a note [code](https://raw.githubusercontent.com/jcrabapple/watch-with-me/adb0c77fafd65d6302e51ea5b3b063cf894ec921/watch_with_me/cues.py).",
      "worst": "Optional Jev API keys are written to and read from jev-api-key.json instead of remaining exclusively in Hermes secret storage [code](https://raw.githubusercontent.com/jcrabapple/watch-with-me/adb0c77fafd65d6302e51ea5b3b063cf894ec921/watch_with_me/jev.py).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 153495,
      "name": "clean-exit",
      "does": "Tracks newly created files in a selected Windows session folder and offers reviewed archiving and restoration [code](https://raw.githubusercontent.com/ladyFaye1998/hermes-clean-exit/1df8501113e5a195fef3794e660ac3839900987f/clean_exit/plugin.py) [code](https://raw.githubusercontent.com/ladyFaye1998/hermes-clean-exit/1df8501113e5a195fef3794e660ac3839900987f/clean_exit/review.py).",
      "useful": 4,
      "reliable": 4,
      "polish": 4,
      "creative": 3,
      "beyond": 4,
      "total": 23,
      "best": "Archiving checks recorded bytes and file identity, refuses occupied destinations, and records the destination before moving files so interrupted work remains recoverable [code](https://raw.githubusercontent.com/ladyFaye1998/hermes-clean-exit/1df8501113e5a195fef3794e660ac3839900987f/clean_exit/review.py).",
      "worst": "Tracking only observes Windows write_file calls, leaving files produced by shell commands or other editing tools outside its cleanup workflow [code](https://raw.githubusercontent.com/ladyFaye1998/hermes-clean-exit/1df8501113e5a195fef3794e660ac3839900987f/clean_exit/plugin.py).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 150080,
      "name": "factkit",
      "does": "Adds semantic memory recall before model calls, reorders fact-store search results, and indexes new facts after sessions [code](https://raw.githubusercontent.com/MohamedElsiddig/hermes-plugin-factkit/ffe3e255755e5b2b92bd5a06dfb89a0d549544d9/__init__.py).",
      "useful": 4,
      "reliable": 2,
      "polish": 2,
      "creative": 3,
      "beyond": 5,
      "total": 21,
      "best": "Optional recall has bounded embedding requests, failure fallback and a circuit breaker, while session-end indexing has a separate wait budget [code](https://raw.githubusercontent.com/MohamedElsiddig/hermes-plugin-factkit/ffe3e255755e5b2b92bd5a06dfb89a0d549544d9/__init__.py).",
      "worst": "The loader accepts file and environment credentials and globally caches the resolved key and database configuration without a profile boundary, creating a credential and memory isolation risk [code](https://raw.githubusercontent.com/MohamedElsiddig/hermes-plugin-factkit/ffe3e255755e5b2b92bd5a06dfb89a0d549544d9/__init__.py).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 150642,
      "name": "hermes-detox",
      "does": "Replaces large tool and terminal outputs with compact reports backed by locally stored evidence and retrieval tools [code](https://raw.githubusercontent.com/kellycryptos/hermes-detox/6efe12bea00546d0e200c67c7afec5e1ac056ce7/__init__.py).",
      "useful": 5,
      "reliable": 3,
      "polish": 4,
      "creative": 3,
      "beyond": 5,
      "total": 25,
      "best": "It redacts output before persistence, skips its own retrieval tools, and preserves the original result when storage, extraction or compression fails [code](https://raw.githubusercontent.com/kellycryptos/hermes-detox/6efe12bea00546d0e200c67c7afec5e1ac056ce7/__init__.py).",
      "worst": "Neither transformation hook applies max_report_chars, so reports that satisfy the ratio gate can still exceed the advertised absolute character budget [code](https://raw.githubusercontent.com/kellycryptos/hermes-detox/6efe12bea00546d0e200c67c7afec5e1ac056ce7/__init__.py).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 152975,
      "name": "loshify",
      "does": "Curates Spotify playlists from listening history and proposed tracks while filtering dislikes, duplicates and recent repeats [code](https://raw.githubusercontent.com/iHeavyShoes/loshify/4e247cb54f81264107f2cca2d30ad9510b6abf94/core/curate.py).",
      "useful": 4,
      "reliable": 4,
      "polish": 4,
      "creative": 3,
      "beyond": 4,
      "total": 23,
      "best": "Track proposals must resolve against Spotify search results and pass taste filters, and refreshes refuse playlists absent from its own managed-playlist ledger [code](https://raw.githubusercontent.com/iHeavyShoes/loshify/4e247cb54f81264107f2cca2d30ad9510b6abf94/core/curate.py).",
      "worst": "Creating and filling a playlist are separate operations, so a fill failure can leave an empty playlist and retrying in new mode creates another [code](https://raw.githubusercontent.com/iHeavyShoes/loshify/4e247cb54f81264107f2cca2d30ad9510b6abf94/core/curate.py).",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 149691,
      "name": "godseye",
      "does": "Connects Hermes to a live globe for public geospatial queries, map control, annotations, saved investigations and area-watch alerts [code](https://raw.githubusercontent.com/mojomast/EOH/9d433e49645df8ee549b58467876eb1e5daa0f34/gev/hermes_tools.py).",
      "useful": 3,
      "reliable": 4,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "total": 26,
      "best": "Live map control, model-generated HUD captions and watch delivery are integrated into Hermes tools and its turn-state hook, making the globe part of the agent workflow [code](https://raw.githubusercontent.com/mojomast/EOH/9d433e49645df8ee549b58467876eb1e5daa0f34/gev/hermes_tools.py).",
      "worst": "Full functionality requires separately cloning, building and running a compatible globe fork, and its tool snapshots need refreshing when that external catalog changes [setup](https://raw.githubusercontent.com/mojomast/EOH/9d433e49645df8ee549b58467876eb1e5daa0f34/README.md).",
      "standout": false,
      "blocked": null
    }
  ]
}
