multiAI Summary Pending

add-event-type

Add a new event type to the frontend feed system with corresponding React component. Use when user mentions "new event", "add event type", "event block", "new block type", or wants to display new agent output types.

231 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/add-event-type/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/applelamps/add-event-type/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/add-event-type/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How add-event-type Compares

Feature / Agentadd-event-typeStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Add a new event type to the frontend feed system with corresponding React component. Use when user mentions "new event", "add event type", "event block", "new block type", or wants to display new agent output types.

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Add Event Type

## Instructions
1. Read current event types in `frontend/src/App.tsx`:
   - Find the `EventType` union type definition
   - Review existing block components (UserMessageBlock, PlanBlock, TodoBlock, etc.)

2. Define the new event type interface:
   ```typescript
   type NewEventType = {
     type: 'new_type';
     // Add required fields
   };
   ```

3. Add to EventType union:
   ```typescript
   type EventType = UserMessage | Plan | Todo | ... | NewEventType;
   ```

4. Create a new block component following existing patterns:
   ```typescript
   function NewTypeBlock({ event }: { event: NewEventType }) {
     return (
       <div className="p-3 bg-zinc-800/50 rounded-lg border border-zinc-700/50">
         {/* Render event data */}
       </div>
     );
   }
   ```

5. Add case to the feed rendering switch/conditional in the main component

6. Update WebSocket message handler if backend sends this event type

## Examples
- "Add a new 'search_result' event type"
- "Create a block for displaying errors"
- "Add event type for progress updates"

## Guardrails
- Follow existing naming conventions (PascalCase components, snake_case event types)
- Use existing Tailwind classes for consistent styling
- Ensure TypeScript types are complete (no `any`)
- Test by sending mock event through WebSocket