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 agentmods add rules/crypticsaiyan/githubwrapped/event-stepsgit clone --depth 1 https://github.com/crypticsaiyan/githubwrappedWhat 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 | $0.00000 | $0.01434 |
| Opus 5 | $0.00000 | $0.00717 |
| Sonnet 5 | $0.00000 | $0.00287 |
| Haiku 4.5 | $0.00000 | $0.00143 |
Grade A, and why
event-steps 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 yesterday.
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 — 234 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Event Steps Guide
Event Steps are used to handle asynchronous events. These steps cannot be invoked by a client or user. In order to ultimately trigger an Event Step, you need to connect it to an API Step or a CRON Step.
Examples of event steps are:
- LLM Calls
- Processing big files, like images, videos, audio, etc.
- Sending emails
Other applicable examples are tasks that are likely to fail, examples:
- Webhook call to external systems
Creating Event Steps
Steps need to be created in the steps folder, it can be in subfolders.
- Steps in TS and JS should end with
.step.tsand.step.jsrespectively. - Steps in Python should end with
_step.py.
Definition
Defining an Event Step is done by two elements. Configuration and Handler.
Schema Definition
- TypeScript/JavaScript: Motia uses Zod schemas for automatic validation of input data
- Python: Motia uses JSON Schema format. You can optionally use Pydantic models to generate JSON Schemas and handle manual validation in your handlers
Configuration
TypeScript/JavaScript: You need to export a config constant via export const config that is a EventConfig type.
Python: You need to define a config dictionary with the same properties as the TypeScript EventConfig.
export type ZodInput = ZodObject<any> | ZodArray<any>
export type StepSchemaInput = ZodInput | JsonSchema
export type Emit = string | {
/**
* The topic name to emit to.
*/
topic: string;
/**
* Optional label for the emission, could be used for documentation or UI.
*/
label?: string;
/**
* This is purely for documentation purposes,
* it doesn't affect the execution of the step.
*
* In Workbench, it will render differently based on this value.
*/
conditional?: boolean;
}
export type EventConfig = {
/**
* Should always be event
*/
type: 'event'
/**
* A unique name for this event step, used internally and for linking handlers.
*/
name: string
/**
* Optional human-readable description.
*/
description?: string
/**
* An array of topic names this step listens to.
*/
subscribes: string[]
/**
* An array of topics this step can emit events to.
*/
emits: Emit[]
/**
* Optional: Topics that are virtually emitted, perhaps for documentation or lineage, but not strictly required for execution.
*/
virtualEmits?: Emit[]
/**
* Optional: Virtually subscribed topics for documentation/lineage purposes.
*/
virtualSubscribes?: string[]
/**
* Schema for input data. Accepts either:
* - Zod schema (ZodObject or ZodArray)
* - JSON Schema object
*
* This is used by Motia to create the correct types for whoever emits the event
* to this step.
*
* Avoid adding too much data to the input schema, only add the data that
* is necessary for the Event Step to process. If the data is too big it's
* recommended to store it in the state and fetch it from the state on the
* Event Step handler.
*/
input?: StepSchemaInput
/**
* Optional: An array of flow names this step belongs to.
*/
flows?: string[]
/**
* Files to include in the step bundle.
* Needs to be relative to the step file.
*/
includeFiles?: string[]
/**
* Optional: Infrastructure configuration for handler and queue settings.
*/
infrastructure?: Partial<InfrastructureConfig>
}
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.
- yesterday First seen · 234 lines · 0 tokens per session scan A 49e1d23eeac6
event-steps is a cursor rule published in the GitHub repository crypticsaiyan/githubwrapped (5 stars, last pushed 8mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,434 tokens. 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-08-31.
Other cursor rules, from other repositories
playground-reproduce
Use when creating interactive examples for Vibe's Storybook Playground (vibe.monday.com/playground) - including bug reproductions, component demonstrations, feasibility testing, or consumer examples. Triggered by keywords like "playground", "reproduce bug", "interactive example", "user reported an issue" or…
accessibility-guidelines
Provides general web accessibility guidelines for developing components in the @vibe/core library (under packages/core/). This rule covers adherence to WCAG, use of semantic HTML, correct ARIA attribute application, ensuring keyboard navigability, proper focus management, and context-appropriate labeling for form…
code-review-en
Code Review Guidelines (English).
ci-cd-workflows
This rule provides guidance on the CI/CD pipeline, GitHub Actions workflows (defined in .github/workflows/), custom actions (in .github/actions/), versioning strategies, and release processes. Use this rule if the query involves CI/CD, build/test issues, release procedures, versioning questions, or if it references…
project-context
Copilot – quick read, commands, and where to find more.
code-conventions
Copilot – coding conventions and where to change things.