| Code Block | ||||
|---|---|---|---|---|
| ||||
--- title: "Skill Template — Replace This Title |
...
" tags: [replace, with, relevant, keywords] |
...
description: "One-line summary explaining what this skill teaches Claude to do |
...
" version: "1.0" |
...
author: "Tatsoft |
...
"
---
|
| Excerpt |
|---|
Canonical template for creating FrameworX AI Skills — markdown playbooks that teach the AI assistant how to build specific solutions. Duplicate this page to create your own skill. |
| Note |
|---|
Publishing checklist: When publishing a skill page to Confluence, you must add the To create a new skill: Click ... → Copy on this page, then replace all placeholder content with your implementation. |
...
| Section | |||||
|---|---|---|---|---|---|
|
...
|
...
|
Describe the trigger conditions. Be specific — Claude uses this to decide whether to load the skill.
Use this skill when:
| Wiki Markup |
|---|
The user asks to \[specific scenario\] |
| Wiki Markup |
|---|
The user mentions \[specific keywords or concepts\] |
| Wiki Markup |
|---|
The solution needs \[specific capability\] |
Do NOT use this skill when:
| Wiki Markup |
|---|
\[Scenario where a different approach is better\] |
| Wiki Markup |
|---|
\[Common misapplication to avoid\] |
What must exist in the solution before this skill can be applied
...
.
open_solution or create_solution completed)| Wiki Markup |
|---|
\[Specific tags, channels, or objects that must exist\] |
| Wiki Markup |
|---|
\[Required ScriptsReferences or NuGet packages\] |
Quick reference for Claude on which tools and table types this skill uses.
Category | Items |
|---|---|
Tools |
...
| |
Tables |
...
|
| Wiki Markup |
|---|
Step 1: \[Action Name\] |
Explain what to do and why. Include the exact MCP tool call.
First, fetch the schema to confirm field names:
| Code Block | ||
|---|---|---|
| ||
get_table_schema('TableType')
|
Then write the objects:
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"table_type": "TableType",
"data": [
{
"Name": "ObjectName",
"Property1": "Value1",
"Property2": "Value2"
}
]
}
|
Key decisions:
| Wiki Markup |
|---|
Step 2: \[Action Name\] |
Continue the pattern. Each step should be self-contained enough that Claude can execute it and verify before moving on.
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"table_type": "AnotherTable",
"data": [
{
"Name": "ObjectName",
"DependsOn": "ObjectFromStep1"
}
]
}
|
| Wiki Markup |
|---|
Step 3: \[Action Name\] |
Final configuration step.
Include C# script examples when the skill involves ScriptsClasses or ScriptsTasks.
...
| Code Block | ||||
|---|---|---|---|---|
|
...
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 |
|
...
OnChange |
...
How to confirm the implementation is correct. List concrete checks.
get_objects('TableType') — verify the new objects appearget_designer_state() — confirm no compilation errors (for scripts)| Wiki Markup |
|---|
Start runtime |
...
? check that \[expected behavior occurs\] |
browse_namespace('Tag.Path') — verify tags have expected valuesMistake | 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> |
...
Optional section for common variations of this skill.
| Wiki Markup |
|---|
*Variation A: \[Name\]* |
| Wiki Markup |
|---|
Change Step 2 to use \[alternative approach\] |
| Wiki Markup |
|---|
Useful when \[scenario\] |
| Wiki Markup |
|---|
*Variation B: \[Name\]* |
| Wiki Markup |
|---|
Skip Step 3 and instead \[alternative approach\] |
| Wiki Markup |
|---|
Useful when \[scenario\] |
| Wiki Markup |
|---|
{{skill-related-name}} — \[How it connects\] |
| Wiki Markup |
|---|
{{skill-another-name}} — \[How it connects\] |
...
| Page Tree | ||
|---|---|---|
|
...
...