Skip to main content
Glama

Make a study plan

make_study_plan
Read-only

Build a day-by-day study plan for one or more exams, sharing daily hours by urgency, assigning topics, and warning when there is not enough time before exam dates.

Instructions

Build a day by day study plan for one or more exams. Daily hours are shared across exams by urgency, study stops the day before each exam, and the answer warns when there is not enough time. Set hours_per_weekday when your weekdays and your weekend differ, and give an exam topics with their own hours to get the topic of each day as well. 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

A3.8/5.0
Behavior4/5

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

Beyond the readOnly/openWorld annotations, the description discloses non-obvious behavior: hours are shared across exams by urgency, study stops the day before each exam, insufficient time produces a warning, and reviews generate Review entries in the plan and calendar. It does not describe the returned plan structure in detail, but it adds substantial behavioral context.

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?

The description is front-loaded with the core behavior and then moves through advanced options before ending with a concrete example prompt. It is dense but mostly purposeful; a few clauses are run-on, but there is little wasted text.

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 seven-parameter planning tool with no output schema, the description covers the main scheduling logic, warning behavior, and review entries. It leaves some gaps around the exact returned plan format and the roles of days_off and intervals_days, but the core behavior an agent needs to invoke it is present.

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. The description nevertheless adds useful semantics beyond the schema: why hours_per_weekday matters, how topics with own hours affect the daily topic assignment, and how reviews use the first study date. It does not cover days_off or intervals_days explicitly, keeping it from a 5.

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 states a specific verb and resource ('Build a day by day study plan for one or more exams') and explains the core output concept. It does not distinguish itself from the close sibling 'build_study_plan', leaving ambiguity about which plan-generation tool to choose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the example prompt and by mentions of topics, reviews, and weekday hours, but there is no explicit 'use this when' guidance or comparison with alternatives such as build_study_plan, export_study_plan_ics, or make_spaced_repetition_schedule.

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