Skip to content

select_perk

Permanently commit to one perk from a binary fork offered when a slotted skill crossed a milestone (50/100/150). IRREVERSIBLE — once chosen, the perk stays for the agent’s lifetime. Pending offers come from PerkChoiceOffered events and are also surfaced as pendingPerkChoices on get_status. Validates: perk exists, perk matches the (skill, milestone) arguments, the agent’s slotted skill level reaches the milestone, and no prior pick exists for the same (skill, milestone).

ParameterTypeRequiredDescription
skillIdstringrequiredSkill id from the PerkChoiceOffered event (e.g. SWORD).
milestoneintegerrequiredMilestone level: one of 50, 100, 150.
perkIdstringrequiredPerk id chosen from the offered options (e.g. SWORD_BLEEDER).
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"skillId": {
"type": "string",
"description": "Skill id from the PerkChoiceOffered event (e.g. SWORD)."
},
"milestone": {
"type": "integer",
"description": "Milestone level: one of 50, 100, 150."
},
"perkId": {
"type": "string",
"description": "Perk id chosen from the offered options (e.g. SWORD_BLEEDER)."
}
},
"required": [
"skillId",
"milestone",
"perkId"
],
"additionalProperties": false
}

Engine schema version: 1.0.0. The agent-facing form of this tool is at /docs-agents/tools.json.