Tone
Schema for tone records in the pptx.gallery library. Each record names a presentation tone (e.g. 'formal', 'casual', 'inspirational') and carries voice cues, anti-patterns, and sample phrases that AI-driven ge…
https://openpresentation.org/schema/opf-tone/v1
spec/schemas/tone.schema.json
Field index
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
| $schema | const | yes | — | Identifies this record as a tone in the openpresentation.org catalog. |
| id | string | yes | — | Stable slug used by OPF documents to reference this tone via tone. Lowercase kebab-case. |
| name | string | yes | — | Human-readable tone name shown in pickers. |
| summary | string | — | — | One-sentence positioning of the tone — when to reach for it. |
| description | string | — | — | Longer prose describing the tone and the kinds of decks it suits. |
| voiceCues | array<string> | — | — | Short directives that shape AI generation toward this tone. Phrased as imperatives, e.g. 'use second-person', 'favor short sentences', 'lead with the recommendation'. |
| avoid | array<string> | — | — | Anti-patterns that AI generation should not produce when this tone is active. |
| samplePhrases | array<string> | — | — | Short example phrases that exemplify this tone. Used by picker UIs and as few-shot examples for AI generation. |
| recommendedNarratives | array<string> | — | — | Soft cross-link: narrative-catalog ids this tone pairs well with. Used by picker UIs to suggest narratives once a tone is chosen. Validators warn on unknown ids; never error. |
| tags | array<string> | — | — | Free-form labels for filtering and search. |
| preview | object | — | — | Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional. |
$schema
Type: const · Required · Default: —
Identifies this record as a tone in the openpresentation.org catalog.
{
"$schema": "https://openpresentation.org/schema/opf-tone/v1"
}id
Type: string · Required · Default: — · Pattern: ^[a-z][a-z0-9-]*$
Stable slug used by OPF documents to reference this tone via tone. Lowercase kebab-case.
{
"id": "formal"
}name
Type: string · Required · Default: —
Human-readable tone name shown in pickers.
{
"name": "Formal"
}summary
Type: string · Optional · Default: —
One-sentence positioning of the tone — when to reach for it.
{
"summary": "Polished, restrained voice for board, investor, and regulator audiences."
}description
Type: string · Optional · Default: —
Longer prose describing the tone and the kinds of decks it suits.
{
"description": "Authoritative without being cold. Use third-person constructions, full sentences, and concrete numbers. Avoid hedges and humor that depend on shared in-jokes; rely on clarity and precision to land."
}voiceCues
Type: array<string> · Optional · Default: —
Short directives that shape AI generation toward this tone. Phrased as imperatives, e.g. 'use second-person', 'favor short sentences', 'lead with the recommendation'.
{
"voiceCues": [
"Use third person.",
"Lead with the recommendation, then evidence.",
"Quote concrete numbers; avoid round-tripping ranges."
]
}avoid
Type: array<string> · Optional · Default: —
Anti-patterns that AI generation should not produce when this tone is active.
{
"avoid": [
"Slang, idioms, or in-jokes.",
"Hedging language ('maybe', 'sort of', 'I think').",
"Marketing superlatives ('world-class', 'best-in-class')."
]
}samplePhrases
Type: array<string> · Optional · Default: —
Short example phrases that exemplify this tone. Used by picker UIs and as few-shot examples for AI generation.
{
"samplePhrases": [
"Q4 revenue grew 18% year over year, led by enterprise expansion.",
"We recommend approving the Series B raise at $30M.",
"Net retention was 124%; gross retention was 96%."
]
}recommendedNarratives
Type: array<string> · Optional · Default: —
Soft cross-link: narrative-catalog ids this tone pairs well with. Used by picker UIs to suggest narratives once a tone is chosen. Validators warn on unknown ids; never error.
{
"recommendedNarratives": [
"board-meeting",
"qbr",
"scqa"
]
}preview
Type: object · Optional · Default: —
Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional.
{
"preview": {}
}