{
  "batch": "read1-124",
  "plugins": [
    {
      "pr": 0,
      "name": "done-bell",
      "does": "Adds turn-completion and approval notifications, a chime, and a Desktop status pane.",
      "useful": 4,
      "reliable": 3,
      "polish": 3,
      "creative": 2,
      "beyond": 4,
      "total": 20,
      "best": "Lifecycle hooks and a Desktop watcher make unobtrusive completion alerts possible outside the conversation.",
      "worst": "Setup uses a developer-specific Windows path and manual Desktop copying, while tests disable OS notifications and do not cover the renderer.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 0,
      "name": "homeassistant",
      "does": "Connects Hermes to Home Assistant events and provides four tools to inspect and control devices.",
      "useful": 4,
      "reliable": 5,
      "polish": 4,
      "creative": 3,
      "beyond": 5,
      "total": 26,
      "best": "A real gateway adapter combines filtered device events, notification delivery, and smart-home control.",
      "worst": "Device control is unrestricted by entity unless the operator configures filters, and custom scripts can have effects beyond their named entity.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 153947,
      "name": "hermes-hyperframes",
      "does": "Adds Hyperframes video tools and a dashboard with managed Studio preview and composition-aware agent chat.",
      "useful": 3,
      "reliable": 2,
      "polish": 4,
      "creative": 3,
      "beyond": 4,
      "total": 20,
      "best": "The dashboard connects visual selection, preview, and a persistent Hermes session for an integrated video-editing workflow.",
      "worst": "The backend directly reads API_SERVER_KEY from Hermes .env and accepts a plaintext config override, violating the catalog credential route.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 151850,
      "name": "prompt-firewall",
      "does": "Quarantines regex-detected prompt injections in tool results and blocks or escalates risky tool actions through native hooks.",
      "useful": 4,
      "reliable": 3,
      "polish": 3,
      "creative": 3,
      "beyond": 5,
      "total": 23,
      "best": "Tool-result transformation plus an action gate provide deterministic enforcement that a reminder prompt cannot supply.",
      "worst": "The pinned runtime tree excludes all claimed tests, and pattern matching leaves documented language, execution-path, and approval-cache gaps.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 153734,
      "name": "redgreen",
      "does": "Rechecks fixes on current and pre-change Git trees and gates completion on a discriminating negative-control test.",
      "useful": 4,
      "reliable": 2,
      "polish": 5,
      "creative": 4,
      "beyond": 5,
      "total": 25,
      "best": "Automatic baseline capture, test overlay, tamper checks, and completion hooks directly improve coding-agent verification.",
      "worst": "Test-runner recognition is an unanchored regex, and shell metacharacters trigger shell execution from tools or hooks without a separate approval gate.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 152205,
      "name": "tallyhand",
      "does": "Adds a Twitch gateway platform with role-restricted chat tools, moderation approvals, viewer notes, and OBS control.",
      "useful": 3,
      "reliable": 5,
      "polish": 4,
      "creative": 4,
      "beyond": 5,
      "total": 26,
      "best": "Code-enforced roles, fail-closed memory protection, and extensive offline protocol tests make a public-chat agent unusually well defended.",
      "worst": "Serving viewers safely requires a separate profile with memory disabled and careful context settings, while bot tokens need manual renewal.",
      "standout": true,
      "blocked": null
    },
    {
      "pr": 152949,
      "name": "pepper",
      "does": "Uses ParlayTix MCP to find conditional tickets, split owned tickets into outcome rights, and manage saved drafts and watches.",
      "useful": 2,
      "reliable": 4,
      "polish": 4,
      "creative": 3,
      "beyond": 3,
      "total": 19,
      "best": "Account-scoped state, exact-term rechecks, and durable idempotency keys handle lost issuance responses carefully.",
      "worst": "The workflow depends on a separately admitted ParlayTix account and eligible tickets, and most capability is supplied by the external MCP service.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 151088,
      "name": "postkitty",
      "does": "Creates checked social-platform text and media variants with face-aware framing, local renders, and an HTML review board.",
      "useful": 4,
      "reliable": 4,
      "polish": 5,
      "creative": 3,
      "beyond": 3,
      "total": 22,
      "best": "A substantial local media pipeline checks and repairs outputs and provides a useful review board across eight platforms.",
      "worst": "FFmpeg rendering and probing include subprocess calls without timeouts, so malformed media or a stuck process can hold a tool call indefinitely.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 149397,
      "name": "finder",
      "does": "Adds a Hermes Desktop sidebar for searching and managing projects and sessions with usage statistics.",
      "useful": 4,
      "reliable": 3,
      "polish": 3,
      "creative": 2,
      "beyond": 5,
      "total": 22,
      "best": "A native Desktop pane makes project-name search and session navigation available without asking the model.",
      "worst": "The pinned repository has no automated tests, its README retains a screenshot placeholder, and search covers loaded session metadata rather than full histories.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 152287,
      "name": "counterparty",
      "does": "Screens counterparties against vendor-list data and public-record APIs before outward tool actions and adds research warnings.",
      "useful": 3,
      "reliable": 3,
      "polish": 4,
      "creative": 4,
      "beyond": 5,
      "total": 24,
      "best": "A pre-action approval hook with cited findings and bundled offline matches adds due diligence even when the model forgets to ask.",
      "worst": "In default ask mode an offline clean-looking name passes silently, contrary to the promised offline note, and internal hook errors also fail open.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 153185,
      "name": "deja-fix",
      "does": "Fingerprints edited file versions and blocks one attempt to restore a version previously associated with a failed check.",
      "useful": 4,
      "reliable": 4,
      "polish": 3,
      "creative": 4,
      "beyond": 5,
      "total": 25,
      "best": "A small dependency-free lifecycle guard catches repeated failed code reached through different edit calls.",
      "worst": "It only tracks write_file and patch, attributes a failed check to every dirty file, and lets the same failed version through on retry.",
      "standout": false,
      "blocked": null
    },
    {
      "pr": 152314,
      "name": "jalancost",
      "does": "Calculates Malaysian road-trip fuel costs, optional toll totals, and per-passenger shares from supplied values.",
      "useful": 2,
      "reliable": 4,
      "polish": 3,
      "creative": 1,
      "beyond": 1,
      "total": 12,
      "best": "Decimal arithmetic, explicit fuel-only results, and input-validation tests make the narrow calculation easy to understand.",
      "worst": "It performs only user-supplied arithmetic, with no route, price, service, or Hermes capability that a calculator skill could not provide.",
      "standout": false,
      "blocked": null
    }
  ]
}
