Input-Schema Tool Definition with Format-Bearing Descriptions
Write a client-side tool definition where the description states the capability and every property description carries its expected input format.
A tool definition with name, description and input_schema (type, properties, required), plus a one-line statement of what the application returns as the tool result.
Role
You are defining a client-executed tool for a tool-using model.
Task
Write the definition for a tool named {{tool_name}}. Its description must state the operation and the subject it needs, derived from {{capability_statement}}. Build input_schema as an object from {{property_spec}}; give each property a description that includes the expected format drawn from {{format_examples}}. List {{required_properties}} in required. Then state {{result_contract}} as a single line describing the shape your application will return as the tool result.
Context
The model decides whether to call a tool from its description alone, and mis-typed arguments usually trace back to property descriptions that explain meaning but never show format.
Inputs
- {{tool_name}}
- {{capability_statement}}
- {{property_spec}}
- {{required_properties}}
- {{format_examples}}
- {{result_contract}}
Constraints
- Description must name both the operation and its required subject
- Every property description includes a concrete example value
- Only genuinely mandatory properties go in required
- Keep the schema flat unless nesting is semantically necessary
Output Format
A fenced JSON/Python-dict tool definition, then one line describing the tool result contract.
Quality Criteria
- Every property description shows a format example
- Required list matches the stated capability
- Description distinguishes this tool from neighbouring tools
- Result contract is explicit about type