components-guide

Encapsulate backend features into reusable Convex components with isolated schemas.

Updated Mar 7, 2026
One-click install
npx skills add https://github.com/jcdiv47/cool-paper --skill components-guide-jcdiv47
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: components-guide
Source: https://github.com/jcdiv47/cool-paper/tree/main/.agents/skills/convex-components-guide
Command: npx skills add https://github.com/jcdiv47/cool-paper --skill components-guide-jcdiv47

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Convex projects can become monolithic and hard to maintain when many concerns are mixed together; this guide helps developers break features into isolated, reusable components so teams can iterate faster and reduce coupling.

Core Features & Use Cases

  • Component encapsulation: Explain how to package schema, functions, and data as a single component with a clear API boundary.
  • Sibling component patterns: Show how multiple components can collaborate from the parent app to implement complete features like billing, storage, and notifications.
  • Authoring and migration: Walk through creating local components, configuring convex.config.ts, and incrementally extracting features from a monolith.

Quick Start

Use this guide to extract a storage component from a monolithic Convex app and configure it in convex.config.ts.

Frequently Asked Questions about components-guide

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

FAQPage Schema
How do I break a monolithic Convex backend into reusable components?

To modularize a Convex backend, you encapsulate features by isolating database schemas, packaging component-local functions, and defining exported APIs for parent orchestration via convex.config.ts. This reduces coupling and allows teams to iterate faster.

What is the best way to orchestrate sibling components in a Convex project?

Orchestrating sibling components in a Convex project is done from the parent application. The parent app coordinates multiple isolated components, such as billing or storage, to implement complete features through their exported APIs.

Do I need a convex.config.ts file to use Convex components?

Yes, a convex.config.ts file is required to use Convex components. You must have an existing Convex project with this configuration file to register component convex.config files, isolate schemas, and orchestrate features.

How do I extract a feature from a monolith into a component-local schema?

You extract features incrementally by creating local components, defining component-local schemas and functions, and configuring them in convex.config.ts. This process isolates database schemas and packages data with a clear API boundary.

When should I modularize my Convex backend features?

You should modularize your Convex backend features when your project becomes monolithic and hard to maintain. Breaking features into isolated, reusable components reduces coupling and helps teams iterate faster when concerns are mixed together.