Loading...
Loading...
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.
npx skill4agent add datex/skills component-validatorSee also:— grid files (grid-validator) carry several gotchas the generic dispatcher does not catch (envelope-vs-body shape, text-display coercion, five-location invariant). For grids, prefer*-grid.jsonand treat this skill as a fall-back ifgrid-validatoris unavailable.grid-validatorSee also:— cross-component reference contracts (one component pointing at another). This validator only audits a single file in isolation; it flags obvious wiring drift it can see in that one file (e.g. acomponent-wiring-checkblock that does not mirror the file's ownconfigParameters) but does not chase external references.inParamsCAC note: a Custom Angular Component (, aconfigurationTypeId: 36working folder —dxs ng+manifest.jsonwithapp.<ref>.component.ts///#region __COMPONENT_TYPES__) is not a single-file JSON body, so this skill's suffix dispatch doesn't apply. Audit it per__COMPONENT_BODY__'s own Pre-Flight Checklist instead.custom-angular-component-creator
configurationTypeIdreferenceNameaccessModifierdescriptionaction-creatorfunction-creatorgrid-creatorhub-creatorform-creatoreditor-creatorselector-creatorstorage-creatortype-definition-creatorbackend-test-creatordatasource-creatorreferences/<type>.mdcustom-angular-component-creatorconfigurationTypeId: 36datex-studio-conventionsdatex-studio-shareddatex-studio-runtimetailoring-overlaycomponent-wiring-check## Sub-agentbody.jsondxs configuration upsertdxs source explore config <referenceName> --branch <id>dxs configuration get <type> <id> -b <id> -O envelope.json && jq .json envelope.json > body.jsonsrc/## Sub-agentReadGrepGlobcomponent-wiring-checkschema-explorerReadGrepGlobreferences/<type>.md| Suffix | Primary rule source (creator skill) |
|---|---|
| |
| |
| Use |
| |
| |
| |
| |
| |
| |
| |
| |
| |
CAC working folder ( | This file-suffix dispatch does not apply — a CAC is not a single JSON body. Audit per |
Cannot validate: unknown component suffix '<suffix>'. Supported: <list>.../tailoring-overlay/Readjq .jsonblockerwarningnit<filename>:<line>inParams[0].objectTypeDef../datex-studio-conventions/universal-checklist.mdaccessModifierreferenceNameconfigurationTypeIdinParamsoutParamsid: 0../tailoring-overlay/No issues found.component-wiring-checkconfigParametersinParamsschema-explorer## Blockers
- [`description`] is `null` (defaults.md requires non-empty).
- [`inParams[3].objectType`] references `Allocations.i_unknown_type` — type file not present in the package.
## Warnings
- [`outParams[0].id` = "alertList"] camelCase; new params should be snake_case.
## Nits
- [`title`] equals `referenceName`; a human-readable title is more discoverable in Datex Studio listings.No issues found.scripts/validate-component.pyscripts/INSTALL.md