{
  "batch": "read2-014",
  "plugins": [
    {
      "pr": 0,
      "name": "done-bell",
      "does": "Adds turn-end and approval notifications, a chime, and a Desktop status chip and settings pane.",
      "useful": 4,
      "reliable": 3,
      "polish": 2,
      "creative": 2,
      "beyond": 4,
      "total": 19,
      "best": "Lifecycle hooks and Desktop busy-state observation solve a common interruption problem without an external service.",
      "worst": "The README uses a developer-specific Windows install path and manual pane copying, while tests disable OS notifications and do not exercise Desktop delivery.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 0,
      "name": "homeassistant",
      "does": "Connects Hermes to Home Assistant events and notifications and supplies four device-query and control tools.",
      "useful": 4,
      "reliable": 5,
      "polish": 4,
      "creative": 3,
      "beyond": 5,
      "total": 26,
      "best": "A genuine gateway platform combines filtered event-driven agent turns with secret-store credentials, service restrictions and extensive policy regression tests.",
      "worst": "Useful chiefly to Home Assistant owners, and entity restrictions remain opt-in rather than limiting the token itself.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 153113,
      "name": "standing-orders",
      "does": "Turns camera observations into budgeted plain-English event triggers that wake Hermes with evidence clips.",
      "useful": 4,
      "reliable": 4,
      "polish": 4,
      "creative": 5,
      "beyond": 5,
      "total": 27,
      "best": "The constrained watch program, local-to-vision cascade, deterministic replay and correction mechanism give Hermes a substantial new sensing capability.",
      "worst": "The pinned release supports only macOS cameras, its benchmark is explicitly in-sample, and the live demonstration used model calls rather than the local checks.",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 153854,
      "name": "session-cassettes",
      "does": "Records read-only session results and replays requests through tool middleware to check user-pinned answer facts.",
      "useful": 4,
      "reliable": 2,
      "polish": 3,
      "creative": 4,
      "beyond": 5,
      "total": 23,
      "best": "Tool interception and snapshot-backed synthesized reads make regression comparisons possible without a separate judge model.",
      "worst": "An unclaimed replay can execute live tools before being graded INVALID, so the intended offline safety property is not guaranteed.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 149270,
      "name": "hermes-watchdog",
      "does": "Matches cron incidents to bounded repair playbooks and records whether Hermes confirms recovery.",
      "useful": 4,
      "reliable": 1,
      "polish": 4,
      "creative": 3,
      "beyond": 5,
      "total": 22,
      "best": "Repairs are checked against actual cron incident or execution state and exposed through tools and a Desktop health view.",
      "worst": "The agent can save arbitrary check-command argv through watchdog_runbooks and run it directly via repair, with no plugin-side human approval; calling these user-authored checks understates that reach.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 152214,
      "name": "passkey-gate",
      "does": "Binds exact actions or tool calls to phone passkey signatures and optionally blocks matching calls until a single-use approval exists.",
      "useful": 4,
      "reliable": 4,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "total": 27,
      "best": "Local signature verification, exact-call binding, atomic single-use approvals and extensive adversarial tests support a practical remote human-approval workflow.",
      "worst": "Pattern-based enforcement can be routed around, and the gate is not a security boundary when the agent can edit its configuration, code or database.",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 150873,
      "name": "skill-court",
      "does": "Runs paired skill trials in sandboxed Hermes profiles, hides harmful skills per model, and proposes tested fixes for explicit application.",
      "useful": 5,
      "reliable": 4,
      "polish": 5,
      "creative": 5,
      "beyond": 5,
      "total": 29,
      "best": "Closes Hermes's self-written-skill feedback loop with paired outcomes, reversible live quarantine, budgeted automation and reviewable appeals.",
      "worst": "Mined tasks lack the original workspace, and model-judged outcomes plus reusing the same tasks for appeals limit how confidently a verdict generalizes.",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 153828,
      "name": "dreaming",
      "does": "Adds a local transcript-backed memory provider that consolidates notes into a linked wiki and recalls it in later sessions.",
      "useful": 5,
      "reliable": 3,
      "polish": 4,
      "creative": 3,
      "beyond": 5,
      "total": 25,
      "best": "Provider-level capture, automatic recall and bounded file-operation consolidation directly improve continuity across Hermes sessions.",
      "worst": "Correction is still model judgment over retrieved excerpts; the reported gains come from small tests on one model and do not establish robust general memory accuracy.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 150110,
      "name": "hermes-colab",
      "does": "Runs and supervises Python or notebook jobs on Colab runtimes, synchronizes outputs, and resumes checkpoint-aware jobs after runtime loss.",
      "useful": 4,
      "reliable": 4,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "total": 27,
      "best": "Hermes-managed OAuth, persistent supervision, checkpoint recovery, real-Jupyter integration tests and a Desktop job view form a complete remote-compute workflow.",
      "worst": "Setup needs the user's Google OAuth client, allocation relies on unstable Colab web endpoints, and recovery only works for appropriately checkpointed jobs.",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 150563,
      "name": "hermes-roam",
      "does": "Synchronizes encrypted, host-scoped Hermes profiles across user-owned storage with reviewed installs, conflict checks and rollback.",
      "useful": 5,
      "reliable": 5,
      "polish": 4,
      "creative": 4,
      "beyond": 5,
      "total": 28,
      "best": "Authenticated encrypted bundles, signed compare-and-swap heads, journaled restoration and explicit agent-apply controls make multi-device Hermes continuity unusually complete.",
      "worst": "It is snapshot synchronization rather than collaborative merging: both devices editing a file creates a manual conflict, and there is no Desktop pane.",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 152646,
      "name": "mcp-pin",
      "does": "Pins MCP tool definitions, hides changed descriptions and schemas, and blocks their use pending owner review.",
      "useful": 4,
      "reliable": 5,
      "polish": 4,
      "creative": 4,
      "beyond": 5,
      "total": 27,
      "best": "Covers eager tools and deferred discovery with fail-closed pin storage, definition-bound review codes and real-agent-loop integration tests.",
      "worst": "It cannot catch server behavior changes without definition changes, trusts first use by default, and does not cover Codex app-server MCP calls.",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 152312,
      "name": "flowlight",
      "does": "Reads public wallet transfers and optional Intents Pay invoices and renders explorable animated flow graphs in Hermes and a local page.",
      "useful": 3,
      "reliable": 3,
      "polish": 5,
      "creative": 3,
      "beyond": 4,
      "total": 22,
      "best": "A shared Desktop, dashboard and loopback visualization makes multi-chain flows inspectable while keeping all transaction handling read-only.",
      "worst": "The HTTP client can silently return an indefinitely old cached response after a failed read, weakening the freshness claim of its live view.",
      "standout": false,
      "blocked": null
    }
  ]
}