@aiskillstore/add-event-type
BAdd 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.
Install
agr install @aiskillstore/add-event-type --target claudeWrites 2 files into .claude/skills/, pinned to git-5e47a63c.
- .claude/skills/add-event-type/SKILL.md
- .claude/skills/add-event-type/skill-report.json
Document
name: add-event-type description: 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.
Add Event Type
Instructions
-
Read current event types in
frontend/src/App.tsx:- Find the
EventTypeunion type definition - Review existing block components (UserMessageBlock, PlanBlock, TodoBlock, etc.)
- Find the
-
Define the new event type interface:
type NewEventType = { type: 'new_type'; // Add required fields }; -
Add to EventType union:
type EventType = UserMessage | Plan | Todo | ... | NewEventType; -
Create a new block component following existing patterns:
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> ); } -
Add case to the feed rendering switch/conditional in the main component
-
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
Trustgrade B
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- warnLicenseno SPDX license detected
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-5e47a63c01032026-07-31