Worked example: Acme Corp's mandatory 4-level tag hierarchy, imperial units, description format, and standard equipment templates — published as a user-created AI skill.
AI Integration → User Skill Generation → Skill Acme Naming Conventions
--- title: "Acme Corp — Tag Naming and Structure Standards" tags: [naming, convention, tags, structure, standard, acme, company] description: "Acme Corp company standard for UNS tag naming, folder hierarchy, data types, and descriptions. Apply to all new Acme solutions." version: "2.1" author: "Acme Corp Engineering" ---
Company-specific naming conventions for Acme Corp: mandatory 4-level tag hierarchy, imperial units, description format standards, and standard equipment tag templates. This is a user-created skill example showing how integrators enforce company standards.
This is an example of a user-created skill. It shows how an integrator or end-user would create a company-specific skill to enforce their naming standards. To create your own, see the Skill Authoring Guide.
What This Skill Does
This skill defines Acme Corp's mandatory tag naming conventions. All new solutions for Acme plants must follow this structure. When the user asks to create tags, apply these rules automatically.
When to Use This Skill
Use this skill when:
- Creating tags for any Acme Corp solution
- The user says "create tags", "add tags", or "set up the namespace"
- Reviewing or refactoring an existing Acme solution's tag structure
Tag Hierarchy
All Acme tags follow this 4-level hierarchy:
{Site}/{Unit}/{Equipment}/{Measurement}
Examples:
Houston/Distillation/Column1/TemperatureHouston/Distillation/Column1/PressureHouston/Utilities/Boiler2/SteamFlowBaytown/Cracking/Reactor3/CatalystLevel
Rules:
Level | Description | Examples |
|---|---|---|
Site | City name | Houston, Baytown, Beaumont |
Unit | Process unit name | Distillation, Cracking, Utilities, Storage |
Equipment | Equipment ID with number suffix | Column1, Pump3, Boiler2 |
Measurement | What is measured | Temperature, Pressure, Level, Flow, Status, Speed |
Never use:
- Abbreviations in measurement names (use
TemperaturenotTemp) - Underscores (use PascalCase for multi-word names:
SteamFlownotSteam_Flow) - Generic names like
Tag1,Analog1,Value
Data Type Standards
Measurement Type | DataType | Unit | Example |
|---|---|---|---|
Temperature | Double | °F | 350.5 |
Pressure | Double | PSI | 125.3 |
Level | Double | % | 67.2 |
Flow | Double | GPM | 1200.0 |
Speed | Double | RPM | 3600.0 |
Status | Integer | enum | 0=Off, 1=Running, 2=Fault |
Command | Boolean | — | True/False |
Setpoint | Double | same as measurement | 350.0 |
Important: Acme uses imperial units (°F, PSI, GPM), not metric. All tag descriptions must include the unit.
Description Format
Every tag must have a description following this format:
{Equipment full name} {measurement} in {unit}
Examples:
- "Distillation Column 1 temperature in °F"
- "Boiler 2 steam flow rate in GPM"
- "Cracking Reactor 3 catalyst level in %"
Example: Creating Tags for a New Pump
When the user asks to add tags for a pump, create this standard set:
Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'{
"table_type": "UnsTags",
"data": [
{ "Name": "{Site}/{Unit}/Pump{N}/Status", "DataType": "Integer", "Description": "{Unit} Pump {N} status (0=Off, 1=Running, 2=Fault)" },
{ "Name": "{Site}/{Unit}/Pump{N}/Speed", "DataType": "Double", "Description": "{Unit} Pump {N} speed in RPM" },
{ "Name": "{Site}/{Unit}/Pump{N}/DischargePressure", "DataType": "Double", "Description": "{Unit} Pump {N} discharge pressure in PSI" },
{ "Name": "{Site}/{Unit}/Pump{N}/SuctionPressure", "DataType": "Double", "Description": "{Unit} Pump {N} suction pressure in PSI" },
{ "Name": "{Site}/{Unit}/Pump{N}/Flow", "DataType": "Double", "Description": "{Unit} Pump {N} flow rate in GPM" },
{ "Name": "{Site}/{Unit}/Pump{N}/BearingTemp", "DataType": "Double", "Description": "{Unit} Pump {N} bearing temperature in °F" },
{ "Name": "{Site}/{Unit}/Pump{N}/RunHours", "DataType": "Double", "Description": "{Unit} Pump {N} cumulative run hours" },
{ "Name": "{Site}/{Unit}/Pump{N}/StartCommand", "DataType": "Boolean", "Description": "{Unit} Pump {N} start command" },
{ "Name": "{Site}/{Unit}/Pump{N}/StopCommand", "DataType": "Boolean", "Description": "{Unit} Pump {N} stop command" }
]
}
Ask the user for Site, Unit, and pump number, then substitute into the template.
Alarm Naming Convention
Alarm items follow this pattern:
{Site}_{Unit}_{Equipment}_{Condition}
Example: Houston_Distillation_Column1_TempHigh
Verification
After creating tags, verify:
- All tags follow the 4-level hierarchy
- No abbreviations in measurement names
- All descriptions include units
- DataTypes match the standard table above
- Imperial units used (not metric)
See also
- Skill Authoring Guide. How to write, test, and publish your own custom skill.
- Skill Template Reference. Canonical skill-page template to duplicate.