widget-generator — artificial-intelligence widget-generator, prompts.chat, community, artificial-intelligence, ide skills, awesome-list, chatgpt, chatgpt-prompts, gemini, machine-learning

v1.0.0

About this Skill

Ideal for AI Agent developers building custom interactive components for LLM prompt interfaces like GPT-4 and Claude. Generate customizable widget plugins for the prompts.chat feed system

# Core Topics

f f
[149.6k]
[19672]
Updated: 3/2/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reference-Only Page Review Score: 7/11

This page remains useful for operators, but Killer-Skills treats it as reference material instead of a primary organic landing page.

Original recommendation layer Concrete use-case guidance Explicit limitations and caution Locale and body language aligned
Review Score
7/11
Quality Score
43
Canonical Locale
en
Detected Body Locale
en

Ideal for AI Agent developers building custom interactive components for LLM prompt interfaces like GPT-4 and Claude. Generate customizable widget plugins for the prompts.chat feed system

Core Value

Enables injection of promotional content, sponsor cards, and custom interactive components into AI prompt feeds using React components. Supports both standard PromptCard styling and full custom React rendering modes for flexible widget implementation.

Ideal Agent Persona

Ideal for AI Agent developers building custom interactive components for LLM prompt interfaces like GPT-4 and Claude.

Capabilities Granted for widget-generator

Creating promotional content widgets for prompt feeds
Developing sponsor card components for AI interfaces
Building custom interactive React components for LLM platforms

! Prerequisites & Limits

  • Requires React component development knowledge
  • Limited to prompts.chat platform integration
  • Needs user-provided content and styling parameters

Why this page is reference-only

  • - The underlying skill quality score is below the review floor.

Source Boundary

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

Curated Collection Review

Reviewed In Curated Collections

This section shows how Killer-Skills includes, reviews, and maintains this skill inside curated collections, so you can see where it fits in practical selection paths instead of relying only on the upstream README.

Reviewed Collection

OpenAI Workflow Tools for Prompt, Eval, and Agent Teams

Reviewed 2026-04-17

Reviewed on 2026-04-17 for setup clarity, eval usefulness, runtime visibility, and maintainer reliability. We kept the tools that help OpenAI teams move from experiments to repeatable production routines.

OpenAI visitors usually arrive with a concrete job: improve prompts, add evals, debug runtime behavior, or make agent operations easier to hand off. This page narrows the shortlist around those jobs.

12 entries Killer-Skills editorial review with monthly collection checks.
Reviewed Collection

Community Skills to Install First

Reviewed 2026-04-17

Reviewed on 2026-04-17 against community workflow fit, installation clarity, operator handoff, and builder usefulness. This page is now positioned as an install-first community entry point instead of a broad community roundup.

We prioritize this page because community-intent users usually need a shortlist they can install, validate, and carry into real builder loops quickly.

11 entries Maintained through Killer-Skills editorial review with install, documentation, and community-workflow checks.
Reviewed Collection

Next.js Workflow Tools to Install First

Reviewed 2026-04-17

Reviewed on 2026-04-17 against Next.js workflow fit, installation clarity, operator handoff, and full-stack delivery usefulness. This page is now positioned as an install-first Next.js entry point instead of a broad framework roundup.

We prioritize this page because Next.js-intent users usually need a shortlist they can install, validate, and carry into real full-stack release loops quickly.

12 entries Maintained through Killer-Skills editorial review with trust, install-path, and operator checks.
After The Review

Decide The Next Action Before You Keep Reading Repository Material

Killer-Skills should not stop at opening repository instructions. It should help you decide whether to install this skill, when to cross-check against trusted collections, and when to move into workflow rollout.

Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is widget-generator?

Ideal for AI Agent developers building custom interactive components for LLM prompt interfaces like GPT-4 and Claude. Generate customizable widget plugins for the prompts.chat feed system

How do I install widget-generator?

Run the command: npx killer-skills add f/prompts.chat. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for widget-generator?

Key use cases include: Creating promotional content widgets for prompt feeds, Developing sponsor card components for AI interfaces, Building custom interactive React components for LLM platforms.

Which IDEs are compatible with widget-generator?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for widget-generator?

Requires React component development knowledge. Limited to prompts.chat platform integration. Needs user-provided content and styling parameters.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add f/prompts.chat. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use widget-generator immediately in the current project.

! Reference-Only Mode

This page remains useful for installation and reference, but Killer-Skills no longer treats it as a primary indexable landing page. Read the review above before relying on the upstream repository instructions.

Upstream Repository Material

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

Upstream Source

widget-generator

Install widget-generator, an AI agent skill for AI agent workflows and automation. Review the use cases, limitations, and setup path before rollout.

SKILL.md
Readonly
Upstream Repository Material
The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.
Supporting Evidence

Widget Generator Skill

This skill guides creation of widget plugins for prompts.chat. Widgets are injected into prompt feeds to display promotional content, sponsor cards, or custom interactive components.

Overview

Widgets support two rendering modes:

  1. Standard prompt widget - Uses default PromptCard styling (like coderabbit.ts)
  2. Custom render widget - Full custom React component (like book.tsx)

Prerequisites

Before creating a widget, gather from the user:

ParameterRequiredDescription
Widget IDUnique identifier (kebab-case, e.g., my-sponsor)
Widget NameDisplay name for the plugin
Rendering Modestandard or custom
Sponsor InfoName, logo, logoDark, URL (for sponsored widgets)

Step 1: Gather Widget Configuration

Ask the user for the following configuration options:

Basic Info

- id: string (unique, kebab-case)
- name: string (display name)
- slug: string (URL-friendly identifier)
- title: string (card title)
- description: string (card description)

Content (for standard mode)

- content: string (prompt content, can be multi-line markdown)
- type: "TEXT" | "STRUCTURED"
- structuredFormat?: "json" | "yaml" (if type is STRUCTURED)

Categorization

- tags?: string[] (e.g., ["AI", "Development"])
- category?: string (e.g., "Development", "Writing")

Action Button

- actionUrl?: string (CTA link)
- actionLabel?: string (CTA button text)
- sponsor?: {
    name: string
    logo: string (path to light mode logo)
    logoDark?: string (path to dark mode logo)
    url: string (sponsor website)
  }

Positioning Strategy

- positioning: {
    position: number (0-indexed start position, default: 2)
    mode: "once" | "repeat" (default: "once")
    repeatEvery?: number (for repeat mode, e.g., 30)
    maxCount?: number (max occurrences, default: 1 for once, unlimited for repeat)
  }

Injection Logic

- shouldInject?: (context) => boolean
  Context contains:
  - filters.q: search query
  - filters.category: category name
  - filters.categorySlug: category slug
  - filters.tag: tag filter
  - filters.sort: sort option
  - itemCount: total items in feed

Step 2: Create Widget File

Standard Widget (TypeScript only)

Create file: src/lib/plugins/widgets/{widget-id}.ts

