nocobase-ui-builder
Installation
SKILL.md
Goal
- Agent-facing write path is
nb api flow-surfaces <action>with the raw business payload. - Backend
flow-surfacesis the authoring compiler: it normalizes compatible payloads and returns aggregateerrors[]for hard validation failures. - Aggregate authoring
errors[]is a full repair batch. Use the backend-providederrorCount, per-errorpath/ruleId/details, andagentInstructionto repair every listed issue in one payload revision, then retry the same write. Portal navigation errors in Required Portal Preflight are target or implementation-path failures, not payload-repair batches. - Use
nbas the only public transport. Ifnbis missing or stale, report the blocked command/env state instead of switching transports. - Keep routing intent-first: open one matching quick-route doc first, not the whole directory.
- When a quick route already matches, stay on it. Do not enumerate the skill directory just to rediscover docs.
- When the task is a partial-match or handoff-only request, answer from this skill's scope boundary directly. Do not inspect runtime, scripts, or helper docs just to justify the handoff.
- Treat one user request that spans several pages as ordered single-page runs. When multiple pages share the same
navigation.group.title, serialize them: the first page resolves the title and capturesrouteId; later pages use thatrouteId, never title-only creation, and concurrent title-only shared-group creates are forbidden. - Whole-page navigation target rules live in navigation-targets.md: a resolved no-code Portal requires exact
kind: "portal"plusrouteNamediscovery andnavigation.portalUid; direct Admin/Mobile layout targeting is legacy-only whencapabilities.multiPortal === false; duplicate same-title non-mobile groups require explicitrouteId; shared title-only group creates must be serialized.
Mandatory Portal Manager Entry
Before applying any other instruction in this skill, load and execute nocobase-portal-manage for the same user request and follow its Ordinary UI Build Workflow. Do not start a quick route, inspect UI Builder navigation targets, or make a flow-surfaces call first.