get_big_picture
View all tasks in your stack, including completed ones, with full work context. Identify the current task marked ‘YOU ARE HERE’ and track progress towards a zen state when no tasks remain.
Instructions
See ALL tasks in your task stack (including completed ones). Shows full work context as a living document. Marks current task with 'YOU ARE HERE'. Indicates zen state when no tasks exist OR all tasks are completed.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format | text |
Implementation Reference
- src/handlers.py:107-113 (handler)MCP tool handler function that invokes the core get_big_picture logic from task_manager and formats the response.async def handle_get_big_picture(self, format: str = "text") -> Dict[str, Any]: result = self.task_manager.get_big_picture(format) if format == "json": return result # type: ignore else: return {"structure": result}
- src/task_manager.py:220-265 (helper)Core implementation of get_big_picture: generates hierarchical task overview in text (with indentation and markers) or JSON format, indicating zen state and current focus.def get_big_picture(self, format: str = "text") -> Any: if format == "json": tasks = [] for main_task in self.global_tasks: task_data: Dict[str, Any] = { "id": main_task.id, "title": main_task.title, "status": main_task.status.value, "is_current": main_task == self.current_task, "created_at": main_task.created_at.isoformat(), "sub_tasks": [], } for sub_task in main_task.sub_tasks: task_data["sub_tasks"].append( { "id": sub_task.id, "title": sub_task.title, "status": sub_task.status.value, "is_current": sub_task == self.current_task, "created_at": sub_task.created_at.isoformat(), } ) tasks.append(task_data) return {"zen_state": self.is_zen_state, "tasks": tasks} else: # text format lines = [] for i, main_task in enumerate(self.global_tasks): status = main_task.status.value marker = " <-- YOU ARE HERE" if main_task == self.current_task else "" lines.append(f"{main_task.title} ({status}){marker}") for sub_task in main_task.sub_tasks: status = sub_task.status.value marker = ( " <-- YOU ARE HERE" if sub_task == self.current_task else "" ) lines.append(f" {sub_task.title} ({status}){marker}") if not lines: return "No tasks (zen state)" elif self.is_zen_state: return "\n".join(lines) + "\n\nAll tasks completed (zen state)" else: return "\n".join(lines)
- src/handlers.py:276-290 (registration)Tool registration definition including name, description, and input schema, returned by get_tool_definitions().Tool( name="get_big_picture", description="See ALL tasks in your task stack (including completed ones). Shows full work context as a living document. Marks current task with 'YOU ARE HERE'. Indicates zen state when no tasks exist OR all tasks are completed.", inputSchema={ "type": "object", "properties": { "format": { "type": "string", "enum": ["text", "json"], "description": "Output format", "default": "text", } }, }, ),
- src/server.py:56-58 (registration)Dispatcher registration mapping tool name to its handler function in the MCP server's call_tool implementation."get_big_picture": lambda: handlers.handle_get_big_picture( arguments.get("format", "text") ),
- src/handlers.py:280-289 (schema)Input schema definition for the get_big_picture tool, specifying optional format parameter."type": "object", "properties": { "format": { "type": "string", "enum": ["text", "json"], "description": "Output format", "default": "text", } }, },