Skip to content

Commit fee88f3

Browse files
committed
docs(slides): reframe tool description — creativity over rigidity
Replaces prescriptive layout recipe with design intent guidance: - Lead with 'let content drive layout' not 'header bars go here' - Deck consistency comes from theme/margin/type system, not templates - Technical notes (layers, text clipping) kept as reference - Opinionated layout patterns live in slides-designer skill instead
1 parent 27de814 commit fee88f3

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

workspace-server/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,7 @@ async function main() {
598598
'slides.createFromJson',
599599
{
600600
description:
601-
'Creates one or more slides in a presentation from a JSON blueprint.\n\nFORMATS: {"slides":[{"elements":[...]},...]} for multiple slides, or {"elements":[...]} for a single slide.\n\nCANVAS: 720×405 pt (16:9). Origin is top-left.\n\nELEMENT TYPES: type ("text"|"shape"|"image"), position ({x,y,w,h} in points), optional content, shape_type (e.g. "RECTANGLE","TEXT_BOX"), url (images), layer (z-index).\n\nLAYOUT PRINCIPLES:\n- Render order: place background shapes at low layer values (0), content boxes at 1, text at 2+. Shapes always render before text at the same layer.\n- Padding: ~18pt from edges is a safe margin. Header bars typically span full width (x=0 w=720).\n- Header height: 50-60pt is readable; leave ~8pt vertical padding for text inside.\n- Content area: starts where the header ends. Use consistent left margin (18pt) across all elements.\n- Prefer theme color aliases ("primary", "surface", "text") over hardcoded RGB — makes slides cohesive and easy to restyle.\n- Size hierarchy: titles 18-24pt bold, subheadings 12-14pt, body 10-12pt.\n\nSTYLE PROPERTIES: size, bold, italic, underline, strikethrough, align (START|CENTER|END), vertical_align (TOP|MIDDLE|BOTTOM), indent, color, bg_color, border_color, border_weight, no_border, font_family ("theme" to use theme default), bold_phrases (array of substrings to bold), bold_until (char index), links ([{text,url}]).\n\nCOLORS: RGB 0-1 objects ({red,green,blue}) OR named aliases when theme active: "primary","primary_text","secondary","secondary_text","surface","surface_alt","text","text_muted","background".\n\nTHEMES: "light" (default — neutral, Arial), "google" (Blue #1A73E8, Green #34A853, Google Sans), "dark". Image URLs with unresolved template placeholders are replaced with a fallback icon.',
601+
'Creates one or more slides in a presentation from a JSON blueprint.\n\nFORMATS: {"slides":[{"elements":[...]},...]} for multiple slides, or {"elements":[...]} for a single slide.\n\nCANVAS: 720×405 pt (16:9). Origin is top-left.\n\nELEMENT TYPES: type ("text"|"shape"|"image"), position ({x,y,w,h} in points), optional content, shape_type (e.g. "RECTANGLE","TEXT_BOX"), url (images), layer (z-index).\n\nDESIGN INTENT: Let the content drive the layout. A single strong idea may need only a title and whitespace. A comparison needs two columns. A timeline needs flow. Avoid defaulting to the same structure every slide — vary density, emphasis, and composition to match what each slide is communicating.\n\nCONSISTENCY ACROSS A DECK: Use the same theme, margin rhythm (~18pt), and font size hierarchy throughout. Consistency in the system lets individual slides be visually distinct without feeling disconnected.\n\nTECHNICAL NOTES:\n- Layer ordering: lower layer values render first (backgrounds=0, boxes=1, text=2+). Text placed at the same layer as a shape it overlaps will be hidden — always use layers explicitly.\n- Theme aliases for color ("primary", "surface", "text", etc.) keep slides cohesive and restyable — prefer them over hardcoded RGB.\n- Font size hierarchy: titles ~20-24pt bold, subheadings ~12-14pt, body ~10-12pt. Scale to content density.\n- Text boxes clip silently — size h generously.\n\nSTYLE PROPERTIES: size, bold, italic, underline, strikethrough, align (START|CENTER|END), vertical_align (TOP|MIDDLE|BOTTOM), indent, color, bg_color, border_color, border_weight, no_border, font_family ("theme" to inherit theme font), bold_phrases (substrings to bold inline), bold_until (char index), links ([{text,url}]).\n\nCOLORS: RGB 0-1 objects ({red,green,blue}) OR named aliases: "primary","primary_text","secondary","secondary_text","surface","surface_alt","text","text_muted","background".\n\nTHEMES: "light" (default), "google" (Blue #1A73E8, Green #34A853, Google Sans), "dark". Image URLs with unresolved placeholders are replaced with a fallback icon.',
602602
inputSchema: {
603603
presentationId: z
604604
.string()

0 commit comments

Comments
 (0)