convex-create-component

Create reusable Convex components with isolated state and app-facing APIs.

1|1|Updated Jan 17, 2026
One-click install
npx skills add https://github.com/LucaDeLeo/ASTN --skill convex-create-component-lucadeleo
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: convex-create-component
Source: https://github.com/LucaDeLeo/ASTN/tree/main/.agents/skills/convex-create-component
Command: npx skills add https://github.com/LucaDeLeo/ASTN --skill convex-create-component-lucadeleo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Convex components often accumulate ad-hoc logic and unstructured state when projects grow; this skill defines clear boundaries, isolated state, and app-facing wrappers to promote reusable, maintainable backend components.

Core Features & Use Cases

  • Define a local component with its own convex.config.ts, schema.ts, and lib.ts to own backend logic.
  • Wire the component into the app with app.use and expose a clean, app-facing API while keeping authentication and env access on the app side.
  • Support packaging or sharing logic across apps, enabling reuse and consistent boundaries.

Quick Start

Instantiate a new local component under convex/components/<name>/, wire it into the app with app.use, and run npx convex dev to generate the component surface.

Frequently Asked Questions about convex-create-component

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create reusable Convex components with clear boundaries?▼

To create reusable Convex components, structure them with convex.config.ts, schema.ts, and lib.ts files, then wire them into your app using app.use to isolate state and expose a clean app-facing API.

How do I isolate backend state when extracting reusable Convex logic?▼

Isolate backend state in Convex by defining a local component under convex/components/ that owns its schema and logic, keeping authentication and environment access strictly within the app boundary.

What is the best way to package Convex functionality for reuse across multiple apps?▼

The best way to package Convex functionality for reuse is building a standalone component with its own convex.config.ts, isolating internal state, and exposing controlled public surface wrappers via app.use.

Can I keep authentication in the app boundary when using Convex components?▼

Yes, you can and should keep authentication and environment access in the app boundary while exposing the component's public surface, ensuring the reusable component remains decoupled from app-specific auth logic.

How do I generate the public API surface for a Convex component?▼

Generate the public API surface for a Convex component by instantiating it under convex/components/<name>/, wiring it with app.use, and running npx convex dev to automatically build the app-facing wrappers.

When should I extract backend logic into a separate Convex component?▼

Extract backend logic into a separate Convex component when projects grow and accumulate ad-hoc logic, requiring clear boundaries and isolated state to maintain reusability across multiple applications.