constructive-builder

Installation
SKILL.md

Constructive Builder

Assemble a tenant-scoped frontend and prove that it works. This skill orchestrates decisions, installation, integration, and acceptance; constructive-blocks owns registry roots, install plans, source limitations, Console runtime contracts, and local-consumption instructions.

Keep the boundary exact

  • Consume an already-provisioned Constructive tenant. Do not provision databases, choose PostgreSQL modules, run a scaffold engine, repair services, or patch constructive-db.
  • Use one strict frontend.composition: a matching preset, the complete Console, the zero-pack Console core, selected Console modules, or individually mounted standalone packs. Builder validates composition rules; Blocks supplies each root and plan.
  • Derive backend preset eligibility and preset-root matching from the pinned Blocks backendPresetRouting contract. blank has no preset root and instead permits explicit core/module composition; a custom backend also cannot claim a preset root. The complete console-kit-nextjs may target any preset or custom Constructive tenant because unsupported packs remain explicitly partial or unavailable.
  • Accept only explicit, secret-free tenant descriptors. Never derive sibling hosts, add operator headers, put credentials in the brief, or treat _meta/introspection as authorization.
  • Keep domain routes outside feature packs. Packs own platform capabilities; the application owns product-specific resources and workflows.
  • Keep credentials in the session boundary, outside Zustand and props. A host Console session must carry the same databaseId as the descriptor and must own its declared CSRF and callback handlers.
  • Preserve every applicable sourceLimitations record selected from the pinned composition, feature pack, surface, and runtime mode. A blocking record can never pass; require-mitigation records need retained passing evidence for every snapshot requirement. The current Console Data nested-store record is blocking until Blocks unifies Sheets state through the modular Console store, and every Data surface must prove the single-active-SheetsProvider mitigation while locale and logger remain process-wide.

Require executable inputs

Start from the canonical brief and app-brief.md. Require:

Installs
3
First Seen
Jun 19, 2026
constructive-builder — constructive-io/constructive-skills