← Back to patterns
Inline & Contextual

Templates

Slot-filled prompts for repeatable tasks

For repeated tasks, free-text prompting is wasteful and inconsistent. Templates expose the prompt as a form — named slots, hints, required vs optional — so the user only fills in what changes. Output stays consistent run to run, and onboarding is dramatically faster.

Metaphor

Madlibs

Interaction

Slot Filling, Template Picker

Use case

Repeatable Tasks, Onboarding, Standardised Workflows

Failure mode

Re-Improvising Stable Tasks

Control mechanisms

Named Slots · Validation Hints · Required vs Optional · Save as Template

Reference examples

Notion AI Templates · GitHub Issue Forms · Cursor Slash Commands

Interactive Example

The live side-by-side is the comparison.

This prototype already contains the contrast between chat and the pattern response. It stands as the primary comparison surface for this page.

Loading Demo

Preparing the interactive example for this pattern.

You already know what changes. Stop retyping what doesn't.

For a task you run weekly, free-text prompting throws away everything you learned last time. The stable 90 percent gets retyped alongside the 10 percent that actually varies, and nothing in the blank box tells you which is which. The prompt hides its own structure, so consistency depends entirely on you remembering the exact phrasing that worked.

Templates expose the prompt as a form with named slots, hints, and required-versus-optional fields, so the same template plus the same slots yields the same output shape every run. The variable surface becomes explicit and the rest is frozen — which turns a remembered incantation into a shareable, onboardable object a whole team can run identically.

When a task repeats, the blank prompt box is not freedom — it is a memory test you fail a little differently each time.

DOPE Lens

How this pattern improves AI interaction quality.

Observability

The template structure is visible; the user knows exactly what is variable

Directability

Edit any slot, save the variation as a new template, share it

Predictability

Same template + same slots = same output shape, every run

Explainability

Each slot declares its purpose, valid values, and downstream effect

Fit

Where it earns its place.

Use it
when

A task is repeatable enough that variables can be named and most fields stay stable across runs.

Avoid
when

The task is one-off and exploratory — a template would add scaffolding that is never reused.

In the wild

Where this pattern already ships.

Real implementations from products users already know. Each entry shows how the pattern got applied — what shipped, where it sits in the product, what it traded off.

Research Frame

Why this pattern exists, and where it breaks.

Repeatable tasks get retyped from scratch every time, with no surface for what is variable.

Expose the prompt as a form with named slots, hints, and required-vs-optional fields.

Free-text prompting hides which parts of a task are stable and which actually change.

Over-specified templates feel rigid; under-specified ones invite the same variability the template was supposed to fix.

Common questions

What people ask about this pattern.

When should I use the Templates pattern?

+

A task is repeatable enough that variables can be named and most fields stay stable across runs.

When should I avoid the Templates pattern?

+

The task is one-off and exploratory — a template would add scaffolding that is never reused.

What problem does Templates solve?

+

Repeatable tasks get retyped from scratch every time, with no surface for what is variable.

Why is chat the wrong fit for this?

+

Free-text prompting hides which parts of a task are stable and which actually change.

Related Patterns

Curated connections, not just neighbors.

Hand-picked relationships — what this pattern pairs with in practice, what it replaces, what it builds on, and what builds on it.

  • Often paired with

    Saved Styles

    Templates capture what changes per run, slot by slot; Saved Styles keep the tone and format every run shares.

  • Often paired with

    Sample Response

    Templates shape the request; Sample Response shows a typical result before you fill in the form.

  • Alternative to

    Inline Prompt Controls

    Templates start you from a blank form; Inline Prompt Controls finds the same slots in prose you already wrote.