Course → Module 5: Prompt Engineering
Session 9 of 10

Every Tested Prompt Is an Asset

When you iterate a prompt to a 4/5 pass rate, that prompt represents hours of testing and refinement. If you do not store it properly, the next time you need a similar prompt, you start from zero. A prompt library is a collection of proven prompts, organized and documented, ready to deploy.

The prompt library is the content producer's equivalent of a chef's recipe book. Each entry is tested, refined, and annotated with notes about what works and what does not. You do not improvise a recipe every night. You pull a tested one and modify it for the specific occasion.

A prompt library reduces production time to near zero for known content types. Instead of spending 30 minutes engineering a prompt from scratch, you pull a tested prompt, modify the task-specific variables, and run it. The engineering was done once. The production happens every time.

Prompt Library Structure

Each prompt in your library is a markdown file with a standard structure. The structure ensures that any prompt can be understood and used by anyone (including future you, who will not remember why you made certain choices).

graph TD ROOT["prompt-library/"] --> CAT1["blog-posts/"] ROOT --> CAT2["product-descriptions/"] ROOT --> CAT3["technical-docs/"] ROOT --> CAT4["social-media/"] CAT1 --> P1["blog-review-v3.md"] CAT1 --> P2["blog-tutorial-v2.md"] CAT2 --> P3["product-short-v4.md"] CAT2 --> P4["product-comparison-v2.md"] CAT3 --> P5["api-documentation-v1.md"] style ROOT fill:#222221,stroke:#c8a882,color:#ede9e3 style CAT1 fill:#191918,stroke:#6b8f71,color:#ede9e3 style CAT2 fill:#191918,stroke:#c47a5a,color:#ede9e3 style CAT3 fill:#191918,stroke:#8a8478,color:#ede9e3

The Prompt File Format

Every prompt file in your library should contain seven sections. This format makes prompts self-documenting and independently usable.

Section Purpose Example
Metadata Version, last tested date, model, temperature v3, tested 2026-04-01, Claude Sonnet, temp 0.5
System Prompt The full system prompt text "You are a technical writer who..."
User Prompt Template The user prompt with placeholders "Write a review of {PRODUCT} for {AUDIENCE}..."
Parameters Recommended temperature, max tokens, model temperature: 0.5, max_tokens: 2000
Example Output One successful generation for reference (Full output text)
Known Failure Modes What goes wrong and how often "1 in 5 runs: opening paragraph is generic"
Iteration History Log of changes from v1 to current "v2: Added constraint against hedging. v3: Added few-shot example."

Versioning Prompts

Prompts evolve. A prompt that works with Claude 3.5 Sonnet may need adjustment for Claude 4. A prompt that works for blog posts may need modification when you adapt it for a new content type. Version your prompts the same way you version code: increment the version number with each tested change.

Keep old versions. Do not overwrite v2 with v3. Sometimes a model update makes v2 perform better than v3. Sometimes you need to reference an earlier version to understand why you made a change. Storage is cheap. Information loss is expensive.

Using the Library in Production

In a production pipeline, your scripts read prompt files from the library rather than containing hardcoded prompt text. This separation means you can update prompts without modifying scripts, test new prompt versions without risking production, and use different prompts for different content types without duplicating pipeline code.

graph LR LIB["Prompt Library
blog-review-v3.md"] --> SCRIPT["generate.py
reads prompt file"] SCRIPT --> API["API Call
uses prompt + parameters"] API --> OUTPUT["Output file"] LIB2["Prompt Library
blog-review-v4.md"] -.->|swap in| SCRIPT style LIB fill:#222221,stroke:#6b8f71,color:#ede9e3 style SCRIPT fill:#222221,stroke:#c8a882,color:#ede9e3 style API fill:#222221,stroke:#c47a5a,color:#ede9e3 style LIB2 fill:#222221,stroke:#8a8478,color:#ede9e3

When you need to produce a new content type, you do not write a new script. You write a new prompt file, test it using the iteration process from Session 5.8, and add it to the library. The script stays the same. Only the prompt changes.

Further Reading

Assignment

Create a prompt-library folder in your project. Write your first three prompt files using the format described above. Each should be a prompt you have tested and refined during this module. Include at least one with a system prompt, one with few-shot examples, and one with structured output. Store the metadata, parameters, example output, and known failure modes for each.