> For the complete documentation index, see [llms.txt](https://docs.rubica.au/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rubica.au/advice-library/presentation-templates.md).

# Presentation Templates

Upload and manage the HTML decks and AI generation rules behind an AI-generated client presentation — an SOA deck, an Annual Review deck, or any other presentation type.

### 🔍 How to Get There

Rubica App > **Templates** tab > **Presentations** sub-tab

{% hint style="info" %}
Requires the **Rubica Advice Library** permission set.
{% endhint %}

## What a presentation template actually is

A presentation template is a Knowledge article made of two parts:

| Part          | Format                                 | Role                                                                                                                                                                                                    |
| ------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **The deck**  | One self-contained `.html` file        | An **exemplar**, not a form to merge into. The AI presentation builder reads its design system (colours, fonts, chart styling, slide chrome) and copies it exactly — it never edits this file directly. |
| **The rules** | Rich text, written in the article body | The master generation prompt: the fixed slide structure, the data it's allowed to use, and the wording that must always appear.                                                                         |

{% hint style="warning" %}
This is different from an **Advice Document** template (SOA/ROA). A document template's `.docx` file is **merged into** — placeholders get filled in. A presentation deck is an **exemplar the AI designs around** — it produces a brand new HTML file every time, built to match the exemplar's look, never the exemplar itself with text swapped in.
{% endhint %}

## Creating a new presentation template

{% stepper %}
{% step %}

### Open the Presentations sub-tab

Rubica App > **Templates** > **Presentations**. Click **New template**.
{% endstep %}

{% step %}

### Name it and create

Give it a working title (e.g. *Progress Meeting Deck*). There's only one article type for this sub-tab (**Presentation Template**) — no SOA/ROA choice to make. Click **Create**.
{% endstep %}

{% step %}

### Attach the HTML deck

Drag a finished `.html` exemplar deck onto the drop zone (or use the file picker). This becomes the design reference every generated presentation of this type is built from.
{% endstep %}

{% step %}

### Write or draft the rules

Either write the rules directly in the article body, or drop in a finished presentation and let AI draft them from it (see below).
{% endstep %}

{% step %}

### Publish

The template is a **Draft** until you publish it. A draft is invisible to the AI presentation builder — click **Publish** once it's ready to use.
{% endstep %}
{% endstepper %}

## Uploading or replacing the deck file

<figure><img src="https://3555949013-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqzoPnlIGiL5ejRdJEq5X%2Fuploads%2FHvOJLbt2PK3f1TGI3PV9%2FScreenshot%202026-10-14%20at%2012.26.35%E2%80%AFpm.png?alt=media&amp;token=0af9f4ae-bf84-4b51-9302-d15bb5e74e06" alt=""><figcaption></figcaption></figure>

* **Accepted formats:** `.html` / `.htm` only. PowerPoint and Word are not accepted as the deck itself.
* **Size cap:** uploads here are capped at roughly **3.5 MB**. A deck over that fails with a clear message.
* **Live preview:** once attached, the deck renders live in the preview pane.

{% hint style="warning" %}
**One file, no external dependencies.** A deck that links out to a stylesheet, a web font, or an image hosted elsewhere will not render the same way once the AI rebuilds it — everything (styling, any logo) has to be embedded in the single HTML file. The only exception the existing templates make is a Google Fonts `<link>`.
{% endhint %}

## Writing the rules and guidance

<figure><img src="https://3555949013-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqzoPnlIGiL5ejRdJEq5X%2Fuploads%2FVyXm99xCXy6uFIo2x2DF%2FScreenshot%202026-10-14%20at%2012.26.02%E2%80%AFpm.png?alt=media&amp;token=ba88a262-08a8-48d7-a439-e611c73a7715" alt=""><figcaption></figcaption></figure>

The rules are a **master generation prompt** — the contract every generated presentation of this type must follow. Both of Lume's live templates (see below) use the same numbered structure, and it's worth following for a new one:

<table><thead><tr><th width="52.7578125">#</th><th>Section</th><th>Covers</th></tr></thead><tbody><tr><td>1</td><td>Role and output contract</td><td>What the AI is building, from what source, and the non-negotiable rules (source of truth, never invent data, flag inconsistencies rather than silently fixing them, use a visible <code>[placeholder]</code> for anything missing)</td></tr><tr><td>2</td><td>Design system / tokens</td><td>Colours, fonts, chart styling — "fixed," explicitly telling the AI it may change content but never style</td></tr><tr><td>3</td><td>Fixed deck structure</td><td>The slides that always appear, in order</td></tr><tr><td>4</td><td>Conditional slide library</td><td>Slides that appear only when a condition is met (e.g. a client has insurance, or a strategy applies)</td></tr><tr><td>5</td><td>Interactive / component library</td><td>Reusable chart and component patterns the deck is built from</td></tr><tr><td>6</td><td>Data extraction map</td><td>Exactly where in the source document(s) each piece of deck content comes from</td></tr><tr><td>7</td><td>Calculation &#x26; cross-check rules</td><td>What the AI is allowed to compute itself vs. what must come verbatim from the source</td></tr><tr><td>8</td><td>Copy rules</td><td>House style — sentence case, Australian English, no em dashes, correct technical terminology</td></tr><tr><td>9</td><td>QA checklist</td><td>What to verify before the deck is considered done</td></tr></tbody></table>

{% hint style="info" %}
The rules field auto-detects whichever rich-text section on the article actually has the most content — so it doesn't matter which field label you see; whatever you write in the article body here is the one the AI reads.
{% endhint %}

### Editing the rules

1. Open the template from the Presentations list.
2. Click **Edit**, change the rules body, and **Save** (this creates a new draft — the currently published version keeps serving the AI until you publish the new one) or **Publish** directly.

### Letting AI draft the rules from a finished example

Rather than writing the rules from scratch, drop in a presentation that already represents the house style and let AI derive the rules from it:

1. Open the template, open the **assist** panel.
2. Drop a finished presentation — HTML, PowerPoint, or PDF. An HTML example also carries its design system into the draft; PowerPoint/PDF only carry the words and structure.
3. Optionally add an instruction (what to emphasise, what to leave out).
4. Click **Draft the rules**. Review the result, then accept it into the rules body (nothing is written until you accept).

{% hint style="warning" %}
The example reader caps out at **150,000 characters**. A long source is truncated silently — the rules will reflect the front of the document only. For anything longer than that, draft the rules in parts, or trim the example first.
{% endhint %}
