diff --git a/CLAUDE.md b/CLAUDE.md index 715e58f..1151c7c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -341,6 +341,16 @@ Vikunja is the durable task store. A task holds the goal, the constraints and th assumption ledger. Work without a task id is work nobody can resume, so a session that has no id asks for one before it starts. +The MCP tool schemas are deferred, so load the four you actually use in ONE call at the +start of a session rather than one lookup per first use: + +```text +ToolSearch("select:mcp__vikunja__list_tasks,mcp__vikunja__get_task_details,mcp__vikunja__create_task,mcp__vikunja__update_task") +``` + +`update_task` carrying a `description` resets `done` to false, so closing a task with a +write-up takes two calls: the description, then `done: true`. + ## Session workflow `~/.local/bin/task` owns the branch, the commit identity and the PR. One task, one