coach
Her coach: next steps, check-in, review. Her coach: a coaching moment in any space (moment: opens it, saves her choice, her words and her try), refresh her next steps, write her weekly check-in or her quarterly review, on her own plan (free for her). read gives a department's facts, options, her hours and the coach's instructions; save checks your answer exactly as the office's own coach (her option ids only, no number that isn't hers) and keeps it once a day per department; checkin writes this week's block (milestone ids only) and her milestones' states; review writes the quarter's look-back and her next 90 days, while her direction changes only through a yes card. Never for a helper.
Where it is
In the office area (search, the AI call log, her settings, and opening parts of her office): open it with tools_for { area: "office" }, then call it with use_tool { name: "coach", args }.
Does it need a yes?
Depends on what it changes: the everyday part runs at once, anything that reaches people or core files waits for the owner's yes. Here: her coach's own files only (coach/, plans/90-days.md, plans/progress.md, reviews/<quarter>.md), in their shapes and caps, through the same checks as the office's coach; her direction changes only through a yes card; never a helper.
Inputs
| Input | Type | Needed | About |
|---|---|---|---|
action | "read" | "save" | "checkin" | "review" | "moment" | yes | |
moment | string | no | moment: which one (none: the list). Alone it opens it; with choice, next or words it saves them. · format `^(M(0[1-9]|1[0-8])|[YR][1-5])$` |
choice | "keep" | "adjust" | "new" | "not_now" | "no" | no | moment: what she chose. |
situation | string | no | moment: the situation, in plain facts. · 1 to 300 characters |
goal | string | no | moment: her goal for Yourself or Relationships, in her words. · 1 to 300 characters |
next | string | no | moment: what she'll try this week, her next step, in her words. Friday's check-in asks how it went. · 1 to 300 characters |
depts | array of "management" | "marketing" | "sales" | "operations" | "service" | "money" | "systems" | no | read: up to 3 departments; none: the list and which are old. · up to 7 items |
dept | "management" | "marketing" | "sales" | "operations" | "service" | "money" | "systems" | "summary" | no | save: the department, or summary after them; read with dept summary: the business's facts. |
answer | object | no | save: the coach's answer, shaped as read's answer_schema. |
week | string | no | checkin: the ISO week (this week if left out). · format `^\d{4}-W\d{2}$` |
moved | array of string | no | checkin: milestone ids done. · up to 12 items |
fell_away | array of object | no | checkin: milestone ids she dropped, with her reason. · up to 12 items |
fell_away[].id | string | yes | format `^M\d\.\d$` |
fell_away[].reason | string | no | 1 to 160 characters |
changed | string | no | 1 to 160 characters |
words | string | no | checkin: one line in her words, about the business. · 1 to 300 characters |
try | object | no | |
try.id | string | yes | format `^[A-Z]\d{1,2}$` |
try.tap | "done" | "not this week" | "changed my mind" | yes | |
next_focus | object | no | |
next_focus.text | string | yes | 1 to 160 characters |
next_focus.serves | string | no | format `^[OM]\d(?:\.\d)?$` |
quarter | string | no | format `^\d{4}-Q[1-4]$` |
happened | array of string | no | up to 8 items |
worked | array of string | no | up to 8 items |
better | array of string | no | up to 8 items |
practise_next | string | no | 1 to 300 characters |
outcomes | array of object | no | review: her next 1-3 outcomes, her words. · up to 3 items |
outcomes[].text | string | yes | 1 to 200 characters |
milestones | array of object | no | up to 12 items |
milestones[].outcome | integer | yes | 1 to 3 |
milestones[].text | string | yes | 1 to 160 characters |
milestones[].by | string | no | format `^\d{4}-\d{2}-\d{2}$` |
milestones[].dept | "management" | "marketing" | "sales" | "operations" | "service" | "money" | "systems" | yes | |
hours | "few" | "day" | "most" | "all" | no | |
run_id | string | yes | The run_id from start. Pass it on every call: it keeps your task held. · 1 to 100 characters |
Example
{
"name": "coach",
"arguments": {
"action": "read",
"run_id": "the run_id from start"
}
}When it is refused
invalid: The input isn't right. The sentence names the field and the fix; nothing was done. Fix it and call again.not_found: No such thing in this company (a task, file, person, record). Check the number or name, or list first.not_allowed: Not without another step: the owner's yes, your own task held with pick_up, or a setting the owner turns on. The sentence says which.taken: Someone else holds it (another AI on that task). Pick another task.stale: It changed since you read it. Read it again and use the new version.failed: On our side or a service's, never your input. Try again in a minute; if it keeps failing, call report_problem.