Skip to main content
Glama
ty-meador

civ-v-llm-harness

by ty-meador

available_city_strikes

Identify which tiles a city can bombard this turn. Returns an empty list if the city has no ranged strike available.

Instructions

Plots this city can bombard right now. Empty if it has no ranged strike this turn.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
city_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.11.0

TDQS

A3.6/5.0
Behavior3/5

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

No annotations, so the description carries the full burden. It discloses the useful empty-result behavior, but doesn't state whether it requires the city to have ranged capability, permissions, or any side effects. It reads as a pure read query, which is helpful but not fully specified.

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 tight sentences with the core purpose front-loaded; nothing wasted and the empty-case caveat follows immediately.

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?

For a simple one-param query with no annotations or output schema, the description conveys both what it returns (bombardable plots) and the empty-result condition. Minor gaps remain around the exact return format, but it's largely 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 0% for the single city_id parameter. The description's 'this city' weakly implies city_id selects the acting city, but adds no format or constraint detail beyond what the bare integer schema shows.

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

Purpose4/5

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

States a specific verb and resource: it returns the plots a given city can bombard right now. It's clearly distinguishable from the action sibling city_ranged_attack, though it doesn't name that sibling directly.

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

Usage Guidelines3/5

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

'Empty if it has no ranged strike this turn' gives a usage condition and implies the tool is a query to run before attacking. However, there's no explicit statement of when to use it versus city_ranged_attack or other targeting tools.

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