Skip to main content
Glama

Build a study plan

build_study_plan
Read-only

Builds a dated day-by-day study plan for one or more exams using exam dates and available hours, splits sessions by urgency, and warns if the study hours do not fit.

Instructions

Build a day by day study plan for one or more exams. Give each exam date and the hours you have per day, or set different hours for each weekday with hours_per_weekday, and get dated study sessions split by urgency, with a warning when the hours do not fit. Give an exam topics with their own hours and the plan names the topic of each day. Add reviews with the day you first studied each one to show Review: entries in the plan and in the calendar. Dates can be plain text, like Dec 12 or in 3 weeks. Example prompt: "Plan 3 weeks of study for my 4 exams, 90 minutes a day."

Input Schema

NameRequiredDescriptionDefault
examsYesExams with name, date, optional hours needed and optional topics with their own hours.
reviewsNoTopics you are reviewing, with the day you first studied each one.
days_offNoWeekdays with no studying, like ["sun"].
start_dateNoFirst day to study. Defaults to today. Use 2026-12-12, or plain text like Dec 12, next Friday or in 3 weeks.
hours_per_dayNoStudy hours available on a study day.
intervals_daysNoDays after the first study to review.
hours_per_weekdayNoStudy hours for each weekday, like [{day: "mon", hours: 2}, {day: "sat", hours: 6}]. Weekdays you leave out use hours_per_day, a weekday with 0 hours is a day off, and days in days_off are always left out.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.7
    • addedInput schema / properties / intervals_days
      Added value: +{
      +  "default": [
      +    1,
      +    3,
      +    7,
      +    14,
      +    30
      +  ],
      +  "description": "Days after the first study to review.",
      +  "items": {
      +    "exclusiveMinimum": 0,
      +    "maximum": 9007199254740991,
      +    "type": "integer"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / reviews
      Added value: +{
      +  "description": "Topics you are reviewing, with the day you first studied each one.",
      +  "items": {
      +    "properties": {
      +      "exam_date": {
      +        "description": "Exam date, if any. Reviews on or after it are skipped. Use 2026-12-12, or plain text like Dec 12, next Friday or in 3 weeks.",
      +        "type": "string"
      +      },
      +      "first_study_date": {
      +        "description": "The day you first studied it. Defaults to the plan start date. Use 2026-12-12, or plain text like Dec 12, next Friday or in 3 weeks.",
      +        "type": "string"
      +      },
      +      "topic": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "topic"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. First observedv0.1.3

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds real behavior beyond them — sessions are split by urgency, a warning is emitted when hours don't fit, and review entries surface as 'Review:' in the plan and calendar. It also discloses the flexible natural-language date parsing ('Dec 12', 'in 3 weeks'), which is non-obvious and not stated in annotations.

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?

Purpose is front-loaded in the first sentence and every subsequent sentence maps to a distinct capability (per-weekday hours, topics, reviews, date parsing). It is somewhat dense and contains awkward phrasing ('Give an exam topics with their own hours'), but no sentence is redundant.

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 7-parameter tool with no output schema, the description covers the important input interplay and sketches the output (dated sessions, urgency ordering, fit warnings, review entries). The remaining gap is sibling disambiguation — with make_study_plan present, the agent still cannot tell from this text which builder to call.

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 coverage is 100%, so the baseline is 3, but the description adds genuine semantics: how hours_per_weekday interacts with hours_per_day, that topics-with-hours cause each day to be labeled with a topic, and that reviews require the first-study date. The worked example prompt ties the parameters together in a way the schema cannot.

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: 'Build a day by day study plan for one or more exams,' which tells an agent exactly what is produced (dated sessions split by urgency). It never distinguishes itself from the close sibling 'make_study_plan' or 'plan_pomodoro_sessions', so in a 12-tool set the agent has no textual basis for choosing between them.

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?

Gives clear invocation context: supply each exam's date plus hours_per_day, or hours_per_weekday for per-weekday scheduling, and optionally topics or reviews. There are no exclusions or named alternatives, so the agent knows when it applies but not when a sibling is the better choice.

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