Skip to main content
Glama
poe2-build-planner

poe2-build-planner

by cornndawwg

Find more damage without losing survivability

optimize_build
Read-only

Tests likely support, passive, Spirit, and anoint changes to a Path of Building character, then reports measurable damage or survivability gains and compatible picks.

Instructions

Tries likely changes to a build in Path of Building, one at a time, and keeps what measurably helps: support swaps on the main skill (or adding one to a free socket), notables that scale the build or its defences, Spirit skills, and an amulet anoint. damage lists changes that raise the objective (boss DPS, clear DPS or both) without giving up survivability (effective HP and max hit within 2%, resistances still capped); survival lists cheap survivability gains; spiritSkills shows what each Spirit skill measured; combined is the best compatible picks calculated together. Passive changes show their point cost and whether they fit the free points. Takes 10-40 seconds. A best-effort search, not a guaranteed best build; numbers are estimates. Use it after the first evaluate_build, and again after applying changes. Windows only for now.

Input Schema

NameRequiredDescriptionDefault
gearNo
avoidNo
classYesClass or ascendancy name
goalsNoThe player's goals from build_intake: stricter targets, an honest goalCheck, and budget-matched end-game gear
itemsNoSpecific items; each replaces the assumed item in its slot. Jewels go in the tree's allocated jewel sockets.
kindsNoDefault: all
labelNoShort name for this variant on the dashboard, e.g. "Firestorm + Wildsurge"
levelYes
termsNoWhat the build scales, for the assumed gear (as for stat_priorities)
anointNoNotable to anoint on the amulet (Liquid Emotions), e.g. "Potent Incantation"
flasksNoUnique flasks and charms by name (or item text); plain life/mana flasks are assumed otherwise
skillsYes
defenceNoDefence layers for the assumed gear (default: life)
weaponsNoWeapon item classes to assume, e.g. ["Staff"], ["Wand", "Focus"], ["One Hand Mace", "Shield"]
gearTierNoQuality of the assumed rares: budget (mid rolls), mid (good rolls, more mods), high (perfect rolls, full mods). Wins over goals.budget; without either, budget. goals.budget only raises end-game (65+) gear, so at campaign levels all three budgets look the same.
passivesYesMain-tree passives taken by this level (key, id or exact name); missing connectors are added
mainSkillNo0-based index of the main damage skill (default 0)
objectiveNoWhat to maximise. Default from goals.purpose: mapping → clear, bossing → boss, otherwise balanced
ascendancyNo
weaponSwapNoWeapon swap: a second weapon set with its own passives and skills
amuletSkillNoA skill granted with no Spirit cost by a Lament, Portent or Absent Amulet (replaces the amulet), e.g. "Herald of Ash"
socketablesNoRunes, soul cores and idols to socket, by slot
flasksActiveNoCalculate with flasks active
helmetInstillNoNotable to instill on the helmet via a Raven-Touched Shard (level 60+, expensive)
maxEvaluationsNoCalculations to spend (default 40)
ascendancyPassivesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.7.0-beta
    • addedInput schema / properties / label
      Added value: +{
      +  "description": "Short name for this variant on the dashboard, e.g. \"Firestorm + Wildsurge\"",
      +  "maxLength": 80,
      +  "type": "string"
      +}
  2. Changed1 schema field changedv0.6.0-beta
    • changedInput schema / properties / gearTier / description
      Previous value: -"Quality of the assumed rares: budget (default, mid rolls), mid (good rolls, more mods), high (perfect rolls, full mods)"New value: +"Quality of the assumed rares: budget (mid rolls), mid (good rolls, more mods), high (perfect rolls, full mods). Wins over goals.budget; without either, budget. goals.budget only raises end-game (65+) gear, so at campaign levels all three budgets look the same."
  3. First observedv0.5.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint annotation: discloses the 10-40 second runtime, that it is best-effort rather than a guaranteed optimum, that numbers are estimates, the Windows-only limitation, and the acceptance constraint (no more than 2% loss of effective HP/max hit, resistances stay capped). That is exactly the operational context an agent needs before calling a slow search.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the tool does and how it searches, then moves to result keys and caveats. Dense but every clause carries information; the result-key sentence is a little list-heavy but justified by the absence of an output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 26 parameters, no output schema, and a long runtime, explaining the four result sections (`damage`, `survival`, `spiritSkills`, `combined`) is essential and is done. Missing pieces are the platform/permission implications and what happens when nothing improves, but for a read-only search this is close to sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 77%, so the schema largely documents the 26 parameters itself; the description adds meaning mainly via the `kinds` values (support swaps, notables, Spirit skills, anoint) and by noting passives report point cost and free-point fit. It never mentions `avoid`, `maxEvaluations`, `gearTier`, or `objective` tuning, so it does not close the remaining gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and method ("tries likely changes to a build in Path of Building, one at a time") and enumerates exactly what sorts of changes it explores. This is clearly distinguishable from evaluate_build (measure) and check_build (validate), so an agent can route without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit sequencing: "Use it after the first evaluate_build, and again after applying changes," which tells the agent where it sits in the workflow. It lacks an explicit exclusion against check_build or compare_builds, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.