get_big_picture
View all tasks in your stack to maintain work context, track progress with current task markers, and identify when all tasks are completed.
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/task_manager.py:220-265 (handler)Core implementation of get_big_picture: generates text or JSON overview of the entire task structure, marking the current task and handling zen state.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:107-113 (handler)Tool handler wrapper that invokes TaskManager.get_big_picture and wraps the result for JSON/text formats.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/handlers.py:277-290 (schema)Input schema definition for the get_big_picture tool, including optional format parameter.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)Registration of the get_big_picture tool in the MCP server handler map."get_big_picture": lambda: handlers.handle_get_big_picture( arguments.get("format", "text") ),