opcua-client-nodesetlisted
Install: claude install-skill php-opcua/ai-skills
# php-opcua/opcua-client-nodeset — v4.4.0 skill
Pre-generated PHP types for 51 OPC Foundation companion specifications. A read-only library — every file in `src/` is the deterministic output of `composer generate` against `UA-Nodeset/`. Plug it into `opcua-client` with one builder call and structured OPC UA values come back as typed PHP enums and `readonly` DTOs.
## When to use this skill
Activate when any of these apply:
- The user mentions a **companion specification** by name (Robotics, MachineTool, Machinery, DI, BACnet, MTConnect, ISA-95, PackML, AutoID, PROFINET, MachineVision, LADS, …)
- They want **typed enums** back from a Read instead of raw integers (`OperationalModeEnumeration::MANUAL_HIGH_SPEED` vs `int(2)`)
- They're reading a **Structure DataType** (custom OPC UA struct) and want a PHP DTO, not a raw `ExtensionObject`
- They reference **well-known NodeIds** from a spec (`MachineryNodeIds::MACHINE_IDENTIFICATION_TYPE`)
- They ask about **regenerating** from a NodeSet2.xml (their own vendor's, or after an upstream `UA-Nodeset` update)
- They use `ClientBuilder::loadGeneratedTypes(...)` or `GeneratedTypeRegistrar`
Do NOT activate for: generic OPC UA tasks not touching companion specs — use the `opcua-client` skill instead.
## The 60-second mental model
```
UA-Nodeset/Schema/*.NodeSet2.xml (OPC Foundation XML — vendored)
│
▼ composer generate
src/<Spec>