{
  "name": "generate_meeting_layout",
  "description": "Copy the meeting template to meeting_file_path and substitute tokens. The produced file contains a single placeholder \"<!-- BODY PLACEHOLDER -->\" inside <meeting-shell>. Replace it with all your <slide> content in one edit_file call.",
  "input_schema": {
    "type": "object",
    "properties": {
      "meeting_file_path": {
        "type": "string",
        "description": "Absolute path to the output HTML file (e.g. \"/abs/path/meeting.html\"). Parent folders are created if missing. Typically lives next to the source meeting Markdown."
      },
      "title": {
        "type": "string",
        "description": "Human-readable meeting title — shown in the top bar of the rendered HTML."
      },
      "storage_suffix": {
        "type": "string",
        "description": "Optional suffix for the localStorage key when meetings share a folder. Defaults to a slug of (title + file basename)."
      }
    },
    "required": ["meeting_file_path", "title"]
  },
  "timeout": 20
}
