Skip to main content
Glama
ty-meador

civ-v-llm-harness

by ty-meador

demand

Ask an AI leader to hand over trade items for nothing through Civilization V's leader screen, then report acceptance, reply, and measured effects.

Instructions

The leader screen's Demand button: tell an AI leader to hand over items for nothing, through the game's real screens (Demand -> table with only THEIR pocket -> DEMAND -> the leader's answer), then close up and report accepted, reply and measured effects like propose_deal. items take propose_deal's shapes and are all from_us:false (GOLD, GOLD_PER_TURN, RESOURCES, CITIES, OPEN_BORDERS, ALLOW_EMBASSY...); pick from trade_catalog(player_id)'s them side. AI leaders only (a human seat has no leader screen: propose_deal sends them a table), and the button is greyed at war (make_peace instead). As in the stock game a refused demand is remembered against you by that leader; use it deliberately.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
player_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.11.0

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations the description carries the full behavioral burden and does well: it discloses the screen sequence, the diplomatic penalty for a refused demand, the war/AI-leader preconditions, and the return shape ('accepted', 'reply', 'measured effects like propose_deal'). It omits how `effects` are measured and whether the demand is reversible, so it falls just short of a 5.

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?

One dense paragraph with the core action front-loaded; parentheticals are information-bearing rather than filler, though the density and stacked asides (war/AI-leader/from_us/catalog) make it harder to scan than a chunked split would be.

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

Completeness5/5

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

For a complex, annotation-free, output-schema-free diplomacy mutation, the description covers preconditions, execution path, item semantics, and return values. An agent has everything needed to call it correctly and interpret the result.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it largely does for `items`: it names the shape source (propose_deal), the required `from_us:false` flag, and concrete types (GOLD, GOLD_PER_TURN, RESOURCES, CITIES, OPEN_BORDERS, ALLOW_EMBASSY) plus where to pick them (trade_catalog's `them` side). `player_id` is only implicitly defined as the target leader, leaving a small 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 resource ('tell an AI leader to hand over `items` for nothing') and immediately distinguishes itself from propose_deal ('through the game's real screens (Demand -> table -> DEMAND -> answer)'). An agent can select this over the sibling trade/diplomacy tools without opening a schema.

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

Usage Guidelines5/5

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

Explicit when-to-use and when-not: AI leaders only ('a human seat has no leader screen: propose_deal sends them a table') and blocked at war ('the button is greyed at war (make_peace instead)'), each naming the alternative tool. It also warns to use it deliberately because refusals are remembered.

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