Prompt-craft · 5 min read

Prompt versioning: save and iterate your best prompts

A good prompt does not arrive finished. It improves over small tweaks, real use, and the occasional happy accident. Here is how to version your prompts so you can find the best version, learn from the failures, and never lose a working line again.

A good prompt does not arrive finished. It arrives promising. Then you try it, spot where it drifts, tweak a line, try again. By the third iteration it is doing something genuinely useful — and somewhere around the sixth, you cannot remember which version was the one that actually worked.

That moment is why prompt versioning matters. It is not about preserving a perfect artifact. It is about being able to walk back to the version that worked, understand what changed, and stop yourself from accidentally destroying the good one with an ambitious rewrite.

Why versioning matters

Most people who do not version their prompts fall into one of two traps. The first is the one-file trap: you keep editing the same file, and the moment a newer version underperforms, you have no way to go back. You stare at it, trying to remember what the earlier wording was, and you cannot. The second is the scatter trap: you save copies named `promptfinal`, `promptfinalv2`, and `promptFINALUSETHIS`, and within a week none of those names mean anything.

A light versioning habit solves both problems at once. It costs almost nothing and repays itself the first time you need it.

Start with date-based naming

The simplest versioning system that actually holds up is date-based file naming. Name each version of a prompt like this:

`summary-prompt-2026-07-14.md`

That is it. The date sorts chronologically in any file browser. You can see at a glance which version is newest and how often you have been iterating. If you want slightly more skimmability, add a short hint:

`summary-prompt-2026-07-14--bullet-style.md`

The hint is optional. The date is the engine. It requires no tooling, no special naming convention to memorize, and it works across every platform and app you might store prompts in.

Resist the urge to use version numbers like `v1`, `v2`, `v3`. Numbers tell you the sequence but not the when, and they invite the question "which v3 was the good one?" after you have cycled through a few rounds. Dates are self-documenting.

Tag by use-case

Once you have more than a handful of prompts, finding the right one by scrolling file names becomes slow. A lightweight tagging system — literally one line inside the file — fixes this.

In the frontmatter or at the top of each prompt file, add a `tags:` line:

``` tags: summary, writing, client-newsletter ```

Pick two to four tags per prompt: one for the general task (writing, coding, research), one for the specific use-case (summary, refactor, extract), and optionally one for the project or client. The point is to make the prompt findable with a simple text search, not to build a taxonomy.

Do not over-tag. A prompt tagged with twelve labels is as hard to find as one tagged with none, because "everything matches." Keep it tight.

Store context and output together

A prompt file that contains only the prompt text tells you what you asked, but not what you got. That missing half is where the real learning hides.

Every time you use a prompt and like the result, save three things together in the same file:

  1. The prompt itself — exactly as you sent it.
  2. The input context — what did you give the model alongside the prompt? A document, a code file, a transcript? Note enough to reproduce the test later.
  3. A sample of the output — not the whole thing necessarily, but enough to see what the prompt produced well.

This turns each prompt file into a small case study. Three months later, when you cannot remember why you kept that particular version, the context and output tell you. It also makes it much easier to decide whether a new version is actually better, because you have the old output to compare against.

A simple folder structure

All of this fits in a folder structure that takes two minutes to set up and never needs reorganizing:

``` prompts/ active/ — prompts you currently use iterations/ — older versions you want to keep retired/ — prompts that no longer serve you ```

When you make a new version of a prompt, move the previous version into `iterations/` so the date history stays clean. When a prompt is truly obsolete — the project ended, the toolchain changed, or a much better approach replaced it — move it into `retired/`.

The `retired/` folder is not a graveyard. It is a reference shelf. You may need to pull out an old prompt to understand why a particular task was approached a certain way, or to salvage a technique from a prompt that did not quite work. Delete nothing.

When to retire an old prompt

Knowing when to retire a prompt is as important as knowing when to iterate it. Three signals that a prompt belongs in `retired/`:

  • The model has changed. If you upgraded from one model version to another and a prompt that used to work beautifully now produces rambling or irrelevant output, retire it. Some prompts do not survive the model transition, and that is normal. Learn from what it did well and build a new version tuned to the new model.
  • Your workflow has outgrown it. A prompt you wrote when you were learning a tool may not fit the way you work now. If you have to override half its output or correct its assumptions every time, the prompt is costing you more than it saves.
  • You have not used it in months and cannot remember why you kept it. If context and output do not convince you it is worth keeping, retire it. A prompt you never reach for is dead weight.

Retirement is not failure. Every prompt retires eventually. The ones worth keeping are the ones that taught you something you still use.

The habit, not the system

Versioning does not need to be elaborate. The habit that matters is this: when you make a meaningful change to a working prompt, save the change as a new file with today's date, note what you changed and why in a comment at the top, and move the previous version into `iterations/`. That is three small actions, and they take under a minute.

That minute buys you the ability to revisit and learn from every version of every prompt you ever wrote. Most people writing with AI today cannot do that. Be one of the ones who can.

Get the free Quick-Start Sheet

The folder tree and five starter templates — everything this post describes, ready to paste in.

Keep reading

Disclaimer: The Prompt Folder is an organizing tool, not security software. Keep API keys, passwords, and private customer data out of your prompt library — store the prompt, and reference the secret from a real secrets manager.