Placeholder reference
Every placeholder Prefab fills in for you, the transforms that reshape a value on its way in, and the extra tokens that only mean something for a file arriving in a watched folder.
Built-in placeholders
These four fill themselves. They are never part of the deploy prompt, and Prefab never remembers them between deploys - pinning last month's date would be worse than working it out again.
| Placeholder | Value | Example |
|---|---|---|
{{date}} | Today's date | 2026-01-15 |
{{year}} | This year, four digits | 2026 |
{{author}} | Your name, from Settings | David Kelly |
{{folder}} | The folder you deploy into | Clients |
{{author}} produces nothing until you set a name in Settings. {{folder}} is the name of the
folder you dropped the template onto, not its full path.
The date format is a setting rather than a per-template choice, so {{date}} reads the same way
everywhere. See Settings and permissions.
| Setting | {{date}} produces |
|---|---|
yyyy-MM-dd (default) | 2026-01-15 |
dd/MM/yyyy | 15/01/2026 |
MM/dd/yyyy | 01/15/2026 |
MMMM d, yyyy | January 15, 2026 |
d MMM yyyy | 15 Jan 2026 |
Transforms
Any placeholder can be reshaped on its way in, by adding a colon and the transform's name:
{{client_name:kebab}}. Transforms work everywhere placeholders do - folder names, file names,
file contents, terminal commands and watched-folder patterns alike.
| Transform | Acme Rebrand (v2) becomes | Café Zürich becomes |
|---|---|---|
lower | acme rebrand (v2) | café zürich |
upper | ACME REBRAND (V2) | CAFÉ ZÜRICH |
kebab | acme-rebrand-v2 | café-zürich |
snake | acme_rebrand_v2 | café_zürich |
title | Acme Rebrand V2 | Café Zürich |
slug | acme-rebrand-v2 | cafe-zurich |
lower and upper change the letters and nothing else, punctuation included. The other four break
the value into words at anything that is not a letter or a number, which is why the brackets in
Acme Rebrand (v2) disappear rather than turning into stray dashes.
The difference between kebab and slug is accents. Both give lower-case words joined by hyphens,
but slug folds accented letters down to their plain equivalents. Use slug for anything that has
to travel through a URL, and kebab when the name should still read as it was written.
Transform names are not case sensitive. One Prefab does not recognise is ignored, and the value goes in unchanged.
Tokens for a file in a watched folder
A watched folder renames what lands in it using a name pattern. A pattern can use everything above, plus these, which describe the file itself. See Rule reference.
| Token | Stands for |
|---|---|
{{original_name}} | The file's name, without its extension |
{{captured}} | When the photo was taken |
{{file_date}} | When the file was created |
{{counter}} | The next number for this folder and pattern |
{{counter:3}} | The same number, zero-padded to that width |
{{captured}} reads the date out of the image's EXIF or TIFF data, and falls back to the file's own
dates when there is none. {{file_date}} uses the creation date, falling back to the modification
date. Either can carry a format of its own in place of the one from Settings:
{{captured:yyyy-MM}}.
Your own placeholders work too, but their values are frozen: they are the answers you gave when the
folder was deployed, copied into the folder at that moment. A pattern is applied to a file weeks
later, when there is nobody to ask. The built-ins are frozen the same way, so {{date}} in a
pattern is the day the folder was made rather than today.


What a pattern may produce
A pattern names a file, not a path. Slashes and colons become hyphens, the extension is kept as it was, and a pattern that resolves to nothing at all leaves the file's name alone.
The move to subfolder rule is the exception. There a slash does mean a level of nesting, so
{{client_name}}/{{date}} files things two deep, and a pattern that would climb out of the watched
folder is trimmed back until it cannot. The five tokens in the table above belong to the rename
pattern alone. A subfolder pattern has the folder's own values and nothing more.
Date formats
The format after the colon is a standard date pattern. The letters used most often:
| Letters | Meaning | Example |
|---|---|---|
yyyy | Four-digit year | 2026 |
MM | Two-digit month | 01 |
MMM | Short month name | Jan |
MMMM | Full month name | January |
dd | Two-digit day | 15 |
HH | Hour, 24-hour clock | 14 |
mm | Minute | 31 |
ss | Second | 05 |
The number is kept per folder and per pattern, and it climbs. Files moved away afterwards do not give their numbers back, so a second batch of imports carries on from where the first stopped. Previewing a rule against files already in the folder shows the numbers you would get without using any of them up.
Tokens for a shell command rule
The shell command rule in a watched folder hands the file to a command of your own, and adds three tokens to the ones the folder already carries. See Terminal commands.
| Token | Stands for |
|---|---|
{{file}} | The file's full path |
{{file_name}} | The file's name, extension included |
{{folder}} | The path of the folder it is sitting in |
Quote {{file}} when you use it, because paths contain spaces. Inside this rule {{folder}} is a
full path rather than the built-in's folder name.
sips -Z 2000 "{{file}}"
This is the one rule Prefab cannot undo. By the time the run is recorded the command has already done whatever it does.