Slide Rules and Element Roles

Per-deck slide rules and semantic element roles keep AI-generated presentations consistent and correct.

When an AI agent works on your presentation, two systems ensure consistency: slide rules define your deck-specific standards, and element roles tag each text element with its purpose. Together, they prevent the agent from drifting off-brand or breaking your layout as it adds and edits content.

Tip: Enable extended thinking on your AI assistant for the best results. The extra reasoning time helps the agent carefully follow slide rules and maintain consistent visual hierarchy across slides.

Slide Rules

Slide rules are instructions you write to tell AI agents how your presentations should be built. You create and manage them from the Slide Rules page in your Rideful dashboard. When an agent starts working on a deck, it reads your rules and follows them throughout every operation.

Rules can specify anything: tone of voice, formatting requirements, brand guidelines, structural constraints, or content restrictions. For example:

Story Structure
- Use Minto Principle: lead with the answer
- Maximum 5 slides for executive summaries

Titles
- Titles should be actionable statements, not labels
- Example: "Revenue grew 20% in Q4" not "Q4 Revenue"

Visuals
- Use the company's blue palette (#1C2833, #2E4053)
- Charts must include data source attribution

How to Assign Rules

  • Link to a template: Assign a rule to a specific template so every deck created from that template automatically inherits the rule.
  • Set as default: Mark a rule as your default and it applies to all new presentations that don't have a template-specific rule.

The agent resolves rules in priority order: template-linked rule first, then your default rule, then no rules. This means you can set broad standards with a default rule and override them for specific template use cases.

Layout Descriptions

If you use brand templates, each template layout can have a description that tells AI agents when and how to use it. For example, a layout description might say “Use this for section dividers — large centered title with a dark background”. When the agent calls slides_list_template_layouts, it reads these descriptions to pick the right layout for each slide's content. You can write or edit layout descriptions from the template detail page, or let the AI generate them by inspecting the layout and calling slides_update_template_layout.

Element Roles

Every text element with semantic meaning gets a role property that identifies its purpose on the slide. Roles help the agent maintain consistency and enable the visual editor to apply smart defaults.

Roles also make it easier for you to communicate with the AI. When you say “change the title to something shorter” or “make all subtitles italic”, the agent can instantly find the right elements by their role. Without roles, the agent has to analyze every element on every slide to figure out which ones are subtitles — slower and more error-prone.

RolePurposeRecommended Size
titleSlide header — typically one line at the top36-44pt
subtitleOptional line below the title18-24pt
bodyMain content area — paragraphs, bullet lists, descriptions14-18pt
footerBottom text — page numbers, disclaimers, attributions10-12pt

When to Set Roles

Agents always set a role on title, subtitle, body, and footer elements. Decorative shapes without semantic meaning — dividers, background rectangles, accent bars — do not get a role. This distinction lets the editor treat content elements and design elements differently.

Visual Hierarchy

Agents maintain a consistent size hierarchy across all slides: Title > Subtitle > Body > Footer. If the title is 40pt on slide 1, it should be 40pt on every slide. Inconsistent sizing breaks the presentation's visual rhythm and makes it look unpolished.

Font Tier Selection

Rideful organizes fonts into three tiers. Agents call slides_list_fonts to discover available fonts and choose intentionally based on the presentation's export needs.

  • Universal tier — Fonts available everywhere: Windows, macOS, PowerPoint, Google Slides, web browsers. The safest choice for presentations that will be shared or exported.
  • Office tier — Fonts bundled with Microsoft Office. Safe for PowerPoint export but may not render on systems without Office installed.
  • Google tier — Google Fonts available in the Rideful editor. Great for web-only presentations but may not render correctly when exported to PowerPoint.

By default, agents choose universal or office tier fonts. Google Fonts are only suggested if you specifically request more variety or confirm you won't need to export to PowerPoint.

Key Concepts

A quick reference for the building blocks agents work with:

  • Deck — A presentation containing ordered slides.
  • Slide — A single page in a deck. Has a background color and contains elements.
  • Shape — Rectangle, circle, or diamond. Supports rich text directly inside (no need for a separate text element on top).
  • Text — Standalone text block. Supports markdown: **bold**, *italic*, - bullet lists, 1. numbered lists.
  • Line — With optional arrows and anchors to other elements.
  • Image — Added via URL. Set only width or height to preserve aspect ratio.
  • Layout — Built-in layouts (builtin-blank, builtin-title-slide, builtin-title-and-content) auto-create placeholder elements. Custom template layouts are also available.

Code Example

A slide with roles explicitly set on every semantic element. Notice the accent bar has no role — it's decorative:

// Elements with semantic roles explicitly set
slides_bulk_create_elements({
  deckId: "abc123",
  slideId: "slide-1",
  elements: [
    // Side accent bar — decorative, NO role
    {
      type: "shape",
      shapeType: "rectangle",
      x: 0, y: 0,
      width: 16, height: 720,
      fillColor: "#E33737"
    },
    // Title — role: "title"
    {
      type: "text",
      role: "title",
      text: "Q4 Revenue Summary",
      x: 80, y: 60,
      width: 1120, height: 60,
      fontSize: 40,
      fontFamily: "Inter",
      fontColor: "#292929"
    },
    // Subtitle — role: "subtitle"
    {
      type: "text",
      role: "subtitle",
      text: "North America Region",
      x: 80, y: 130,
      width: 1120, height: 36,
      fontSize: 20,
      fontFamily: "Lato",
      fontColor: "#CCCBCB"
    },
    // Body content — role: "body"
    {
      type: "text",
      role: "body",
      text: "- Total revenue: $4.2M\n- Growth: +18% YoY\n- Top segment: Enterprise (62%)",
      x: 80, y: 200,
      width: 1120, height: 360,
      fontSize: 16,
      fontFamily: "Lato",
      fontColor: "#292929"
    },
    // Footer — role: "footer"
    {
      type: "text",
      role: "footer",
      text: "Confidential — Internal Use Only",
      x: 80, y: 670,
      width: 1120, height: 24,
      fontSize: 11,
      fontFamily: "Lato",
      fontColor: "#CCCBCB"
    }
  ]
})

Common Issues

  • Missing roles on text elements: Without roles, the editor can't properly manage elements and agents can't maintain visual hierarchy when editing later. Every title, subtitle, body, and footer element needs its role set.
  • Mixing font tiers: Using a Google Font for the title and an Office font for the body can cause the title to disappear when the deck is exported to PowerPoint. Stick to one tier per presentation.
  • Ignoring slide rules: If you've set slide rules on a deck and the agent doesn't follow them, the output won't match your expectations. The agent reads slide rules from slides_get_deck at the start of every workflow.

Related