prompt-versioning-hygienelisted
Install: claude install-skill ClaudeRegistry/marketplace
# Prompt Versioning Hygiene
## Purpose
Prompts are the highest-leverage, least-governed artifact in most LLM apps: a one-line edit to a system prompt can change behavior across every request, yet prompts are typically inline string literals that ship with no version, no review, and no test. This skill standardizes treating prompts as code, externalized, versioned, diffable, reviewed, and tested, so a prompt change is a deliberate, traceable, gated event instead of a silent regression waiting to happen. It is the connective tissue between the eval-authoring skill (which grades prompts) and the day-to-day discipline of changing them.
## The core problem: prompts as magic strings
```python
# The anti-pattern: prompt buried in logic, no version, no test, no review trail
def summarize(doc):
return llm(f"You are a helpful assistant. Summarize this in 3 bullets: {doc}")
```
Nothing here can be diffed meaningfully, reviewed as a unit, rolled back independently, or A/B-tested. A behavior change and a prompt change are indistinguishable in the git history. The fix is to give every prompt an identity.
## The hygiene checklist
| Practice | Why it matters |
|---|---|
| **Externalize** prompts from logic (dedicated files/modules or a prompt registry) | Makes prompts findable, diffable, and reviewable on their own |
| **Version** each prompt (semantic version or content hash) | Lets you pin, roll back, and correlate an output to the exact prompt that produced it |
| **Review** promp