Tool tree
gradeNot graded
get_task_shapeAnswer
What glimpse is, where this person is in it, and what would help next. Call this first.
View tool JSON
{
"name": "get_task_shape",
"kind": "answer",
"impl": "imperative",
"description": "What glimpse is, where this person is in it, and what would help next. Call this first.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}get_onboardingAnswer
The onboarding steps, what has been filled in, and what is still missing. The story is typed by the person; preferences and availability can be set by you.
View tool JSON
{
"name": "get_onboarding",
"kind": "answer",
"impl": "imperative",
"description": "The onboarding steps, what has been filled in, and what is still missing. The story is typed by the person; preferences and availability can be set by you.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}synthesize_storyAction
Loads the three demo photos onto the onboarding tiles and asks Gemini to draft a first-person story from them into the composer. Call this when they want their photos to write a starting story. They (or you, with append_story) can then edit it.
View tool JSON
{
"name": "synthesize_story",
"kind": "act",
"impl": "imperative",
"description": "Loads the three demo photos onto the onboarding tiles and asks Gemini to draft a first-person story from them into the composer. Call this when they want their photos to write a starting story. They (or you, with append_story) can then edit it.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}append_storyAction
Adds a sentence or two to the onboarding story in the composer. Use this after a draft exists, with what they told you: who they would like to meet, a detail Gemini missed, a correction. Do not invent; only add what they said.
View tool JSON
{
"name": "append_story",
"kind": "act",
"impl": "imperative",
"description": "Adds a sentence or two to the onboarding story in the composer. Use this after a draft exists, with what they told you: who they would like to meet, a detail Gemini missed, a correction. Do not invent; only add what they said.",
"inputSchema": {
"type": "object",
"properties": {
"addition": {
"type": "string",
"description": "One or two sentences they asked to add, in first person. Example: \"I am hoping to meet someone who likes quiet weekends and long walks.\""
}
},
"required": [
"addition"
],
"additionalProperties": false
}
}set_preferencesAction
Sets who the person would like to meet: an age range, a maximum distance, and what they are looking for. Structured only; ask them, do not decide for them.
View tool JSON
{
"name": "set_preferences",
"kind": "act",
"impl": "imperative",
"description": "Sets who the person would like to meet: an age range, a maximum distance, and what they are looking for. Structured only; ask them, do not decide for them.",
"inputSchema": {
"type": "object",
"properties": {
"ageMin": {
"type": "integer",
"minimum": 21,
"maximum": 60,
"description": "Youngest age they would like to meet."
},
"ageMax": {
"type": "integer",
"minimum": 21,
"maximum": 60,
"description": "Oldest age they would like to meet."
},
"distanceKm": {
"type": "integer",
"minimum": 1,
"maximum": 40,
"description": "How far away, in kilometres."
},
"lookingFor": {
"type": "string",
"enum": [
"real",
"see",
"friends"
],
"description": "What they are here for."
}
},
"required": [],
"additionalProperties": false
}
}set_availabilityAnswer
Sets when the person is usually free, as a list of slot ids. Nobody else sees this; it is only used to find windows that suit both people.
View tool JSON
{
"name": "set_availability",
"kind": "answer",
"impl": "imperative",
"description": "Sets when the person is usually free, as a list of slot ids. Nobody else sees this; it is only used to find windows that suit both people.",
"inputSchema": {
"type": "object",
"properties": {
"slots": {
"type": "array",
"items": {
"type": "string",
"enum": [
"weekday-lunch",
"thu-eve",
"fri-eve",
"sat-morn",
"sat-aft",
"sat-eve",
"sun-morn",
"sun-aft"
]
},
"description": "Slot ids they are usually free for."
}
},
"required": [
"slots"
],
"additionalProperties": false
}
}save_sketchAction
Finishes onboarding with what the person has typed and what has been set. If something is missing, this says which. It does not write the story.
View tool JSON
{
"name": "save_sketch",
"kind": "act",
"impl": "imperative",
"description": "Finishes onboarding with what the person has typed and what has been set. If something is missing, this says which. It does not write the story.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}open_composerAction
Focuses a field so the person can type: their story during onboarding, or the answer or guess in a round. It does not accept text and nothing submits through it.
View tool JSON
{
"name": "open_composer",
"kind": "act",
"impl": "imperative",
"description": "Focuses a field so the person can type: their story during onboarding, or the answer or guess in a round. It does not accept text and nothing submits through it.",
"inputSchema": {
"type": "object",
"properties": {
"threadId": {
"type": "string",
"description": "The conversation id, as returned by find_matches or start_conversation. If only one conversation is open it can be omitted."
},
"field": {
"type": "string",
"enum": [
"story",
"answer",
"guess"
],
"description": "Which field to focus."
}
},
"required": [
"field"
],
"additionalProperties": false
}
}