Loading...
Loading...
Found 11 Skills
Use before modifying a config's contract (input/output parameters) or removing a config from a branch. Runs reverse-trace to find all callers, categorizes them, and presents a safety gate. Generic — works for any config type (functions, datasources, flows, reports, etc.).
Use when exploring OData schema with dxs schema commands: searching entities, describing entity structure, scanning properties, or building a field mapping table for Datex Studio.
Use when building NEW Datex Studio reports from scratch. This is the entry point for all new report work — it orchestrates requirements gathering, schema exploration, datasource creation, layout prototyping, and deployment as a single workflow. Trigger for: "create a report", "build a report", "report from work item", "report from requirements". For modifying EXISTING reports, use `report-editor`.
Use when creating or modifying Wavelength functions (configurationTypeId=9) on a Datex Studio branch. Covers the full lifecycle: requirements, intellisense, code authoring, validation, and upload. Trigger for: "create a function", "modify a function", "update xxx_flow", "write a function that does X", "add a parameter to xxx_flow", "change the function code".
Use when modifying EXISTING Datex Studio reports on a branch. Handles label/style changes, field rearrangement, adding/removing columns, datasource modifications, and adding new data sections. Trigger for: "edit a report", "modify a report", "change the label", "add a column", "update the report on branch X", "fix the report layout". For creating NEW reports from scratch, use `report-creator`.
Use when creating, modifying, or removing API endpoints on a Datex Studio branch. Covers the full lifecycle: requirements, prerequisite creation (datasources, flows), endpoint wiring, and verification. Trigger for: "create an endpoint", "expose this flow as an API", "add an API for X", "modify endpoint", "remove endpoint", "change endpoint alias", "create an API that does X".
Use when authoring a NEW Datex Studio hub configuration (configurationTypeId=2) on a branch — filter-driven container with tab grids, role-gated tabs, toolbar buttons. Owns the dead-wiring trap (hub filter -> tab configParameters -> grid inParams must stay in sync), filter-driven-tab pattern, and toolbar button wiring. Triggers: "create a hub", "add a tab to xxx_hub", "add a filter", "add a toolbar button to the hub", "role-gate a hub tab", "filter-driven tabs", "tab grid ignores filter value", "hub won't open", "dead wiring between hub filter and grid". For modifying an existing hub, see hub-editor.
Use when auditing a Datex Studio component file before merge — final gate after authoring or modifying any component (action, function, grid, hub, form, editor, selector, storage, customType, backendTest, datasource). Generic dispatcher: reads the component file, picks the matching creator skill's rule set by file suffix, and runs the audit per those rules. Output is a structured punch-list (Blockers / Warnings / Nits). Triggers: "audit a component", "check it before merge", "final gate after authoring or modifying". For grid-specific gotchas (envelope shape, text-display coercion) use grid-validator instead.
Use when authoring or modifying a Datex Studio embed (configurationTypeId=20, *-embed.json suffix, CLI type `embed`) on a branch — an iframe-hosting component that renders an external URL or an in-memory HTML string in a dialog or inline panel. Owns the iframe-only rule (no srcdoc, no inline-HTML type), the `data:text/html` URI pattern for rendering an HTML string, the `$shell.open<name>Dialog` wiring (package-scoped when the embed lives in a module), and the in-iframe `window.print()` print pattern. Triggers: "create an embed", "render HTML in a dialog", "preview/print HTML", "embed a map/iframe", "show an external page in a dialog", "$embed iframe is blank", "print button does nothing in the preview".
Use when running project-wide lint across a Datex Studio codebase (or a scope subset) — checks 5 categories of cross-component issues that per-file validation misses: (1) description-rule conformance across all component files, (2) schema-code alignment between declared `inParams`/`outParams` and the embedded TypeScript that consumes them, (3) cross-component `objectType` reference resolution, (4) OData query pre-flight against connection schemas, (5) result-shape sync between a datasource's query options and its declared `outParams`. Triggers: "validate the project", "run cross-component validation checks", "lint the codebase", "find broken type references", "find OData pre-flight failures", "check the project before merge". For single-file audits use `component-validator` instead.
Use when authoring or modifying a Datex Studio editor (configurationTypeId=4, *-editor.json suffix) on a branch — single-entity view/edit screen with embedded single-result datasource, onInit/onDataLoaded lifecycle, view/edit mode toggle, and save-button gating via onFormValidateFlowConfig. Triggers: "create an editor", "build a detail screen for X entity", "view/edit a single record", "add a field to xxx_editor", "add save/cancel buttons", "$editor.entity is undefined in onInit", "save button never enables".