← all publishers

datex

@datex source repo

41 published skills

  1. DB Query · datex bundle
    Use when querying or mutating Datex Studio storage components via the `$db` predicate DSL — function-tier-only Mongo-backed access to `*-storage.json` configurations. Covers the fluent predicate operators (`.equals`, `.ne`, `.gt`/`.gte`, `.lt`/`.lte`, `.in`, `.isNull`/`.isNotNull`, regex via `.includes`, composed with `.and`/`.or` inside `.where`), result-row TypeScript-optionality semantics, the implicit `id` column, the `required: true` read-then-patch trap, and schema-change audit checklist. Flow datasources that back grids or selectors over `$db` are covered in the flow-db-datasources reference. Triggers: "query the storage", "add/update/remove rows in xxx_storage", "write a $db predicate", "filter by storage column", "$db predicate with AND/OR/null", "$db query returning wrong rows", "patch validation error", "TypeScript accepted my predicate but it doesn't work at runtime". For authoring the calling function itself, see function-creator.
    0
    installs
  2. Hub Editor · datex bundle
    Use when adding, modifying, or removing toolbar buttons and click flows on a Datex Studio hub configuration. Covers fetching hub config via `dxs configuration get hub`, editing the toolbar[] and flows[] arrays, wiring click flows that launch reports, and pushing the modified config back with `dxs configuration upsert hub`. Trigger for: "add a toolbar button to the X hub", "wire a button that opens the Y report", "modify hub N", "change what the X button does", "launch report Y from a hub button".
    0
    installs
  3. Hub Creator · datex bundle
    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.
    0
    installs
  4. Form Creator · datex bundle
    Use when authoring or modifying a Datex Studio form (configurationTypeId=5, *-form.json suffix) on a branch — transient-input collector, dialog opener, and validate-then-confirm workflow host. Owns the TypeScript-expression encoding for declarative string slots, declarative vs imperative init separation, dialog opener pattern, and confirm-button gating. Triggers: "create a form", "add a field to xxx form", "open a dialog that collects X", "a confirmation dialog with inputs", "validate-then-confirm workflow", "declarative binding is not populating the field", "confirm button always disabled", "dialog outParams are undefined on cancel".
    0
    installs
  5. Grid Creator · datex bundle
    Use when authoring or modifying a Datex Studio grid (configurationTypeId=3, *-grid.json suffix) on a branch — the densest UI component. Owns the pre-author rows-source decision (owned vs standalone datasource, OData vs flow), the five-location dynamic-filter wiring rule, secondary enrichment datasources, imperative cell API, and the mandatory grid-validator gate after every edit. Triggers: "create a grid", "add a column to xxx grid", "make the grid filterable/sortable by X", "add a toolbar button", "add a filter", "enrich rows with extra data", "empty column", "dynamic filter contract mismatch", "grid renders blank", "tailored/custom grid variants", enrichment-datasource work.
    0
    installs
  6. Embed Creator · datex bundle
    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".
    0
    installs
  7. Report Editor · datex
    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`.
    0
    installs
  8. Action Creator · datex bundle
    Use when authoring or modifying a Datex Studio action (configurationTypeId=18, *-footprintFlow.json suffix) on a branch — server-tier transactional flow for CRUD, status updates, and any operation requiring atomicity. Owns the action-vs-function decision, the "Transaction must begin first" diagnostic (silent-swallow root cause), and the error-handling-is-load-bearing rule (transaction propagation). Triggers: "create an action", "write an xxx_action", "add a new action", "transactional flow", "CRUD action", "server-side action", "Transaction must begin first".
    0
    installs
  9. Editor Creator · datex bundle
    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".
    0
    installs
  10. Grid Validator · datex bundle
    Use when auditing a Datex Studio grid configuration before merge or diagnosing grid rendering/filter/sort/toolbar bugs — the mandatory final gate after grid-creator. Carries grid-specific gotchas the generic component-validator doesn't catch: envelope shape, text-display coercion, five-location dynamic-filter wiring sync, imperative cell API mismatches, and tailored vs custom provenance conformance. Triggers: "audit a grid", "check a grid before merge", "diagnose grid rendering / filter / sort / toolbar bugs", "final gate after grid-creator". For non-grid components, use component-validator.
    0
    installs
  11. Report Creator · datex bundle
    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`.
    0
    installs
  12. Impact Analysis · datex
    Use BEFORE any rename, removal, required-field change, or other contract-breaking edit to a config on a Datex Studio branch. Runs reverse-trace to find all callers, categorizes them (including write-side vs read-side for storage-shape changes), and presents a safety gate. Generic — works for any config type (functions, datasources, flows, storages, type definitions, reports, etc.). Also invoke when a calling skill asks you to "audit all callers" or "verify a contract change is safe" before proceeding.
    0
    installs
  13. Odata Execution · datex bundle
    Use when building or testing OData queries with dxs odata execute: incremental query development, verifying $select/$expand/$filter clauses, or diagnosing query errors against a Footprint API connection.
    0
    installs
  14. Package Cascade · datex bundle
    Use when a Datex Studio package (ComponentModule) has changed and its consumers must be updated and republished up the dependency graph. Recursively finds every package that references the changed one (directly or transitively), re-pins each to the new published version, and republishes — bottom-up, interactively, stopping at applications (which are reported as stale, never republished). Triggers: "propagate this package change", "update everything that references package X", "cascade republish", "bump and republish all dependents", "roll out the new version of <package> to its consumers", "who needs republishing after I published <package>".
    0
    installs
  15. Schema Explorer · datex bundle
    Use when exploring OData schema with dxs schema commands: searching entities, describing entity structure, scanning properties, checking which columns are indexed before filtering, or building a field mapping table for Datex Studio.
    0
    installs
  16. Storage Creator · datex bundle
    Use when authoring or modifying a Datex Studio storage component (configurationTypeId=17, *-storage.json suffix) on a branch — cloud-persisted Mongo storage accessed via $db at function-tier. Owns the storage-vs-Footprint entity decision, column descriptor shape, the `required: true` read-then-patch trap (additive-only-after-shipping), additive evolution rules, and impact analysis before schema changes. Triggers: "create a storage", "add a column to xxx_storage", "options/config table", "rule table", "daily snapshot capture", "$db.update validation error after adding a required column", deciding between storage and Footprint entity.
    0
    installs
  17. Endpoint Creator · datex bundle
    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".
    0
    installs
  18. Function Creator · datex bundle
    Use when creating or modifying Datex Studio 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".
    0
    installs
  19. Selector Creator · datex bundle
    Use when authoring or modifying a Datex Studio selector (configurationTypeId=7, *-selector.json suffix) on a branch — datasource-backed dropdown / autocomplete control. Owns the hard component-variant rule (backing must be a -datasource.json, never a -footprintDatasource.json), the sort-by-display-label rule, and the three-piece full-text-search contract (getList filter + getByKeys keyset + full-text param). Triggers: "create a dropdown", "create an xxx_dd selector", "autocomplete for entity X", "enum dropdown", "dropdown is empty", "full-text search doesn't filter the dropdown", "selector backing-datasource is wrong variant".
    0
    installs
  20. Codebase Research · datex
    Use when investigating the current state of a Datex Studio codebase with read-only inspection — answers questions about existing components, flow code, type definitions, datasource shapes, and configuration without modifying anything. Carries Datex Studio- specific patterns: extract flow code from `nodes[0].stepConfig.executeCodeConfig.code` (not from the JSON surface), delegate OData schema queries to `schema-explorer`, fetch enum values from `*-customType` configs on the branch via `dxs source explore`, return in `Answer / Sources / Caveats` format. Triggers: "research the codebase", "investigate how X works", "find where Y is defined", "answer questions about current code state". Consumed by impact-analysis, requirements-gathering, report-creator, and any skill needing grounded read-only inspection.
    0
    installs
  21. Project Validator · datex
    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.
    0
    installs
  22. Tailoring Overlay · datex bundle
    Use when extending an existing core-library Datex Studio component (most commonly a grid) via the baseConfiguration overlay mechanism, or flattening a tailored overlay into a standalone custom_ variant. Owns the three provenance variants (core / tailored_ / custom_), the three moving parts of a tailored overlay, the flatten-to-custom 12-step recipe, and enrichment-datasource patterns alongside the tailored grid. Triggers: "tailor xxx grid", "add a customer-specific column to xxx", "override the base's on_save flow", "flatten this tailored grid into a custom one", "enrich a core grid with extra fields", "Outdated contract errors between a tailored overlay and its base".
    0
    installs
  23. Datasource Creator · datex bundle
    Use when creating Datex Studio datasources with dxs datasource/configuration commands: generating OData or flow datasource configs — both the cloud `-datasource.json` (typeId 6, called by functions/selectors) and the server-tier FootprintDatasource variant (`-footprintDatasource.json`, typeId 19, called by actions) — validating configs against a branch, and upserting standalone or owned datasources. Triggers: "create a datasource", "OData/flow datasource", "FPDS", "footprintDatasource", "a datasource an action can call", "standalone vs owned datasource".
    0
    installs
  24. Component Validator · datex bundle
    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.
    0
    installs
  25. Datex Studio Shared · datex bundle
    Shared reference content used by other Datex Studio skills (report-creator, report-editor, function-creator, datasource-creator, endpoint-creator, hub-editor, branch-code-reviewer, commit-message-generator, release-notes-generator). Not invoked directly — other skills link into the files below. Install this alongside any Datex Studio skill so cross-skill references resolve. Covers: the canonical `dxs configuration` round-trip (get → extract `.json` → edit → upsert) and its silent-wipe guard, branch & connection selection, Studio lifecycle, designer context navigation, flow code patterns (`$utils.isDefined()`, OData pagination), RDLX-JSON report authoring (design standards, CLI commands, dataset rules, sample data, deploy patterns, troubleshooting), component-type references for cards (cti 11), lists (cti 14), and frontend flows (cti 27), and the Fluent 2 app design system (theme tokens, component class names, traps) for hand-authored UI.
    0
    installs
  26. Devops Requirements · datex
    Use when extracting requirements from Azure DevOps work items using dxs devops commands: fetching work items, reviewing relations, downloading attachments, compiling raw requirements. This is a utility skill — it extracts and structures work item content but does not build reports, datasources, or other artifacts.
    0
    installs
  27. Footprint Workflows · datex bundle
    Use when authoring or modifying a Datex Studio footprint-workflow (configurationTypeId=23, CLI type `footprintworkflow`, conventional -footprintWorkflow.json suffix) on a branch — a low-code TypeScript implementation that plugs into a named Footprint platform workflow extension point (Cartonization, Entity Status Change (Before Commit), Allocation Strategy, Recommend License Plate Location, Barcode Parser, …). Owns the platform-fixed signature contract (single `Input: FootPrintWorkflow.<Slot>InputBaseWL`, slot-dictated out-params), the slot binding (workflowDefinitionId/Name discovered via the workflowsMetadata API; workflowGUID is the code callers pass: generate fresh for a new workflow, preserve on edits, reuse the legacy value for a drop-in replacement), the action-tier calling rules, and the thin-dispatcher pattern. Triggers: "create/edit a footprint workflow", "implement the Cartonization workflow", "customize entity status change before commit", "allocation strategy workflow", "recommend location workfl
    0
    installs
  28. Backend Test Creator · datex bundle
    Use when authoring or modifying a Datex Studio backend test (configurationTypeId=24, *-backendTest.json suffix) on a branch — mocha test suite with four hook flows (before_suite/after_suite/before_each/ after_each) and a testCaseFlows array. Owns the action-as-test refactor pattern and the missing runtime-mock seam as Platform TODO. Triggers: "create a backend test", "create an xxx_test", "add a test suite", "mocha test suite", "add a test case to xxx_test", "modify a backend test", "refactor xxx_action into a backend test", "backend test won't run", "before_suite never fires", "suite hooks not firing".
    0
    installs
  29. Branch Code Reviewer · datex
    Use when reviewing the code/configuration changes on a Datex Studio feature branch. Traces dependencies, reads unified diffs across all changed configs, and produces a structured review with bugs / quality / security / performance / simplification / alignment findings plus a verdict. Trigger for: "review branch X", "code review this branch", "review the changes on <branch>", "audit branch before merge", "quality check this branch". For drafting a commit message on the same branch, use `commit-message-generator`.
    0
    installs
  30. Component Scaffolder · datex
    Use when scaffolding a new Datex Studio component from a documented skeleton — maps a requested type to folder, suffix, configurationTypeId, minimal-valid skeleton, and matching creator skill. Owns scaffold-routing so creator skills stay focused on authoring their own type. After creating the minimal-valid skeleton on the branch via dxs, hands off to the matching creator (action-creator, function-creator, grid-creator, hub-creator, form-creator, editor-creator, embed-creator, selector-creator, storage-creator, type-definition-creator, backend-test-creator, datasource-creator) for body authoring. Triggers: "scaffold a new component", "create a new grid/hub/form/editor/embed/selector/storage/ interface/enum/backendTest/action/function/datasource", "starter <type> file", "new <type> from scratch".
    0
    installs
  31. Datex Studio Runtime · datex bundle
    Datex Studio platform runtime semantics: platform-injected globals (`$flow`, `$datasources`, `$db`, `$shell`, `$frontendFlows`, `$operations`, `$apis`, `$flows`, `$types`, `$utils`, `$services.jobs`, `$editor`, `$datasource`), three-tier execution model (functions / actions / UI components) and the caller→callee allow/deny matrix per tier, generic CRUD action set in the Utilities package, and `controlConfig.type` values used on field controls (codeBox, textBox, numberBox, dateBox, checkBox, selectBox, button, label, text, image, draw, progressBar, matrix) with sibling-config-block rules. Not invoked directly — other skills link into the files below. Install this alongside any Datex Studio component-creator skill (action-creator, function-creator, grid-creator, hub-creator, form-creator, editor-creator, selector-creator, storage-creator, db-query, tailoring-overlay) so cross-skill references resolve.
    0
    installs
  32. Footprint Entity Expert · datex bundle
    Use when designing OData queries, datasources, flows, or reports that touch Footprint WMS data — i.e. anything querying entities like Tasks, Shipments, ArchivedShippingLicensePlateContents (ASLPC), LicensePlate, Lot, Material, Project, Owner, or any Footprint operational concept (receiving, shipping, inventory archive, license plates, fixed/catch weight, packaging). Captures the navigation chains, filter conventions, weight calculations, and exclusion rules that the OData metadata alone doesn't reveal. Use BEFORE building a flow datasource over a Footprint entity. Skip for non-Footprint apps (custom apps with no WMS data).
    0
    installs
  33. Component Wiring Check · datex bundle
    Use when auditing cross-component reference contracts on a Datex Studio branch — verify that hubs, grids, forms, editors, selectors, and their referenced peers wire together correctly. Catalogs three silent-failure traps: wrong Module/moduleId, mismatched configParameters (missing declared inParam, extra unsupported entry, value-binding to undeclared var), and component variables used in flow code but undeclared in the top-level vars array. Triggers: "wire xxx into yyy", "audit the reference contracts", "fix the Module / moduleId", "fix the configParameters mismatch", "declare a hub/form/editor/grid var", silent-failure dropdowns/filters/dialogs.
    0
    installs
  34. Post Edit Verification · datex
    Use after editing or writing any Datex Studio component file — invoked by every creator skill's closer ("After your edit, invoke post-edit-verification"). Runs the verification stack cheapest-first: Edit/Write tool succeeded → JSON parses → description is non-null, non-empty, ≤100 chars (platform limit) → grep for obvious typos. Escalates to component-validator subagent for non-trivial edits. Replaces Mitch's PostToolUse validate-component.py hook with a skill-based pattern. Triggers: invoked by every component-creator's closer; rarely invoked directly by users.
    0
    installs
  35. Requirements Gathering · datex
    Produces a standardized requirements brief from any source: DevOps work items, mockups, natural language descriptions, existing reports, or documents. This is a utility skill — it gathers and structures requirements but does not build anything. If the goal is to create a report, datasource, or other artifact, use the appropriate creation skill as the entry point; it will invoke this skill when it needs requirements.
    0
    installs
  36. Release Notes Generator · datex
    Use when generating release notes between two Datex Studio releases. Enumerates the changed-dependency worklist with `dxs source release-tree`, mines each package's commits and linked DevOps work items, reads config diffs, and produces Technical and Customer release notes. Works for Datex products and for customer applications (which reference both the shared Datex catalog and their own org's packages). Trigger for: "generate release notes from X to Y", "write release notes between <old> and <new>", "release notes for <app> between branches A and B", "compare releases X and Y and summarize". For time-range-based anchor picking ("weekly notes", "what shipped last week"), use `prospective-release-notes` — it resolves the two branch IDs and then invokes this skill.
    0
    installs
  37. Type Definition Creator · datex bundle
    Use when authoring or modifying Datex Studio type definitions (configurationTypeId=22, *-customType.json suffix) on a branch — both interfaces (i_<name>) and enums (e_<name>) live in this single component type. Owns the interface vs enum decision, custom-type self-reference prohibition, UI-component enum FQN constraint (vars/inParams/outParams cannot use FQN to reference custom enums — declare as primitive instead), and the "tightening a previously-loose type ripples to consumers" impact rule. Triggers: "create an interface", "create an enum", "define a shared type", "add a property to i_xxx", "add a value to e_xxx", authoring types for flow inParams/outParams/objectTypeDef.
    0
    installs
  38. Commit Message Generator · datex bundle
    Use when generating a commit message for a Datex Studio feature branch. Reads the branch's pending changes, config diffs, and dependencies, resolves the work item the branch traces back to, then drafts a well-formed title + body carrying that reference. Trigger for: "generate a commit message for branch X", "write a commit message", "draft a commit for this branch", "what should the commit say", "suggest a commit message", "does this commit reference a ticket", "traceability check". Runs interactively or unattended — one-shot mode, signalled in the prompt, never asks and delivers through a named tool. For reviewing the branch's code quality, use `branch-code-reviewer` instead.
    0
    installs
  39. Datex Studio Conventions · datex bundle
    Datex Studio platform conventions for component file authoring: file format invariants (configurationTypeId table, file locations and suffixes, TS-expression encoding rule for declarative string slots, the `return;` outparam pitfall), naming conventions (per-component-type suffix indicators, tailored_/custom_ provenance prefixes, sentence-case display-text rule, user-facing `title` vs `referenceName` distinction), and defaults (package=Utilities, accessModifier=public, descriptions ≤100 chars and mandatory), plus the universal cross-cutting component checklist that validators and creators link. Not invoked directly — other skills link into the files below. Install this alongside any Datex Studio component-creator skill (action-creator, function-creator, grid-creator, hub-creator, form-creator, editor-creator, selector-creator, storage-creator, type-definition-creator, datasource-creator, backend-test-creator, tailoring-overlay) so cross-skill references resolve.
    0
    installs
  40. Prospective Release Notes · datex
    Use when generating Datex Studio release notes for an application over a time range instead of between two explicitly chosen branches. Discovers which two published releases to compare — the last one strictly before `range_start` and the last one inside `[range_start, range_end]` — then delegates to `release-notes-generator` for the actual notes. Designed for unattended weekly runs (e.g. every Monday covering the prior Mon–Sun week), but works for any range. Trigger for: "weekly release notes", "release notes for <app> last week", "what shipped in <app> between <date> and <date>", "scheduled release notes run". For release notes between two explicitly-named branches, use `release-notes-generator` directly.
    0
    installs
  41. Custom Angular Component Creator · datex bundle
    Author or edit a Datex Studio Custom Angular Component (CAC, configurationTypeId=36) on a branch via the `dxs ng` command family — a screenshot-driven create → edit-regions → preview → push loop for bespoke Angular UI (charts, dashboards, custom widgets).
    0
    installs