Skip to main content
Glama

record_decision

Record architectural decisions with context, alternatives, and code references to make them searchable for the entire team.

Instructions

개발 중 내린 의사결정을 지식 베이스에 기록한다 (기록 즉시 팀 전체 검색 가능).

언제 쓰나: 아키텍처/라이브러리/스키마 선택, 트레이드오프 판단, 컨벤션 결정 등 나중에 "왜 이렇게 했지?"가 나올 만한 모든 결정. title은 검색될 한 줄 요약(예: "세션 스토어를 Redis에서 Postgres로 변경"). 같은 title로 다시 기록하면 내용이 갱신된다. author에는 자신의 이름/에이전트명을 넣어라. code_refs: 이 결정이 참조하는 코드 경로 목록 — 해당 파일이 나중에 바뀌면 재검증 대상으로 표시된다. supersedes: 이 결정이 대체하는 옛 결정의 document_id (번복 추적). project: 특정 프로젝트/저장소에 한정된 결정이면 반드시 프로젝트 이름을 넣어라 (미지정 = 팀 공용으로 모든 프로젝트 검색에 동급 노출). 스코프 검색에서 다른 프로젝트의 노트는 하향 표시되므로, 이 필드가 오해를 막는다. 이름은 list_sources의 projects 목록 기준 — 저장소 이름을 넣으면 소유 프로젝트로 자동 교정되고(모노레포), 등록되지 않은 이름은 버려지고 팀 공용으로 기록된다 (응답의 project/project_hint 확인). 응답의 similar_existing에 유사 기존 기록이 있으면 중복 기록 대신 갱신을 고려하라 — 단, 후보의 project가 다르면 같은 증상이라도 원인이 다를 수 있으니 덮어쓰지 마라.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNo
titleYes
authorNo
contextNo
projectNo
decisionYes
code_refsNo
supersedesNo
alternativesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations provided, the description fully carries the behavioral burden. It discloses important side effects and behaviors: same-title inputs update the existing record, project names are auto-corrected or discarded, unregistered projects become team-common, code_refs trigger later revalidation, and the response contains project/project_hint and similar_existing signals. This is strong, useful transparency for a mutation-style tool.

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 front-loaded with the purpose, then organized by usage guidance and parameter semantics. It is longer than average, but every sentence adds useful information, and the length is justified by 9 parameters and complex side effects.

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?

The description is largely complete for a knowledge-base recording tool with no annotations: it covers when to use it, what each key parameter means, update/upsert behavior, project scoping, and deduplication guidance. The output schema reduces the need to describe return values. The main gap is not explicitly guiding an agent away from sibling tools such as record_note or record_learning.

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 description coverage is 0%, and the description compensates well for several parameters: title, author, code_refs, supersedes, and especially project. It explains nuanced behavior like project normalization and monorepo auto-correction. However, tags, context, and alternatives are not explained beyond what their names imply.

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?

The description clearly states the action: recording development decisions into a knowledge base, immediately searchable team-wide. It also gives concrete examples such as architecture/library/schema choices and tradeoff judgments. However, it does not explicitly distinguish itself from sibling tools like record_learning or record_note.

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?

It provides an explicit '언제 쓰나' section that lists clear use cases and advises updating an existing decision when similar_existing appears. It also warns against overwriting when the existing candidate belongs to a different project. It does not explicitly state when to prefer alternative sibling tools.

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