Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Cloudgeni-ai/opengeni --skill event-triggersgit clone --depth 1 https://github.com/Cloudgeni-ai/opengeniWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/cloudgeni-ai/opengeni/event-triggers)<a href="https://agentmods.dev/skills/cloudgeni-ai/opengeni/event-triggers"><img src="https://agentmods.dev/badge/skills/cloudgeni-ai/opengeni/event-triggers/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/cloudgeni-ai/opengeni/event-triggers"><img src="https://agentmods.dev/badge/skills/cloudgeni-ai/opengeni/event-triggers.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00061 | $0.01788 |
| Opus 5.5 | $0.00024 | $0.00715 |
| Sonnet 5.5 | $0.00012 | $0.00358 |
| Haiku 4.5 | $0.00006 | $0.00179 |
Grade A, and why
event-triggers scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
React to events
An automation (a scheduled task) can run when an event arrives, instead of or as well as on a schedule. Each run receives the events that caused it, listed after its instructions.
Find the source and event type
event_sources_listlists the sources you can use, and underreadyToAddthe ones that need no setup: MCP servers the user is signed in to that offer events, their Gmail, and This workspace for meetings. AreadyToAddid works wherever a source id does; the user's source is added the first time it is used. If the app the user means is in neither list and it sends webhooks, add it yourself withevent_sources_create_webhook(below). A person adds GitHub and Slack sources in Automations. Do not build a workaround such as polling on a schedule unless they ask for one.event_sources_listwith asourceIdlists that source's event types and the fields conditions can match. Pick the narrowest type, for examplepull_request.openedrather than every pull request event.
Add a webhook source
event_sources_create_webhook adds any app that sends JSON webhooks. Pass
preset for linear, sentry or tailscale. For any other app, read its
webhook docs and write format:
signature, how the app proves a delivery is its own:{ "scheme": "standard_webhooks" }:webhook-id,webhook-timestampandwebhook-signatureheaders with awhsec_secret (Svix-based apps).{ "scheme": "hmac_sha256", "header": "X-Hub-Signature-256", "prefix": "sha256=" }: an HMAC-SHA256 of the body,"encoding": "hex"(default) or"base64". When the app signs more than the body, addsignedContent, such as"v0:{header:X-Request-Timestamp}:{body}".{ "scheme": "timestamped_hmac_sha256", "header": "Stripe-Signature" }: at=…,v1=…header over<t>.<body>.{ "scheme": "token", "header": "X-Gitlab-Token" }: the secret itself in a header, after an optionalprefixsuch as"Bearer ".{ "scheme": "ed25519", "header": "X-Signature-Ed25519", "signedContent": "{header:X-Signature-Timestamp}{body}" }: the secret is the app's public key.{ "scheme": "url_token" }only for an app that can't sign at all: the secret goes in the address as?token=…(parameterrenames it).
type, the event type:{ "path": "type" },{ "header": "X-Event-Key" },{ "value": "page.changed" }when every delivery is the same, or{ "parts": [{ "header": "X-Resource" }, { "path": "action" }] }, joined with..- Optional:
deliveryId(aheaderorpath) so retries are kept once;eventId, each event's own id so an event sent again runs once (a path, a list of paths, orpartsjoined liketype, such as an alert'sstatus,fingerprintandstartsAt; an event missing a part has no id);occurredAt;summary,subject,urlandactor(a path, or a list of paths where the first with text wins);actorKind, such as{ "path": "actor.type", "person": ["user"] };freshness, such as{ "header": "X-Timestamp", "toleranceSeconds": 300 }, when the app sends a timestamp, so old deliveries can't be sent again;batch({}or{ "path": "events" }) when one delivery holds a list of events.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago Changed · +51 lines 15da60e2dde1
- 11d ago First seen · 72 lines · 61 tokens per session scan A 5528e5e35d89
event-triggers is a skill published in the GitHub repository Cloudgeni-ai/opengeni (216 stars, last pushed today), licensed Apache-2.0. It adds 61 tokens to every session and 1,788 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-26.
event-triggers compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| event-triggersCloudgeni-ai/opengeni | Skill | 216 | today | Apache-2.0 | A | 61 | Claude Code, Codex |
| output-meta-project-contextgrowthxai/output | Skill | 444 | 4d ago | Apache-2.0 | A | 54 | Claude Code |
| output-dev-eval-testinggrowthxai/output | Skill | 444 | 4d ago | Apache-2.0 | A | 47 | Claude Code |
| output-eval-error-analysisgrowthxai/output | Skill | 444 | 4d ago | Apache-2.0 | A | 38 | Claude Code |
| output-build-workflowgrowthxai/output | Skill | 444 | 4d ago | Apache-2.0 | A | 52 | Claude Code |
| output-dev-create-skeletongrowthxai/output | Skill | 444 | 4d ago | Apache-2.0 | A | 35 | Claude Code |
| output-dev-folder-structuregrowthxai/output | Skill | 444 | 4d ago | Apache-2.0 | A | 31 | Claude Code |