Novelcrafter

Prompting Terminology

Key terminology for the prompting system.

3 min read Last updated May 10, 2025

When creating prompts in Novelcrafter, you can use certain functions to fill in “the blanks” with information from your project. This works similar to a template: you provide the structure, and the system fills in the details.

This page will go over the key terminology used in the prompting system, and how to use it in your prompts.

Terminology

Expressions

In Novelcrafter prompting, expressions are akin to a instructions or commands; they consist of curly braces { } , with content inside of them. These expressions/instructions will then be replaced with values when you execute the prompt (for example adding in your message text, codex entries, or previously written prose).

An expression can consist of a function and/or an operator like +, in or is. See the examples below for more information.

Functions

A recipe for your prompt, think of functions as a set of instructions that perform a specific task. You give it some information (in parentheses), and it will perform its function on that, and give you back a result.

{uppercase("hello")}
HELLO

Braces

For the purposes of Novelcrafter prompting and documentation, braces refer to curly brackets, i.e. { } .

Braces are used to ‘escape’ the normal text of your prompt - think of them as a way to sneak in a prompt function without getting in the way of the prompt’s wording. Expressions within the braces are processed/the instructions are followed prior to sending the prompt to AI.

Comments

Using { ! to open and close an expression will hide it from the prompt entirely. You will see these in Novelcrafter system prompts in brown, and they denote instructions/explanations of the prompt.

[image]

Parentheses

For the purposes of Novelcrafter prompting and documentation, parentheses refer to standard brackets, i.e. ( ) .

Parentheses are used in prompting to:

  1. Call the prompt functions
  2. To control the order everything is done in

[Frame 7]

In the example above, content(series.description), the parentheses act to say “take the series description and add the content processing function to it”. Or in simple english “give me the content of the series description”.

Arguments

The information inside the parentheses of a function. Essentially, the raw material for our functions to act upon. so in our first example, uppercase("hello"), “hello” is our argument. In the second example content(series.description), series.description is our argument.

Arguments tell the function what specific information the instructions are acting on. The instructions themselves will determine what arguments that you use.

Quotation Marks

In Novelcrafter prompting, single and double quotes can be used interchangably. Think of them as one escaping the text from the other. These means that you can say both "Odysseus' Bow" and 'Vampire "food"' within the system.

In our example above, of uppercase("hello"), by stating hello in quotation marks, we are telling the function that this is a specific bit of text we are working on, rather than another function, or another variable.

{uppercase("message")}
MESSAGE
{uppercase(message)}
YOUR SCENE BEAT MESSAGE

Underscores

Underscores are used for delineration instead of a comma or period when using numbers (you can say either 25000 or 25_000, but not 25,000, for instance). This is specifically for number formatting.

Operators

You can also use operators for your arguments, for example:

{uppercase("hello" + "world")}
HELLOWORLD

These can also be used for “checks”, say if you wanted to have conditions in your prompting.

{#if pov.character is "Odysseus"}
We want to...
{#endif}

The above check asks for us to check the pov character. If it is Odysseus, then the text “We want to…” will show up in the prompt.

Objects