Skip to main content
Glama

record_adr

Document architecture decisions under an epic: context, chosen decision, rejected alternatives, and consequences. Capture reasoning before implementation starts so it isn't lost.

Instructions

Record an Architecture Decision Record under an epic: the context forcing a choice, the decision, alternatives rejected (with reasons), and consequences accepted. Recording decisions before creating stories is recommended — it captures reasoning that gets lost once implementation starts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYes
contextYes
epic_idYes
decisionYes
alternativesYes
consequencesYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.4

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It explains the record's contents but does not state that this creates a persistent artifact, whether it is idempotent, what side effects occur on the associated epic, or any permission/ordering constraints beyond the timing recommendation.

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?

The description is compact, front-loaded with the core purpose, and every sentence earns its place. The first sentence defines the action and content; the second adds a valuable workflow recommendation without redundancy.

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?

Given the presence of an output schema and six required parameters, the description provides enough semantic coverage for the main fields and ties the tool into the broader planning workflow via the 'before creating stories' guidance. It falls just short of full completeness because it does not clarify the title/epic_id relationship or describe any behavioral constraints.

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 description coverage is 0%, so the description must compensate. It adds meaning for context, decision, alternatives, and consequences ('alternatives rejected (with reasons)', 'consequences accepted'). However, it does not explicitly explain epic_id or title, though 'under an epic' implies epic_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?

The description uses a specific verb and resource: 'Record an Architecture Decision Record under an epic.' It also enumerates the content of the ADR (context, decision, alternatives, consequences), making it clearly distinct from sibling tools like create_story or plan_epic.

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?

The description explicitly recommends using this tool before creating stories: 'Recording decisions before creating stories is recommended.' This gives clear contextual timing for use, though it does not explicitly state when not to use the tool or name alternative tools.

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