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 mits-pl/wove --skill wps-eventsgit clone --depth 1 https://github.com/mits-pl/woveWrote 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/mits-pl/wove/wps-events)<a href="https://agentmods.dev/skills/mits-pl/wove/wps-events"><img src="https://agentmods.dev/badge/skills/mits-pl/wove/wps-events/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/mits-pl/wove/wps-events"><img src="https://agentmods.dev/badge/skills/mits-pl/wove/wps-events.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.00041 | $0.02391 |
| Opus 5 | $0.00020 | $0.01196 |
| Sonnet 5 | $0.00008 | $0.00478 |
| Haiku 4.5 | $0.00004 | $0.00239 |
Grade A, and why
wps-events 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 10d 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 — 340 lines — stays where its author put it; the contents beside it link to each section on GitHub.
WPS Events Guide
Overview
WPS (Wave PubSub) is Wave Terminal's publish-subscribe event system that enables different parts of the application to communicate asynchronously. The system uses a broker pattern to route events from publishers to subscribers based on event types and scopes.
Key Files
pkg/wps/wpstypes.go- Event type constants and data structurespkg/wps/wps.go- Broker implementation and core logicpkg/wcore/wcore.go- Example usage patterns
Event Structure
Events in WPS have the following structure:
type WaveEvent struct {
Event string `json:"event"` // Event type constant
Scopes []string `json:"scopes,omitempty"` // Optional scopes for targeted delivery
Sender string `json:"sender,omitempty"` // Optional sender identifier
Persist int `json:"persist,omitempty"` // Number of events to persist in history
Data any `json:"data,omitempty"` // Event payload
}
Adding a New Event Type
Step 1: Define the Event Constant
Add your event type constant to pkg/wps/wpstypes.go:
const (
Event_BlockClose = "blockclose"
Event_ConnChange = "connchange"
// ... other events ...
Event_YourNewEvent = "your:newevent" // type: YourEventData (or "none" if no data)
)
Naming Convention:
- Use descriptive PascalCase for the constant name with
Event_prefix - Use lowercase with colons for the string value (e.g., "namespace:eventname")
- Group related events with the same namespace prefix
- Always add a
// type: <TypeName>comment; use// type: noneif no data is sent
Step 2: Add to AllEvents
Add your new constant to the AllEvents slice in pkg/wps/wpstypes.go:
var AllEvents []string = []string{
// ... existing events ...
Event_YourNewEvent,
}
Step 3: Register in WaveEventDataTypes (REQUIRED)
You must add an entry to WaveEventDataTypes in pkg/tsgen/tsgenevent.go. This drives TypeScript type generation for the event's data field:
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.
- 10d ago First seen · 340 lines · 41 tokens per session scan A 62f2cb145138
wps-events is a skill published in the GitHub repository mits-pl/wove (42 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 41 tokens to every session and 2,391 once invoked, about $0.0002 per session on Opus 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-08-30.
Other skills, from other repositories
build-teaql-app
Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C#/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries. Mandatory order: first draft and save a complete KSML model, then verify the client and evaluate that saved model, repair it through repeated evaluation…
telegram
Owner-only Telegram text bridge and Mini App gateway for the existing Ouroboros interface.
nextjs-fullstack
Use for Next.js App Router, React Server Components, server actions, API routes, auth, database integration, caching, deployment, or full-stack product features.
backend-interview
A simulated technical interview for backend developers, based on the candidate’s resume. It asks foundational questions, explores past projects, and includes one system-design exercise.
api-verification
An API verification workflow that creates both an .http request file and a .cjs JavaScript file, then runs an automation script to test them. An API is an interface through which software exchanges requests and responses.
api-contract-architecture
An architecture guide for public APIs, including HTTP services, software-development kits, command-line tools, schemas, types, errors, pagination, filtering, and compatibility.