Validate a build against GW1 rules
validate_buildCheck a build (professions, attributes, 8 skills by exact English name) against Guild Wars 1 rules: one elite max, profession/attribute ownership, primary attributes, duplicates, rank ranges. Returns { valid, errors, warnings } without encoding — use encode_template instead when you also want the template code, since it runs these same rules and refuses on any error.
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": {
"primary": "<primary>",
"attributes": "<attributes>",
"skills": "<skills>"
},
"name": "validate_build"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| forPvp | No | Set true for a PvP character's bar (PvP versions of split skills are only valid then). | |
| skills | Yes | Exactly 8 skill names in bar order. Use null for an empty slot. Names must be exact English skill names. | |
| forHero | No | Set true if this bar is for a hero (PvE-only skills are flagged) | |
| primary | Yes | Primary profession, e.g. "Dervish" | |
| secondary | No | Secondary profession, e.g. "Monk". Omit or "None" for none. | |
| attributes | Yes | Attribute point allocations (template format caps this at 15 entries) | |
| unlockedSkillIds | No | Optional: unlocked skill ids from a GWToolbox account export (/exportaccount). Skills outside this list are flagged as warnings. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| valid | Yes | Whether the build is legal in-game | |
| errors | Yes | Blocking problems; empty when valid | |
| warnings | Yes | Non-blocking advisories |