Writing Style

Beyond personas, Draft has global writing style settings that apply to all transformations. These control baseline behavior like verbosity, tone, and formatting preferences.

Personas vs. Writing Style

Personas let you quickly switch between different profiles. Writing Style sets your default preferences that apply when no specific persona rule overrides them.

Style Settings

Configure these settings in Draft → Settings → Writing Style:

Verbosity

Controls how much detail Draft includes in transformations:

LevelBehavior
ConciseShortest possible output. Great for Slack, quick replies.
NormalBalanced output. Suitable for most communication.
DetailedThorough explanations. Good for documentation.

Tone

Sets the default communication style:

ToneDescription
DirectStraightforward, no hedging. Gets to the point.
FormalProfessional and polished. Good for external comms.
FriendlyWarm and approachable. Great for team messages.
CasualRelaxed and conversational. Personal communication.

Formatting

Default output format preference:

FormatWhen to use
ProseRegular paragraphs. Best for emails and documents.
BulletsBullet points when appropriate. Good for summaries.
MixedDraft chooses based on content. Most flexible.

Hard Rules

Hard rules are absolute constraints that Draft will never break, regardless of instruction or persona. These protect important content:

Preserve Quotes

Quoted text is never modified

On

Never Change Numbers

Numbers, dates, and figures are preserved exactly

On

English Variant

US or UK spelling conventions

American

Critical for accuracy

Hard rules exist to prevent Draft from accidentally changing important data. Keep "Never Change Numbers" enabled unless you have a specific reason to disable it.

Configuration File

Writing style settings are stored in your Draft configuration file:

~/Library/Application Support/Draft/defaults.json

Default Configuration

defaults.json
{
  "version": "1.0.0",
  "writingStyle": {
    "verbosity": "normal",
    "tone": "direct",
    "formatting": "prose"
  },
  "hardRules": {
    "preserveQuotes": true,
    "neverChangeNumbers": true,
    "englishVariant": "american"
  }
}

Advanced: Sampling Parameters

For advanced users, Draft exposes the language model sampling parameters. These control the randomness and creativity of outputs:

ParameterDefaultEffect
temperature0.7Lower = more predictable, higher = more creative
topP0.9Nucleus sampling threshold
repeatPenalty1.1Reduces repetition in output
maxTokens1024Maximum output length

For power users

Most users should leave sampling parameters at their defaults. Adjust these only if you understand how they affect model behavior.

Per-Action Settings

Different actions (rewrite, summarize, translate, extract) can have their own system prompts. These are configured in the actionContracts section:

defaults.json (excerpt)
"actionContracts": {
  "rewrite": {
    "systemPrompt": "You are a precise text transformation engine..."
  },
  "summarize": {
    "systemPrompt": "You are a summarization engine..."
  },
  "translate": {
    "systemPrompt": "You are a translation engine..."
  },
  "extract": {
    "systemPrompt": "You are a data extraction engine..."
  }
}

Advanced feature

Editing action contracts requires understanding of prompt engineering. Changes here can significantly affect output quality.