Interface: ISkill
Defined in: contracts/types.ts:351
Instructions the model loads when a task needs them, instead of reading them on every call (D124).
Attached to a profile (IAIProfile.skills) or to one call (IGatewayAskInput.skills). In run() the system prompt lists
every skill's name and description, and the model fetches a body with the built-in dyna_aigw_load_skill tool when a task
matches; in ask() the bodies are in the prompt (no tool loop there). A long rule that applies to few calls (a refund
policy, an onboarding script, an escalation procedure) belongs here; a rule for every call belongs in promptAddendum.
Properties
body
body:
string
Defined in: contracts/types.ts:378
The instructions themselves, Markdown; the model reads them only when it loads the skill (run()) or when they are
inlined (ask()).
Paid only by the calls that need it.
Example
"# Refund policy\n\nA refund is possible within 14 days of delivery …"
description
description:
string
Defined in: contracts/types.ts:369
One or two sentences the model reads on every run() call: what the skill covers and when to load it.
The whole cost of a skill that is not loaded; keep it short and specific.
Example
"The refund rules of the shop: amounts, deadlines, who may approve. Load it before you promise or refuse a refund."
name
name:
string
Defined in: contracts/types.ts:361
The name the model loads the skill by; unique among the skills of a call (the profile's and the call's together).
A duplicate across the profile and the call is a 400 before anything is stored.
snake_case, like a tool name, reads best for the model.
Example
"refund_policy"