Communitygithub.com

YepAPI/skills

Componentes de interfaz de chat, respuestas en streaming con AI SDK, gestión de ventana de contexto y patrones RAG.

¿Qué es skills?

Esta skill proporciona una guía completa para construir un chatbot AI interactivo utilizando el SDK de Vercel AI. Facilita la implementación de respuestas en streaming en tiempo real a través del hook `useChat()` en el cliente y `streamText()` en el servidor, evitando el buffering completo de respuestas. Su principal utilidad radica en la gestión inteligente de la ventana de contexto: recorta los mensajes más antiguos cuando se aproxima al límite de tokens, pero siempre preserva el prompt del sistema. Además, implementa el patrón RAG (Retrieval-Augmented Generation) para insertar resultados de búsqueda vectorial como contexto relevante antes del mensaje del usuario, mejorando la precisión de las respuestas. La skill también cubre el renderizado de Markdown en mensajes del asistente, el guardado persistente del historial de conversaciones en el servidor, y el uso de `AbortController` para cancelar generaciones en curso, todo adaptado al endpoint de chat de YepAPI.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/ai-chatbot

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Chatbot AI

Reglas

  • Usa el SDK de Vercel AI (paquete ai) para streaming — hook useChat() en el cliente, streamText() en el servidor
  • Transmite respuestas con text/event-stream — nunca almacenes respuestas completas en buffer antes de enviarlas
  • Formato de mensaje: { role: "user" | "assistant" | "system", content: string }
  • Gestión de ventana de contexto: recorta los mensajes más antiguos al acercarse al límite de tokens, mantén siempre el prompt del sistema
  • Patrón RAG: incrusta la consulta del usuario → búsqueda vectorial → inyecta los k resultados principales como contexto antes del mensaje del usuario
  • Interfaz de chat: desplazamiento automático al final, indicador de carga con puntos animados, renderiza Markdown en los mensajes del asistente
  • Persiste el historial de conversaciones en el servidor — usa una tabla messages con chatId, role, content, createdAt
  • El prompt del sistema va primero en el array de mensajes — nunca permitas que los mensajes del usuario lo sobrescriban
  • Endpoint de chat YepAPI: POST /v1/ai/chat con { messages, model?, stream? }
  • Botón de detener generación — usa AbortController para cancelar transmisiones en curso

Patrones

// Cliente — useChat del SDK de Vercel AI
const { messages, input, handleInputChange, handleSubmit, isLoading, stop } = useChat({
  api: "/api/chat",
});
// Servidor — respuesta en streaming
import { streamText } from "ai";

export async function POST(req: Request) {
  const { messages } = await req.json();
  const result = streamText({ model, messages });
  return result.toDataStreamResponse();
}

Evitar

  • Enviar todo el historial de conversación sin recortar — excederá la ventana de contexto
  • Bloquear la interfaz de usuario mientras se espera la respuesta completa — siempre usa streaming
  • Almacenar mensajes solo en el estado del cliente — persiste en el servidor para el historial
  • Codificar nombres de modelos directamente — usa variables de entorno o configuración

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Tenant isolation (row-level vs schema), subdomain routing, per-tenant config, and data partitioning.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

Skills relacionados