Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

Publishing checklist: When publishing a skill page to Confluence, you must add the skill label to the page. Without this label, search_docs(query, labels='skill') will not discover your skill. Add additional labels for relevant modules (e.g. alarm, script, ml).

To create a new skill: Click ...Copy on this page, then replace all placeholder content with your implementation.

...

Section


Column
width50%

What This Skill Does

Brief one-paragraph summary of what this skill accomplishes. Focus on the outcome, not the process. Write this for Claude — it reads this after deciding to load the skill, so get straight to the point.

Example: "This skill creates a complete alarm pipeline: groups for severity classification, alarm items with limit-based triggers on existing tags, and verification via AlarmsMonitor."


Column
width50%

On this page:

Table of Contents
maxLevel2
minLevel2
indent10px
stylenone


When to Use This Skill

Describe the trigger conditions. Be specific — Claude uses this to decide whether to load the skill.

Use this skill when:

  • Wiki MarkupThe user asks to \[specific scenario\]
    Wiki Markup
    The user mentions \[specific keywords or concepts\]
    Wiki MarkupThe solution needs \[specific ‹describe specific scenario›
  • The user mentions ‹specific keywords or concepts›
  • The solution needs ‹specific capability›capability\]

Do NOT use this skill when:

  • ‹Scenario where a different approach is better›
  • ‹Common misapplication to avoid›
    Wiki Markup
    \[Scenario where a different approach is better\]
    Wiki Markup\[Common misapplication to avoid\]

Prerequisites

What must exist in the solution before this skill can be applied.

  • Solution must be open (open_solution or create_solution completed)
  • Wiki Markup\[Specific ‹Specific tags, channels, or objects that must exist\] Wiki Markup\[Required ScriptsReferences exist›
  • ‹Required ScriptsReferences or NuGet packages›or NuGet packages\]

MCP Tools and Tables Involved

Quick reference for Claude on which tools and table types this skill uses.

Category

Items

Tools

get_table_schema, write_objects, list_protocols, get_objects, list_elements

Tables

UnsTags, DevicesChannels, DevicesNodes, DevicesPoints

Implementation Steps

...

Step

...

1:

...

‹Action Name›

Explain what to do and why. Include the exact MCP tool call.

...

  • Why this value for Property1
  • What to change for different scenarios

...

Step

...

2:

...

‹Action Name›

Continue the pattern. Each step should be self-contained enough that Claude can execute it and verify before moving on.

unmigrated-wiki-markup
Code Block
languagejson
titlewrite_objects call
{
  "table_type": "AnotherTable",
  "data": [
    {
      "Name": "ObjectName",
      "DependsOn": "ObjectFromStep1"
    }
  ]
}

Step

...

3:

...

‹Action Name›

Final configuration step.

Code Examples

Include C# script examples when the skill involves ScriptsClasses or ScriptsTasks.

Code Block
languagecsharp
titleScriptsClasses — ClassContent for [purpose]‹purpose›
public static void MethodName(string tagPath)
{
    double value = @Tag.TagPath.Value;
    // Process logic here
    @Tag.OutputTag.Value = result;
}

Expression to trigger this class:

ObjectName

Expression

Execution

TriggerName

Script.Class.ClassName.MethodName(Tag.InputTag)

OnChange

Verification

How to confirm the implementation is correct. List concrete checks.

  1. get_objects('TableType') — verify the new objects appear
  2. get_designer_state() — confirm no compilation errors (for scripts)
  3. Wiki MarkupStart runtime ? check that \[expected behavior occurs\] ‹expected behavior occurs›
  4. browse_namespace('Tag.Path') — verify tags have expected values

Common Pitfalls

Mistake

Why It Happens

How to Avoid

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="c639e625-834c-4403-8107-d49ae15a532a"><ac:plain-text-body><![CDATA[

[Mistake 1]

[Root cause]

[Correct approach]

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="146abb4a-092f-4977-8751-18f41c898a9b"><ac:plain-text-body><![CDATA[

[Mistake 2]

[Root cause]

[Correct approach]

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="3706199e-d1e6-405e-a08f-c5e6978f5077"><ac:plain-text-body><![CDATA[

[Mistake 3]

[Root cause]

[Correct approach]

]]></ac:plain-text-body></ac:structured-macro>

‹Mistake 1›

‹Root cause›

‹Correct approach›

‹Mistake 2›

‹Root cause›

‹Correct approach›

‹Mistake 3›

‹Root cause›

‹Correct approach›

Variations

Optional section for common variations of this skill.

...

...

Variation

...

A:

...

Wiki Markup
Change Step 2 to use \[alternative approach\]

‹Name›

  • Change Step 2 to use ‹alternative approach›
  • Useful when ‹scenario›

Variation B: ‹Name›

  • Skip Step 3 and instead ‹alternative approach›
  • Useful when ‹scenario›

Related Skills

Wiki Markup
Useful when \[scenario\]
Wiki Markup
*Variation B: \[Name\]*
Wiki Markup
Skip Step 3 and instead \[alternative approach\]
Wiki Markup
Useful when \[scenario\]

Related Skills

  • Wiki Markup{{skill-related-name}} — \[How it connects\] ‹How it connects›
  • Wiki Markup{{skill-another-name}} — \[How it connects\] ‹How it connects›

...

In this section...

Page Tree
root@parent

...