seer-embed

Create Seer embed widgets with Zod schemas, React components, and backend codegen.

44.7k|4.8k|Updated Aug 30, 2010
One-click install
npx skills add https://github.com/getsentry/sentry --skill seer-embed
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: seer-embed
Source: https://github.com/getsentry/sentry/tree/main/.agents/skills/seer-embed
Command: npx skills add https://github.com/getsentry/sentry --skill seer-embed

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Adding a new rich widget to Seer's markdown output requires coordinated changes across a Zod schema, a React component, a registry entry, and a generated backend JSON file, and missing any step breaks the embed.

Core Features & Use Cases

  • Schema Definition: Add a Zod schema entry to SEER_EMBED_SCHEMAS with description, level, examples, and optional feature flag gating.
  • Component Creation: Build a typed React component with defineSeerEmbed that validates props via safeParse and renders null on invalid data.
  • Registration & Codegen: Register the component in the embeds index and regenerate the backend JSON schema with pnpm gen:embed-widgets.
  • Use Case: When asked to add a new inline timestamp or block-level chart widget to Seer Explorer responses, follow the five-step workflow to ship a validated embed end to end.

Quick Start

Add a new Seer embed widget called myEmbed that renders a string field inline in Seer markdown output.

Frequently Asked Questions about seer-embed

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

FAQPage Schema
How do I add a new Seer embed widget in Sentry?

Add a Zod schema entry to SEER_EMBED_SCHEMAS in schemas.ts, create a component with defineSeerEmbed, register it in the embeds index, then run pnpm gen:embed-widgets to regenerate the backend JSON schema.

How do I validate props for a Seer markdown embed component?

Use defineSeerEmbed, which looks up the Zod schema by name and safeParses the data prop automatically. Invalid data returns null with a dev warning, and the render function receives already-validated typed props.

Can I gate a Seer embed behind a feature flag?

Yes, add a featureFlag field like organizations:seer-explorer-my-embed to the schema entry and register the flag in temporary.py. The backend filters flagged embeds out of the schema sent to the LLM when the flag is off.

Why is my Seer embed not rendering in markdown output?

Common causes are a name mismatch between the schema key and defineSeerEmbed, missing registration in the embeds index, or stale generated JSON. Rerun pnpm gen:embed-widgets and commit embed_widgets.generated.json.

What is the difference between inline and block level Seer embeds?

Inline embeds flow within text, such as timestamps or badges, while block embeds need their own line, such as cards or charts. Set the level array in the schema to inline, block, or both depending on layout needs.