typescript
1import type { WidgetPlugin } from "./types"; 2 3export const {widgetId}Widget: WidgetPlugin = { 4 id: "{widget-id}", 5 name: "{Widget Name}", 6 prompts: [ 7 { 8 id: "{prompt-id}", 9 slug: "{prompt-slug}", 10 title: "{Title}", 11 description: "{Description}", 12 content: `{Multi-line content here}`, 13 type: "TEXT", 14 // Optional sponsor 15 sponsor: { 16 name: "{Sponsor Name}", 17 logo: "/sponsors/{sponsor}.svg", 18 logoDark: "/sponsors/{sponsor}-dark.svg", 19 url: "{sponsor-url}", 20 }, 21 tags: ["{Tag1}", "{Tag2}"], 22 category: "{Category}", 23 actionUrl: "{action-url}", 24 actionLabel: "{Action Label}", 25 positioning: { 26 position: 2, 27 mode: "repeat", 28 repeatEvery: 50, 29 maxCount: 3, 30 }, 31 shouldInject: (context) => { 32 const { filters } = context; 33 34 // Always show when no filters active 35 if (!filters?.q && !filters?.category && !filters?.tag) { 36 return true; 37 } 38 39 // Add custom filter logic here 40 return false; 41 }, 42 }, 43 ], 44};

Custom Render Widget (TSX with React)

Create file: src/lib/plugins/widgets/{widget-id}.tsx

tsx
1import Link from "next/link"; 2import Image from "next/image"; 3import { Button } from "@/components/ui/button"; 4import type { WidgetPlugin } from "./types"; 5 6function {WidgetName}Widget() { 7 return ( 8 <div className="group border rounded-[var(--radius)] overflow-hidden hover:border-foreground/20 transition-colors bg-gradient-to-br from-primary/5 via-background to-primary/10 p-5"> 9 {/* Custom widget content */} 10 <div className="flex flex-col items-center gap-4"> 11 {/* Image/visual element */} 12 <div className="relative w-full aspect-video"> 13 <Image 14 src="/path/to/image.jpg" 15 alt="{Alt text}" 16 fill 17 className="object-cover rounded-lg" 18 /> 19 </div> 20 21 {/* Content */} 22 <div className="w-full text-center"> 23 <h3 className="font-semibold text-base mb-1.5">{Title}</h3> 24 <p className="text-xs text-muted-foreground mb-4">{Description}</p> 25 <Button asChild size="sm" className="w-full"> 26 <Link href="{action-url}">{Action Label}</Link> 27 </Button> 28 </div> 29 </div> 30 </div> 31 ); 32} 33 34export const {widgetId}Widget: WidgetPlugin = { 35 id: "{widget-id}", 36 name: "{Widget Name}", 37 prompts: [ 38 { 39 id: "{prompt-id}", 40 slug: "{prompt-slug}", 41 title: "{Title}", 42 description: "{Description}", 43 content: "", 44 type: "TEXT", 45 tags: ["{Tag1}", "{Tag2}"], 46 category: "{Category}", 47 actionUrl: "{action-url}", 48 actionLabel: "{Action Label}", 49 positioning: { 50 position: 10, 51 mode: "repeat", 52 repeatEvery: 60, 53 maxCount: 4, 54 }, 55 shouldInject: () => true, 56 render: () => <{WidgetName}Widget />, 57 }, 58 ], 59};

Step 3: Register Widget

Edit src/lib/plugins/widgets/index.ts:

  1. Add import at top:
typescript
1import { {widgetId}Widget } from "./{widget-id}";
  1. Add to widgetPlugins array:
typescript
1const widgetPlugins: WidgetPlugin[] = [ 2 coderabbitWidget, 3 bookWidget, 4 {widgetId}Widget, // Add new widget 5];

Step 4: Add Sponsor Assets (if applicable)

If the widget has a sponsor:

  1. Add light logo: public/sponsors/{sponsor}.svg
  2. Add dark logo (optional): public/sponsors/{sponsor}-dark.svg

Positioning Examples

Show once at position 5

typescript
1positioning: { 2 position: 5, 3 mode: "once", 4}

Repeat every 30 items, max 5 times

typescript
1positioning: { 2 position: 3, 3 mode: "repeat", 4 repeatEvery: 30, 5 maxCount: 5, 6}

Unlimited repeating

typescript
1positioning: { 2 position: 2, 3 mode: "repeat", 4 repeatEvery: 25, 5 // No maxCount = unlimited 6}

shouldInject Examples

Always show

typescript
1shouldInject: () => true,

Only when no filters active

typescript
1shouldInject: (context) => { 2 const { filters } = context; 3 return !filters?.q && !filters?.category && !filters?.tag; 4},

Show for specific categories

typescript
1shouldInject: (context) => { 2 const slug = context.filters?.categorySlug?.toLowerCase(); 3 return slug?.includes("development") || slug?.includes("coding"); 4},

Show when search matches keywords

typescript
1shouldInject: (context) => { 2 const query = context.filters?.q?.toLowerCase() || ""; 3 return ["ai", "automation", "workflow"].some(kw => query.includes(kw)); 4},

Show only when enough items

typescript
1shouldInject: (context) => { 2 return (context.itemCount ?? 0) >= 10; 3},

Custom Render Patterns

Card with gradient background

tsx
1<div className="border rounded-[var(--radius)] overflow-hidden bg-gradient-to-br from-primary/5 via-background to-primary/10 p-5">
tsx
1<div className="flex items-center gap-2 mb-2"> 2 <span className="text-xs font-medium text-primary">Sponsored</span> 3</div>

Responsive image

tsx
1<div className="relative w-full aspect-video"> 2 <Image src="/image.jpg" alt="..." fill className="object-cover" /> 3</div>

CTA button

tsx
1<Button asChild size="sm" className="w-full"> 2 <Link href="https://example.com"> 3 Learn More 4 <ArrowRight className="ml-2 h-3.5 w-3.5" /> 5 </Link> 6</Button>

Verification

  1. Run type check:

    bash
    1npx tsc --noEmit
  2. Start dev server:

    bash
    1npm run dev
  3. Navigate to /discover or /feed to verify widget appears at configured positions

Type Reference

typescript
1interface WidgetPrompt { 2 id: string; 3 slug: string; 4 title: string; 5 description: string; 6 content: string; 7 type: "TEXT" | "STRUCTURED"; 8 structuredFormat?: "json" | "yaml"; 9 sponsor?: { 10 name: string; 11 logo: string; 12 logoDark?: string; 13 url: string; 14 }; 15 tags?: string[]; 16 category?: string; 17 actionUrl?: string; 18 actionLabel?: string; 19 positioning?: { 20 position?: number; // Default: 2 21 mode?: "once" | "repeat"; // Default: "once" 22 repeatEvery?: number; // For repeat mode 23 maxCount?: number; // Max occurrences 24 }; 25 shouldInject?: (context: WidgetContext) => boolean; 26 render?: () => ReactNode; // For custom rendering 27} 28 29interface WidgetPlugin { 30 id: string; 31 name: string; 32 prompts: WidgetPrompt[]; 33}

Common Issues

IssueSolution
Widget not showingCheck shouldInject logic, verify registration in index.ts
TypeScript errorsEnsure imports from ./types, check sponsor object shape
Styling issuesUse Tailwind classes, match existing widget patterns
Position wrongRemember positions are 0-indexed, check repeatEvery value

Related Skills

Looking for an alternative to widget-generator or another community skill for your workflow? Explore these related open-source skills.

View All

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
AI

widget-generator

Logo of f
f

Generate customizable widget plugins for the prompts.chat feed system

149.6k
0
AI

flags

Logo of vercel
vercel

The React Framework

138.4k
0
Browser

pr-review

Logo of pytorch
pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

98.6k
0
Developer