{"ok":true,"site":{"host":"mandalamethod.vercel.app","url":"https://mandalamethod.vercel.app/","type":"live","desc":"One goal at the center, eight pillars around it, eight actions for each. Type or write by hand. Saved on this device.","tools":[{"name":"read_chart","kind":"answer","impl":"imperative","description":"A Mandala chart has one goal in the center, eight pillars around it (the drivers of the goal), and eight actions under each pillar that the person schedules and ticks. Returns the open chart: goal, the person's brief, each pillar with its shelf of links and its eight actions (cell, id, text, kind, board lane, and whether it is done or pinned), today's and tomorrow's lists and ticks by action id, and a running timer. An empty text is a gap. Cells: \"p0\" to \"p7\" are the pillars; \"a{pillar}_{slot}\" is an action, both 0 to 7, so \"a2_5\" is the sixth action of the third pillar. Kinds: a \"routine\" is a habit done again and again (\"Play Spanish audio at breakfast\"); it shows on Today every day and is ticked each day, never finished. A \"milestone\" happens once and is then done for good (\"Book a trial lesson\"). A \"standard\" action is done on some days, picked when it fits.","title":"Read the chart","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"review_chart","kind":"act","impl":"imperative","description":"Returns the chart's lines with the method's tests, for you to judge in the language the chart is written in. Nothing on the page judges words; you do. For each line that fails a test, write a rewrite that keeps what the person meant, then send the rewrites with propose_lines.","title":"Review the chart","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"new_chart_guide","kind":"act","impl":"imperative","description":"Returns the prompt the page hands a chat app to write a new chart, with the method and its tests, so you can write it here instead of the person copying it out. Follow it, then send the chart to propose_chart rather than showing the JSON. Leave out goal to use the open chart's goal. now writes at once on reasonable assumptions; leave it out to ask the person a few questions first.","title":"How to write a new chart","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"goal":{"type":"string","maxLength":80,"description":"The person's goal, in their words and language"},"now":{"type":"boolean","description":"True when the person asked for the chart straight away, without questions"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"suggest_today","kind":"act","impl":"imperative","description":"Bindu picks three actions for today, from different pillars, each with why: pinned ones first, then a quiet pillar, then one with momentum. Nothing is set until set_today is called with the ids.","title":"Suggest today's three","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"progress","kind":"act","impl":"imperative","description":"The last 7 days: ticks, the pillars they touched, quiet pillars, minutes logged per pillar (passive time counted at the chart's passive weight, and listed apart as it ran), the current streak in days, and up to three insights in words.","title":"How it is going","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"week_history","kind":"answer","impl":"imperative","description":"What one week held, Monday to Sunday: what was ticked each day, the milestones finished, minutes per pillar, and the note the person kept for it. weeksAgo 0 is this week, up to 12. reflectionDue says the person has not written this week's note yet; propose_reflection can draft it.","title":"Read a week","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"weeksAgo":{"type":"integer","minimum":0,"maximum":12,"description":"How many weeks back: 0 is this week, 1 last week, up to 12. Leave out for this week."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"read_shelves","kind":"answer","impl":"imperative","description":"Each pillar's shelf: the links (videos, texts, sites) its actions use. For each link: its id, title, url, kind, whether it is known, which action hands it out (an action id, \"any routine\" in its pillar, or null when nothing does yet), the action Today hands it out for, and on how many of the last 14 days it was opened. Known links wait on the shelf and are not handed out. Pillars with an empty shelf are left out. Kinds: \"repeat\" comes round until the person marks it known; \"once\" is put away after its first open; \"staple\" stays for good and is never asked about, like a dictionary or a course the person always goes back to.","title":"Read the pillars' shelves","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"propose_lines","kind":"act","impl":"imperative","description":"Shows pillars or actions to the person in Bindu, the chart's helper, with what each replaces. Nothing is written until they press Keep, so tell them to look. Use it to fill gaps or rewrite lines that fail the tests. Send only the lines you mean to change; a new call replaces a proposal still waiting. Every action must pass two tests. Calendar: it can be scheduled and marked done (\"Study geography for 20 minutes a day\", not \"Do better in geography\"). Control: it is a behaviour the person can do (\"Post two videos a day\", not \"Get 10 million views\"). A pillar is a short heading for one driver, a few words. Aim for pillars of at most 32 characters and actions of at most 48; a longer language may run over, up to 120. Write in the chart's own language. The goal is not a cell here. Cells: \"p0\" to \"p7\" are the pillars; \"a{pillar}_{slot}\" is an action, both 0 to 7, so \"a2_5\" is the sixth action of the third pillar.","title":"Propose lines for the chart","annotations":{},"inputSchema":{"type":"object","properties":{"lines":{"type":"array","minItems":1,"maxItems":72,"description":"The pillars and actions to change, each a cell and its new line","items":{"type":"object","properties":{"cell":{"type":"string","pattern":"^(p[0-7]|a[0-7]_[0-7])$","description":"p0 to p7 for a pillar, a0_0 to a7_7 for an action"},"text":{"type":"string","maxLength":120,"description":"The new line"}},"required":["cell","text"]}}},"required":["lines"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"propose_chart","kind":"act","impl":"imperative","description":"Shows a complete chart to the person in Bindu. Keeping it opens it as a new chart beside the one they have, or fills this one if it is empty. Nothing is written until they press Keep. Read new_chart_guide first for the method. Unless the person asked for it straight away, ask about their goal, their time on a normal day, any date, and where they stand before writing. Every action must pass two tests. Calendar: it can be scheduled and marked done (\"Study geography for 20 minutes a day\", not \"Do better in geography\"). Control: it is a behaviour the person can do (\"Post two videos a day\", not \"Get 10 million views\"). A pillar is a short heading for one driver, a few words. Goal at most 80 characters. Exactly 8 pillars and 8 actions for each, none empty.","title":"Propose a whole chart","annotations":{},"inputSchema":{"type":"object","properties":{"goal":{"type":"string","maxLength":80,"description":"The goal in the center, in the person's words and language"},"pillars":{"type":"array","minItems":8,"maxItems":8,"description":"Eight pillar headings, p0 to p7 in order","items":{"type":"string","maxLength":120}},"actions":{"type":"array","minItems":8,"maxItems":8,"description":"Eight actions for each pillar, in pillar order","items":{"type":"array","minItems":8,"maxItems":8,"items":{"type":"string","maxLength":120}}},"brief":{"type":"object","description":"What the person told you, a few words each. Leave out what they did not say.","properties":{"timeline":{"type":"string","description":"By when, or for how long"},"situation":{"type":"string","description":"Where they stand today"},"focus":{"type":"string","description":"What matters most to them"},"constraint":{"type":"string","description":"What limits them, such as time on a normal day"}}}},"required":["goal","pillars","actions"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"propose_kinds","kind":"act","impl":"imperative","description":"Shows the person which actions you would mark as routines, milestones or standard, in Bindu. Nothing changes until they press Keep. Judge from what each line says, in its own language. Send only the actions whose kind you would change. Kinds: a \"routine\" is a habit done again and again (\"Play Spanish audio at breakfast\"); it shows on Today every day and is ticked each day, never finished. A \"milestone\" happens once and is then done for good (\"Book a trial lesson\"). A \"standard\" action is done on some days, picked when it fits.","title":"Propose what kind each action is","annotations":{},"inputSchema":{"type":"object","properties":{"kinds":{"type":"array","minItems":1,"maxItems":64,"description":"The actions whose kind would change, each with its new kind","items":{"type":"object","properties":{"id":{"type":"string","description":"An action id from read_chart"},"kind":{"type":"string","enum":["standard","routine","milestone"],"description":"The kind it would be"}},"required":["id","kind"]}}},"required":["kinds"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"propose_reflection","kind":"act","impl":"imperative","description":"Shows a draft of the person's note for the week in Bindu: one or two sentences on what happened and what they want next week to hold, in their voice and language. Bindu says it back to them when the new week starts. Nothing is saved until they press Keep. Read week_history first. At most 600 characters.","title":"Draft the week's note","annotations":{},"inputSchema":{"type":"object","properties":{"note":{"type":"string","maxLength":600,"description":"One or two sentences in the person's voice and language"}},"required":["note"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"finish_action","kind":"act","impl":"imperative","description":"Marks an action done today, as a tick on the chart does: a routine is ticked for today, anything else is finished. The person sees a note that it happened.","title":"Mark an action done","annotations":{},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"An action id from read_chart"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reopen_action","kind":"act","impl":"imperative","description":"Takes back a done mark: a routine is unticked for today, anything else is open again.","title":"Reopen an action","annotations":{},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"An action id from read_chart"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_today","kind":"act","impl":"imperative","description":"Puts these actions on today's list, in this order, replacing what was there. Three from different pillars is the method's usual day. A routine is on Today every day already, as a habit, so pick other actions. Ticks already made today stay; a running timer on an action taken off the list stops, and its time is logged. The reply names what Today now shows; tell the person that, not what you asked for.","title":"Set today's actions","annotations":{},"inputSchema":{"type":"object","properties":{"ids":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string"},"description":"Action ids from read_chart or suggest_today"}},"required":["ids"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"plan_tomorrow","kind":"act","impl":"imperative","description":"Puts these actions on tomorrow's list, replacing what was planned. Tomorrow opens with them. Same rules as set_today.","title":"Plan tomorrow's actions","annotations":{},"inputSchema":{"type":"object","properties":{"ids":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string"},"description":"Action ids from read_chart or suggest_today"}},"required":["ids"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"pin_actions","kind":"act","impl":"imperative","description":"Pins actions, or unpins them with pinned false. A pinned action leads Bindu's picks each day until it is unpinned.","title":"Pin actions for the week","annotations":{},"inputSchema":{"type":"object","properties":{"ids":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string"},"description":"Action ids from read_chart or suggest_today"},"pinned":{"type":"boolean","default":true,"description":"True to pin, false to unpin"}},"required":["ids"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"move_card","kind":"act","impl":"imperative","description":"Moves an action between the board's lists: \"open\" (Open), \"todo\" (To do), \"doing\" (Doing), \"done\" (Done). Doing puts it on today's list; Done finishes it, as a tick does. A routine never goes to Done. It goes to the end of the list unless index says where, from 0.","title":"Move an action on the board","annotations":{},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"An action id from read_chart"},"lane":{"type":"string","enum":["open","todo","doing","done"],"description":"The list to move it to"},"index":{"type":"integer","minimum":0,"description":"Its place in that list, from 0. Leave out for the end."}},"required":["id","lane"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"log_time","kind":"act","impl":"imperative","description":"Logs minutes spent on an action, ending now, as if a stopwatch had run. At most 600 minutes. An optional link id from read_shelves records which video or resource on the shelf was studied. mode \"passive\" is for time that ran in the background (audio while doing something else); it counts by the chart's passive weight.","title":"Log time on an action","annotations":{},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"An action id from read_chart"},"minutes":{"type":"integer","minimum":1,"maximum":600,"description":"Whole minutes spent, ending now"},"link":{"type":"string","description":"An optional link id from read_shelves"},"mode":{"type":"string","enum":["active","passive"],"description":"Leave out for active. \"passive\" for time in the background."}},"required":["id","minutes"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"start_timer","kind":"act","impl":"imperative","description":"Starts a stopwatch on an action, or a focus block when minutes is given (25 is the usual block, at most 120). Its time is logged when it stops. One timer runs at a time: starting one logs and stops the one running. An optional link id from read_shelves ties the time to that video or resource.","title":"Start a timer on an action","annotations":{},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"An action id from read_chart"},"minutes":{"type":"integer","minimum":1,"maximum":120,"description":"Length of a focus block. Leave out for a stopwatch."},"link":{"type":"string","description":"An optional link id from read_shelves"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"stop_timer","kind":"act","impl":"imperative","description":"Stops the running timer and logs its time. A stopwatch left on for hours asks the person how long it really took instead.","title":"Stop the running timer","annotations":{},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_shelf_link","kind":"act","impl":"imperative","description":"Saves a link (a video, an article, a course) to a pillar's shelf, where Bindu hands it out with that pillar's actions. Use the page the person is on when they say \"save this\". Kinds: \"repeat\" comes round until the person marks it known; \"once\" is put away after its first open; \"staple\" stays for good and is never asked about, like a dictionary or a course the person always goes back to. Leave kind out for \"repeat\".","title":"Save a link to a pillar's shelf","annotations":{},"inputSchema":{"type":"object","properties":{"pillar":{"type":"integer","minimum":0,"maximum":7,"description":"The pillar, 0 to 7, as in read_chart"},"path":{"type":"string","format":"uri","pattern":"^https?://","maxLength":2048,"description":"An http or https link to save. It is stored on the shelf as text and opened only when the person taps it; nothing here fetches it."},"title":{"type":"string","maxLength":120,"description":"A short name for the link, as the page titles itself"},"kind":{"type":"string","enum":["repeat","once","staple"],"description":"How it comes round. Leave out for repeat."}},"required":["pillar","path"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_shelf_link","kind":"act","impl":"imperative","description":"Changes how a link on a shelf comes round: its kind, whether it is known (a known link waits on the shelf and is not handed out), or which action hands it out (an action id from the same pillar, or \"any\" for any routine there). A staple is never known. Link ids come from read_shelves. Kinds: \"repeat\" comes round until the person marks it known; \"once\" is put away after its first open; \"staple\" stays for good and is never asked about, like a dictionary or a course the person always goes back to.","title":"Change a link on a shelf","annotations":{},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"A link id from read_shelves"},"kind":{"type":"string","enum":["repeat","once","staple"],"description":"How it comes round"},"known":{"type":"boolean","description":"True once the person knows it, so it waits on the shelf; false to hand it out again"},"action":{"type":"string","description":"An action id from read_chart in the same pillar, or \"any\""}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"favicon":"/favicons/mandalamethod.vercel.app.svg","apiSurface":"spec","category":"Productivity & Business","toolCount":22}}