| 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:
...
...
...
...
...
Do NOT use this skill when:
...
...
...
...
What must exist in the solution before this skill can be applied.
...
open_solution or create_solution completed)...
...
...
...
Quick reference for Claude on which tools and table types this skill uses.
Category | Items |
|---|---|
Tools |
...
| |
Tables |
...
|
...
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:
...
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"
}
]
}
|
...
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)...
...
browse_namespace('Tag.Path') — verify tags have expected values...
Mistake |
|---|
...
Why It Happens | How to Avoid | |
|---|---|---|
‹Mistake 1› | ‹Root cause› | ‹Correct approach› |
‹Mistake 2› | ‹Root cause› | ‹Correct approach› |
‹Mistake 3› | ‹Root cause› | ‹Correct approach› |
...
Optional section for common variations of this skill.
Variation A:
...
‹Name›
...
...
Variation B:
...
‹Name›
...
...
skill-related-name — ...
...
skill-another-name — ...
...
...
| Page Tree | ||
|---|---|---|
|
...
...