Skip to main content
Glama
andronaft

health-os

record_habit

Add a habit the user reports (stored immediately as approved): habit_type — smoking / alcohol / cannabis / vaping / other substance, lower-case; status: current (default) / former / never; frequency: as the user said it ("about once a…

Instructions

Add a habit the user reports (stored immediately as approved): habit_type — smoking / alcohol / cannabis / vaping / other substance, lower-case; status: current (default) / former / never; frequency: as the user said it ("about once a week", "daily"); start_date / end_date: YYYY-MM-DD, only when the user gave the day — otherwise leave empty and put "since July 2026" into notes, never invent a day; notes: details (mixed with tobacco, CBD/THC, …); cigarettes_per_day / smoking_years / drinks_per_week when known. A change of pattern (e.g. stopped mixing with tobacco) = mark the old entry former via update_habit and record the new one. Check get_habits first to avoid duplicates.

Input Schema

NameRequiredDescriptionDefault
notesNo
statusNocurrent
end_dateNo
frequencyNo
habit_typeYes
start_dateNo
smoking_yearsNo
drinks_per_weekNo
cigarettes_per_dayNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations only declare the safety envelope (not read-only, not destructive, not idempotent, closed-world); the description adds the key non-obvious behavior that entries are stored immediately as approved rather than staged for review — important given siblings like list_pending_reviews and approve_staged_source exist. It also discloses default behavior (status defaults to current) and warns against inventing dates. It stops short of stating anything about duplicate handling beyond a manual check.

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?

Front-loads the verb and the storage semantics before the field list, and every clause is operational (formats, defaults, exclusions). It is a dense run-on string with semicolon-separated parameters, which costs a little readability but wastes no sentences.

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 9-parameter write tool with zero schema documentation, the description supplies formats, defaults, enumeration values, cross-tool workflow, and an anti-hallucination rule for dates. An output schema exists, so return values need not be explained; nothing an agent needs to call this correctly is missing.

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

Parameters5/5

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

Schema coverage is 0%, so the description carries the full burden and does: it enumerates every field, gives accepted values and casing for habit_type, the three status values with default, the free-text quoting style for frequency, the YYYY-MM-DD format plus the negative rule for dates, and which quantitative fields apply when known. This is meaning an agent could not recover from bare property titles.

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?

Opens with a specific verb+resource ('Add a habit the user reports') and immediately scopes it with a behavioral consequence ('stored immediately as approved'). It names the allowed habit_type values and clearly separates this from siblings by referencing get_habits (dedupe check) and update_habit (pattern changes).

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?

States explicit workflow rules: check get_habits first to avoid duplicates, and route pattern changes through update_habit by marking the old entry former then recording the new one. It also gives a when-not rule for dates: only supply start/end when the user gave the day, otherwise put 'since July 2026' into notes.

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