Skip to content
Nerdy beta

Meta-prompt Engineering

A good, reusable prompt is engineered, not guessed, and your LLM is a capable engineering partner. Build one from scratch for work you'll repeat, or pull a reusable one out of a chat that already worked before it evaporates.

Meta-prompt engineering is using a language model to write, critique, and improve prompts. In this workflow, the prompt stops being your input and becomes your output. You treat the instruction itself as the thing you’re engineering and let the model draft, refine, and tighten.

Where prompt engineering works forward from intent and reverse prompt engineering works backward from a single good result, meta-prompting works sideways, operating on the prompt as an output you can use to solve future problems of a similar nature.

We reach for two flows in the Effective AI workshop. Both end with a prompt in your hand, but they start from opposite places: one from a use case you know you’ll repeat, the other looking back on a conversation that’s already paid off.

Generation: Building a Prompt on Purpose

You start with a recurring task and set out to engineer the prompt for it. Pick a single step from your use case map and ask the model to help clarify what that step is actually for. Have it recommend a prompt framework (pull one from the nerdy connector rather than guessing), then draft the prompt as a markdown artifact you refine together in the same chat. Test the draft by running it in a fresh chat, bring back what breaks, and refine again. The deliverable of the whole exchange is the prompt, not the answer to any one question.

How you steer the collaboration matters more than the first draft. A few moves that consistently sharpen the result:

  • Have it interview you on the prompt’s intent so you’re both clear on its purpose.
  • For a multi-step prompt (RISEN, for example), tell it to stop between steps so you can review the work in progress.
  • Make it declare and require the inputs the user has to supply, then enforce them.
  • Close each pass with “What am I missing, or what’s unclear?”

This is the fastest way to get better at prompting, because the tool you’re learning to use also tells you what your instructions are missing. Say you review vendor security questionnaires every week. Instead of writing the prompt cold, you tell the model what a strong review looks like and ask it to build you one that produces that every time. You leave with an instruction you can run against next week’s questionnaire without starting over.

Extraction: Pulling a Prompt From a Productive Chat

Sometimes you don’t set out to build a prompt at all. You start a chat with a concrete goal, let the model interview you and steer the work toward a result you’re happy with, usually a cleanly formatted artifact (markdown is a sensible default and feeds easily into other formats). Only at the end do you realize you’ll face the same shape of problem again, with different specifics.

Don’t close the tab. Ask the model to turn the conversation into something reusable: capture and require the inputs that change, embed the format from your artifact, and be explicit about what stays consistent versus what varies. What comes back is a parameterized template, with the moving parts (the client, the dataset, the deadline) pulled out as inputs.

Then give it a home. An extracted prompt can become Claude Project instructions, a CLAUDE.md for Cowork or Code agents, a command or skill in a larger project, or config for whatever agent platform you’re running. That’s the same reusable setup compounding engineering is built on.

Extraction is close to reverse prompt engineering, but the raw material is different: reverse prompt engineering works backward from one finished output, while extraction works backward from the whole productive session. A good chat is a draft of the prompt you should have written first. Don’t let it evaporate.

Resources