{"ok":true,"site":{"host":"cherry-wine.vercel.app","url":"https://cherry-wine.vercel.app/","type":"live","desc":"Cherry hands one goal to several agents at once, each in its own workspace on your computer, and checks what comes back. Codex execution is captured. Claude Code and local models are labelled…","tools":[{"name":"read_cherry_context","kind":"answer","impl":"imperative","description":"Read the current Cherry state: active workspace, missions with states, pending approvals, latest verification, and what action is valid next.","annotations":{"readOnlyHint":true,"sideEffect":"none","requiresApproval":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"list_cherry_capabilities","kind":"answer","impl":"imperative","description":"List which WebMCP tools are active now, and which surface and state each other tool needs.","annotations":{"readOnlyHint":true,"sideEffect":"none","requiresApproval":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"get_cherry_status","kind":"answer","impl":"imperative","description":"Lightweight status probe: current product state, active workspace/mission ids, counts, and which tools are callable right now. Read-only and always available.","annotations":{"readOnlyHint":true,"sideEffect":"none","requiresApproval":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"introduce_agent","kind":"act","impl":"imperative","description":"Introduce yourself by name. The attached agent is auto-assigned to the active workspace and mission — there is nothing to create or configure. The name only labels the session for the human; it grants no authority: approvals, trust, and memory stay human-only.","annotations":{"readOnlyHint":false,"sideEffect":"write","requiresApproval":false},"inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"How the human should see you, e.g. \"ChatGPT\" or \"Claude — research\"."}},"required":["name"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"list_skills","kind":"answer","impl":"imperative","description":"Read the cross-workspace skill library with status, exact revision, approval hash, sample label, and install readiness. Pages with offset and nextOffset. For sample=false, installReady records a live human decision. sample=true is a labelled synthetic reference state and never proof of a user decision.","annotations":{"readOnlyHint":true,"sideEffect":"none","requiresApproval":false},"inputSchema":{"type":"object","properties":{"status":{"type":"string","enum":["all","approved"],"description":"Optional filter: 'approved' returns only install-ready skills (default 'all')"},"offset":{"type":"integer","minimum":0,"description":"Skip this many skills; pass the previous nextOffset to read the next page (default 0)"}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"recommend_skills","kind":"act","impl":"imperative","description":"Rank helpful skills with explainable lexical matching and no hidden model call. Results include exact revision, approval hash, and sample label. sample=true is a synthetic reference state, not proof of a live human approval.","annotations":{"readOnlyHint":true,"sideEffect":"none","requiresApproval":false},"inputSchema":{"type":"object","properties":{"task":{"type":"string","description":"What the agent is trying to do right now"},"limit":{"type":"integer","minimum":1,"maximum":5,"description":"Max results (default 3, max 5)"}},"required":["task"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"get_skill","kind":"answer","impl":"imperative","description":"Read one skill with bounded source citations. format 'summary' (default) returns its contract. Live files require a human approval at the exact current revision. Labelled samples report sample=true and approvalKind='synthetic-sample-state'; that state is not proof of a live decision.","annotations":{"readOnlyHint":true,"sideEffect":"none","requiresApproval":false},"inputSchema":{"type":"object","properties":{"skillId":{"type":"string","description":"Skill id from list_skills or recommend_skills"},"format":{"type":"string","enum":["summary","skill-md","agents-md","claude-md"],"description":"'summary' | 'skill-md' | 'agents-md' | 'claude-md' (default 'summary')"},"part":{"type":"integer","minimum":1,"description":"File formats are delivered in bounded parts; request part 1..totalParts (default 1)"}},"required":["skillId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"start_apprenticeship","kind":"act","impl":"imperative","description":"Start a fresh apprenticeship in one call: a DRAFT mission, plus a local workspace when there is none active or when newWorkspace is true. workspaceName names a workspace this call creates; it never switches to an existing one, so pass newWorkspace:true to get a separate space. The result always reports workspaceCreated and the workspace actually in use. Never loads a source — lesson loading stays behind the explicit rights check in load_lesson.","annotations":{"readOnlyHint":false,"sideEffect":"write","requiresApproval":false},"inputSchema":{"type":"object","properties":{"workspaceName":{"type":"string","description":"Names a workspace this call creates. Applies only to a newly created workspace; it never renames or selects an existing one. Default \"My apprenticeship\"."},"newWorkspace":{"type":"boolean","description":"Create and activate a separate workspace even though one is already active. Existing spaces and their data are left untouched."},"title":{"type":"string","description":"Mission title (default \"Learn a lesson and prove it\")"},"objective":{"type":"string","description":"What the finished skill should achieve"},"definitionOfDone":{"type":"array","items":{"type":"string"},"description":"Acceptance checklist"}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"create_workspace","kind":"act","impl":"imperative","description":"Create a new local Cherry workspace. All data stays in this browser unless the user exports it.","annotations":{"readOnlyHint":false,"sideEffect":"write","requiresApproval":false},"inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Workspace name, 1-120 chars"},"description":{"type":"string","description":"Optional description"}},"required":["name"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"create_mission","kind":"act","impl":"imperative","description":"Create a mission in the active workspace with an objective and a definition of done. The mission starts in DRAFT.","annotations":{"readOnlyHint":false,"sideEffect":"write","requiresApproval":false},"inputSchema":{"type":"object","properties":{"title":{"type":"string"},"objective":{"type":"string"},"definitionOfDone":{"type":"array","items":{"type":"string"},"description":"Checklist of acceptance statements"},"riskLevel":{"type":"string","enum":["low","medium","high"]}},"required":["title","objective","definitionOfDone"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"load_starter_library","kind":"act","impl":"imperative","description":"Install the labelled starter library into this browser so recommend_skills and get_skill have something real to return. These are shipped reference methods, not skills this person approved: every entry reports sample=true and approvalKind synthetic-sample-state. Use it when list_skills or recommend_skills come back empty.","annotations":{"readOnlyHint":false,"sideEffect":"write","requiresApproval":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]},{"name":"install_catalog_skill","kind":"act","impl":"imperative","description":"Install one skill from the preloaded catalog of third-party Agent Skills into this browser. The upstream SKILL.md is imported as a lesson and run through the ordinary derivation, so the result is a DRAFT with citations back to the source repo — not an approved method. Attribution and license travel with the text. Creates a workspace first if this browser has none. Find ids with recommend_skills.","annotations":{"readOnlyHint":false,"untrustedContentHint":true,"sideEffect":"write","requiresApproval":false},"inputSchema":{"type":"object","properties":{"catalogId":{"type":"string","description":"Catalog id from recommend_skills, e.g. \"workflows/screen-reader-testing\""},"workspaceName":{"type":"string","description":"Name for the workspace, only used if one has to be created"}},"required":["catalogId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/showcase","/connect","/compatibility"]}],"category":"AI & Agents","favicon":"/favicons/cherry-wine.vercel.app.svg","apiSurface":"spec","toolCount":12}}