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.