Constructive Features
Use this skill to translate product intent into a frontend feature-pack choice and the domain skill that owns the underlying behavior. Do not use it as an installation catalog: constructive-blocks owns exact registry roots, dependency closure, runtime contracts, and verification.
When to Apply
Use this skill when:
- A user asks what Constructive can do or which skill covers a capability.
- An application brief needs feature-pack intent before installation is planned.
- You need to distinguish a standalone view, a selected Console Kit composition, and a complete Console Kit.
- A capability spans frontend presentation and backend behavior, and ownership needs to be made explicit.
Feature-Pack Router
| Product intent | Blocks pack | Domain skills |
|---|---|---|
| Explore application tables and perform dynamic CRUD | Data (data) |
constructive-frontend, constructive-data-modeling, constructive-security |
| Sign up, sign in, recover an account, or manage a personal session | Authentication (auth) |
constructive-auth |
| Govern application members, invitations, profiles, and capabilities | App access (users) |
constructive-access-control, constructive-principals |
| Govern organizations, members, hierarchy, principals, and API keys | Organizations (organizations) |
constructive-entities, constructive-access-control, constructive-principals |
| Browse buckets and objects or perform upload/download actions | Storage (storage) |
constructive-storage, constructive-security |
| Manage plans, subscriptions, usage, entitlements, and credits | Billing (billing) |
constructive-billing |
| Read and manage an application notification inbox | Notifications (notifications) |
constructive-notifications, constructive-realtime |
After selecting the product capability, activate constructive-blocks to choose and install its supported surface. Do not infer a registry root from the display name or maintain a copied list of registry dependencies here.
Surface Router
| User intent | Route |
|---|---|
| “Give me the complete tenant console” | constructive-blocks → Console Kit umbrella |
| “Match the console to an official backend preset” | constructive-blocks → official preset surface |
| “Put these selected capabilities in Console Kit” | constructive-blocks → core plus selected Console modules |
| “Embed this capability in my own screen” | constructive-blocks → standalone feature pack |
| “Build a bespoke domain page” | constructive-frontend; follow its current _meta guidance, and use constructive-codegen only if a stable generated client is an explicit choice |
| “Assemble and acceptance-check this tenant frontend” | constructive-builder with an existing app workspace and already-provisioned tenant |
Rules
- Keep installation and backend behavior separate. A feature pack installs a frontend surface; it does not provision modules, expose an endpoint, or grant authorization.
- Keep installation and acceptance separate. Sign-up, sign-in, CRUD, membership, and RLS checks are acceptance scenarios inside a capability, not feature-pack identifiers.
- Treat runtime evidence as authoritative for Console availability. An installed Console module may be
ready,partial, orunavailablefor the active tenant and identity. A non-Data standalone pack instead renders the resources, policy, actions, and state supplied by its host; standalone Data validates its configured endpoint internally. - Do not derive routes. Pass explicit semantic endpoints through the tenant descriptor; never construct sibling hosts or use private routing headers for application UI.
- Do not require generated clients for Blocks. Console Kit performs capability discovery, standalone Data uses
_metaplus introspection through Sheets, and the other standalone packs use host-injected resources and actions. Code generation remains opt-in for stable custom-domain UI.
Domain Skills Beyond Feature Packs
| Capability | Skill |
|---|---|
| RLS, ownership, grants, and Constructive Authz policy behavior | constructive-security |
| Tables, fields, relations, constraints, indexes, enums, and views | constructive-data-modeling |
| Full-text, fuzzy, vector, spatial, and unified search | constructive-search |
| Agents, embeddings, LLM providers, and RAG | constructive-agents |
| Events, achievements, referrals, gamification, and progressive trust | constructive-events |
| Subscriptions and change tracking | constructive-realtime |
| Background jobs and triggers | constructive-jobs |
| Internationalized data and multilingual search | constructive-i18n |
| Flow-based computation graphs | constructive-flow-graphs |
| Services, public routing, deployment, and CNC | constructive-platform |
See the repository-level features.md for the compact capability index.