convex-component-authoring

Guide creation, structuring, and publishing of self-contained Convex components.

1|2|Updated Jan 15, 2026
One-click install
npx skills add https://github.com/ihmorol/unsw-nb15-handling-binary-multiclass-ids --skill convex-component-authoring-ihmorol
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convex-component-authoring
Source: https://github.com/ihmorol/unsw-nb15-handling-binary-multiclass-ids/tree/main/.opencode/skills/convex-component-authoring
Command: npx skills add https://github.com/ihmorol/unsw-nb15-handling-binary-multiclass-ids --skill convex-component-authoring-ihmorol

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a comprehensive guide to creating, structuring, and publishing self-contained Convex components, ensuring proper isolation, exports, and dependency management for seamless sharing across projects.

Core Features & Use Cases

  • Component Structure: Defines a clear directory layout for Convex components.
  • Schema Definition: Demonstrates how to define isolated database tables within a component.
  • Function Export: Shows how to export queries, mutations, and actions from a component.
  • Usage Example: Illustrates how to integrate and use a published component in a consuming Convex application.
  • Publishing Guide: Details the necessary package.json and tsconfig.json configurations for publishing components.

Quick Start

Follow the provided examples to define your component's schema, functions, and exports in src/schema.ts, src/functions/, and src/index.ts respectively.

Frequently Asked Questions about convex-component-authoring

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

FAQPage Schema
How do I create reusable Convex components with isolated database tables?

To create reusable Convex components, you define a clear directory layout, isolate database tables in schema.ts, implement functions in src/functions, and export them from src/index.ts. This structure ensures self-contained components share seamlessly across projects.

How do I structure and publish a self-contained Convex component package?

Publishing a Convex component package requires configuring package.json and tsconfig.json. You define your component's schema, functions, and exports in standard directories, then publish the package to npm for consumption by other Convex applications.

What is the best way to export queries and mutations from a Convex component?

The best way to export queries and mutations from a Convex component is to implement them in src/functions and aggregate them through main exports in src/index.ts. This ensures consuming applications can access the isolated functions seamlessly.

Can I use published Convex components in my existing Convex application?

Yes, you can use published Convex components in an existing Convex application. The Skill provides usage examples illustrating how to integrate and call the exported queries, mutations, and actions from the npm package directly into your app.

Why do I need separate tsconfig.json and package.json configurations for Convex components?

Separate package.json and tsconfig.json configurations are needed for Convex components to manage dependencies and TypeScript compilation properly. This setup ensures the isolated schema, functions, and types are correctly bundled for npm publishing and cross-project consumption.

When should I not use isolated database tables in a Convex component?

You should avoid isolated database tables in a Convex component if your data requires direct, shared access across multiple uncoordinated applications or if your functions need to query the main application's database schema directly without component boundaries.