Versions Compared

Key

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

Skill Template — Replace This Title
[replace, with, relevant, keywords]
One-line summary explaining what this skill teaches Claude to do
Version: "1.0" Author: "Tatsoft


First Steps After Creating a Solution

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

Table of Contents
maxLevel2
minLevel2
indent10px
excludeSteps
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:

  • The user asks to [specific scenario]
  • The user mentions [specific keywords or concepts]
  • The solution needs [specific capability]

Do NOT use this skill when:

  • [Scenario where a different approach is better]
  • [Common misapplication to avoid]

Prerequisites

What must exist in the solution before this skill can be applied. List specific objects, modules, or configurations.

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

MCP Tools and Tables Involved

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

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.

First, fetch the schema to confirm field names:

get_table_schema('TableType')

Then write the objects:

{
  "table_type": "TableType",
  "data": [
    {
      "Name": "ObjectName",
      "Property1": "Value1",
      "Property2": "Value2"
    }
  ]
}

Key decisions:

  • 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.

{
  "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.

// ScriptsClasses — ClassContent for [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. Start runtime → check that [expected behavior occurs]
  4. browse_namespace('Tag.Path') — verify tags have expected values

Common Pitfalls

  • [Mistake]: [Why it happens and how to avoid it]
  • [Mistake]: [Why it happens and how to avoid it]
  • [Mistake]: [Why it happens and how to avoid it]

Variations

Optional section for common variations of this skill.

Variation A: [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

  • skill-related-name — [How it connects]
  • skill-another-name — [How it connects]

In this section...

Page Tree
root@parent
spaces93DRAF