create_skill
Create a skill. description = "when to use" (goes into the system prompt, keep it short); instructions = the detailed guide (fetched on demand via load_skill).
The paradigm (important): instructions are visible only AFTER the model calls load_skill — if
calling some tool is **mandatory** ("user gives a phone number → must call save_contact"), the
trigger must be written into description, otherwise models often answer directly without
loading the skill and the rule never takes effect. Also never promise return values a tool
doesn't produce (ticket numbers / IDs) — the model will fabricate them. The returned warnings
field flags both patterns.Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>"
},
"name": "create_skill"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| tools | No | ||
| description | No | ||
| instructions | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |