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.

PlaceholderValueExample
{{date}}Today's date2026-01-15
{{year}}This year, four digits2026
{{author}}Your name, from SettingsDavid Kelly
{{folder}}The folder you deploy intoClients

{{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/yyyy15/01/2026
MM/dd/yyyy01/15/2026
MMMM d, yyyyJanuary 15, 2026
d MMM yyyy15 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.

TransformAcme Rebrand (v2) becomesCafé Zürich becomes
loweracme rebrand (v2)café zürich
upperACME REBRAND (V2)CAFÉ ZÜRICH
kebabacme-rebrand-v2café-zürich
snakeacme_rebrand_v2café_zürich
titleAcme Rebrand V2Café Zürich
slugacme-rebrand-v2cafe-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.

TokenStands 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.

The name pattern field of a rename rule, showing a live preview of the resulting file name
The name pattern field of a rename rule, with its help text below
The rename rule previews the shape of the result as you type, with stand-in values.A rename rule's pattern, with a reminder of what it may contain below the field.

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:

LettersMeaningExample
yyyyFour-digit year2026
MMTwo-digit month01
MMMShort month nameJan
MMMMFull month nameJanuary
ddTwo-digit day15
HHHour, 24-hour clock14
mmMinute31
ssSecond05
How the counter behaves

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.

TokenStands 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.