Skip to content

Add Event Gateway agent plugin and evals - #307

Open
rforgeon wants to merge 1 commit into
hookdeck:mainfrom
rforgeon:codex/add-event-gateway-plugin
Open

Add Event Gateway agent plugin and evals#307
rforgeon wants to merge 1 commit into
hookdeck:mainfrom
rforgeon:codex/add-event-gateway-plugin

Conversation

@rforgeon

Copy link
Copy Markdown

Summary

  • add a small Hookdeck Event Gateway agent plugin package under plugins/hookdeck-event-gateway
  • include Codex and Claude plugin metadata, a Hookdeck-specific Skill, and JSONL eval cases
  • link the plugin from the Event Gateway MCP section in the README

The plugin is the installable package for agent workspaces. The Skill is the focused workflow guide inside that plugin for operating hookdeck gateway mcp safely.

Privacy / telemetry

The plugin docs and evals avoid prompts, source files, webhook payloads, API keys, signing secrets, customer data, tool arguments, and model outputs.

Validation

node -e "for (const f of ['plugins/hookdeck-event-gateway/.codex-plugin/plugin.json','plugins/hookdeck-event-gateway/.claude-plugin/plugin.json']) JSON.parse(require('fs').readFileSync(f,'utf8')); const lines=require('fs').readFileSync('plugins/hookdeck-event-gateway/evals/hookdeck-event-gateway/cases.jsonl','utf8').trim().split(/\n/); lines.forEach(JSON.parse); console.log('valid plugin json and jsonl lines='+lines.length);"

Output:

valid plugin json and jsonl lines=3

@leggetter

Copy link
Copy Markdown
Collaborator

Thanks for this — reviewed as part of the v2.5.0 triage. Holding it out of that release (which is bug fixes only), but it's close and there's no conflict blocking it: plugins/ doesn't exist on main, so all six new files land cleanly. mergeStateStatus: BEHIND just means the branch needs updating.

Two things worth resolving first.

1. The Skill won't be loaded in this repo at that path.

AGENTS.md:586 sets the convention:

Location: Repo-specific agent skills live under skills/ at the repository root

and .claude/skills, .cursor/skills and .agents/skills are all symlinks to ../skills. A skill at plugins/hookdeck-event-gateway/skills/hookdeck-event-gateway/SKILL.md sits outside that tree, so neither Claude Code nor Cursor will pick it up when working in this repo.

That may well be intentional — the plugin is a distributable package, not a repo-local skill, and those are different things. If so, could you add a line to AGENTS.md § Agent skills distinguishing the two locations? Otherwise the next person adding a skill has two contradictory examples. (Related: I've just deduplicated .agents/skills into a symlink in #336, since it had drifted into a byte-identical copy.)

2. It sits under a stale "read-only" sentence.

The hunk lands inside ### Event Gateway MCP, whose opening line (README.md:577) still describes the server as exposing "read-only tools". That was already inaccurate — hookdeck_connections does pause/unpause, and the README's own tool table says so — but this PR makes the mismatch louder, since the Skill's whole premise is approval-gated mutating actions. Worth fixing that sentence in the same PR.

Verified as accurate: the anchor line still exists on main (now at README.md:607), so the hunk will offset cleanly; the relative link resolves once merged; both plugin.json files and cases.jsonl parse; and every command the SKILL.md references exists — hookdeck gateway mcp (pkg/cmd/mcp.go:18), and connection/source/destination/transformation/event/request/attempt/metrics/issue all resolve under gateway. The capability list maps onto the documented tools with nothing invented.

One question: telvine (in the plugin README's packaging section) and the skill.invoked / skill.completed / skill.error telemetry vocabulary don't appear anywhere else in this repo — the CLI's own telemetry is in pkg/cmd/telemetry.go and uses different events. Are those aspirational, or is there tooling behind them we should link to?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants