Get project context (call this first)
get_contextCall first at session start for a repository briefing: standing rules, decisions, dead ends, open questions, open tasks with files, and the last handoff, budget-capped by focus.
Instructions
The session-start briefing: standing rules, decisions, dead ends, open questions, open tasks with their linked files and the last handoff. Call it first, with cwd. Capped: fifty open tasks, three entries per kind per task (one handoff), and a byte budget on every body -- notes, task bodies and log entries -- smaller with a focus. Nothing is truncated: every record keeps its id and head (first line), and a body of null means the budget was already spent, never that the record is empty -- get_task and get_context_note read the rest. open_tasks_omitted/log_omitted count records NOT here; context_omitted/task_bodies_omitted/log_bodies_omitted count records here without a body. focus (one sentence on what this session is for) spends the budget on what is relevant instead of what is newest; context_ranked_by/log_ranked_by say which you got. Open tasks untouched for 14+ days come back head-only in idle_tasks -- title, status, days idle, last handoff head -- and cost no budget. summary_missing: true means nobody has said what this repository is: update_project with one or two sentences once you know.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute working directory, used if project is omitted | |
| focus | No | What this session is about, in a sentence. The note and log budgets are spent on what matches it instead of what is newest; it can only move a record up, never drop one. | |
| model | No | Your model id, e.g. 'claude-opus-5'. | |
| project | No | Project slug, name, or any absolute path inside the project | |
| create_if_missing | No | Register a project if the path matches none. Defaults to true for an absolute path; needs `repo_root` or `repo_url` as well. |