fredo-cli-events

Injects mock agent events through the Fredo IPC socket for e2e UI testing.

Updated May 18, 2026
One-click install
npx skills add https://github.com/FredoAi/fredo --skill fredo-cli-events-fredoai
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: fredo-cli-events
Source: https://github.com/FredoAi/fredo/tree/main/.opencode/skills/fredo-cli-events
Command: npx skills add https://github.com/FredoAi/fredo --skill fredo-cli-events-fredoai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? End-to-end testing of Fredo's Mission Monitor and other UI surfaces requires triggering specific agent event states on demand, which is impractical when waiting for real agent sessions to produce them. ## Core Features & Use Cases - Mock Event Injection: Send chat, tool_use, agent_session, and other event types through the fredo emit CLI into the IPC socket, flowing through the same RTDB row classifier as real OTLP spans. - Smoke-Verified Recipes: Pre-built payload recipes for chat turns, tool lifecycles, session aggregates, and stepper-probe rows, each with verification steps against Mission Monitor or the row stores. - Test Isolation: Unique random session IDs per test run plus baseline-vs-result DOM snapshot comparison to isolate mock events from real OTLP traffic. - Use Case: A QA engineer needs to verify that Mission Monitor renders a chat node with a user message; they emit a chat event with a unique session ID, wait two seconds, and confirm the DOM snapshot shows the new node. ## Quick Start Ask the agent to emit a mock chat event with a unique session ID using the fredo CLI and verify the resulting row appears in Mission Monitor.

Frequently Asked Questions about fredo-cli-events

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I inject mock events for Fredo e2e testing?▼

Use the fredo emit CLI with flags like --event-type, --state, --session-id, and --payload to send events through the IPC socket. The event flows through the RTDB ingest classifier into canonical rows that drive the React UI, same as real OTLP spans.

How do I test Mission Monitor UI states without a real agent session?▼

Emit mock chat, tool_use, or agent_session events with a unique random session ID, wait about two seconds, then compare baseline and result DOM snapshots. Only changes matching your session ID indicate the mock events rendered correctly.

Can fredo emit replace real OTLP pipeline testing?▼

No. Mock events bypass the OTLP receivers and carry no span timing, so time-window tool-to-chat association and span attribute extraction cannot be tested this way. Drive a live opencode session through Fredo's Run CLI feature for real pipeline verification.

Why does passing a whole event JSON to --file not work?▼

The --file and --payload flags carry only the event body, not a whole event. A full event JSON silently nests as the payload and classifies into an extraction-empty row under the default session, with no error raised.

What happens if the fredo binary is not found?▼

The binary is built by running pnpm dev:tauri at least once, after which fredo.exe can be located under apps/tauri/src-tauri/target. If it is missing, the e2e test is blocked and should report that the binary was not found.