{"ok":true,"site":{"host":"bobross.prompthabbit.com","url":"https://bobross.prompthabbit.com/","type":"live","desc":"Happy Little Studio","tools":[{"name":"get_paint_along_status","kind":"answer","impl":"imperative","description":"Read the current Bob Ross lesson, the live caption, and the human and agent canvas capabilities. Use this before choosing a painting action.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"control_agent_lesson","kind":"act","impl":"imperative","description":"Control only the agent’s separate YouTube lesson player. Play, pause, seek by a signed number of seconds, or seek to an exact timestamp.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["play","pause","seek_by","seek_to"],"description":"Playback action."},"seconds":{"type":"number","description":"For seek_by this may be negative; for seek_to it is an absolute non-negative timestamp."}},"required":["action"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"read_live_lesson_transcript","kind":"answer","impl":"imperative","description":"Read the current live transcript caption and a small nearby context window for the active Bob Ross episode. This returns a short excerpt, not the entire transcript.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"contextCues":{"type":"integer","minimum":0,"maximum":3,"description":"Number of caption cues on each side of the current cue."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_agent_lesson_reference_image","kind":"answer","impl":"imperative","description":"Return the active agent lesson timestamp and its official YouTube thumbnail URL as a visual painting reference. This is a lesson thumbnail, not a frame-perfect video screenshot.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"paint_agent_canvas","kind":"act","impl":"imperative","description":"Paint one or more watercolor strokes on the agent’s own HTML canvas. Points use normalized x/y coordinates from 0 to 1, measured from the canvas top-left. Keep each stroke concise.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"strokes":{"type":"array","minItems":1,"maxItems":12,"items":{"type":"object","properties":{"points":{"type":"array","minItems":1,"maxItems":512,"items":{"type":"object","properties":{"x":{"type":"number","minimum":0,"maximum":1},"y":{"type":"number","minimum":0,"maximum":1},"pressure":{"type":"number","minimum":0,"maximum":1}},"required":["x","y"]}},"color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"size":{"type":"number","minimum":1,"maximum":120},"brush":{"type":"string","enum":["knife","flat2","flat1","fan6","fan3","round","liner","mop"]},"water":{"type":"number","minimum":0,"maximum":1},"load":{"type":"number","minimum":0,"maximum":1}},"required":["points"]}}},"required":["strokes"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"manage_agent_canvas","kind":"act","impl":"imperative","description":"Dry, undo, redo, or clear the agent’s own watercolor canvas. Clear removes the agent painting, so use it deliberately.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["dry","undo","redo","clear"]}},"required":["action"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","favicon":"/favicons/bobross.prompthabbit.com.png","apiSurface":"spec","toolCount":6}}