技能 convex-create-component
📦

convex-create-component

安全

Crear componentes Convex reutilizables

Esta skill ayuda a los desarrolladores a diseñar y construir componentes Convex con tablas aisladas, límites claros y wrappers seguros orientados a la aplicación. Guía a los usuarios a través del flujo de trabajo de creación de componentes con validación integrada y mejores prácticas.

支持: Claude Codex Code(CC)
🥈 78 白银
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“convex-create-component”。 Ayúdame a crear un componente Convex para gestionar suscripciones de usuarios

预期结果:

Te ayudaré a crear un componente de suscripciones. Primero, déjame confirmar algunas preguntas:

1. ¿Este componente debería ser local a tu aplicación o empaquetado para compartir?
2. ¿Qué tablas necesita poseer el componente?
3. ¿Debería el acceso del cliente pasar por wrappers de aplicación con autenticación?

正在使用“convex-create-component”。 ¿Cómo paso la autenticación a través del límite del componente?

预期结果:

Mantén la autenticación en la capa de aplicación. El componente no puede acceder a ctx.auth directamente. Patrón:

1. Resolver autenticación en mutación/consulta de aplicación
2. Pasar userId como argumento de cadena
3. Usar validador v.string() en el límite, no v.id()

安全审计

安全
v1 • 4/3/2026

All 141 static findings are false positives. The scanner misinterpreted documentation patterns: backticks are markdown code delimiters, 'convex' was flagged as weak crypto (it's a framework name), and env var access references are documentation examples showing proper security patterns. No actual security vulnerabilities exist.

6
已扫描文件
560
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

59
架构
100
可维护性
87
内容
41
社区
100
安全
91
规范符合性

你能构建什么

Desarrollador backend creando módulos Convex reutilizables

Extraer lógica de backend reutilizable en componentes Convex aislados que puedan compartirse entre múltiples aplicaciones con límites de API claros.

Desarrollador full-stack creando integraciones de terceros

Construir integraciones que posean sus propias tablas y flujos de trabajo, manteniendo la lógica de terceros aislada del código principal de la aplicación.

Líder de equipo estableciendo patrones de biblioteca de componentes

Definir estándares para arquitectura de componentes, límites de autenticación y wrappers orientados a la aplicación en todo el equipo.

试试这些提示

Crear un nuevo componente
Ayúdame a crear un componente Convex para notificaciones de usuarios. El componente debería poseer su propia tabla de notificaciones y exponer funciones de envío y listado.
Refactorizar lógica existente en un componente
Tengo lógica de procesamiento de pagos dispersa en mi directorio convex/ principal. Ayúdame a extraerla en un componente reutilizable con su propio esquema y límites claros.
Construir un flujo de trabajo entre componentes
Crea un componente de flujo de trabajo que orqueste entre nuestro componente de autenticación y componente de notificaciones. Muestra cómo pasar datos entre límites de componentes de forma segura.
Empaquetar un componente para distribución
Ayúdame a empaquetar nuestro componente de análisis como un paquete npm que pueda instalarse en otros proyectos Convex. Incluye la estructura de exportación adecuada y patrones de documentación.

最佳实践

  • Mantener la autenticación y el acceso al entorno en la capa de aplicación, no en el componente
  • Pasar IDs de la aplicación padre a través del límite como cadenas ya que los tipos Id se convierten en cadenas simples en el límite del componente
  • Siempre agregar validadores de args y returns a las funciones públicas de componentes para seguridad de tipos

避免

  • No exponer funciones de componentes directamente a clientes sin wrappers de aplicación
  • No usar validadores v.id() para tablas propiedad de la aplicación dentro del esquema del componente
  • No importar desde los archivos _generated de la aplicación dentro de componentes; usar el propio _generated del componente

常见问题

¿Cuál es la diferencia entre un componente local y uno empaquetado?
Los componentes locales viven bajo convex/components/ y son parte de tu aplicación. Los componentes empaquetados pueden publicarse como paquetes npm para uso en múltiples aplicaciones.
¿Por qué los componentes no pueden acceder a ctx.auth directamente?
Los componentes están aislados y no pueden acceder a la autenticación de la aplicación padre. La aplicación debe resolver la autenticación primero, luego pasar userId o identidad como argumentos explícitos.
¿Cómo comparto datos entre componentes?
Usar ctx.runQuery y ctx.runMutation con la sintaxis components.<nombre>.<módulo>. Pasar IDs como cadenas en los límites y validarlos correctamente.
¿Pueden los componentes tener sus propias rutas HTTP?
No, los componentes no pueden registrar rutas HTTP. Montar rutas en el convex/http.ts de la aplicación y hacer que llamen a funciones del componente.
¿Qué sucede si intento usar paginación entre componentes?
El .paginate() estándar no funciona a través del límite del componente. Usar paginator de convex-helpers en su lugar para paginación entre componentes.
¿Cómo valido los datos en el límite del componente?
Usar validadores para todas las funciones públicas con args y returns explícitos. Derivar validadores del esquema cuando sea posible para evitar repetición.