Skip to main content
Glama
ty-meador

civ-v-llm-harness

by ty-meador

sell_building

Sell a building in your non-puppet city to gain gold and cut maintenance costs. Specify the city and building to convert structures into immediate treasury income.

Instructions

Sell one building in one of my non-puppet cities (the city-screen click-to-sell). city_screen lists can_sell / sell_gold / gold_maintenance. Usually one sell per city per turn.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
city_idYes
buildingYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.11.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry the full burden. It usefully discloses the non-puppet restriction and the one-sell-per-city-per-turn rate limit, but never states that the sale is irreversible / removes the building or whether `sell_gold` is the returned benefit.

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

Conciseness5/5

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

Two dense sentences with the action and scope front-loaded; the parenthetical and the per-turn caveat each add real information with no padding.

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

Completeness3/5

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

For a two-param mutation with no annotations, no output schema, and no documented parameters, the description supplies constraints and a discovery pointer but omits what the call returns (`sell_gold`) and any failure conditions, leaving gaps an agent would benefit from.

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

Parameters2/5

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

Schema coverage is 0% for both parameters. The description hints that valid buildings can be discovered via city_screen's `can_sell`, which partially compensates for `building`, but gives no format or sourcing for `city_id`.

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 resource ('Sell one building') plus scope ('one of my non-puppet cities'), and identifies the equivalent UI action. No sibling tool covers selling buildings, so the agent can distinguish it immediately.

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?

Gives explicit preconditions (city must be non-puppet, usually one sell per city per turn) and routes the agent to city_screen to check `can_sell` before acting. It stops short of naming a concrete alternative action when a building is not sellable.

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

Deploy Server

Other Tools