{
  "batch": "read1-078",
  "plugins": [
    {
      "pr": 0,
      "name": "done-bell",
      "does": "Hooks Hermes lifecycle events (session end, approval requests, agent-loop-stopped) to play an OS notification/chime and show a busy/done/needs-you status chip, with no API keys and no chat/file access.",
      "useful": 2,
      "reliable": 4,
      "polish": 4,
      "creative": 2,
      "beyond": 3,
      "best": "Clean, defensive code with atomic file writes and a real passing test suite, and it touches no secrets or high-impact actions.",
      "worst": "Extremely narrow single-purpose convenience feature that arguably belongs in Hermes core rather than as an installed plugin.",
      "standout": false,
      "blocked": null,
      "total": 18
    },
    {
      "pr": 0,
      "name": "homeassistant",
      "does": "An official platform/tool plugin that subscribes to Home Assistant's WebSocket event bus and exposes REST tools (list entities, get state, list services, call service) so the model can query and control smart-home devices.",
      "useful": 4,
      "reliable": 4,
      "polish": 4,
      "creative": 2,
      "beyond": 5,
      "best": "Mature, well-tested integration that reads credentials only via the host's secret-scope API and validates entity/service names with strict regex plus a domain blocklist.",
      "worst": "The device-control tool (call_service) can perform high-impact physical actions (locks, alarms) with no approval step inside the plugin itself; the README admits the blocklist is 'the only guard'.",
      "standout": false,
      "blocked": null,
      "total": 24
    },
    {
      "pr": 154078,
      "name": "harness-story",
      "does": "Reconstructs a Hermes session's tool calls, context growth and subagent delegations from the local session database and live telemetry, then renders a narrated, animated HTML5 'story' of the session via tools, hooks, a dashboard backend and a Desktop pane.",
      "useful": 3,
      "reliable": 4,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "best": "Reads the session database strictly read-only, sanitizes all file paths against traversal, and ships the heaviest test coverage of the batch including a separate Desktop test harness.",
      "worst": "Appeals mainly to developers/power users debugging agent behavior rather than a mass-market day-one audience.",
      "standout": true,
      "blocked": null,
      "total": 26
    },
    {
      "pr": 151539,
      "name": "shotlane",
      "does": "An MCP server/Agent Skill wrapper that forwards URLs and HTML to the external shotlane.dev SaaS to return screenshots, Markdown page content and PDFs.",
      "useful": 4,
      "reliable": 2,
      "polish": 3,
      "creative": 2,
      "beyond": 2,
      "best": "Addresses a broadly useful need (visual QA / PDF generation / scraping JS-heavy pages) with clear documentation.",
      "worst": "No tests anywhere in the repo, and almost all real logic lives off-repo in the paid third-party SaaS, leaving little the plugin itself does beyond a thin API-key pass-through.",
      "standout": false,
      "blocked": null,
      "total": 15
    },
    {
      "pr": 151177,
      "name": "external-agents-agy",
      "does": "Registers a custom Hermes model-provider that supervises the external AGY (Antigravity) CLI as a subprocess so Hermes's delegate_task can hand child tasks to that separate, already-authenticated agent instead of Hermes's native subagent loop.",
      "useful": 3,
      "reliable": 4,
      "polish": 4,
      "creative": 4,
      "beyond": 5,
      "best": "Unusually rigorous safety engineering for a high-impact capability: durable at-most-once job fencing, owner-only file permissions, explicit opt-in gating, non-bypassable shell-approval dialogs, and an honest limitations section backed by real unit tests.",
      "worst": "Narrow applicability since it requires a specific external CLI already installed and authenticated, with only macOS arm64 actually live-tested.",
      "standout": true,
      "blocked": null,
      "total": 25
    },
    {
      "pr": 153409,
      "name": "ligis",
      "does": "A read-only on-chain verification plugin (scoped to its hermes-plugin/ subfolder) that checks whether a payment destination holds a live, revocable credential on an EVM testnet registry, and gates/annotates payment-shaped tool calls via pre_tool_call/transform_tool_result hooks that escalate to Hermes's own approval prompt.",
      "useful": 3,
      "reliable": 5,
      "polish": 4,
      "creative": 4,
      "beyond": 4,
      "best": "Fails closed on any registry outage or unknown result, holds no keys and sends no transactions itself, and routes payment gating through Hermes's native approval prompt rather than auto-approving.",
      "worst": "EVM-testnet-only in this release, and its payment-shaped-call detection relies on regex heuristics on tool names/args that the README itself admits can miss some payment shapes (e.g. wallet-server-settled payments).",
      "standout": false,
      "blocked": null,
      "total": 24
    },
    {
      "pr": 153071,
      "name": "cron-budget",
      "does": "A middleware/hook plugin that keeps a shared SQLite ledger of provider LLM-call counts across profiles and, in enforce mode, holds cron-triggered chat completions once usage passes a reserved threshold so interactive chat always keeps its quota.",
      "useful": 4,
      "reliable": 5,
      "polish": 5,
      "creative": 3,
      "beyond": 5,
      "best": "Structurally guaranteed to never block interactive chat, fails open on internal errors, and stores only call metadata with real unit and declared e2e tests covering edge cases.",
      "worst": "Only the chat_completions API mode is actually enforced; other modes (Anthropic Messages, Codex Responses) are merely logged as 'would-block', so protection is partial.",
      "standout": true,
      "blocked": null,
      "total": 27
    },
    {
      "pr": 153804,
      "name": "skilluminati",
      "does": "A plugin that empirically A/B-tests whether an installed Hermes skill helps: it replays past tasks once with and once without the skill, has a blind, order-swapped, hash-pinned-rubric LLM judge pick the better answer, and surfaces an Enlightened/Dead-weight/Hindrance/Unproven verdict via chat and a Desktop dashboard page.",
      "useful": 3,
      "reliable": 4,
      "polish": 5,
      "creative": 5,
      "beyond": 5,
      "best": "Genuinely novel idea executed with unusual rigor: PII redaction before any model call, frozen/hash-verified rubrics, blind order-swapped judging, and a self-test harness with deliberately poisoned fixtures to validate the judge itself; the plugin never holds credentials of its own.",
      "worst": "No conventional pytest-style test directory (only its own selftest.py harness), and its own README discloses that repeated runs on the same skill can give unstable verdicts.",
      "standout": true,
      "blocked": null,
      "total": 27
    },
    {
      "pr": 151086,
      "name": "stash",
      "does": "A 'read-it-later' capture-bin plugin that saves links, images and notes into a local JSON file with server-side thumbnail/title enrichment, exposed through chat tools and a Desktop sidebar UI.",
      "useful": 3,
      "reliable": 3,
      "polish": 5,
      "creative": 2,
      "beyond": 4,
      "best": "The most finished product of the batch: a full React Desktop sidebar UI, dashboard backend, screenshot, and SSRF/path-traversal hardening on its own enrichment fetches, despite its secrets-sounding name holding no credentials at all.",
      "worst": "No automated test suite exists anywhere in the repository, unlike comparable entries.",
      "standout": false,
      "blocked": null,
      "total": 21
    },
    {
      "pr": 149716,
      "name": "agent-desktop-gnome",
      "does": "A Hermes computer_use provider that drives a real GNOME Linux desktop via AT-SPI accessibility APIs through a pinned, checksum-verified third-party binary, restricted to semantic element actions only (no screenshots, raw mouse/keyboard, or window focus).",
      "useful": 3,
      "reliable": 4,
      "polish": 4,
      "creative": 3,
      "beyond": 5,
      "best": "Careful security engineering: SHA256-pinned binary with no runtime network calls, argv-only subprocess execution, secret-field redaction, and explicit seat-isolation checks.",
      "worst": "Its own README states catalog admission is pending on an unrelated upstream Hermes bug, and most of the action surface (coordinates, drag, scroll, screenshots) is deliberately refused, narrowing real-world usefulness.",
      "standout": false,
      "blocked": null,
      "total": 24
    },
    {
      "pr": 153889,
      "name": "accountability-partner",
      "does": "A promise-tracking plugin that stores user commitments in a local SQLite ledger, verifies completion via user replies or rule-based checks against other tools' real results, and gates user-chosen consequences (payments, app blocks) through Hermes's own tool-approval system.",
      "useful": 3,
      "reliable": 4,
      "polish": 3,
      "creative": 4,
      "beyond": 4,
      "best": "Code-enforced guardrails prevent the model from self-certifying a promise as done or exceeding user-set money/payee caps for consequences, backed by real unit tests.",
      "worst": "A user can opt a promise into a 24-hour-cooloff 'locked' state that then fires a real consequence (payment or app block) without a fresh approval prompt on that specific miss.",
      "standout": false,
      "blocked": null,
      "total": 22
    },
    {
      "pr": 152612,
      "name": "sampler",
      "does": "A middleware plugin that sets the temperature/top_p sampling parameters on outgoing LLM requests across chat_completions, Anthropic Messages and Bedrock Converse, based on default/platform/model rules or a per-session override.",
      "useful": 3,
      "reliable": 5,
      "polish": 4,
      "creative": 3,
      "beyond": 4,
      "best": "Extremely disciplined safety design (deepcopy, no conflicting params on Anthropic, respects Hermes's own fixed-temperature omit list) with 48 tests covering precedence and each request type.",
      "worst": "Narrow value since most casual users never touch sampling parameters, and session overrides are lost on restart.",
      "standout": false,
      "blocked": null,
      "total": 23
    }
  ]
}